|
I would like to have more information about the use of embedded SQL statements in the RPG programs, as I understand RPG program written with the RPG OR RPGLE extension doesn't support embedded SQL statement. Is there an IBM course or a manual which could be used for guidance Jan ========= Jan, Here is a very early effort on my part to implement embedded SQL. Don't think of this as a great example; just a "barely working" example! The SQL-type statements need to be in this order: DECLARE PREPARE OPEN FETCH ps - it's in RPG, not LE FDSPTTIFMCF E WORKSTN F RRN KSFILE SFL -snip- C* Declare the cursor (sorta like an F spec...) C/EXEC SQL C+ DECLARE DYNFIL SCROLL CURSOR FOR DYNSTM C/END-EXEC -snip- C* Interpret the SQL statement and check for errors C* note: WWHERE contains the entire SQL statement C* example: SELECT KWD,TT,INIT,TTDATE,TTDESC C* FROM TTIND K,TTHDR H C* WHERE (K.TT=H.TTNUM AND K.INIT=H.TTINIT) AND C* KWD='BILLING' C* ORDER BY KWD,TT DESC C* FOR READ ONLY C/EXEC SQL C+ PREPARE DYNSTM FROM :WWHERE C/END-EXEC C* -snip- C/EXEC SQL C+ OPEN DYNFIL USING :WWHERE C/END-EXEC C* Error OPENing SQL dynamic file C* C* If an error occurs, display the message from CPF and let C* the user decide what to do. C* C SQLCOD IFNE 0 C SETON 44 C MOVELPSDSMG MESSAG C GOTO SEATOP C ENDIF -snip- C* For the SQL access path, FETCH is the equivalent of READ C/EXEC SQL C+ FETCH NEXT FROM DYNFIL INTO :KWD,:TT,:INIT,:TTDATE,:TTDESC C/END-EXEC C* C* EOF C SQLSTT CABNE'00000' PAGEND C* C* Have a record, put it in the subfile C WRITESFL C ADD 1 RRN C SETON 40 C* Loop back if more records avail this page C ADD 1 PRRN C PRRN CABLE15 PAG001 C SETOF 42 C Z-ADDRRN SAVRRN -snip- I hope this helps! The manuals DB2 for OS/400 SQL Programming and SQL Reference should be a place to start looking... Buck Calabro Commsoft, Albany, NY * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * This is the RPG/400 Discussion Mailing List! To submit a new * * message, send your mail to "RPG400-L@midrange.com". To unsubscribe * * from this list send email to MAJORDOMO@midrange.com and specify * * 'unsubscribe RPG400-L' in the body of your message. Questions should * * be directed to the list owner / operator: david@midrange.com * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
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.