×

Good News Everybody!

The new search engine is LIVE!

Please report any problems to david (at) midrange.com.




My SQLRPGLE program compiles, but there is not data in the multiple
occurence data structure after the RTV_CSR_IN routine.  Is there a problem
with my SQL code?

Thanks,

Frank

     '*     D  SQLMAXREC      C                   CONST(50)
     '*     D SQLDATA         DS                  OCCURS(SQLMAXREC)
     D  XFHOT                              LIKE( FHOT   )
     D  XFHPRO                             LIKE( FHPRO  )
     D  XFHDDAT                            LIKE( FHDDAT )
     D  XFHDTIM                            LIKE( FHDTIM )
     D  XFHDT                              LIKE( FHDT   )
     D  XFHDADT                            LIKE( FHDADT )
     D  XFHPUDT                            LIKE( FHPUDT )
     D  XFHSCD                             LIKE( FHSCD  )
     D  XFHCCD                             LIKE( FHCCD  )
     D  XFHCCT                             LIKE( FHCCT  )
     D  XFHCZIP                            LIKE( FHCZIP )
     '*     D DBSQLDATA       DS                  OCCURS(SQLMAXREC)
     D   SQLDATAROW                        LIKE(SQLDATA)
     *     
**********************************************************************
     *     * *INZSR - Initialization Subroutine
     *     
**********************************************************************
     C     *INZSR        BEGSR
     ?*
SQL  C/EXEC SQL
SQL  C+ SET OPTION COMMIT = *NONE
SQL  C/END-EXEC
     ?*
     C                   ENDSR
     *     
**********************************************************************
     * 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
     ?*
     ?* SQL Input Cursor Declaration
SQL  C/EXEC SQL
 |   C+ DECLARE SQLDATAINPUT CURSOR FOR
 |   C+   SELECT         FHOT, FHPRO, FHDDAT, FHDTIM, FHDT,
 |   C+                  FHDADT, FHPUDT, FHSCD, FHCCD, FHCCT, FHCZIP
 |   C+     FROM         FRL00144
 |   C+     WHERE        FHDDAT >= :FDATE AND FHDDAT <= :TDATE
 |   C+     FOR          READ ONLY
 |   C/END-EXEC
 |   '*SQL  C                   EVAL      EXIT = FALSE
     '*     '* -----------------------------
     '* Process Entire XXXXXXXXXXXXXX
     '* -----------------------------
     C                   DOU       EXIT <> FALSE
SQL  C/EXEC SQL
 |   C+                  OPEN      SQLDATAINPUT
 |   C/END-EXEC
 |   C                   EVAL      ROWIDX = 1
 |   C                   CALLP     RTV_CSR_IN
 |   ?*
 |   C     ROWIDX        OCCUR     SQLDATA
 |   C                   MOVE      SQLDATA       DBSQLDATA
 |   ?*
SQL  C                   EVAL      ROWIDX = ROWIDX + 1
     ?*
     ?* 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 EXIT <> FALSE
     ?*
SQL  C/EXEC SQL
 |   C+                  CLOSE     SQLDATAINPUT
SQL  C/END-EXEC
     ?*
     P GET_TERM_BILLS  E
     *     *****************************************************************
     * RTV_CSR_IN - Retrieve Cursor In
     *****************************************************************
SQL  P RTV_CSR_IN      B
 |   '* |   C/EXEC SQL
 |   C+ FETCH NEXT
 |   C+  FROM SQLDATAINPUT
 |   C+  FOR  50 ROWS
 |   C+  INTO :DBSQLDATA
 |   C/END-EXEC
 |   ?*
SQL  P RTV_CSR_IN      E
     **********************************************************************




As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2026 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.