× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



My example is similar but it works (OPM though)

In the input specs :

0031.00      I                                    B  52  530NMIND

In the calcs:

0035.00      C                     MOVE *ZERO     NMIND

Then the SQL statement:

0037.00      C/EXEC SQL DECLARE C1 CURSOR FOR
0038.00      C+ SELECT EMLNAM,EMFNAM,EMMNAM,PCCK#,PCRUN#,EMLOC,LCNAME,PRCKDT
0039.00      C+     FROM PPAI612S INNER JOIN PPAY600H ON PCRUN# = PRRUN#
0040.00      C+     INNER JOIN PEIS301 ON PCSSN = EMSSAN
0041.00      C+     LEFT OUTER JOIN PEIS127 ON EMLOC = LCCODE
0041.01      C+     WHERE PCTYP = '1'
0042.00      C+     ORDER BY EMLOC,EMLNAM,EMFNAM,EMMNAM
0043.00      C/END-EXEC

then the fetch:

0054.00      C/EXEC SQL
0055.00      C+ FETCH C1 INTO
:LAST,:FIRST,:MIDDLE,:CHECK,:RUN,:LOC,:LCNAM:NMIND
0056.00      C+               :CKDAT
0057.00      C/END-EXEC


Took me a while to get it right, like Rob said: It IS a tad finicky about
such things

Pete Helgren
Timpanogos Technologies


> -----Original Message-----
> From: midrange-l-bounces@xxxxxxxxxxxx
> [mailto:midrange-l-bounces@xxxxxxxxxxxx]On Behalf Of rob@xxxxxxxxx
> Sent: Tuesday, January 20, 2004 11:18 AM
> To: Midrange Systems Technical Discussion
> Subject: RE: Embedded Sql problem
>
>
> 1)  SQL can be a little b!tchy about qualified data structures.  The SQL
> precompiler team is coming to life and this may change in the future.
> 2)  there is NO comma between the variable and the indicator variable for
> example
> FETCH Next From CtlCurs INTO :SMSO#,:SMSCD,:SMCRW,:UPRTE,
> :UPSAD,:SCEST, :NullIND
> becomes
> FETCH Next From CtlCurs INTO :SMSO#,:SMSCD,:SMCRW,:UPRTE,
> :UPSAD,:SCEST :NullIND
>
> Rob Berendt
> --
> Group Dekko Services, LLC
> Dept 01.073
> PO Box 2000
> Dock 108
> 6928N 400E
> Kendallville, IN 46755
> http://www.dekko.com
>
>
>
>
>
> "Smith, Mike" <Mike_Smith@xxxxxxxxxxxxxxxx>
> Sent by: midrange-l-bounces+rob=dekko.com@xxxxxxxxxxxx
> 01/20/2004 12:33 PM
> Please respond to
> Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxx>
>
>
> To
> "Midrange Systems Technical Discussion" <midrange-l@xxxxxxxxxxxx>
> cc
>
> Fax to
>
> Subject
> RE: Embedded Sql problem
>
>
>
>
>
>
> Rob,
> I tried that.  However, I'm now getting the unusual message SQL0303 that
> is telling me the
>  Host variable PRMDS.UPSAD not compatible.
>  SQLCOD = -000000303.
>
> My fetch statement now looks like
> FETCH Next From CtlCurs INTO :SMSO#,:SMSCD,:SMCRW,:UPRTE,
> :UPSAD,:SCEST, :NullIND
>
> I've switched locations in the list for the NullInd, because I wasn't
> sure exactly where it needs to go.  No difference.
> I've tried making using host variable names.  No difference.
>
> I've written hundreds of programs like these(however not usually with a
> specific Outer join.) and never had a problem like this.
>
> I have a feeling it has to do with the fact, that the record that isn't
> showing up doesn't have a record with the UPRM file so that UPSAD and
> UPRTE are blank.  However, I kind of thought that was what the indicator
> variable was handling.
> -----Original Message-----
> From: rob@xxxxxxxxx [mailto:rob@xxxxxxxxx]
> Sent: Tuesday, January 20, 2004 11:26 AM
> To: Midrange Systems Technical Discussion
> Subject: RE: Embedded Sql problem
>
>
> Mike, in your earlier desired result you listed two columns.  Is that
> all
> you really want?  If so, then drop the SELECT * and instead just select
> the two desired columns.
> then it would be, (assuming that only the first column supports null
> values):
> C/EXEC SQL
> C+ Fetch NEXT FROM CTLCURS Into :ColA :indA ,:ColB
> 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
>
>
>
>
>
> "Smith, Mike" <Mike_Smith@xxxxxxxxxxxxxxxx>
> Sent by: midrange-l-bounces@xxxxxxxxxxxx
> 01/20/2004 11:07 AM
> Please respond to
> Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxx>
>
>
> To
> "Midrange Systems Technical Discussion" <midrange-l@xxxxxxxxxxxx> cc
>
> Fax to
>
> Subject
> RE: Embedded Sql problem
>
>
>
>
>
>
> Well, I've found that I'm getting an -SQL0305 error which indicates that
> I need a Indicator Variable.
>
> Some snippets of the code
>
>  * DATA STRUCTURES
> D SODS          E DS                  EXTNAME(SCMS) INZ
> D PrmDS         E DS                  EXTNAME(UPRM) INZ
> D CodDS         E DS                  EXTNAME(SOCD) INZ
>
> C                   Eval      SelectOne = %TRIM(SQLARY(1)) + ' ' +
> C                                         %TRIM(SQLARY(2)) + ' ' +
> C                                         %TRIM(SQLARY(3)) + ' ' +
> C                                         %TRIM(SQLARY(4)) + ' ' +
> C                                         %TRIM(SQLARY(5)) + ' ' +
> C                                         %TRIM(SQLARY(6)) + ' ' +
> C                                         %TRIM(SQLARY(7)) + ' ' +
> C                                         %TRIM(SQLARY(8)) + ' ' +
> C                                         %TRIM(SQLARY(9)) + ' ' +
> C                                         Where + ' ' +
> C                                         'Order By ' + %trim(OrderBy)
>
> C/EXEC SQL
> C+  PREPARE SEL FROM :SelectOne
> C/END-EXEC
> C/EXEC SQL
> C+  Declare CTLCURS SCROLL Cursor  For SEL
> C/END-EXEC
>
>  *OPEN THE CURSOR
> C/EXEC SQL
> C+  Open CTLCURS using :sodat
> C/END-EXEC
>
>
> I fetch using the following
> C/EXEC SQL
> C+ Fetch NEXT FROM CTLCURS Into :SoDS ,:prmDS, :CodDS
> C/END-EXEC
>
>
>
> I can't figure out how to incorporate a indicator variable the way I
> have it set up
>
>
>
>
>
>
> _______________________________________________
> This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
> list
> To post a message email: MIDRANGE-L@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/midrange-l
> or email: MIDRANGE-L-request@xxxxxxxxxxxx
> 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@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/midrange-l
> or email: MIDRANGE-L-request@xxxxxxxxxxxx
> 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@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/midrange-l
> or email: MIDRANGE-L-request@xxxxxxxxxxxx
> 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@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/midrange-l
> or email: MIDRANGE-L-request@xxxxxxxxxxxx
> 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 thread ...

Replies:

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

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.