Turnover (the one written by Softlanding that does Change Management, not the one that is full of apple and tastes delicious) is a pretty cool Software Change Management application native to IBMi. But of course, you already knew that.
But, did you know that you can promote an EXTERNAL PROCEDURE to a specific library and then have it invoke its program component from that library, or from any library that you care to define to Turnover or of course from the *LIBL?
It’s all down to these basic rules:
- &LIBRARY is the variable that TURNOVER will replace with the name of your target library during promotion
- if you quote the procedure name (ie: ‘program’) then it must have either a hardcoded library (‘QGPL/THING’) or the variable (‘&LIBRARY/THING)
- If not quotes (ie: EXTERNAL NAME THING) then *LIBL will be used to call the THING program
Example *EXTPRC using &LIBRARY VARIABLE:
CREATE PROCEDURE CHKCASACT
Special Offer for all NICKLITTEN Punters
20% Off with Coupon: NICKLITTEN
In Partnership with SNUG CBD - American readers get 20% off
CBD helps with relaxation, focus and great for pain relief. I highly recommend the SNUG CBD Tincture to help keep you in the zone when programming!(OUT ACCOUNTNUM9 DEC(9,0),IN BIRTHDATE DEC(6,0),IN DRIVERSLIC CHAR(25),IN DRIVERSLICSTATE CHAR(2),IN PASSPORTID CHAR(20),IN OTHERID CHAR(30),IN RZIPCODE CHAR(15),IN LASTNAME CHAR(25),IN FIRSTNAME CHAR(25),IN RADDRESS1 CHAR(25),OUT RETURN_CODE CHAR(25),OUT RETURN_MSG CHAR(100))DYNAMIC RESULT SETS 2LANGUAGE RPGLESPECIFIC CHKCASACTNOT DETERMINISTICMODIFIES SQL DATACALLED ON NULLINPUT EXTERNAL NAME ‘&LIBRARY/CHKCASACT’PARAMETER STYLE GENERAL ;
And of course to change that external name to :
EXTERNAL NAME CHKCASACT
will result in it calling it from the *LIBL
It took me a lot of head scratching to figure it out… and YES…. I know I probably could have just opened a manual and found that out. 🙂