zOs/REXX/DBADO

call sqlConnect DBOF
$=pds=DSN.DBA.ZUEGEL.NOV.RUN
$=chgs=DSN.DBA.ZUEGEL.NOV.JCL(ALL)
$=run   =  DSN.DBA.ZUEGEL.NOV.RUN
m.run.1 = 'DSN.DBA.ZUEGEL.NOV.RUNDIPRO'
m.run.2 = 'DSN.DBA.DBOF.RUN.JCL'
m.run.0 = 2
$;
$<$chgs
    $@for li $@[
        parse value $li with aCh aTi aPl .
        call sqlPreAllCl 1, 'select changeid, name, status' ,
                                'from s100447.adbChg',
                                'where name like '''aCh'.%''',
                       , c, ':m.st.sx.ch, :m.st.sx.na, :m.st.sx.st'
        fx = -1
        do cx=1 to m.c.0
            if wordPos(m.c.cx.st, 'COMPLETE CANCEL') > 0 then
                iterate
            if fx > 0 then
                call err 'multiple' aCh':' ,
                          || cx m.c.cx.ch m.c.cx.na m.c.cx.st
            fx = cx
            end
        if fx < 1 then do
            $$- 'ch' aCh 'not found' aPl
            iterate
            end
        else if m.c.fx.st \== 'ANALYZED' then do
            $$- 'ch' aCh':'cx m.c.fx.ch m.c.fx.na m.c.fx.st
            iterate
            end
        mbr = 'E'right(0 + m.c.fx.ch, 7, 0)
        ex = ''
        do rx=1 to m.run.0
            if sysDsn("'"m.run.rx"("mbr")'") = OK then
                ex = ex rx
            end
        if words(ex) = 1 then
            msg = 'once'
        else if words(ex) < 1 then
            msg = 'miss'
        else
            msg = 'dupp'
        $$- 'ch' aCh msg ex':'fx m.c.fx.ch m.c.fx.na m.c.fx.st
        if 1 then do
            job = 'Y'left(aCh, 7)
            ey = word(ex, 1)
            call readDsn m.run.ey'('mbr')', j.
            jx = pos(' JOB ', j.1)
            if jx < 1 | jx > 16 then
                call err 'no jobCard in' aCh':' j.1
            j.1 = '//'job strip(substr(j.1, jx))
            call writeDsn $run'('aCh')', j., , 1
            end
        $]
$#end
$#out                                              20091110 17:17:31
ch SV30003C once  2:1 2441. SV30003C.0.004.IMP ANALYZED
ch SV30004C once  2:1 2501. SV30004C.0-1.008.IMP ANALYZED
ch SV30005C once  1:1 2522. SV30005C.0.004.IMP ANALYZED
ch SV30002W once  1:1 2292. SV30002W.0.003.IMP ANALYZED
ch AV15010C once  2:1 2541. AV15010C.0-6.008.IMP ANALYZED
ch AVIN017C once  1:1 2248. AVIN017C.0.003.IMP ANALYZED
ch DP08004C once  1:1 2316. DP08004C.0-2.009.IMP ANALYZED
ch EX01001C once  1:1 2269. EX01001C.0.003.IMP ANALYZED
ch PC11005C once  1:1 2273. PC11005C.1.003.IMP ANALYZED
ch RB01016C once  1:1 2249. RB01016C.0-1.004.IMP ANALYZED
ch RV01007C once  1:1 2286. RV01007C.0-1.005.IMP ANALYZED
ch SV04001C once  1:1 2275. SV04001C.0.003.IMP ANALYZED
ch SV70005C once  2:1 2462. SV70005C.0-2.011.IMP ANALYZED
ch TN01050C once  1:1 2288. TN01050C.0.003.IMP ANALYZED
ch VDPS441C once  1:1 2582. VDPS441C.0-A.040.IMP ANALYZED
ch VDPS442C once  1:1 2289. VDPS442C.0.004.IMP ANALYZED
ch VDPS443C once  1:1 2318. VDPS443C.0.003.IMP ANALYZED
ch VDPS444C once  1:1 2343. VDPS444C.0-1.007.IMP ANALYZED
ch WI03014C once  1:1 2341. WI03014C.0-1.006.IMP ANALYZED
ch WQ01035C once  2:1 2561. WQ01035C.0.004.IMP ANALYZED
ch YMF01A1C not found JCL
ch NZ01014C once  1:1 2272. NZ01014C.0.003.IMP ANALYZED
ch DG01031C not found ALT
ch ED02001C once  1:1 2268. ED02001C.0.003.IMP ANALYZED
ch ID01010C once  1:1 2270. ID01010C.1-2.009.IMP ANALYZED
ch LC02003C once  1:1 2271. LC02003C.0.003.IMP ANALYZED
ch TN01051C once  1:1 2362. TN01051C.0-1.007.IMP ANALYZED
ch TP01007C once  1:1 2276. TP01007C.0.003.IMP ANALYZED
ch TR03003C once  1:1 2321. TR03003C.0.003.IMP ANALYZED
ch WB01007C not found JCL
ch WB11013C once  1:1 2278. WB11013C.0.003.IMP ANALYZED
ch WB12021C once  1:1 2279. WB12021C.0-1.006.IMP ANALYZED
ch WB12022C once  1:1 2280. WB12022C.0-1.006.IMP ANALYZED
ch WI01002C once  2:1 2581. WI01002C.0.003.IMP ANALYZED
ch WL07002C once  1:1 2342. WL07002C.0-2.009.IMP ANALYZED
ch SN01045C once  1:1 2250. SN01045C.4.006.IMP ANALYZED
ch SN01046C once  1:1 2251. SN01046C.4.006.IMP ANALYZED
ch SN01048C once  1:1 2287. SN01048C.4.006.IMP ANALYZED
ch SN01049C dupp  1 2:1 2361. SN01049C.7.026.IMP ANALYZED
ch WQ01033C once  1:1 2290. WQ01033C.0.003.IMP ANALYZED