× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



In order to use a procedure that resides in an external module in another
program, you must bind that directory.  You only need to bind the directory
if you are using procedure that resides in an external module.   If you
create a new module, you must add it to the binding directory to be able to
use in programs where you specify the binding directory.  Or you go about
it the hard way by using the CRTPGM and bind the module that way.

Using binding directories just seems easier to me.

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:59          Re: Calling RPGLE module.           
             AM                                                            
                                                                           
                                                                           
             Please respond to                                             
              RPG programming                                              
              on the AS400 /                                               
                  iSeries                                                  
             <rpg400-l@midrang                                             
                  e.com>                                                   
                                                                           
                                                                           




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

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.