|
Hello, Can any body tell me how to draw table with conteneous line & all the corners closed, on AS/400. ----- Original Message ----- From: <rpg400-l-request@midrange.com> To: <rpg400-l@midrange.com> Sent: Tuesday, September 24, 2002 12:55 PM Subject: RPG400-L digest, Vol 1 #1035 - 13 msgs > Send RPG400-L mailing list submissions to > rpg400-l@midrange.com > > To subscribe or unsubscribe via the World Wide Web, visit > http://lists.midrange.com/cgi-bin/listinfo/rpg400-l > or, via email, send a message with subject or body 'help' to > rpg400-l-request@midrange.com > > You can reach the person managing the list at > rpg400-l-admin@midrange.com > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of RPG400-L digest..." > > > Today's Topics: > > 1. Re: Indicator passing from ILE RPG to CL (Barbara Morris) > 2. Re: Using SQL UDF in SQLRPGLE program gets decimal data error (Tom Liotta) > 3. RE: Converting alpha dates to date data type fields (m/d/yy) (Tom Liotta) > 4. Re: Converting alpha dates to date data type fields (m/d/yy) (Richard B Baird) > 5. RE: Converting alpha dates to date data type fields (m/d/yy) (Johnson, Duane) > 6. RE: Converting alpha dates to date data type fields (m/d/yy) (Richard B Baird) > 7. Re: Converting alpha dates to date data type fields (m/d/yy) (Barbara Morris) > 8. Re: Converting alpha dates to date data type fields (m/d/yy) (Raul A Jager) > 9. Re: Using SQL UDF in SQLRPGLE program gets decimal data error (rob@dekko.com) > 10. Re: Converting alpha dates to date data type fields (m/d/yy) (Barbara Morris) > 11. Using XML SAX and DOM parsers for RPG (Ray Nainy) > 12. procedure to return calling pgm name (Paul Jackson) > 13. AW: procedure to return calling pgm name (Werner Noll) > > --__--__-- > > Message: 1 > To: rpg400-l@midrange.com > From: Barbara Morris <bmorris@ca.ibm.com> > Subject: Re: Indicator passing from ILE RPG to CL > Date: Mon, 23 Sep 2002 13:03:29 -0400 > Organization: RPG Compiler Development for iSeries > Reply-To: rpg400-l@midrange.com > > "Smith, Nelson" wrote: > > > > I'm not on V5 yet, but I do have many procedures that return an indicator > > value. They are rarely (probably never, so far) called by a CL program, so > > I haven't noticed a problem with them yet, but always assumed they would > > work equally well with a CL as with an RPG call. Does this mean that as > > soon I get to V5, that I should add *CL to my prototypes for procedures that > > do return an indicator, just in case a CL needs to call them? > > > > I've never really quite understood how CL's relate to prototypes anyway, > > since you don't define them in the CL itself. > > > > Nelson, if you do add *CL to your prototypes, make sure you recompile > all the things that use the RPG prototype - any RPG caller compiled > without the *CL would stop working. Alternatively, if you do have a > case where you need to have a CL caller, you could create a *CL wrapper > for your procedure. > > Regarding how CL relates to prototypes, it doesn't really, but you can > still get some of the benefits of prototypes even if all the callers or > even the procedure itself isn't compiled using the prototype. > > > > --__--__-- > > Message: 2 > Date: Mon, 23 Sep 2002 13:12:48 -0400 > From: qsrvbas@netscape.net (Tom Liotta) > To: rpg400-l@midrange.com > Subject: Re: Using SQL UDF in SQLRPGLE program gets decimal data error > Reply-To: rpg400-l@midrange.com > > Rob: > > Hmmm... guess I should've been more explicit. True enough that the definiti= > on of a UDF itself can be found as you describe, but I was wondering about = > the definitions within the UDF, the field/object definition table, if you w= > ill. > > In the case of this thread, the field definitions listed by the compiler do= > not seem to match the behavior of the UDF. > > Or were you saying that the field definitions are also available there and = > I just haven't looked for them correctly? > > Tom Liotta > > rpg400-l-request@midrange.com wrote: > > >We all know that a UDF is not an object right? Well, iSeries Navigator > >will show you udf's as if they were an object. Open up your system, then > >databases, then the library you think the UDF is in. The udf will show up > >as a type of function. Stored procedures will show up that way. > >Prior to V5R2 you would look in the library QSYS2 for the tables SYSPROCS > >for stored procedures and SYSFUNCS for udf's. However at V5R2 IBM > >recommends you use the library SYSIBM. And I don't know the name of the > >new tables right off the top of my head. The point of the library SYSIBM > >is compatibility with other versions of DB2. > > > >Rob Berendt > > > >rpg400-l-request@midrange.com wrote: > > > >>It looks like it confirms my guess that UDF expects packed decimal data. > >>This is consistent with debugger showing only 5 bytes for data (vs 8). > > > >So... where is the debugger getting the byte-length of <5> from? The > >portions of compiler listings sure didn't seem to indicate <5> anywhere. > > > >Is there anywhere that the UDF definitions can be seen? > > > -- > Tom Liotta > The PowerTech Group, Inc. > 19426 68th Avenue South > Kent, WA 98032 > Phone 253-872-7788 x313 > Fax 253-872-7904 > http://www.powertechgroup.com > > > __________________________________________________________________ > The NEW Netscape 7.0 browser is now available. Upgrade now! http://channels= > .netscape.com/ns/browsers/download.jsp > > Get your own FREE, personal Netscape Mail account today at http://webmail.n= > etscape.com/ > > --__--__-- > > Message: 3 > Date: Mon, 23 Sep 2002 13:25:55 -0400 > From: qsrvbas@netscape.net (Tom Liotta) > To: rpg400-l@midrange.com > Subject: RE: Converting alpha dates to date data type fields (m/d/yy) > Reply-To: rpg400-l@midrange.com > > Richard: > > It seems to me you could call CEEDAYS to convert whatever your input is to = > Lillian format, then call CEEDATE to put the Lillian into whatever output f= > ormat you need. These are pretty simple calls once you see them work (as is= > often the case.) See the ILE CEE APIs guide. > > Somebody, not sure who so I can't supply credit, posted ILE CL examples of = > these that are great for learning. I could post them again if you'd like. M= > odifying for ILE RPG is then easy. > > Tom Liotta > > rpg400-l-request@midrange.com wrote: > > >All of these would work if i were only worried about the month. I also > >have to worry about the day. > > > >I could get: > > > >1/1/02 > >1/10/02 > >10/1/02 > >10/10/02 > > > >all of which need to be converted to an *iso date. > > > >which means i'm probably going to have to scan for slashes and substring it > >out. > > -- > Tom Liotta > The PowerTech Group, Inc. > 19426 68th Avenue South > Kent, WA 98032 > Phone 253-872-7788 x313 > Fax 253-872-7904 > http://www.powertechgroup.com > > > __________________________________________________________________ > The NEW Netscape 7.0 browser is now available. Upgrade now! http://channels= > .netscape.com/ns/browsers/download.jsp > > Get your own FREE, personal Netscape Mail account today at http://webmail.n= > etscape.com/ > > --__--__-- > > Message: 4 > To: rpg400-l@midrange.com > From: "Richard B Baird" <rbaird@esourceconsulting.com> > Subject: Re: Converting alpha dates to date data type fields (m/d/yy) > Date: Mon, 23 Sep 2002 12:56:29 -0500 > Reply-To: rpg400-l@midrange.com > > > Eric, > > The file is provided by a 3rd party. It's a comma delimited ascii file, > don't know the origin. I suppose I could ask them to change the format, > but it's just easier to translate at my end. I was hoping I could use a > date move and be done with it, but 4 or 5 extra lines of code took care of > it. > > thanks, > > Rick > > ---original message--- > Richard, > > Is the file coming from a download of a Windows product (ie: Excel)? If > so, I > believe there is a global setup to change the dates to MM/DD/YY. This way > you > do not have to worry about the single digit month or day. I had the exact > same problem at a customer site and did not know about the Global Date > change > until I wrote the entire extraction routine. It was a pain. > > Eric A. Wolf > > > --__--__-- > > Message: 5 > From: "Johnson, Duane" <djohnson@POWERMATE.com> > To: "'rpg400-l@midrange.com'" <rpg400-l@midrange.com> > Subject: RE: Converting alpha dates to date data type fields (m/d/yy) > Date: Mon, 23 Sep 2002 14:15:51 -0400 > Reply-To: rpg400-l@midrange.com > > > Rick, > What method did you end up using? > Duane > > > -----Original Message----- > > From: Richard B Baird [SMTP:rbaird@esourceconsulting.com] > > Sent: Monday, September 23, 2002 12:56 PM > > To: rpg400-l@midrange.com > > Subject: Re: Converting alpha dates to date data type fields (m/d/yy) > > > > > > Eric, > > > > The file is provided by a 3rd party. It's a comma delimited ascii file, > > don't know the origin. I suppose I could ask them to change the format, > > but it's just easier to translate at my end. I was hoping I could use a > > date move and be done with it, but 4 or 5 extra lines of code took care of > > it. > > > > thanks, > > > > Rick > > > > > > --__--__-- > > Message: 6 > To: rpg400-l@midrange.com > From: "Richard B Baird" <rbaird@esourceconsulting.com> > Subject: RE: Converting alpha dates to date data type fields (m/d/yy) > Date: Mon, 23 Sep 2002 13:37:28 -0500 > Reply-To: rpg400-l@midrange.com > > > Duane, > > this is what i did: > > c if %subst(CBDATE:2:1) = '/' > c eval CBDATE = '0' + %trim(CBDATE) > c end > > c if %subst(CBDATE:5:1) = '/' > c eval CBDATE = %subst(CBDATE:1:3) + '0' + > c %subst(CBDATE:4:4) > c end > > c *mdy/ move CBDATE $CDate > > only 4 extra lines of code lines of code (not counting end statements :) > > rick > > -----original message------ > Rick, > What method did you end up using? > Duane > > > > --__--__-- > > Message: 7 > To: rpg400-l@midrange.com > From: Barbara Morris <bmorris@ca.ibm.com> > Subject: Re: Converting alpha dates to date data type fields (m/d/yy) > Date: Mon, 23 Sep 2002 15:11:29 -0400 > Organization: RPG Compiler Development for iSeries > Reply-To: rpg400-l@midrange.com > > Richard B Baird wrote: > > > > c if %subst(CBDATE:2:1) = '/' > > c eval CBDATE = '0' + %trim(CBDATE) > > c end > > > > c if %subst(CBDATE:5:1) = '/' > > c eval CBDATE = %subst(CBDATE:1:3) + '0' + > > c %subst(CBDATE:4:4) > > c end > > > > c *mdy/ move CBDATE $CDate > > > > only 4 extra lines of code lines of code (not counting end statements :) > > Rick, I don't think you've covered the case of 1/1/02. > > > > --__--__-- > > Message: 8 > Date: Mon, 23 Sep 2002 16:59:40 -0400 > From: Raul A Jager <raul@abc.com.py> > To: rpg400-l@midrange.com > Subject: Re: Converting alpha dates to date data type fields (m/d/yy) > Reply-To: rpg400-l@midrange.com > > -- > [ Picked text/plain from multipart/alternative ] > By the time it reaches the second IF, it is already 01/1/02 :-) > > Barbara Morris wrote: > > >Richard B Baird wrote: > > > > > >>c if %subst(CBDATE:2:1) = '/' > >>c eval CBDATE = '0' + %trim(CBDATE) > >>c end > >> > >>c if %subst(CBDATE:5:1) = '/' > >>c eval CBDATE = %subst(CBDATE:1:3) + '0' + > >>c %subst(CBDATE:4:4) > >>c end > >> > >>c *mdy/ move CBDATE $CDate > >> > >>only 4 extra lines of code lines of code (not counting end statements :) > >> > >> > > > >Rick, I don't think you've covered the case of 1/1/02. > > > > > >_______________________________________________ > >This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list > >To post a message email: RPG400-L@midrange.com > >To subscribe, unsubscribe, or change list options, > >visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l > >or email: RPG400-L-request@midrange.com > >Before posting, please take a moment to review the archives > >at http://archive.midrange.com/rpg400-l. > > > > > -- > > > --__--__-- > > Message: 9 > To: rpg400-l@midrange.com > Subject: Re: Using SQL UDF in SQLRPGLE program gets decimal data error > From: rob@dekko.com > Date: Mon, 23 Sep 2002 15:21:03 -0500 > Reply-To: rpg400-l@midrange.com > > This is a multipart message in MIME format. > -- > [ Picked text/plain from multipart/alternative ] > I right clicked on one function: > > First tab: General > Contains the following: > Description > Data returned to invoking statement, type, length, CCSID > And numerous other stuff like 'reads sql data'. > > Second tab: Parameters > Guess what this tells you. > > Third tab: External program > Here's your service program, module, subprocedure, or java method. > > Thus this stuff has to be in those tables somewhere. > > Rob Berendt > -- > "They that can give up essential liberty to obtain a little temporary > safety deserve neither liberty nor safety." > Benjamin Franklin > > > > > qsrvbas@netscape.net (Tom Liotta) > Sent by: rpg400-l-admin@midrange.com > 09/23/2002 12:12 PM > Please respond to rpg400-l > > > To: rpg400-l@midrange.com > cc: > Fax to: > Subject: Re: Using SQL UDF in SQLRPGLE program gets decimal data error > > > Rob: > > Hmmm... guess I should've been more explicit. True enough that the > definition of a UDF itself can be found as you describe, but I was > wondering about the definitions within the UDF, the field/object > definition table, if you will. > > In the case of this thread, the field definitions listed by the compiler > do not seem to match the behavior of the UDF. > > Or were you saying that the field definitions are also available there and > I just haven't looked for them correctly? > > Tom Liotta > > rpg400-l-request@midrange.com wrote: > > >We all know that a UDF is not an object right? Well, iSeries Navigator > >will show you udf's as if they were an object. Open up your system, then > >databases, then the library you think the UDF is in. The udf will show > up > >as a type of function. Stored procedures will show up that way. > >Prior to V5R2 you would look in the library QSYS2 for the tables SYSPROCS > >for stored procedures and SYSFUNCS for udf's. However at V5R2 IBM > >recommends you use the library SYSIBM. And I don't know the name of the > >new tables right off the top of my head. The point of the library SYSIBM > >is compatibility with other versions of DB2. > > > >Rob Berendt > > > >rpg400-l-request@midrange.com wrote: > > > >>It looks like it confirms my guess that UDF expects packed decimal data. > >>This is consistent with debugger showing only 5 bytes for data (vs 8). > > > >So... where is the debugger getting the byte-length of <5> from? The > >portions of compiler listings sure didn't seem to indicate <5> anywhere. > > > >Is there anywhere that the UDF definitions can be seen? > > > -- > Tom Liotta > The PowerTech Group, Inc. > 19426 68th Avenue South > Kent, WA 98032 > Phone 253-872-7788 x313 > Fax 253-872-7904 > http://www.powertechgroup.com > > > __________________________________________________________________ > The NEW Netscape 7.0 browser is now available. Upgrade now! http://channels.netscape.com/ns/browsers/download.jsp > > Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/ > _______________________________________________ > This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list > To post a message email: RPG400-L@midrange.com > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l > or email: RPG400-L-request@midrange.com > Before posting, please take a moment to review the archives > at http://archive.midrange.com/rpg400-l. > > > > > --__--__-- > > Message: 10 > To: rpg400-l@midrange.com > From: Barbara Morris <bmorris@ca.ibm.com> > Subject: Re: Converting alpha dates to date data type fields (m/d/yy) > Date: Mon, 23 Sep 2002 18:23:47 -0400 > Organization: RPG Compiler Development for iSeries > Reply-To: rpg400-l@midrange.com > > Raul A Jager wrote: > > By the time it reaches the second IF, it is already 01/1/02 :-) > > > > Oops. You are right. Dang! > > > > --__--__-- > > Message: 11 > From: "Ray Nainy" <ray_456@hotmail.com> > To: rpg400-l@midrange.com > Subject: Using XML SAX and DOM parsers for RPG > Date: Tue, 24 Sep 2002 01:12:11 +0000 > Reply-To: rpg400-l@midrange.com > > Hello Everyone, > > I need some help in how to use SAX/DOM parsers for RPG to create, read and > update XML files using RPG. What are Document Type Definition(DTD) > standards? > Do I need to use IFS for this? > Is there any documentation/website available on this subject? > > Thanks for all your help. > > :) > > > > > _________________________________________________________________ > Join the world=92s largest e-mail service with MSN Hotmail. > http://www.hotmail.com > > > --__--__-- > > Message: 12 > Date: Mon, 23 Sep 2002 23:46:30 -0700 (PDT) > From: Paul Jackson <paulgjackson@yahoo.com> > Subject: procedure to return calling pgm name > To: RPG400-L@midrange.com > Reply-To: rpg400-l@midrange.com > > Hello, > I would like to write a service program procedure that > returns the name of the program that is calling the > program that is invoking the procedure. In other words > something like the following: > > D CallingPgm S 10A > /Free > CallingPgm = RtvCallingPgm(); > if callingpgm = 'QCMD'; > do something ; > endif; > > /End-Free > > Is there a relatively simple technique for doing this? > I know you can use SNDPGMMSG/RCVMSG or equivalent and > interrogate the SENDER info, but was wondering if > there's a more elagant solution that has arrived on > the scene with ILE and V5r1. > > Also the CL RETURN command does not support a return > variable, is there a way to write a procedure in CL > and have it function as shown in the example above? > > Thanks in advance, > > -Paul > > ===== > Help prevent pet overpopulation. Please spay & neuter your pets. > http://www.doghause.com/neuter.html > http://www.fixcats.com > > __________________________________________________ > Do you Yahoo!? > New DSL Internet Access from SBC & Yahoo! > http://sbc.yahoo.com > > --__--__-- > > Message: 13 > From: Werner Noll <werner.noll@gefis.com> > To: "'rpg400-l@midrange.com'" <rpg400-l@midrange.com> > Subject: AW: procedure to return calling pgm name > Date: Tue, 24 Sep 2002 09:33:14 +0200 > Reply-To: rpg400-l@midrange.com > > Paul, > > I recently created a service procedure as test for this issue; it's not in > our production yet. It's based on the new API QWVRCSTK. I hope it can help > you to build your own solution. > > > > * Prototype for YRtvCaller > D YRtvCaller PR Like($RtvCaller) > > *------------------------------------------------------------ > * Global Variables > *------------------------------------------------------------ > D $APIError DS > D yAPIDSLen 10U 0 Inz(%size($APIError)) > D yAPIByteRtn 10U 0 Inz > D yAPICPFMsgID 7A > D yAPIReserved 1A > D yAPIMsgDta 132A > > D $RtvCaller DS > D yCallPgm 10A > D yCallPgmLib 10A > D yCallMod 10A > D yCallModLib 10A > D yCallActGrp 10A > D yCallProc 15A > > D $CSTK0100_1 DS 5000 > D yyBytRtn 10I 0 > D yyBytAvl 10I 0 > D yyEntries 10I 0 > D yyOffset 10I 0 > D yyEntryCount 10I 0 > > D $CSTK0100_2 DS 256 > D yyEntryLen 10I 0 > D yyDspmntStmt 10I 0 > D yyNbrStmt 10I 0 > D yyDspmntPrc 10I 0 > D yyLenPrc 10I 0 > D yyReqLvl 10I 0 > D yyPgmNam 10A > D yyPgmLib 10A > D yyMIInstr 10I 0 > D yyModNam 10A > D yyModLib 10A > D yyCtlBdry 1A > D yyReserved 3A > D yyActGrpNbr 10U 0 > D yyActGrpNam 10A > ***************************************************************** > * Procedure: YRtvCaller * > * Function : Retrieve information on calling program * > * * > * This procedure returns a DS with informations * > * on the application program, which has called * > * the program where this procedure was executed. * > * Programs from library QSYS are ignored. * > * * > * Returnval: $RtvCaller * > * yCallPgm Program (or Serviceprogram) * > * yCallPgmLib Program Library * > * yCallMod Module (if ILE Program) * > * yCallModLib Module Library (if ILE Program) * > * yCallActGrp Activation Group * > * yCallProc Procedure (if ILE Program) * > * * > * Author : Werner Noll > **************************************************************** > P YRtvCaller B Export > > D YRtvCaller PI Like($RtvCaller) > > D QWVRCSTK PR ExtPgm('QWVRCSTK') > D 5000A > D 10I 0 > D 8A Const > D 56A > D 8A Const > D 15A > > D #VarLen S 10I 0 Inz(%size($CSTK0100_1)) > D i1 S 5U 0 > D JobIdInf DS > D JIDQName 26 Inz('*') > D JIDIntID 16 > D JIDRes3 2 Inz(*loval) > D JIDThreadInd 10I 0 Inz(1) > D JIDThread 8 Inz(*loval) > > /free > > CallP QWVRCSTK($CSTK0100_1:#VarLen:'CSTK0100':JobIdInf:'JIDF0100': > $APIError); > > For i1=3D 1 to yyEntryCount; > $CSTK0100_2 =3D %subst($CSTK0100_1:yyOffset + 1); > > If yyDspmntPrc <> *zeros; > yCallProc=3D%subst($CSTK0100_2:(yyDspmntPrc + 1):yyLenPrc); > Else; > yCallProc=3D*blanks; > Endif; > yyOffset =3D yyOffset + yyEntryLen; > > > If yCallProc=3D'YRTVCALLER' or yyPgmLib=3D'QSYS'; > Iter; > Endif; > > yCallPgm=3DyyPgmNam; > yCallPgmLib=3DyyPgmLib; > yCallMod=3DyyModNam; > yCallModLib=3DyyModLib; > yCallActGrp=3DyyActGrpNam; > > Leave; > > EndFor; > > Return $RtvCaller; > > /end-free > > P YRtvCaller E > > Kind Regards, > > GEFIS Gesellschaft f=FCr > Individual-Software mbH > Werner Noll > > -----Urspr=FCngliche Nachricht----- > Von: Paul Jackson [mailto:paulgjackson@yahoo.com] > Gesendet: Dienstag, 24. September 2002 08:47 > An: RPG400-L@midrange.com > Betreff: procedure to return calling pgm name > > > Hello, > I would like to write a service program procedure that > returns the name of the program that is calling the > program that is invoking the procedure. In other words > something like the following: > > D CallingPgm S 10A > /Free > CallingPgm =3D RtvCallingPgm(); > if callingpgm =3D 'QCMD'; > do something ; > endif; > > /End-Free > > Is there a relatively simple technique for doing this? > I know you can use SNDPGMMSG/RCVMSG or equivalent and > interrogate the SENDER info, but was wondering if > there's a more elagant solution that has arrived on > the scene with ILE and V5r1. > > Also the CL RETURN command does not support a return > variable, is there a way to write a procedure in CL > and have it function as shown in the example above? > > Thanks in advance, > > -Paul > > =3D=3D=3D=3D=3D > Help prevent pet overpopulation. Please spay & neuter your pets. > http://www.doghause.com/neuter.html > http://www.fixcats.com > > __________________________________________________ > Do you Yahoo!? > New DSL Internet Access from SBC & Yahoo! > http://sbc.yahoo.com > _______________________________________________ > This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list > To post a message email: RPG400-L@midrange.com > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l > or email: RPG400-L-request@midrange.com > 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) digest list > To post a message email: RPG400-L@midrange.com > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l > or email: RPG400-L-request@midrange.com > Before posting, please take a moment to review the archives > at http://archive.midrange.com/rpg400-l. > > > > End of RPG400-L Digest >
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.