|
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
/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.
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.