Quantcast
Channel: Visual COBOL
Viewing all articles
Browse latest Browse all 5819

Wiki Page: PROGRAM-ID special register

$
0
0
Created On:  12 November 2012 Problem: In RM/COBOL the PROGRAM-ID is a special register that returns the program name. For example in RM/COBOL the following code sets the data item ws-pgmid with the value of the program-id. 03 ws-pgmid pic x(30) value PROGRAM-ID. This is not valid in Visual COBOL Resolution: Visual COBOL has its own set of Library routines that can be found in the documentation under Reference Library Routines. An example of how to return program information about the current program and other program in the run-unit is as follows: (please see entry for CBL_GET_PROGRAM_INFO for more detailed information), solution although it means code change…. Get Program-ID into Visual COBOL program program-id. testProgram. data division. working-storage section. 01 wsfunction pic x(4) comp-5. 01 param-block. 05 cblte-gpi-size pic x(4) comp-5. 05 cblte-gpi-flags pic x(4) comp-5. 05 cblte-gpi-handle usage pointer. 05 cblte-gpi-prog-id usage pointer. 05 cblte-gpi-attrs pic x(4) comp-5. 01 return-buf pic x(100). 01 return-buf-len pic x(4) comp-5 value 100. 01 status-code pic x(4) comp-5 value 0. procedure division. move length of param-block to cblte-gpi-size move length of return-buf to return-buf-len * Establish the current program and return handle move 0 to wsfunction perform 100-call-program-info display "program name = " return-buf * Get first entry point in program move 4 to wsfunction perform 100-call-program-info display "entry point = " return-buf * Close the handle that was established move 6 to wsfunction perform 100-call-program-info stop run. 100-call-program-info. call "CBL_GET_PROGRAM_INFO" using by value wsfunction by reference param-block by reference return-buf by reference return-buf-len returning status-code end-call. Old KB# 36603

Viewing all articles
Browse latest Browse all 5819

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>