ssd Beginner
Joined: 24 Mar 2006 Posts: 25 Topics: 10
|
Posted: Thu Jul 26, 2007 9:48 am Post subject: Help with rexx Stored procedure |
|
|
I am trying to call a rexx stored procedure using a rexx exec but it is failing with -471 sqlcode. Can anybody help me resolve this
Rexx exec: Code: |
address tso "STEPLIB DA('TDB2.SDSNEXIT','TDB2.SDSNLOAD') SHR"
address sql
address tso "SUBCOM DSNREXX"
if rc then
do
s_rc = RXSUBCOM('ADD','DSNREXX','DSNREXX')
end
ADDRESS DSNREXX 'CONNECT' TdB2
PARM1 = ' '
PARM2 = ' '
ADDRESS DSNREXX "EXECSQL ",
"CALL TGRPWORK.MIGSP001 ( ",
" :PARM1, :PARM2 ) "
SAY SQLCODE
EXIT(0)
Rexx Stored procedure:
arg input
address tso "STEPLIB DA('TDB2.SDSNEXIT','TDB2.SDSNLOAD') SHR"
address sql
address tso "SUBCOM DSNREXX"
if rc then
do
s_rc = RXSUBCOM('ADD','DSNREXX','DSNREXX')
end
ADDRESS DSNREXX 'CONNECT' TdB2
creator_name='TDB2PIIX'
table_name='MMST_MSG_FRMT_STRC'
table_name='MSWT_MSG_SSCR'
s1 = " SELECT COLNAME,COLNO"
s2 = " FROM SYSIBM.SYSINDEXES I,SYSIBM.SYSKEYS K"
s3 = " WHERE TBNAME = '"table_name"'"
s4 = " AND I.TBCREATOR = '"creator_name"'"
s5 = " AND K.IXCREATOR = '"creator_name"'"
s6 = " AND I.UNIQUERULE = 'P'"
s7 = " AND K.IXNAME = I.NAME"
SQLSTMT = s1||s2||s3||s4||s5||s6||s7
address dsnrexx "EXECSQL DECLARE C1 CURSOR FOR S1"
address dsnrexx "EXECSQL PREPARE S1 FROM :SQLSTMT"
address dsnrexx "EXECSQL OPEN C1"
Exit(0) |
|
|