|
He's trying to use this procedure. It appears that this procedure is an
external module. See the Export keyword on the PSPECS.
> > 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
Michael Schutte
Work 614-492-7419
email michael_schutte@xxxxxxxxxxxx
"Wilt, Charles"
<CWilt@xxxxxxxxxx
om> To
Sent by: "RPG programming on the AS400 /
rpg400-l-bounces@ iSeries" <rpg400-l@xxxxxxxxxxxx>
midrange.com cc
Subject
04/07/2006 10:51 RE: Calling RPGLE module.
AM
Please respond to
RPG programming
on the AS400 /
iSeries
<rpg400-l@midrang
e.com>
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-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.