|
First I agree with the suggestion to not use the temporary table.
Second, the SET OPTION statement can be about anywhere. I think of it as
SQL's version of the H spec. It's interpreted by the precompiler and not
at execution time. There can only be one SET OPTION in the program. I
typically have:
C/EXEC SQL
C+ Set Option
C+ Naming = *Sys,
C+ Commit = *None,
C+ UsrPrf = *User,
C+ DynUsrPrf = *User,
C+ Datfmt = *iso,
C+ CloSqlCsr = *EndMod
C/END-EXEC
Rob Berendt
--
Group Dekko Services, LLC
Dept 01.073
PO Box 2000
Dock 108
6928N 400E
Kendallville, IN 46755
http://www.dekko.com
fkany@xxxxxxxxxxxxxxxxxx
Sent by: rpg400-l-bounces@xxxxxxxxxxxx
04/05/2005 03:47 PM
Please respond to
RPG programming on the AS400 / iSeries <rpg400-l@xxxxxxxxxxxx>
To
CN=RPG programming on the AS400/O=iSeries <rpg400-l@xxxxxxxxxxxx>
cc
Subject
RE: SQLRPGLE won't compile...
Program now compiles. I set the break point in debug after the "INSERT"
section, queried QTEMP/SQLTABLE and there was no data. Can anyone see
why?
Thanks,
Frank
*
* GET_TERM_BILLS - Get Freight Bills by Terminal
**********************************************************************
P GET_TERM_BILLS B
?*
?* Get Numeric Version of Origin Terminal
C IF #OT1 <> '*ALL'
C EVAL NUM#OT1 = *ZEROS
C #OT1 CHAIN AAL03002
C IF %FOUND(AAL03002)
C EVAL NUM#OT1 = CT1TID
C ENDIF
C ENDIF
?*
?* Get Numeric Version of Destination Terminal
C IF #DT1 <> '*ALL'
C EVAL NUM#ODT = *ZEROS
C #DT1 CHAIN AAL03002
C IF %FOUND(AAL03002)
C EVAL NUM#ODT = CT1TID
C ENDIF
C ENDIF
?*
?* Create SQL table in QTEMP
C/EXEC SQL
C+ CREATE TABLE QTEMP/SQLTABLE (XFHDDAT DECIMAL (8 ), XFHOT DECIMAL
C+ (3 ), XFHPRO DECIMAL (7 ), XFHDT DECIMAL (3 ), XFHPUDT DECIMAL (8
C+ ), XFHDADT DECIMAL (8 ), XFHSCD CHARACTER (7 ), XFHCCD CHARACTER
C+ (7 ), XFHCCT CHARACTER (20 ), XFHCST CHARACTER (2 ), XFHCZIP
C+ CHARACTER (6 ), XFHDTIM DECIMAL (6 ))
C/END-EXEC
?*
?* Insert records into SQL table
C/EXEC SQL
C+ INSERT INTO QTEMP/SQLTABLE (XFHDDAT, XFHOT, XFHPRO, XFHDT,
C+ XFHPUDT, XFHSCD, XFHCCD, XFHCCT, XFHCST, XFHCZIP, XFHDTIM) SELECT
C+ FHDDAT, FHOT, FHPRO, FHDT, FHPUDT, FHDADT, FHSCD,FHCCD, FHCCT,
C+ FHCST, FHCZIP, FHDTIM FROM FRL00144 WHERE FHDDAT >= FDATE AND
C+ FHDDAT <= TDATE ORDER BY FHOT, FHDT
C/END-EXEC
?*
?* Declare SQL Cursor
C/EXEC SQL
C+ DECLARE SQLTBLCSR CURSOR FOR SELECT * FROM QTEMP/SQLTABLE
C/END-EXEC
?*
?* Open SQL Cursor
C/EXEC SQL
C+ OPEN SQLTBLCSR
C/END-EXEC
'*
'* Process Entire SQL Table File
'* -----------------------------
C DOU SQLCOD <> 0
?*
?* Get SQLTABLE file record
C/EXEC SQL
C+ FETCH NEXT FROM SQLTBLCSR
C/END-EXEC
?*
?* EOF; Exit Loop
C IF SQLCOD <> 0
C LEAVE
C ENDIF
?*
?* Validate Freight Bills
C EVAL BADDATE = 'N'
C EVAL NEXTFLG = 'N'
C CALLP CHK_TERM_BILLS
?*
?* Invalid Date Range
C IF BADDATE = 'Y'
C LEAVE
C ENDIF
?*
?* Invalid Freight Bill; Get Next Record
C IF NEXTFLG = 'Y'
C ITER
C ENDIF
?*
?* Check Service Quality
C CALLP CHK_SVC_QLTY
?*
?* Populate Work File(FR47P457) fields
C CALLP POP_WORKF
?*
?* Write Record to Work File(FR47P457)
C WRITE FREC457
?*
C ENDDO
?* DOU SQLCOD <> 0
?*
?* Close SQL Cursor
C/EXEC SQL
C+ CLOSE SQLTBLCSR
C/END-EXEC
?*
P GET_TERM_BILLS E
--
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-2025 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.