|
Michael, Charles... Okay, I followed Michael's advice and added my module to the already existing Binding Directory and then added the H Spec to my CALLCTST program and the program compiles just fine. So...Michael, thanks a lot for that. I appreciate it. Now, is it necessary that whenever I code a module I add that to a binding directory or is it just a good programming practice? Before getting my program to compile I just compiled the module CTSTJSTTST using CRTRPGMOD and did not add it to any binding directory. I hope I am making sense. I appreciate all your help. Just trying to learn the intricacies of the language. Jake. On 4/7/06, Wilt, Charles <CWilt@xxxxxxxxxxxx> wrote: > > Jake, > > You don't need a binding directory if > 1) You're not calling procedures from external modules/*SRVPGMs > > Or > > 2) You specify what to bind in on the CRTPGM command. > > > HTH, > > Charles Wilt > -- > iSeries Systems Administrator / Developer > Mitsubishi Electric Automotive America > ph: 513-573-4343 > fax: 513-398-1121 > > > > -----Original Message----- > > From: rpg400-l-bounces@xxxxxxxxxxxx > > [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Jake M > > Sent: Friday, April 07, 2006 10:21 AM > > To: RPG programming on the AS400 / iSeries > > Subject: Re: Calling RPGLE module. > > > > Michael, > > Yes, that is all the source code. So, I need to add.. > > > > H DftActGrp(*NO) > > H BndDir('BNDDIR') > > > > to the beginning of my CALLCTST.RPGLE, right? But I am not > > using any binding > > directories in this at all. Do I still need to include those > > two lines? > > Thanks again for all your help. > > > > Jake. > > > > On 4/7/06, Michael_Schutte@xxxxxxxxxxxx <Michael_Schutte@xxxxxxxxxxxx> > > wrote: > > > > > > <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< > > > /COPY QPROTOSRC,EDITOOLTST > > > * > > > D CSTZIP S 70 > > > D CITY S 35 > > > D STE S 2 > > > D ZIP S 9 > > > D ERR S 1 > > > D pass S 1 > > > D RESULT S 118 > > > > > > * > > > * > > > * > > > /FREE > > > CSTZIP = 'SCHULENBURG, TX'; > > > > > > RESULT = CTSTJSTTST(CSTZIP:CITY:STE:ZIP:pass:err); > > > > > > *inlr = *on; > > > /END-FREE > > > <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< > > > > > > > > > Is this all of your source? If so, in order to get this to > > compile you > > > need to add the HSPECS that I sent in another email. When using > > > prototypes, DftActGrp cannot be *YES, so in the HSPECS you > > can change it > > > to > > > *NO > > > > > > <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< > > > H DftActGrp(*NO) > > > H BndDir('BNDDIR') > > > > > > /COPY QPROTOSRC,EDITOOLTST > > > * > > > D CSTZIP S 70 > > > D CITY S 35 > > > D STE S 2 > > > D ZIP S 9 > > > D ERR S 1 > > > D pass S 1 > > > D RESULT S 118 > > > > > > * > > > * > > > * > > > /FREE > > > CSTZIP = 'SCHULENBURG, TX'; > > > > > > RESULT = CTSTJSTTST(CSTZIP:CITY:STE:ZIP:pass:err); > > > > > > *inlr = *on; > > > /END-FREE > > > > > > <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< > > > Michael Schutte > > > Work 614-492-7419 > > > email michael_schutte@xxxxxxxxxxxx > > > > > > > > > > > > "Jake M" > > > <jakeroc@xxxxxxxx > > > m> > > To > > > Sent by: "RPG programming on > > the AS400 / > > > rpg400-l-bounces@ iSeries" > > <rpg400-l@xxxxxxxxxxxx> > > > midrange.com > > cc > > > > > > > > Subject > > > 04/07/2006 09:52 Re: Calling RPGLE module. > > > AM > > > > > > > > > Please respond to > > > RPG programming > > > on the AS400 / > > > iSeries > > > <rpg400-l@midrang > > > e.com> > > > > > > > > > > > > > > > > > > > > > Michael, > > > This is how I am calling it..still not able to compile. I > > bet I am doing > > > something outrageously stupid(out of ignorance > > ofcourse....). I appreciate > > > all the help. > > > CALLCTST.RPGLE(my program...does not compile) > > > > > > > > ************************************************************** > > ******************************************* > > > > > > /COPY QPROTOSRC,EDITOOLTST > > > * > > > D CSTZIP S 70 > > > D CITY S 35 > > > D STE S 2 > > > D ZIP S 9 > > > D ERR S 1 > > > D pass S 1 > > > D RESULT S 118 > > > > > > * > > > * > > > * > > > /FREE > > > CSTZIP = 'SCHULENBURG, TX'; > > > > > > RESULT = CTSTJSTTST(CSTZIP:CITY:STE:ZIP:pass:err); > > > > > > *inlr = *on; > > > /END-FREE > > > > > > > > ************************************************************** > > ********************************************* > > > > > > EDITOOLTST > > > > > > > > ************************************************************** > > ********************************************* > > > > > > D ctstjsttst PR 118 opdesc > > > D ctyzip 70 options(*varsize) > > > D city 35 > > > D ste 2 > > > D zip 9 > > > D pass 1 > > > D err 1 > > > > > > > > ************************************************************** > > ********************************************** > > > > > > CTSTJSTTST.RPGLE(module...compiles fine). > > > > > > > > ************************************************************** > > ********************************************** > > > > > > H NOMAIN > > > /COPY QPROTOSRC,EDITOOLTST > > > PCTSTJSTTST B export > > > DCTSTJSTTST PI 118 opdesc > > > D CSTZIP 70 OPTIONS(*VARSIZE) > > > D CITY 35 > > > D STE 2 > > > D ZIP 9 > > > D Pass 1 > > > D ERR 1 > > > > > *---------------------------------------------------------------- > > > D X S 2 0 > > > D Y S 2 0 > > > D LEN S 5I 0 INZ > > > D FLDLEN S +1 LIKE(CSTZIP) > > > > > *---------------------------------------------------------------- > > > C* ........................ > > > C IF CSTZIP = *BLANKS > > > C EVAL ERR = *ON > > > C ELSE > > > C* > > > C EVAL ERR = *OFF > > > C clear FLDLEN > > > C MOVEL CSTZIP FLDLEN > > > C X'00' CHECKR FLDLEN LEN > > > C ' ' CHECKR FLDLEN:len LEN > > 25 > > > C* ........................ > > > C* *load city/state/zip > > > C* ........................ > > > C* *if city is not blanks.... > > > C clear city > > > C clear ste > > > C clear zip > > > C* look for city/state delimited by ",".. > > > C ',' scan fldlen x > > > 27 > > > C if *in27 = *on > > > C eval %subst(city:1:x-1) = > > > %subst(fldlen:1:x-1) > > > C else > > > C ' ' scan fldlen x > > > 27 > > > C if *in27 = *on > > > C eval %subst(city:1:x-1) = > > > %subst(fldlen:1:x-1) > > > C endif > > > C endif > > > C eval x = x+1 > > > C* look for non-blank..for state > > > C if x + 2 < LEN > > > C eval Y = 2 > > > C else > > > C eval y = len - x + 1 > > > C endif > > > C* > > > C dow x < LEN > > > C if %subst(fldlen:x:1) <> ' ' > > > C eval %subst(ste:1:2) = > > %subst(fldlen:x:2) > > > C eval x = x+2 > > > C leave > > > C endif > > > C* > > > C eval x = x+1 > > > C if x + 2 < LEN > > > C eval Y = 2 > > > C else > > > C eval y = len - x + 1 > > > C endif > > > C* > > > C enddo > > > C* > > > C* look for non-blank..zip code > > > C if x + 9 < LEN > > > C eval Y = 9 > > > C else > > > C eval y = len - x + 1 > > > C endif > > > C* > > > C if y > 9 > > > C eval y = 9 > > > C endif > > > C* > > > C dow x < len > > > C* > > > C if %subst(fldlen:x:1) <> ' ' AND > > > C %subst(fldlen:x:1) <> '.' > > > C eval %subst(zip:1:y) = > > %subst(fldlen:x:y) > > > C* > > > C '-' SCAN ZIP POS > > 2 0 > > > 20 > > > C IF *IN20 = *ON > > > C EVAL Y = Y - POS + 1 > > > C EVAL X = X + POS > > > C if y > 9 > > > C EVAL y = 9 > > > C endif > > > C EVAL %SUBST(ZIP:POS:Y) = > > %SUBST(FLDlen:X:Y) > > > C ENDIF > > > C* > > > C leave > > > C endif > > > C* > > > C eval x = x+1 > > > C if x + 9 <= LEN > > > C eval Y = 9 > > > C else > > > C eval y = len - x + 1 > > > C endif > > > C* > > > C enddo > > > C ENDIF > > > C select > > > C when pass = '2' > > > C return ste > > > C when pass = '3' > > > C return zip > > > C other > > > C return CITY > > > C endsl > > > C* > > > PCTSTJSTTST E > > > > > > > > ************************************************************** > > ********************************************* > > > > > > > > > > > > Jake. > > > > > > On 4/7/06, Michael_Schutte@xxxxxxxxxxxx > > <Michael_Schutte@xxxxxxxxxxxx> > > > wrote: > > > > > > > > Jake, > > > > > > > > Do you have the Parms for this program in the DSPECS > > using the PR and > > > PI? > > > > If so make sure that that the name on the PR & PI line > > are the same as > > > the > > > > name of this SOURCE. > > > > > > > > Michael Schutte > > > > Work 614-492-7419 > > > > email michael_schutte@xxxxxxxxxxxx > > > > > > > > > > > > > > > > "Jake M" > > > > <jakeroc@xxxxxxxx > > > > m> > > > To > > > > Sent by: "RPG programming > > on the AS400 / > > > > rpg400-l-bounces@ iSeries" > > <rpg400-l@xxxxxxxxxxxx> > > > > midrange.com > > > cc > > > > > > > > > > > Subject > > > > 04/07/2006 09:12 Re: Calling RPGLE module. > > > > AM > > > > > > > > > > > > Please respond to > > > > RPG programming > > > > on the AS400 / > > > > iSeries > > > > <rpg400-l@midrang > > > > e.com> > > > > > > > > > > > > > > > > > > > > > > > > > > > > Birgitta, > > > > I used CRTBNDRPG command in RSE. The module CTSTJSTTST > > compiles fine > > > with > > > > the command 'CRTRPGMOD'. But the compile for program > > CALLCTST fails when > > > I > > > > use CRTBNDRPG. Thanks a bunch for enlightening me on the > > compilation > > > > theory. > > > > I appreciate your help. > > > > > > > > Jake. > > > > > > > > > > > > > > > > On 4/7/06, HauserSSS <Hauser@xxxxxxxxxxxxxxx> wrote: > > > > > > > > > > Hi, > > > > > > > > > > how did you try to compile your program? > > > > > With option 14 in PDM? > > > > > > > > > > An ILE compilation is always a two step calculation: > > > > > 1. Compile all your modules (Option 15 --> CRTRPGMOD) > > > > > 2. Create the program using the CL-Command CRTPGM and > > by specifying > > > all > > > > > bound modules. > > > > > > > > > > (Even with option 14 CRTBNDRPG a two step compilation > > is performed. > > > > First > > > > > the module gets compiled to the QTEMP library. After > > the module gets > > > > > converted into a program in your object library and the > > module in the > > > > > QTEMP > > > > > gets deleted.) > > > > > > > > > > You also can add your modules (or service programs) to > > an binding > > > > > directory > > > > > and specify the binding directory at compile time or > > add it in the > > > > > H-Specs: > > > > > 1. Create Binding directory: CRTBNDDIR > > > > > 2. Add Binding directory entries: ADDBNDDIRE > > > > > > > > > > 3. If you are using a binding directory, it's possible > > to use Option > > > 14 > > > > to > > > > > compile a program. You have to use an activation group > > other than the > > > > > default activation group and specify the binding > > directory in the > > > > compile > > > > > command. > > > > > Alternatively you can add the following H-Specs to your source: > > > > > H/If Defined (*CRTBNDRPG) > > > > > H DftActGrp(*NO) BndDir('MYBNDDIR') ActGrp(*New or *Caller or > > > > > 'NAMEDACTGRP') > > > > > H/EndIf > > > > > > > > > > 4. If you use the two step compilation the binding > > directory can be > > > > > specified in the CRTPGM-Command. > > > > > > > > > > Mit freundlichen Gru?en / Best regards > > > > > > > > > > Birgitta > > > > > > > > > > "Shoot for the moon, even if you miss, you'll land > > among the stars." > > > > > (Les Brown) > > > > > > > > > > -----Ursprungliche Nachricht----- > > > > > Von: rpg400-l-bounces@xxxxxxxxxxxx > > > > > [mailto:rpg400-l-bounces@xxxxxxxxxxxx]Im Auftrag von > > Mike Troxclaire > > > > > Gesendet: Donnerstag, 6. April 2006 23:34 > > > > > An: rpg400-l@xxxxxxxxxxxx > > > > > Betreff: RE:Calling RPGLE module. > > > > > > > > > > > > > > > As a newbie I would love to know about it too. I was not able to > > > compile > > > > > the > > > > > program?? > > > > > > > > > > Mike. > > > > > > > > > > > > _________________________________________________________________ > > > > > Express yourself instantly with MSN Messenger! Download > > today - it's > > > > FREE! > > > > > http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ > > > > > > > > > > -- > > > > > 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. > > > > > > > > > > > > > > > > > > > > -- > > > > > 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. > > > > > > > > > > > > > > -- > > > > 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. > > > > > > > > > > > > > > > > -- > > > > 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. > > > > > > > > > > > -- > > > 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. > > > > > > > > > > > > -- > > > 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. > > > > > > > > -- > > 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. > > > > > > -- > 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.