zOs/SQL/WI103DEL

//A754048W JOB (CP00,KE50),'DB2 REO',                                   00010000
//         MSGCLASS=T,TIME=1440,                                        00020000
//         NOTIFY=&SYSUID,REGION=0M                                     00030000
//*MAIN CLASS=LOG0                                                      00040000
//*
//S1       EXEC PGM=IKJEFT01,DYNAMNBR=200,TIME=99,                      00020001
//            PARM='WSH'
//SYSPROC   DD DSN=TSO.RZ2.P0.PROD.EXEC,DISP=SHR
//SYSPRINT  DD SYSOUT=*
//SYSUDUMP  DD SYSOUT=*
//SYSTSPRT  DD SYSOUT=*
//OUT       DD SYSOUT=*
//SYSTSIN   DD DUMMY
//WSH       DD *
$#@
call sqlConnect dbof

 sql =  ' SELECT 1'                                       ,
         'FROM'                                           ,
         '    OA1P.TWI103H1009 A'                         ,
       'WHERE'                                            ,
           "A.WI10332 < '20100519'"                       ,
           "AND A.WI103A0806 < '20120519'"
 res = sqlExec('prepare s51 from :sql')
 res = sqlExec('declare c51 cursor with hold for s1')
 res = sqlExec('open c51')
do cx=1  while sqlFetchInto(51, ":a")
    call sqlExec "delete from OA1P.TWI103H1009 where current of c51"
  /*say 'deleted' cx 'sqlCode' sqlCode 'sqlErrd.3' sqlErrD.3  */
    if sqlCode <> 0 | sqlErrD.3 <> 1 then do
        say  err 'sqlCode' sqlCode d3 'sqlErrD3'
        call sqlExec 'rollback'
        call err 'sqlCode' sqlCode d3 'sqlErrD3'
        end
    if cx // 500 = 0 then do
        call sqlCommit
        say 'commit' cx time()
        end
    end
        call sqlCommit
        say 'commit' cx time()  'ende gut'
$#end