sakrat
Active User
Joined: 05 Feb 2014 Posts: 164 Location: India
|
|
|
|
Hi,
I am trying to connect REXX with DB2 with the user's input in the front panel. I get (-1) return code for all the SQL statements. Please help me in correcting the error. As this is my first REXX code with DB2 i couldnt try solving this issue.
Code: |
TRACE(I)
ADDRESS ISPEXEC
"ISPEXEC LIBDEF ISPPLIB DATASET ID('******') STACK"
"ISPEXEC DISPLAY PANEL(PANEL1)"
ADDRESS TSO
SRCSYS='***'
SRCSCHEMA = '******'
IF STRIP(SRCSYS) <> '' THEN
SSID = SRCSYS
"DYNASTEP ADD DA('"SSID"GRP.ALIAS.SDSNLOAD') BOTTOM NOMSG"
"DYNASTEP ADD DA('"SSID"GRP.ALIAS.SDSNEXIT') BOTTOM NOMSG"
"DYNASTEP ADD DA('"SSID"GRP.ALIAS.RUNLIB.LOAD') BOTTOM NOMSG"
ADDRESS TSO "SUBCOM DSNREXX"
IF RC THEN
S_RC=RXSUBCOM('ADD','DSNREXX','DSNREXX')
ADDRESS DSNREXX "CONNECT" SRCSYS
IF SQLCODE <> 0 THEN SAY "CON" SQLCODE CALL SQLCA
QUERY='SELECT * FROM '''SRCSCHEMA'''.'''SRCTABLE''' '
ADDRESS DSNREXX "EXECSQL PREPARE S1 FROM :QUERY"
IF SQLCODE <> 0 THEN SAY "DEC" SQLCODE CALL SQLCA
ADDRESS DSNREXX "EXECSQL DECLARE C1 CURSOR FOR S1"
IF SQLCODE <> 0 THEN SAY "PRE" SQLCODE CALL SQLCA
ADDRESS DSNREXX "EXECSQL OPEN C1"
IF SQLCODE <> 0 THEN SAY "OPN" SQLCODE CALL SQLCA
SQLCA:
SAY "SQLCODE: ==>" SQLCODE
ADDRESS DSNREXX DISCONNECT
S_RC = RXSUBCOM( 'ADD','DSNREXX','DSNREXX')
EXIT
|
Below is my TRACE output :
Code: |
*-* ADDRESS TSO "SUBCOM DSNREXX"
>L> "SUBCOM DSNREXX"
*-* IF RC
>V> "0"
*-* ADDRESS DSNREXX "CONNECT" SRCSYS
>L> "CONNECT"
>V> "***"
>O> "CONNECT ***"
*-* IF SQLCODE <> 0
>V> "0"
>L> "0"
>O> "0"
*-* QUERY='SELECT * FROM '''SRCSCHEMA'''.'''SRCTABLE''' '
>L> "SELECT * FROM '"
>V> "*****"
>O> "SELECT * FROM *****"
>L> "'.'"
>O> "SELECT * FROM 'RERET05'.'"
>V> "NZDEBTP"
>O> "SELECT * FROM ****.*****"
>L> "' "
>O> "SELECT * FROM *****.*****"
*-* ADDRESS DSNREXX "EXECSQL PREPARE S1 FROM :QUERY"
>L> "EXECSQL PREPARE S1 FROM :QUERY"
+++ RC(-1) +++
*-* IF SQLCODE <> 0
>V> "-104"
>L> "0"
>O> "1"
*-* THEN
*-* SAY "DEC" SQLCODE CALL SQLCA
>L> "DEC"
>V> "-104"
>O> "DEC -104"
>L> "CALL"
>O> "DEC -104 CALL"
>L> "SQLCA"
>O> "DEC -104 CALL SQLCA"
-104 CALL SQLCA
24 *-* ADDRESS DSNREXX "EXECSQL DECLARE C1 CURSOR FOR S1"
>L> "EXECSQL DECLARE C1 CURSOR FOR S1"
25 *-* IF SQLCODE <> 0
>V> "0"
>L> "0"
>O> "0"
27 *-* ADDRESS DSNREXX "EXECSQL OPEN C1"
>L> "EXECSQL OPEN C1"
+++ RC(-1) +++
28 *-* IF SQLCODE <> 0
>V> "-514"
>L> "0"
>O> "1"
*-* THEN
*-* SAY "OPN" SQLCODE CALL SQLCA
>L> "OPN"
>V> "-514"
>O> "OPN -514"
>L> "CALL"
>O> "OPN -514 CALL"
>L> "SQLCA"
>O> "OPN -514 CALL SQLCA"
PN -514 CALL SQLCA
|
|
|