This routine’s function is quite simple.It’s only function is to execute the goback command. Almost every program uses goback at least once. By using this approach COBOL programs avoid code bloat. There is overhead using goback. This approach minimizes that code bloat.
[codesyntax lang=”cobol”]
000100 IDENTIFICATION DIVISION. 00010000 000200 PROGRAM-ID. ABS00007. 00020000 000300 AUTHOR. ARCH BROOKS. 00030000 000400 INSTALLATION BROOKS COMPUTING SYSTEMS, LLC. 00040000 000500 DATE-WRITTEN. 09/15/2014. 00050000 000600 DATE-COMPILED. 09/15/2014. 00060000 000700 ENVIRONMENT DIVISION. 00070000 000800 CONFIGURATION SECTION. 00080000 000900 SOURCE-COMPUTER. IBM-Z-OS. 00090000 001000 OBJECT-COMPUTER. IBM-Z-OS. 00100000 001010 INPUT-OUTPUT SECTION. 00101000 001020 FILE-CONTROL. 00102000 001030 DATA DIVISION. 00103000 001040 FILE SECTION. 00104000 001050 WORKING-STORAGE SECTION. 00105000 001060 PROCEDURE DIVISION. 00106000 001070 GOBACK. 00107000
[/codesyntax]
Below is the compiler output.
[codesyntax lang=”cobol”]
1PP 5655-S71 IBM Enterprise COBOL for z/OS 4.1.0 Date 09/21/2014 Time 06:57:58 Page 1 0Invocation parameters: VBREF 0Options in effect: NOADATA ADV QUOTE ARITH(COMPAT) NOAWO BUFSIZE(4096) NOCICS CODEPAGE(1140) NOCOMPILE(S) NOCURRENCY DATA(31) NODATEPROC DBCS NODECK NODIAGTRUNC NODLL NODUMP NODYNAM NOEXIT NOEXPORTALL NOFASTSRT FLAG(I,I) NOFLAGSTD INTDATE(ANSI) LANGUAGE(EN) NOLIB LINECOUNT(60) NOLIST NOMAP NOMDECK NONAME NSYMBOL(NATIONAL) NONUMBER NUMPROC(NOPFD) OBJECT NOOFFSET NOOPTIMIZE OUTDD(SYSOUT) PGMNAME(COMPAT) RENT RMODE(AUTO) SEQUENCE SIZE(MAX) SOURCE SPACE(1) NOSQL SQLCCSID NOSSRANGE NOTERM NOTEST NOTHREAD TRUNC(STD) VBREF NOWORD 1PP 5655-S71 IBM Enterprise COBOL for z/OS 4.1.0 Date 09/21/2014 Time 06:57:58 Page 2 0 XMLPARSE(XMLSS) XREF(FULL) YEARWINDOW(1900) ZWB 1PP 5655-S71 IBM Enterprise COBOL for z/OS 4.1.0 ABS00007 Date 09/21/2014 Time 06:57:58 Page 3 LineID PL SL ----+-*A-1-B--+----2----+----3----+----4----+----5----+----6----+----7-|--+----8 Map and Cross Reference 0 000001 000100 IDENTIFICATION DIVISION. 00010000 000002 000200 PROGRAM-ID. ABS00007. 00020000 000003 000300 AUTHOR. ARCH BROOKS. 00030000 000004 000400 INSTALLATION BROOKS COMPUTING SYSTEMS, LLC. 00040000 000005 000500 DATE-WRITTEN. 09/15/2014. 00050000 000006 000600 DATE-COMPILED. 09/21/14. 00060000 000007 000700 ENVIRONMENT DIVISION. 00070000 000008 000800 CONFIGURATION SECTION. 00080000 000009 000900 SOURCE-COMPUTER. IBM-Z-OS. 00090000 000010 001000 OBJECT-COMPUTER. IBM-Z-OS. 00100000 000011 001010 INPUT-OUTPUT SECTION. 00101000 000012 001020 FILE-CONTROL. 00102000 000013 001030 DATA DIVISION. 00103000 000014 001040 FILE SECTION. 00104000 000015 001050 WORKING-STORAGE SECTION. 00105000 000016 001060 PROCEDURE DIVISION. 00106000 000017 001070 GOBACK. 00107000 1PP 5655-S71 IBM Enterprise COBOL for z/OS 4.1.0 ABS00007 Date 09/21/2014 Time 06:57:58 Page 4 0 Count Cross-reference of verbs References 1 GOBACK . . . . . . . . . . . . 17 1PP 5655-S71 IBM Enterprise COBOL for z/OS 4.1.0 ABS00007 Date 09/21/2014 Time 06:57:58 Page 5 0An "M" preceding a data-name reference indicates that the data-name is modified by this reference. Defined Cross-reference of data names References 1PP 5655-S71 IBM Enterprise COBOL for z/OS 4.1.0 ABS00007 Date 09/21/2014 Time 06:57:58 Page 6 0 Defined Cross-reference of programs References 2 ABS00007 -* Statistics for COBOL program ABS00007: * Source records = 17 * Data Division statements = 0 * Procedure Division statements = 1 0End of compilation 1, program ABS00007, no statements flagged. 0Return code 0
[/codesyntax]
Mr. Arch Brooks, Software Engineer, Brooks Computing Systems, LLC authored this article.