CICSの共有メモリはどのように機能しますか?
質問
COBOLプログラム間でデータを渡すために、EXEC CICSプログラム制御コマンド、LINK、XCTL、およびRETURNを使用します。CICS共有メモリは私の治療の1つの間に破損しています。CICSに属していないコマージェア上書きメモリが合格したようです。 この問題が発生した理由を見つけるには、EXEC CICSプログラム制御コマンドを使用するときにCICSが共有メモリを管理する方法を知っておく必要があります。コマレアをコピーするか、ポインタを使用しますか?ネストされたEXEC CICSを使用すると、共有メモリにコマレア数が格納されていますか?
設定: MicroFocus Net Expressコンパイラを使用し、環境はUNIBIXです。
PS:この質問をチェックするCICSトランザクションがCICS割り当てメモリから書き出させる可能性がありますか?を使用して上書きの詳細を知っている場合
解決
Net Expressについてはわからないが、CICSではコマレアはポインタを使用してアクセスされます。
SOプログラムXプログラムyにリンクしている場合、yのコマレアに行われた更新はxに表示されます。
yのコマージェ定義がxの定義よりも大きい場合は、コマレアの後に変数を更新することができます。
xctlの場合、COMMAREAはCICS制御領域にコピーされ、プログラムに渡されたポインタが
所属していません StackOverflow