zOs/TX/MFNVTUNZ

$>.jclSub()
$@=[
     36  '21.03.2009'
     47  '24.04.2009'
     53  '12.05.2009'
     60  '03.06.2009'
     68  '27.06.2009'
     74  '15.07.2009'
     80  '03.08.2009'
     88  '27.08.2009'
     94  '15.09.2009'
    100  '03.10.2009'
    108  '27.10.2009'
    114  '15.11.2009'
    120  '03.12.2009'
    127  '24.12.2009'
    132  '09.01.2010'
    139  '31.01.2010'
    146  '21.02.2010'
    152  '09.03.2010'
    159  '31.03.2010'
    165  '18.04.2010'
    999  '31.12.9999'
$]
$| $@[
$=pr='01.01.0001'
$=n = 01
$@for li $@[
    parse value $li with pa lim .
    $=lim=-lim
 $**say $n pa '>' $pr and '<=' $lim
    $@=[
//YMFUNL$n JOB (CP00,KE50),
//       'CATALOG',MSGCLASS=T,TIME=1440,
//         NOTIFY=&SYSUID,REGION=0M
//*MAIN CLASS=DBZF
//P01     EXEC PGM=IKJEFT01,
//             DYNAMNBR=200,
//             TIME=99
//SYSTSIN   DD *
   DSN SYSTEM(DBZF)
   RUN PROGRAM(DSNTIAUL) PARMS('SQL')
   END
//SYSTSPRT  DD SYSOUT=*
//SYSPRINT  DD SYSOUT=*
//SYSUDUMP  DD SYSOUT=*
//SYSTERM   DD DUMMY
//*YSPUNCH  DD SYSOUT=*
//*YSREC00  DD SYSOUT=*,LRECL=700
//SYSREC00 DD  DISP=(NEW,CATLG),DSN=DSN.MFNV.MF150P$n.UNL,
//             DCB=(LRECL=661,RECFM=FB,BLKSIZE=31728),
//             SPACE=(CYL,(2,1000)),
//             MGMTCLAS=COM#A064,DATACLAS=EYY0X
//SYSPUNCH DD  DISP=(NEW,CATLG),DSN=DSN.MFNV.MF150P$n.PUN,
//             DCB=(LRECL=80,RECFM=FB,BLKSIZE=4000),
//             SPACE=(TRK,(1,1)),
//             MGMTCLAS=COM#A064
//SYSIN     DD *
select t.*,
  smallint(mod(
      month(MF150013) * 100000
      + int(translate(
          translate('08642' , hex(substr(MF150023, 8, 5)), '1234567890')
          , '024579', 'ABCDEF'))
      , 11047)) mf150hash
    from oa1z.$"$"TMF150A1 t
    where MF150013 > $pr and MF150013 <= $lim
    with ur
;
    $]
    $=pr = $lim
    $=n =- right($n+1, 2, 0)
    $]
$]
$#out                                              20100422 11:02:05
$#out                                              20100422 10:56:20
//YMFUNL01 JOB (CP00,KE50),
//       'CATALOG',MSGCLASS=T,TIME=1440,
//         NOTIFY=&SYSUID,REGION=0M
//*MAIN CLASS=DBZF
//P01     EXEC PGM=IKJEFT01,
//             DYNAMNBR=200,
//             TIME=99
//SYSTSIN   DD *
   DSN SYSTEM(DBZF)
   RUN PROGRAM(DSNTIAUL) PARMS('SQL')
   END
//SYSTSPRT  DD SYSOUT=*
//SYSPRINT  DD SYSOUT=*
//SYSUDUMP  DD SYSOUT=*
//SYSTERM   DD DUMMY
//*YSPUNCH  DD SYSOUT=*
//*YSREC00  DD SYSOUT=*,LRECL=700
//SYSREC00 DD  DISP=(NEW,CATLG),DSN=DSN.MFNV.MF150P01.UNL,
//             DCB=(LRECL=661,RECFM=FB,BLKSIZE=31728),
//             SPACE=(CYL,(2,1000)),
//             MGMTCLAS=COM#A064,DATACLAS=EYY0X
//SYSPUNCH DD  DISP=(NEW,CATLG),DSN=DSN.MFNV.MF150P01.PUN,
//             DCB=(LRECL=80,RECFM=FB,BLKSIZE=4000),
//             SPACE=(TRK,(1,1)),
//             MGMTCLAS=COM#A064
//SYSIN     DD *
select t.*,
  smallint(mod(
      month(MF150013) * 100000
      + int(translate(
          translate('08642' , hex(substr(MF150023, 8, 5)), '1234567890')
          , '024579', 'ABCDEF'))
      , 11047)) mf150hash
    from oa1z.$TMF150A1 t
    where MF150013 > '01.01.0001' and MF150013 <= '21.03.2009'
    with ur
;
//YMFUNL02 JOB (CP00,KE50),
//       'CATALOG',MSGCLASS=T,TIME=1440,
//         NOTIFY=&SYSUID,REGION=0M
//*MAIN CLASS=DBZF
//P01     EXEC PGM=IKJEFT01,
//             DYNAMNBR=200,
//             TIME=99
//SYSTSIN   DD *
   DSN SYSTEM(DBZF)
   RUN PROGRAM(DSNTIAUL) PARMS('SQL')
   END
//SYSTSPRT  DD SYSOUT=*
//SYSPRINT  DD SYSOUT=*
//SYSUDUMP  DD SYSOUT=*
//SYSTERM   DD DUMMY
//*YSPUNCH  DD SYSOUT=*
//*YSREC00  DD SYSOUT=*,LRECL=700
//SYSREC00 DD  DISP=(NEW,CATLG),DSN=DSN.MFNV.MF150P02.UNL,
//             DCB=(LRECL=661,RECFM=FB,BLKSIZE=31728),
//             SPACE=(CYL,(2,1000)),
//             MGMTCLAS=COM#A064,DATACLAS=EYY0X
//SYSPUNCH DD  DISP=(NEW,CATLG),DSN=DSN.MFNV.MF150P02.PUN,
//             DCB=(LRECL=80,RECFM=FB,BLKSIZE=4000),
//             SPACE=(TRK,(1,1)),
//             MGMTCLAS=COM#A064
//SYSIN     DD *
select t.*,
  smallint(mod(
      month(MF150013) * 100000
      + int(translate(
          translate('08642' , hex(substr(MF150023, 8, 5)), '1234567890')
          , '024579', 'ABCDEF'))
      , 11047)) mf150hash
    from oa1z.$TMF150A1 t
    where MF150013 > '21.03.2009' and MF150013 <= '24.04.2009'
    with ur
;