Come funziona la memoria condivisa CICS?
Domanda
I Utilizzo dei comandi di controllo del programma ECEC CICS, link, XCTL e restituire per passare i dati tra il programma Cobol.La memoria condivisa CICS viene danneggiata durante uno dei miei trattamenti.Sembra che Trasmed CommaRea sovrascrive la memoria che non appartiene a CICS. Per scoprire perché questo problema è successo, devo sapere meglio come i CICS gestire la memoria condivisa quando utilizzo i comandi di controllo del programma CICS EXEC CICS.Copia la comportoa o usa il puntatore?Utilizzando EXEC CICS NESTED, quanti Commarea sono memorizzati nella memoria condivisa?
Configurazione: Io uso Microfocus Net Express Compiler e l'ambiente è Unikix.
PS: Verificare questa domanda Cosa può causare la transazione CICS per scrivere la memoria allocata CICS? Se sai di più sulla sovravellarità utilizzando Exec CIC.
Soluzione
Non sono sicuro di Net Express, ma in CICS è accessibile la Comparaea utilizzando un puntatore.
Quindi se il programma X collegamenti per programmare Y, tutti gli aggiornamenti fatti alla Comparazione in Y saranno visibili in X.
I peggiora se la definizione di Commarea in Y è più grande della definizione in X - puoi aggiornare le variabili dopo la comportoa.
Per XCTL, il Commarea verrà copiato in un'area di controllo CICS e un puntatore passò al programma