|
#!/usr/local/bin/perl
#######################################################################
# pgmsel.pl : Active Perl
# Copyright(C)2002 Sannomiya , All Rights Reserved.
#######################################################################
#
# ÍúÎò
# 2002.03.01 ¿·µ¬ºîÀ® Ver 1.00
#
#######################################################################
# ÀßÄê
#######################################################################
$PGMINDEX = "csv/PGM_INDEX.csv";
$rscexp = "cb";
$libid = "BATCH";
#######################################################################
$seq1 = 0;
$no1 = 0;
#######################################################################
# 1.³«»Ï½èÍý #
if (!open(IN1,"< rcv/rscin.out")) { # ÆþÎÏ¥Õ¥¡¥¤¥ë
print '(E001):Open Error = rcv/rscin.out'."\n"; # ¥ª¡¼¥×¥ó
exit; # ¥ª¡¼¥×¥ó¤Ç¤¤Ê¤¤
}
open(OTA1,"| sort > $PGMINDEX"); # > ½ÐÎÏ SORT
# :mbr>libfile
print OTA1 ', JCL,LIB,,STEP,NAME,,,CREATE,UPDATE,REMARKS' . "\n";
open(OTB1,"> bat/pgmsel.bat"); # > ½ÐÎÏ¡¡ bat file
#######################################################################
# 2.¥á¥¤¥ó¡¡½èÍý #
while( ) { # IN ¤«¤é¤Î¥Ç¡¼¥¿ $_ ¤¬¤¢¤ë¸Â¤ê¡¢°Ê²¼¤ò¼Â¹Ô¡£
$selsw = 1;
# <2.1 Âоݥ饤¥Ö¥é¥ê·èÄê > #
#1 DATASET: AAAA.BATCH.PGMSRC .... DATE: 02/01/23
if ($_ =~ /DATASET:/){
s/ / /g; # ¥¹¥Ú¡¼¥¹£²¸Ä¤ò£±¸Ä¤Ë
s/ / /g; # £³²ó·«ÊÖ¤·¡¢¥¹¥Ú¡¼¥¹£±¸Ä¤Î¤ß
s/ / /g;
($fil1,$fil2,$lib,$fil3) = split(/ /,$_,4); # 4 ¸ÄʬΥ
$libfile = $lib; # lib ¼èÆÀ
}
# <2.2 Âоݥ饤¥ó¤Î·èÄê > #
#selsw = 0;
# <°Ê²¼¤Îʸ»úÎó¤ò´Þ¤à¹Ô¤Ï½ÐÎÏÂоݳ°¤Ç¤¹¡£>
if ($_ =~ /: /){ $selsw = 0; }
if ($_ =~ /MEMBER/){ $selsw = 0; }
if ($_ =~ /EXTENT/){ $selsw = 0; }
if ($_ =~ /TRACKS/){ $selsw = 0; }
if ($_ =~ /DIRECTORY/){ $selsw = 0; }
if ($_ =~ /MODIFIED/){ $selsw = 0; }
# <2.3 PROGRAM MEMBER ¤Î¾ðÊóÈ´¤½Ð¤· > #
if ($selsw == 1){ # Âоݥ饤¥ó¤Î¤È¤
$line = substr($_,2); # 3¥«¥é¥à¡ÁºÇ¸å¤Þ¤Ç
# #
$line =~ s/ / /g; # g option is repeat change
$line =~ s/ / /g; # 4 ²ó·«¤êÊÖ¤¹¤ÈºÇÂç16¤«¤é
$line =~ s/ / /g; # 1¸Ä¤Î¥Ö¥é¥ó¥¯¤Ë¤Ê¤ë
$line =~ s/ / /g;
($mbr,$ttr,$ver,$cday,$lday,$ltim,$stp,$ini,$mst,$usr)=split(/ /,$line,10);
$rec = ',' . $mbr . ',' . $libfile;
$rec = $rec . ',#0' . ',' . $stp . ',#1,#2,#3,';
$rmk = '';
$hip = '-';
if ($stp eq ''){$rmk = 'NO DATA'; $hip = ''; }
$rec = $rec . $cday . ',' . $lday . $hip . $ltim;
$rec = $rec . ',' . $rmk;
print OTA1 $rec . "\n";
# #
$libnm = ' 1:\'' . $libfile . '(' . $mbr . ')\' ';
$dir = 'c:\\usrown/resrc/' . $rscexp . '/';
$batrec = 'receive ' . $dir . $mbr . '.' . $rscexp;
$batrec = $batrec . $libnm . ' [jiscii crlf';
print OTB1 $batrec . "\n";
#receive c:\usrown/resrc/cb/PGM0100.cb
# 1:'AAAA.BATCH.PGMSRC(PGM0100)' [jiscii crlf
# <100·ïËè¤Ë¥·¡¼¥±¥ó¥¹¤òɽ¼¨¤·¡¢¥×¥í¥ó¥×¥ÈÍ׵᤹¤ë> #
$seq1 = $seq1 + 1; $no1 = $no1 + 1;
if ($no1 == 100){ $no1 = 0;
print OTB1 'echo ' . $seq1 . "\n";
print OTB1 'pause ' . "\n"; }
}
} # while end
#######################################################################
# <3.½ªÎ»½èÍý> #
print OTB1 'echo COMPLETED CNT=' . $seq1 . "\n"; # bat file ·ï¿ô
close(IN1); # while ¤ÎÁàºî¸å ¤Ë OUT ¤òÊĤ¸¤ë¡£
close(OTA1); #
close(OTB1); #
#######################################################################
##########End_Of_Script
|