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