I have a mload script that raises the pager if there is any application error table created. I have placed the paging part after the .END MLOAD command as shown below-
/* End the load process. */ .END MLOAD;
/* Signal a pager if E2 is created*/ .IF &SYSUVCNT1 > 0 THEN; .SYSTEM 'D:\ paging.pl'; .ENDIF;
/* Log off the server. */ .LOGOFF;
As shown below the application error table(program_E2) is created by mload. And the number of rows are captured in the &sysuvcnt variable. The mload got stuck at “ Process Control Statements ” part. This mlaod script is working fine in Test environment and it is giving pager if there is any E2 table created. Please advise.
Thanks & Regards,
Below is an excerpts from the log --------------------
Target table 1: DW_1.PROGRAM Number of Rows Error Table Name ============== ======================================================== 0 DW_WRK.PROGRAM_E1 2 DW_WRK.PROGRAM_E2
**** 05:33:16 UTY0817 MultiLoad submitting the following request: BEGIN TRANSACTION; **** 05:33:16 UTY0817 MultiLoad submitting the following request: USING Ckpt(VARBYTE(1024)) INS DW_WRK.PROGRAM_LG (LogType, Seq, MLoadCkpt)VALUES(140, 1, :Ckpt); **** 05:33:16 UTY0817 MultiLoad submitting the following request: INS DW_WRK.PROGRAM_LG (LogType, Seq) VALUES (125, 1) **** 05:33:16 UTY0817 MultiLoad submitting the following request: END TRANSACTION; **** 05:33:17 UTY0822 MultiLoad processing complete for this MultiLoad import task. ======================================================================== = = = MultiLoad Task Complete = = = ======================================================================== **** 05:33:17 UTY1024 Session modal request, 'DATABASE', re-executed. ======================================================================== = = = Processing Control Statements = = = ========================================================================
Your example shows a space in the .SYSTEM string - so the OS sees "D:\" as the (invalid) command and "paging.pl" as the argument.
Windows default error handling mechanism is to display a modal dialog box on the desktop (which is why your script hangs at that point). Whenever you are running on an unattended Windows server, it's a good idea to prevent that; for example, explicitly run your "batch background" actions within a command interpreter shell: .SYSTEM 'cmd /c D:\paging.pl';