I suppose the old standby - DSPMSGD OUPUT(*PRINT), then CPYSPLF, then
massage that for the data fields.

At 02:32 PM 4/11/02 -0400, you wrote:
>SQLCODE translates to message id's as follows:
>
>Take absolute value of SQLCODE
>Represent that as a 5 digit number
>If the leading digit is zero change it to an 'L'
>Prepend 'SQ' and you have the message ID.
>
>Ex.
>SQLCODE -501
>Abs(-501) = 501
>Make that 00501
>Since leading digit is 0 make it an 'L'
>Prepend SQ and the message id is SQL0501
>
>SQLCODE -20054
>Abs(-20054) = 20054
>Prepend SQ and the message id is SQ20054
>
>However, if memory serves data in SQLERRM is delimited with x'FF' not fixed
>length and RTVMSG needs fixed length so you need some way of knowing how
>long the message data should be.
>
>-Walden
>
>------------
>Walden H Leverich III
>President
>Tech Software
>(516) 627-3800 x11
>(208) 692-3308 eFax
>WaldenL@TechSoftInc.com
>http://www.TechSoftInc.com
>
>Quiquid latine dictum sit altum viditur.
>(Whatever is said in Latin seems profound.)
>
>
>
>-----Original Message-----
>From: Vernon Hamberg [mailto:vhamberg@attbi.com]
>Sent: Thursday, April 11, 2002 11:26
>To: midrange-l@midrange.com
>Subject: Re: Retrieve SQLCODE descriptions programmatically?
>
>
>Are you basically talking RTVMSG? Negative SQLCOD translate to message
>description IDs, with a little work, right?
>
>Don't have one here. Nice idea.
>
>At 09:28 AM 4/11/02 -0500, you wrote:
> >Does anyone have a piece of code they would be willing to share?
> >
> >Ideally, I'm looking for a subprocedure (called from RPG/IV) that will
> >accept a SQLCODE and SQLERRM, and return the explanation text from the
> >SQL message file QSYS/QSQLMSG. Substitution variables would be replaced
> >with values in SQLERRM.
> >
> >If not, I will probably write one. I find myself doing a lot of
> >embedded SQL for CGI programs (works well), and I currently get the SQL
> >code and state values for the prepare (if used), open, and first fetch
> >of an SQL statement. I output these to HTML comments in the web page
> >for tracking/debugging. I also want the SQL message (if an error) to
> >show also. This would also be useful in traditional RPG/IV programs
> >using embedded SQL.
> >
> >Sample usage...
> >if sqlcod <> 0 or sqlstt <> '00000'
> >eval sqlmessage = GetSQLMsg( sqlcod : sqlerrm )
> >endif
> >
> >Thanks,
> >Loyd
> >
> >--
> >Loyd Goodbar
> >Programmer/Analyst
> >BorgWarner Incorporated
> >Air/Fluid Systems, Water Valley, MS
> >
> >
> >
> >_______________________________________________
> >This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
> >list To post a message email: MIDRANGE-L@midrange.com To subscribe,
> >unsubscribe, or change list options,
> >visit: http://lists.midrange.com/cgi-bin/listinfo/midrange-l
> >or email: MIDRANGE-L-request@midrange.com
> >Before posting, please take a moment to review the archives
> >at http://archive.midrange.com/midrange-l.
>
>_______________________________________________
>This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
>To post a message email: MIDRANGE-L@midrange.com To subscribe, unsubscribe,
>or change list options,
>visit: http://lists.midrange.com/cgi-bin/listinfo/midrange-l
>or email: MIDRANGE-L-request@midrange.com
>Before posting, please take a moment to review the archives
>at http://archive.midrange.com/midrange-l.
>_______________________________________________
>This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
>To post a message email: MIDRANGE-L@midrange.com
>To subscribe, unsubscribe, or change list options,
>visit: http://lists.midrange.com/cgi-bin/listinfo/midrange-l
>or email: MIDRANGE-L-request@midrange.com
>Before posting, please take a moment to review the archives
>at http://archive.midrange.com/midrange-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.