TechTalk: Hard-coded Library Names are Bad News

General
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

Some commands such as Create Duplicate Object (CRTDUPOBJ) require a library name, but hard-coding a library name in a CL program is not a good practice. A better method is to use the RTNLIB parameter of the RTVOBJD command to retrieve the library name. For example, suppose you want to create a duplicate object of a file called WKFILE into QTEMP, then call an RPG program. You could use the program shown in 1.

Some commands such as Create Duplicate Object (CRTDUPOBJ) require a library name, but hard-coding a library name in a CL program is not a good practice. A better method is to use the RTNLIB parameter of the RTVOBJD command to retrieve the library name. For example, suppose you want to create a duplicate object of a file called WKFILE into QTEMP, then call an RPG program. You could use the program shown in Figure 1.

This program could be run in a test library. Then the program and file could be moved to a production library without any changes. The library where the file exists could even be renamed without affecting the program.


TechTalk: Hard-coded Library Names are Bad News

Figure 1 Using RTVOBJD and RTNLIB

 Figure 1: Using RTVOBJD and RTNLIB PGM DCL VAR(&LIB) TYPE(*CHAR) LEN(10) RTVOBJD OBJ(WKFILE) OBJTYPE(*FILE) RTNLIB(&LIB) CRTDUPOBJ OBJ(WKFILE) FROMLIB(&LIB) OBJTYPE(*FILE) + TOLIB(QTEMP) OVRDBF FILE(WKFILE) TOFILE(QTEMP/WKFILE) CALL PGM(RPG001) ENDPGM 
BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$0.00 Raised:
$