The procedure PROC.ASSXT is a small auxiliary procedure that is to speed up processing (system file assignment, assembler call) in the event of frequent access to the ASSEMBH assembler. The procedure was written as a non-S procedure using the SDF command language. No restrictions apply to its conversion into an S procedure.
Input procedure PROC.ASSXT
/BEGIN-PROC A,P-P=(&FILE),ESC-CHAR='&' /REMARK **** Call ASSEMBH **** /DEL-FI LST.ASSEMBH /SET-JOB-STEP /ASS-SYSDTA *SYSCMD /DEL-SYS-FI "from previous ASSEMBH calls" *OMF /START-PROG $ASSEMBH //COMPILE SOURCE=&FILE,LISTING=PAR(OUTPUT=LST.ASSEMBH),- //TEST-SUPPORT=YES //END /SET-JOB-STEP /ASS-SYSDTA *P /END-PROC
SDF-CONV run
|
(1) | The SDF-CONV utility routine is started. |
(2) | The CONVERT statement assigns the input and output procedures, as well as defining the documentation level. The procedure is to be converted into an S procedure. All other operands of the CONVERT statement retain their default value. Once processing has been completed, SDF-CONV reports that conversion was terminated without warnings or errors. This overview is output to SYSOUT. |
(3) | SDF-CONV is terminated with the END statement. |
Conversion log (SYSLST)
***** BS2000 COMMAND CONVERTER : SDF-CONV V3 ***** page 1
% CVR1010 OPTIONS IN EFFECT: ————————————————————————————————————————— (1)
% CVR1011 FROM-FILE = PROC.ASSXT
% CVR1012 EXPECT-CONTINUATION = *NEW-MODE
% CVR1013 PARAMETER-LINES = *CONVERT
% CVR1014 TO-FILE = SDFP.PROC.ASSXT
% CVR1015 PRODUCE-CONTINUATION = *NEW-MODE
% CVR1016 REPLACE-OLD-FILE = *YES
% CVR1017 SYSTEM-SYNTAX-FILE = $.SYSSDF.SDF-CONV.030.USER.U-CMD
% CVR1018 GROUP-SYNTAX-FILE = $.SYSSDF.SDF-CONV.030.USER.S-CMD
% CVR1019 UNCHANGED-CMD = *NONE
% CVR1020 DOCUMENTATION = *MINIMUM
% CVR1021 TARGET-VERSION = *OSD-V2
% CVR1022 OUTPUT-FORM = *STD
% CVR1023 PROCEDURE-FORMAT = *S-PROCEDURE(CMD-
FORMAT=*SDF,PROGRAM-INPUT=*DATA(EXCEPT-AFTER-CMD=*NONE,WARNING=*NO),BLOCK-
INPUT=*NOT-ALLOWED)
***** BS2000 COMMAND CONVERTER : SDF-CONV V3 ***** page 2
/BEGIN-PROC A,P-P=(&FILE),ESC-CHAR='&' ————————————————————————————— (2)
/REMARK **** Call ASSEMBH ****
/DEL-FI LST.ASSEMBH
/SET-JOB-STEP
/ASS-SYSDTA *SYSCMD
/DEL-SYS-FI "from previous ASSEMBH calls" *OMF
/START-PROG $ASSEMBH
//COMPILE SOURCE=&FILE,LISTING=PAR(OUTPUT=LST.ASSEMBH),-
//TEST-SUPPORT=YES
//END
/SET-JOB-STEP
/ASS-SYSDTA *P
/END-PROC
% CVR1000 CONVERSION TERMINATED WITH: ———————————————————————————————— (3)
% CVR1001 FAILURES: 0
% CVR1002 ERRORS : 0
% CVR1003 WARNINGS: 0
% CVR1004 NOTES : 0
(1) | The operand values set for the SDF-CONV run are listed. |
(2) | All command records in the input procedure are output. |
(3) | The last part of the log is identical with the output to SYSOUT. |
Output procedure SDFP.PROC.ASSXT
/SET-PROCEDURE-OPTIONS LOGGING-ALLOWED=YES,INTERRUPT-ALLOWED=YES,/
DATA-ESCAPE-CHAR=STD,SYSTEM-FILE-CONTEXT=OWN,DATA-ERROR-HANDLING=/
NO
/BEGIN-PARAMETER-DECLARATION
/DECLARE-PARAMETER NAME=FILE,TYPE=ANY,INIT=*PROMPT
/END-PARAMETER-DECLARATION
/REMARK '**** CALL ASSEMBH ****'
/DELETE-FILE LST.ASSEMBH
/SET-JOB-STEP
/ASSIGN-SYSDTA TO=*SYSCMD
/"*****" REMARK '/DEL-SYS-FI "from previous ASSEMBH calls" *OMF' —————— (1)
/DELETE-SYSTEM-FILE "from previous ASSEMBH calls" *OMF
/START-PROGRAM $ASSEMBH
//COMPILE SOURCE=&(FILE),LISTING=PAR(OUTPUT=LST.ASSEMBH),TEST-SUPPORT=-
// YES
//END
/SET-JOB-STEP
/ASSIGN-SYSDTA TO=*P
/IF-BLOCK-ERROR;END-IF
/END-PROCEDURE
(1) | The command record with the inline comment is written to a comment line preceding the command line with the conversion result. This ensures that the information in the inline comment is not lost during conversion. (In this case, DOC=*MIN/*MAX must be set.) |