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 1:

&pagelevel(4)&pagelevel

The procedure DO.REORG reorganizes the storage space of an ISAM file. The conversion into SDF commands as well as into S procedure format is not subject to any restrictions, SDF-CONV terminates without errors.

Input procedure DO.REORG

/PROC N,(&FNAME),SUBDTA=&
/DCLJV #NEWIMAG
/SETJV #NEWIMAG,X'0C'
/SETSW ON=(4,5), OFF=(15)
/SYSFILE SYSDTA=(SYSCMD)
/WR-TEXT '                                             '
/WR-TEXT '*********************************************'
/WR-TEXT '***     Reorganization of ISAM files      ***'
/WR-TEXT '*********************************************'
/WR-TEXT '                                             '
/WR-TEXT 'Name of file to be reorganized:'
/REMARK &FNAME
/EXEC $EDT
@GET '&FNAME' N
@CON
@IF N:@IF N D:@SY'COPY &FNAME,&FNAME..BEFORE,SAME'
@CON
@IF N : @IF N D : @SAVE O
@CON
@IF E : @SETSW ON=15
@IF D : @SETSW ON=15
@HALT
/SKIP .ERR, ON=(15)
/TCHNG OFLOW=NO
/WR-TEXT '&(#NEWIMAG)'
/TCHNG OFLOW=ACK
/WR-TEXT ' '
/WR-TEXT 'File &FNAME has been reorganized.'
/WR-TEXT ' '
/WR-TEXT 'Space required before:'
/FS &FNAME..BEFORE
/WR-TEXT ' '
/ERASE &FNAME..BEFORE
/WR-TEXT 'Space required now:'
/FS &FNAME
/SKIP .EOP, OFF=(15)
/.ERR REMARK 
/WR-TEXT ' '
/WR-TEXT '******** Error during file processing *******'
/WR-TEXT '** REORGANIZATION HAS NOT BEEN PERFORMED ! **'
/WR-TEXT ' '
/.EOP STEP
/SETSW OFF=(4,5,15)
/SYSFILE SYSDTA=(PRIMARY)
/ENDP 

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=do.reorg,to-file=sdf.sdfp.do.reorg,doc=*min,- —————  (2)
//procedure-format=*s-proc(prog-inp=*data,block-inp=*allowed)
%  CVR1000 CONVERSION TERMINATED WITH:
%  CVR1001            FAILURES:    0
%  CVR1002            ERRORS  :    0
%  CVR1003            WARNINGS:    0
%  CVR1004            NOTES   :    0
//end —————————————————————————————————————————————————————————————————  (3)
                                                                                               

(1)

Start of the SDF-CONV utility routine.

(2)

The CONVERT statement assigns the input and output procedures as well as defining the documentation level. The input procedure is to be converted into an S procedure. Block input of generated SDF commands is to be allowed. All other operands of the CONVERT statement receive the default value. Once processing has been completed, SDF-CONV reports that the conversion was performed without warnings or errors. This listing 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            = DO.REORG
%  CVR1012         EXPECT-CONTINUATION  = *NEW-MODE
%  CVR1013         PARAMETER-LINES      = *CONVERT
%  CVR1014         TO-FILE              = SDF.SDFP.DO.REORG
%  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=*ALLOWED)
      ***** BS2000 COMMAND  CONVERTER : SDF-CONV V3 *****         page 2
 /PROC N,(&FNAME),SUBDTA=& ————————————————————————————————————————————  (2) 
 /DCLJV #NEWIMAG 
 /SETJV #NEWIMAG,X'0C' 
 /SETSW ON=(4,5), OFF=(15) 
 /SYSFILE SYSDTA=(SYSCMD) 
 /WR-TEXT '                                             ' 
 /WR-TEXT '*********************************************' 
 /WR-TEXT '***     Reorganization of ISAM files      ***' 
 /WR-TEXT '*********************************************' 
 /WR-TEXT '                                             ' 
 /WR-TEXT 'Name of file to be reorganized:' 
 /REMARK &FNAME 
 /EXEC $EDT 
 @GET '&FNAME' N 
 @CON 
 @IF N:@IF N D:@SY'COPY &FNAME,&FNAME..BEFORE,SAME' 
 @CON 
 @IF N : @IF N D : @SAVE O 
 @CON 
 @IF E : @SETSW ON=15 
 @IF D : @SETSW ON=15 
 @HALT 
 /SKIP .ERR, ON=(15) 
 /TCHNG OFLOW=NO 
 /WR-TEXT '&(#NEWIMAG)' 
 /TCHNG OFLOW=ACK 
 /WR-TEXT ' ' 
 /WR-TEXT 'File &FNAME has been reorganized.' 
 /WR-TEXT ' ' 
 /WR-TEXT 'Space required before:' 
 /FS &FNAME..BEFORE 
 /WR-TEXT ' ' 
 /ERASE &FNAME..BEFORE 
 /WR-TEXT 'Space required now:' 
 /FS &FNAME 
 /SKIP .EOP, OFF=(15) 
 /.ERR REMARK
 /WR-TEXT ' ' 
 /WR-TEXT '******** Error during file processing *******' 
 /WR-TEXT '** REORGANIZATION HAS NOT BEEN PERFORMED ! **' 
 /WR-TEXT ' ' 
 /.EOP STEP 
 /SETSW OFF=(4,5,15) 
 /SYSFILE SYSDTA=(PRIMARY) 
 /ENDP

%  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 listed. If an error occurs during the conversion, the appropriate message is written beneath the command record concerned. This is not the case in the example, i.e. SDF-CONV was able to assign an SDF command to each ISP command as well as converting the input procedure into an S procedure without errors.

(3)

The final part of the log is identical to the listing output to SYSOUT.

Output procedure SDF.SDFP.DO.REORG

The conversion result is an S procedure.

/SET-PROCEDURE-OPTIONS LOGGING-ALLOWED=NO,INTERRUPT-ALLOWED=YES,- —————  (1) 
/     DATA-ESCAPE-CHAR=STD,SYSTEM-FILE-CONTEXT=OWN,DATA-ERROR-HANDLING=/
     NO;BEGIN-PARAMETER-DECLARATION;DECLARE-PARAMETER NAME=FNAME,TYPE=/
     ANY,INIT=*PROMPT;END-PARAMETER-DECLARATION
/SET-JV-LINK  JV-NAME=#NEWIMAG
/MODIFY-JV  JV-CONTENTS=(JV-NAME=#NEWIMAG),SET-VALUE=X'0C'
/MODIFY-JOB-SWITCHES  ON=(4,5),OFF=15
/ASSIGN-SYSDTA  TO=*SYSCMD
/WRITE-TEXT '                                             ' ———————————  (2) 
/WRITE-TEXT '*********************************************'
/WRITE-TEXT '***     Reorganization of ISAM files      ***'
/WRITE-TEXT '*********************************************'
/WRITE-TEXT '                                             '
/WRITE-TEXT 'Name of file to be reorganized:'
/REMARK '&(FNAME)'
/START-PROGRAM FROM-FILE=$EDT
@GET '&(FNAME)' N
@CON
@IF N:@IF N D:@SY'COPY &(FNAME),&(FNAME).BEFORE,SAME'
@CON
@IF N : @IF N D : @SAVE O
@CON
@IF E : @SETSW ON=15
@IF D : @SETSW ON=15
@HALT
/SKIP-COMMANDS TO-LABEL=ERR,IF=JOB-SWITCHES(ON=15)
/MODIFY-TERMINAL-OPTIONS  OVERFLOW-CONTROL=NO-CONTROL
/WRITE-TEXT '&(JV('#NEWIMAG'))'
/MODIFY-TERMINAL-OPTIONS  OVERFLOW-CONTROL=USER-ACKNOWLEDGE
/WRITE-TEXT ' '
/WRITE-TEXT 'File &(FNAME) has been reorganized.'
/WRITE-TEXT ' '
/WRITE-TEXT 'Space required before:'
/SHOW-FILE-ATTRIBUTES FILE-NAME=&(FNAME).BEFORE,SELECT=BY-ATTRIBUTES
/WRITE-TEXT ' '
/DELETE-FILE FILE-NAME=&(FNAME).BEFORE,SELECT=BY-ATTRIBUTES
/WRITE-TEXT 'Space required now:'
/SHOW-FILE-ATTRIBUTES FILE-NAME=&(FNAME),SELECT=BY-ATTRIBUTES
/SKIP-COMMANDS TO-LABEL=EOP,IF=JOB-SWITCHES(OFF=15)
/.ERR REMARK
/WRITE-TEXT ' '
/WRITE-TEXT '******** Error during file processing *******'
/WRITE-TEXT '** REORGANIZATION HAS NOT BEEN PERFORMED ! **'
/WRITE-TEXT ' '
/.EOP SET-JOB-STEP
/MODIFY-JOB-SWITCHES  OFF=(4,5,15)
/ASSIGN-SYSDTA  TO=*PRIMARY
/IF-BLOCK-ERROR;EXIT-PROCEDURE ERROR=YES;END-IF;EXIT-PROCEDURE

(1)

The SDF commands for the S procedure generated from the command PROC N,... are represented in block format, i.e. the commands are written continuously, separated by semicolon.

(2)

The WRITE-TEXT command is an SDF command and therefore need not be converted. However, SDF-CONV expands the input command to its full input format.