|
What in the world is the "3D"? Is that something new? Michael Schutte Work 614-492-7419 email michael_schutte@xxxxxxxxxxxx "Jake M" <jakeroc@xxxxxxxx m> To Sent by: rpg400-l@xxxxxxxxxxxx rpg400-l-bounces@ cc midrange.com Subject Calling RPGLE module. 04/06/2006 10:41 AM Please respond to RPG programming on the AS400 / iSeries <rpg400-l@midrang e.com> Hello Pro's, I am trying to call a module which was coded by somebody else. I think I am calling it wrongly. Would y'all mind taking a look at this please and guide me in the right direction? I am learning RPG so I am not be understanding the module correctly. module: 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 =3D *BLANKS C EVAL ERR =3D *ON C ELSE C* C EVAL ERR =3D *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 2= 7 C if *in27 =3D *on C eval %subst(city:1:x-1) =3D %subst(fldlen:1:x= -1) C else C ' ' scan fldlen x 2= 7 C if *in27 =3D *on C eval %subst(city:1:x-1) =3D %subst(fldlen:1:x= -1) C endif C endif C eval x =3D x+1 C* look for non-blank..for state C if x + 2 < LEN C eval Y =3D 2 C else C eval y =3D len - x + 1 C endif C* C dow x < LEN C if %subst(fldlen:x:1) <> ' ' C eval %subst(ste:1:2) =3D %subst(fldlen:x:2) C eval x =3D x+2 C leave C endif C* C eval x =3D x+1 C if x + 2 < LEN C eval Y =3D 2 C else C eval y =3D len - x + 1 C endif C* C enddo C* C* look for non-blank..zip code C if x + 9 < LEN C eval Y =3D 9 C else C eval y =3D len - x + 1 C endif C* C if y > 9 C eval y =3D 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) =3D %subst(fldlen:x:y) C* C '-' SCAN ZIP POS 2 0 2=0 C IF *IN20 =3D *ON C EVAL Y =3D Y - POS + 1 C EVAL X =3D X + POS C if y > 9 C EVAL y =3D 9 C endif C EVAL %SUBST(ZIP:POS:Y) =3D %SUBST(FLDlen:X:Y) C ENDIF C* C leave C endif C* C eval x =3D x+1 C if x + 9 <=3D LEN C eval Y =3D 9 C else C eval y =3D len - x + 1 C endif C* C enddo C ENDIF C select C when pass =3D '2' C return ste C when pass =3D '3' C return zip C other C return CITY C endsl C* PCTSTJSTTST E mycode: /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 //CITY =3D 'TYLER'; //STE =3D 'TX'; //ZIP =3D '75501'; CSTZIP =3D 'SCHULENBURG, TX'; RESULT =3D CTSTJSTTST(CSTZIP:CITY:STE:ZIP:pass:err); *inlr =3D *on; /END-FREE prototype in EDITOOLTST file: D* ............................................ 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 Thanks a bunch in advance. Jake. -- 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.