|
Shouldn't that have an occurs and not a DIM statement in the DS? You are retrieving rows...I think that would be a multiple occurence DS. IMHO, Russell Conerly Tupelo, MS > > The program below(only relevant code included), won't compile. I get this > one error: > "Position 49 Host structure array FHSQLREC not defined or not usable." > I've marked the section of code that is > giving the message with "ERROR". > > Can anyone see what the problem is? Also, please let me know if I'm not > using the embedded SQL correctly. > > TIA, > > Frank > ====================================================================================== > ?* SQL block FETCH array data structure > D FHSQLREC DS QUALIFIED > D FHSQLFLDS DIM(50) LIKE(DUMMY) > D FHOT LIKE(DUMMY.FHOT) INZ(*ZEROS) > D OVERLAY(FHSQLFLDS) > D FHPRO LIKE(DUMMY.FHPRO) INZ(*ZEROS) > D OVERLAY(FHSQLFLDS:*NEXT) > D FHDT LIKE(DUMMY.FHDT) INZ(*ZEROS) > D OVERLAY(FHSQLFLDS:*NEXT) > D FHDDAT LIKE(DUMMY.FHDDAT) INZ(*ZEROS) > D OVERLAY(FHSQLFLDS:*NEXT) > D FHPUDT LIKE(DUMMY.FHPUDT) INZ(*ZEROS) > D OVERLAY(FHSQLFLDS:*NEXT) > D FHDADT LIKE(DUMMY.FHDADT) INZ(*ZEROS) > D OVERLAY(FHSQLFLDS:*NEXT) > D FHSCD LIKE(DUMMY.FHSCD) INZ(*ZEROS) > D OVERLAY(FHSQLFLDS:*NEXT) > D FHCCD LIKE(DUMMY.FHCCD) INZ(*ZEROS) > D OVERLAY(FHSQLFLDS:*NEXT) > D FHCCT LIKE(DUMMY.FHCCT) INZ(*BLANKS) > D OVERLAY(FHSQLFLDS:*NEXT) > D FHCST LIKE(DUMMY.FHCST) INZ(*BLANKS) > D OVERLAY(FHSQLFLDS:*NEXT) > D FHCZIP LIKE(DUMMY.FHCZIP) INZ(*ZEROS) > D OVERLAY(FHSQLFLDS:*NEXT) > D FHDTIM LIKE(DUMMY.FHDTIM) INZ(*ZEROS) > D OVERLAY(FHSQLFLDS:*NEXT) > '* > D FHOT LIKE(AFHOT) > D FHPRO LIKE(AFHPRO) > D FHDT LIKE(AFHDT) > D FHDDAT LIKE(AFHDDAT) > D FHPUDT LIKE(AFHPUDT) > D FHDADT LIKE(AFHDADT) > D FHSCD LIKE(AFHSCD) > D FHCCD LIKE(AFHCCD) > D FHCCT LIKE(AFHCCT) > D FHCST LIKE(AFHCST) > D FHCZIP LIKE(AFHCZIP) > D FHDTIM LIKE(AFHDTIM) > ============================================================================ > * > * 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 > ?* > ?* Set Freight Cursor > C/EXEC SQL > C+ DECLARE FREIGHT CURSOR FOR SELECT DISTINCT FHOT, FHPRO FROM > C+ FRL00144 WHERE FHDDAT >= :FDATE AND FHDDAT <= :TDATE ORDER BY > C+ FHOT, FHPRO > C/END-EXEC > '* > C/END-EXEC > '* > C/END-EXEC > '* > '* Process SQL Rows > '* ---------------- > C EVAL EOFFLG = 'N' > C DOU EOFFLG = 'Y' > ?* > ?* Fetch 50 Records > ERRORC/EXEC SQL FETCH FREIGHT FOR 50 ROWS INTO :FHSQLREC > C/END-EXEC > ?* > ?* Process 50 Records > C 1 DO 50 X > ?* > ?* 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 > ?* 1 DO 50 X > ?* > C ENDDO > ?* DOU %EOF(AAP030) > ?* > ?* The dreaded TAG > C TAG1 TAG > ?* > 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.