|
If you're not using a binding directory, are you binding the module on the CRTBNDRPG command? You have to do it one way or the other. The BndDir HSPEC is just easier. Obviously, 'BNDDIR' isn't correct, you will need to replace it with the binding directory that the module resides in. However, if you are going to use prototypes, you must change the dftactgrp from *YES to *NO, you can do that in either the CRTBNDRPG command or in the HSPECS, again, its easier to just put in the HSPECS. If the module you are using isn't in a binding directory, you'll need to add it to a binding directory. If you guys don't have any, then do this. CRTBNDDIR BNDDIR(YOURLIB/MYBNDDIR) TEXT('My testing binding directory') Then add the module to this binding directory. WRKBNDDIRE BNDDIR(MYLIB/MYBNDDIR) Under Opt enter '1' Object = name of the module Type = *Module Library = *LIBL Press Enter. Now that the module is in a binding directory, all you have to do is reference the directory in the HSPECS of your source in the BndDir() keyword. 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 10:21 Re: Calling RPGLE module. AM Please respond to RPG programming on the AS400 / iSeries <rpg400-l@midrang e.com> 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.
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.