So how many parms does %parm say are being passed in?
D nbrparms S 10I 0
nbrparms = %parms;
Gary Monnier
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Jerry C. Adams
Sent: Tuesday, July 10, 2012 8:51 AM
To: RPG400-L
Subject: %Parms Test Problem
I am having an issue with *NOPASS and %Parms. The issue is that, when I pass the parm, %parms is not resolving correctly.
The prototype for the program is:
D ARQ006 PR ExtPgm('ARQ006')
D Type 2a Options(*NOPASS)
D Code 3a Options(*NOPASS)
The interface is:
D ARQ006 PI
D #Type Like(iftype)
D Options(*NoPass)
D #Code Like(ifcde)
D Options(*NoPass)
The program checks for parameters:
IF %parms > *Zeros;
dspOption = *On;
ENDIF;
I invoked the program via:
CALL ARQ006 PARM('X')
When I run the program under debug, the value of #Type = 'X'. But the program skips right over the dspOption setting.
I have used *NOPASS before (typically when I added parameters to a program
later) and then checked for the extra parms, such as:
IF %parms >= 13;
[do something]
ENDIF;
The only difference that I see here is that I may not want to pass any parms. By way of explanation, this was an attempt to write an inquiry program with a subfile. The program could be called as a stand alone program, or as a selector from another program. I.e., in the latter case the calling program asks the called program [ARQ006] which records are available, select one and return its key fields back to the caller. As a stand alone inquiry, it doesn't care about parameters.
Why isn't the "IF %parms > *Zeros" resulting in a true result when I invoke it with "CALL ARQ006 PARM('X')"?
Thanks.
Jerry C. Adams
IBM i Programmer/Analyst
You can never tell which way the train went by looking at the track. Only by the splatter of the blood stains
--
A&K Wholesale
Murfreesboro, TN
615-867-5070
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.
As an Amazon Associate we earn from qualifying purchases.