When called as the main program, PERCON sets a command RC which indicates whether all PERCON statements have been executed without error and/or whether PERCON has terminated normally or abnormally. In the event of a warning or command abortion, the command RC is supplied with the relevant message code.
No command RC is set if PERCON is called as a subprogram.
The following events trigger a command RC:
normal termination:
SC2=X'00' / SC1=X'00' / MC=C'CMD0001'
normal termination with warning:
SC2=X'02' / SC1=X'00' / MC=C'PERxxxx'
abnormal termination after abortion of at least one conversion step:
SC2=X'00' / SC1=X'01' / MC=C'PERxxxx'
If there is no PER message (e.g. after syntactical errors in a mandatory sequence of statements, the following is set:
MC=C'CMD0202'
.abnormal termination following an error that prevents dynamic linking of the prelinked PERCON module (and thus the PERCON run):
SC2=X'00' / SC1=X'40' / MC=C'PERxxxx'
If more than one error situation occurs within the same PERCON run, the most serious error is reported. This implies, for instance, that the command RC assigned to a warning will not be output if a conversion step has been aborted. If several errors of the same weight occur, the first error is reported.
The maincode is determined by the event that has occurred rather than by the type of message output selected. It is therefore irrelevant for the maincode whether the message is actually output or suppressed in accordance with the settings in the MODIFY-PERCON-OPTIONS statement.
PERxxxx | SC2 | SC1 | Maincode | Meaning |
0000 0029 0030 0070 | - | - | - | No RC |
0001 | - | - | - | The program abortion is described |
00 | 01 | CMD0202 | Other | |
0031 | - | - | - | A warning is output by another |
00 | 00 | CMD0001 | Other | |
0009 0012 0014 0016 | 02 | 00 | PERxxxx | Warnings |
0021 | 02 | 00 | PER0021 | Response HN or SN received |
00 | 01 | PER0021 | Response HA or SA received | |
0022 | 00 | 01 | PER0022 |
|
02 | 00 | PER0022 | for input files with | |
0063 | 02 | 00 | PER0063 | Response I or S received |
00 | 01 | PER0063 | Response H received | |
0005 0006 0007 0008 | - | - | - | with statement input via terminal |
0028 0034 0043 0046 | 00 | 01 | PERxxxx | with mandatory sequence of statements |
0010 0033 0049 0050 | - | - | - | with statement input via terminal |
0088 0089 0090 0091 | 02 | 00 | PERxxxx | with fixed sequence of statements |
0013 0066 0080 0087 | - | - | - | with statement input via terminal |
02 | 00 | PERxxxx | ISP statements, mandatory | |
00 | 01 | PERxxxx | SDF statements, mandatory | |
0002 0004 0011 0015 | 00 | 01 | PERxxxx | Conversion step aborted |
0095 0104 0106 0107 | 00 | 64 | PERxxxx | PERCON aborted |
0105 | 00 | 64 | CMD0205 | PERCON aborted with TERM |
0003 | 00 | 64 | PER0003 | Insufficient main memory during |
00 | 01 | PER0003 | Conversion step aborted due to |