Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Example 3

&pagelevel(4)&pagelevel

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

/start-sdf-conv ———————————————————————————————————————————————————————  (1)
%  BLS0517 MODULE 'CVRMAIN' LOADED
%  CVR0001 SDF-CONV VERSION 'V03.0B80' STARTED
%  CVR0060 SDF-CONV VERSION 'V03.0B80' READY
//convert from-file=proc.assxt,to-file=sdfp.proc.assxt,doc=*min,- —————  (2)
//procedure-format=*s-proc(prog-inp=*data)
%  CVR1000 CONVERSION TERMINATED WITH:
%  CVR1001            FAILURES:    0
%  CVR1002            ERRORS  :    0
%  CVR1003            WARNINGS:    0
%  CVR1004            NOTES   :    0
//end —————————————————————————————————————————————————————————————————  (3)

                                                                                          

(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.)