Re: REXX Sample code für DB2 for OS/390


[ Antworten ] [ Forum ]

Geschrieben von Sepp Kraus on Oktober 16, 2001 um 12:17:

Als Antwort auf Re: REXX Sample code für DB2 for OS/390 geschrieben von Thomas Frena on Oktober 15, 2001 um 21:38:

: Hallo Jochen,

: vielleicht findest Du hier etwas:

: http://www2.hursley.ibm.com/rexx/
: http://www.touniteamerica.com/programming/freebies.html
: http://www.xephon.co.uk/archives/b003a03.txt
: http://www.xephon.co.uk/archives/b008a05.txt
: http://www9.s390.ibm.com/ftp/os390/racf/racfdb2/racfdb2.iebupdte.txt

:
: Gruß,
: Tom Frena
: thomas.frena@koch.ag
: KOCH International IT

: : Suche sample code REXX/DB2 for OS/390. Wer kann helfen. Literatur ist dazu leider sehr mager!

Hallo Jochen,
ich hab da gerade einige REXX-Beispiele:
1)
/* REXX */
'SUBCOM DSNREXX'
IF RC 0 THEN do
RC2 = RXSUBCOM('ADD','DSNREXX','DSNREXX')
if rc 0 then say 'RC2:'rc2
end

ADDRESS DSNREXX
'CONNECT DB2E'
if rc 0 then do
say "Error on Connect, RC="rc "SQLCODE="sqlcode "SQLERRMC="SQLERRMC
end
sqlstmt = "SELECT * FROM SYSIBM.SYSDUMMY1"
ADDRESS DSNREXX
"EXECSQL DECLARE C1 CURSOR FOR S1"
ADDRESS DSNREXX
"EXECSQL PREPARE S1 FROM :sqlstmt"
ADDRESS DSNREXX
"EXECSQL OPEN C1"
ADDRESS DSNREXX
"EXECSQL FETCH C1 INTO :ibm_reqd"
say "Sqlcode:" sqlcode " IBMREQD " ibm_reqd
"EXECSQL CLOSE C1 "
return
/* ----------------------------------------------------------------*/

2)
/* REXX */
'SUBCOM DSNREXX'
IF RC 0 THEN do
RC2 = RXSUBCOM('ADD','DSNREXX','DSNREXX')
if rc 0 then say 'RC2:'rc2
end

ADDRESS DSNREXX
'CONNECT DB2E'
if rc 0 then do
say "Error on Connect, RC="rc "SQLCODE="sqlcode "SQLERRMC="SQLERRMC
end
sqlstmt = "SELECT * FROM LBNL4.L702TTBP"
call do_sql
do i = 1 to rxsql_0
/* say "Creator:" creator.i "name :"name.i */
say "Tarif:" tarif_nr.i "nachf:"TARIF_NR_NACHF.i,
"Pflege:"TARIF_NR_PFLEGE.i
end
return
/* ----------------------------------------------------------------*/
do_sql:
trace off
rxsql_0 = 0
ADDRESS DSNREXX
"EXECSQL DECLARE C1 CURSOR FOR S1"
call sqlrc "DECLARE"
"EXECSQL PREPARE S1 INTO :SQLDA FROM :SQLSTMT"
call sqlrc "PREPARE"
"EXECSQL OPEN C1"
call sqlrc "OPEN"
Do Until(SQLCODE 0)
"EXECSQL FETCH C1 USING DESCRIPTOR :SQLDA"
If SQLCODE = 0 Then Do
rxsql_0 = rxsql_0 + 1
Do I = 1 To SQLDA.SQLD
thisname = SQLDA.I.SQLNAME!!"."rxsql_0
thisnull = SQLDA.I.SQLIND
if thisnull = -1,
then thisdata = '?'
else
thisdata = SQLDA.I.SQLDATA
rc = value(thisname,thisdata)
/*say thisname value(thisname)*/
End I
end
else if sqlcode 0 then,
say "Error on "stmt", RC="rc "SQLCODE="sqlcode "SQLERRMC="SQLERRMC
return

Vielleicht hilft's...

MfG
Sepp Kraus





Antworten:


Schreibe eine Antwort

Name:   
E-Mail:  

Thema:

Kommentar:

Optionale Link URL:   
Link Titel:                  
Optionale Image URL:


[ Antworten ] [ Forum ]