|
You cannot reference a parameter if it hasn't been passed. In programs which have a variable number of parameters, I reference the parameters only once, in the *INZSR, and move them (if passed) or default values (if not passed) to the actual variables I'm using in the program. In other words, you need to move Param1 to another variable if, and only if, %PARMS > 0. Otherwise, initialize the other variable to some default. Then only use the new variable in the calcs. Francis Lapeyre Quidquid latine dictum sit, altum viditur. -----Original Message----- From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Satheeshkumar_selvaraj Sent: Friday, September 30, 2005 3:40 AM To: RPG400-L@xxxxxxxxxxxx Subject: How to pass variable number of parameters in SQLRPGLE Hi All, I want to call my SQLRPGLE program in two modes. 1. From another program with one parameter (character type). 2. From the Command Line with out any parameter. I have coded it as follows, * Prototype for calling this program (*ENTRY) DMYPGM PR EXTPGM(MYPGM) DParam1 10A OPTIONS(*NOPASS) * Procedure interface for this program (*ENTRY) DMYPGM PI DParam1 10A OPTIONS(*NOPASS) C IF %PARMS > 0 C ........ C ELSE C ........ C ENDIF The *NOPASS works fine when I coded it in a subprocedure and used that subprocedure in my main program. When used in the main program it is working fine when I call it with a parameter. But it is giving "Pointer or Parameter error" when called without any parameter. Can any one please tell me what is wrong in my code? I tried the same code with RPGLE type it is working fine. But why it is not working with SQLRPGLE? In RPGLE it is working fine even if I remove the *NOPASS option. !!!! Thanks, Satheesh DISCLAIMER: This email (including any attachments) is intended for the sole use of the intended recipient/s and may contain material that is CONFIDENTIAL AND PRIVATE COMPANY INFORMATION. Any review or reliance by others or copying or distribution or forwarding of any or all of the contents in this message is STRICTLY PROHIBITED. If you are not the intended recipient, please contact the sender by email and delete all copies; your cooperation in this regard is appreciated. -- This is the RPG programming on the AS400 / iSeries (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.
This mailing list archive is Copyright 1997-2024 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.