この形式の異常終了の一般的な原因は、Open PL/I ユーザー プログラム (Intel プラットフォームで実行) が -bigendian コンパイラ オプションを使用してビルドされていないことです(-langlvl SAA2 でも同じ処理が可能です)。
//STEP01 EXEC PGM=DFSRRC00, // PARM='BMP,REQUE,REQUEUE,,,,,,,,,,,&IMS,USERGP1'
アプリケーションの分析により、次の PLITDLI 文で U0476 が発生していることがわかりました。
CALL PLITDLI(NUM3, CHNG, ALT1_PCB_PTR, TRN);
PL/I ソースの PROC 文に戻ると、ALT1_PCB_PTR が 3 番目のパラメーターとして指定されていることがわかります。
REQUE: PROC(TP_PCB_PTR,ERR_PTR, ALT1_PCB_PTR ) OPTIONS(MAIN);
失敗したプログラムの CTF トレースから、渡された PCB は 2 つだけであることがわかりました。
09:11:30.946 7904 MF.RTS.PLI 6 0 : "systemIMS > REQUE 2 "
REQUE.PSB ファイルでは PCB が 1 つしか定義されていません。
PCB TYPE=TP,EXPRESS=YES,MODIFY=YES PSBGEN LANG=PL/I,PSBNAME=REQUEUE,IOASIZE=2000 END
その後、間違った PSB がビルドされていたことが判明しました。正しい PSB で問題が解決されました。
**** JCLCM0180I Job ready for execution.
**** Execution on Server AAPL Process 4132
20:37:53 JCLCM0188I JOB STARTED
20:37:53 JCLCM0190I STEP STARTED DIN043.DIN04305
20:37:53 JCLCM0206I ALLOCATION DEFERRED UNTIL OPEN - OMYINVP1
20:37:53 JCLCM0199I Program MFJRRC00 is non-COBOL ASCII Big-Endian NOAMODE.
*MSG CWGUI.EXE -pid 04132 .
20:38:34 IMSRT0100E Local system rejected config info - Invalid AIB