|
STRDBG is the starting point ADDTRC might then get you what you want... you can list variables to be shown upon change as part of the trace. The trace will give you the statements and you can then look them up in the compile listing. =========================================================== R. Bruce Hoffman, Jr. -- IBM Certified Specialist - AS/400 Administrator -- IBM Certified Specialist - RPG IV Developer "America is the land that fought for freedom and then began passing laws to get rid of it." - Alfred E. Neuman -----Original Message----- From: Bale, Dan <D.Bale@handleman.com> To: MIDRANGE-L@midrange.com <MIDRANGE-L@midrange.com> Date: Thursday, September 13, 2001 12:36 PM Subject: QA testing: need to prove line by line >As part of our newfound drive to QA, among MANY other things, one thing >I have an immediate need to do, but have no idea how, is to be able to >prove that sections of code are working as designed. The absolute >immediate need is to prove the small (maximum 20 lines) modifications >being made to 10 CL applications. I immediately thought that job >logging would suffice, but learned that our QA team is not happy with >not seeing *everything* that happens in the CL program. An example is >an IF command execution, something that never shows up in a job log. >Another example is showing where variables are changed and what their >new values are. > >Hopefully, the trace function in STRDBG is my starting point. If so, I >haven't been able to find out where to proceed from there. > >As an example, for the following code... > > IF (&BRANCH *EQ &DETROIT *OR &BRANCH *EQ '073') DO > OVRPRTF FILE(QSYSPRT) OUTQ(&PRINTER) > CPYF FROMFILE(PAXAR) TOFILE(QSYSPRT) > ENDDO > CALL PGM(ASN762R) PARM(&MEMO &RELEAS &ASN) > >... I would like to see: > > IF (&BRANCH *EQ &DETROIT *OR &BRANCH *EQ '073') DO >* Variable &BRANCH = '077' >* Variable &DETROIT = '077' >* IF statement tested true > OVRPRTF FILE(QSYSPRT) OUTQ(&PRINTER) >* Variable &PRINTER = 'S0001P' > CPYF FROMFILE(PAXAR) TOFILE(QSYSPRT) > ENDDO > CALL PGM(ASN762R) PARM(&MEMO &RELEAS &ASN) >* Variable &MEMO = 1255014 >* Variable &RELEAS = 2444108 >* Variable &ASN = 1200000000469 > >... or in the case that the IF tested false, I would like to see: > > IF (&BRANCH *EQ &DETROIT *OR &BRANCH *EQ '073') DO >* Variable &BRANCH = '079' >* Variable &DETROIT = '077' >* IF statement tested false > CALL PGM(ASN762R) PARM(&MEMO &RELEAS &ASN) >* Variable &MEMO = 1255014 >* Variable &RELEAS = 2444108 >* Variable &ASN = 1200000000469 > >Can this be done? Or something similar? > >TIA. > >Dan Bale >IT - AS/400 >Handleman Company >248-362-4400 Ext. 4952 >D.Bale@Handleman.com > > >_______________________________________________ >This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list >To post a message email: MIDRANGE-L@midrange.com >To subscribe, unsubscribe, or change list options, >visit: http://lists.midrange.com/cgi-bin/listinfo/midrange-l >or email: MIDRANGE-L-request@midrange.com >Before posting, please take a moment to review the archives >at http://archive.midrange.com/midrange-l. >
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.