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