Automate Check of missing Scheduling Table in daily load

Post Reply
User avatar
be_incontrol
Nouveau
Nouveau
Posts: 13
Joined: 26 Sep 2008 12:00

Automate Check of missing Scheduling Table in daily load

Post by be_incontrol » 23 Feb 2012 9:24

Hello Control-M experts,

I need an advice from you guys for our Control-M issue which lately has come up once or twice per month. The Issue is sometimes a whole scheduling table does not load at all after New Day process. The Application group will just know that jobs are missing from the schedule late in the morning when they get calls from business users that their report/s are unavailable.

Is there a quick and dirty way to check, verify then compare previous table load from current and if there is a discrepancy it alerts the support group (thru a script or ctm commands)?

Please note that we do not maintain our daily schedule. It is outsourced. We can recommend and advice.

Thank you in advance.

User avatar
markf
Nouveau
Nouveau
Posts: 134
Joined: 13 Jul 2006 12:00
Location: Switzerland
Contact:

Post by markf » 24 Feb 2012 8:39

I have 2 jobs that check the New Day Processing.

First, put this on the command line -

VAR1=`ctmudchk -DAILY SYSTEM -ACTION LIST`; if [ -n "$VAR1" ]; then echo "$VAR1" | mailx -s "The following potential jobs were not ordered by New Day Processing" fred.bloggs@hotmail.com ; else echo "Nothing found"; fi

Run this 10 minutes after the end of the New Day Processing and fred.bloggs@hotmail.com will receive an email if the number of jobs ordered aren't as expected.

New Day Processing should also produce some messages that should appear in the log and you can check for these. My New Day Processing runs at 12 noon, so I rn this on the command line -

ctmlog list %%$ODATE 1158 %%$ODATE 1212 | $HOME/scripts/ctmlog_ok.pl

The ctmlog_ok.pl then is this, the 5 strings in the 'mustfind' are what you need to see if the New Day has worked ok -

#!/usr/bin/perl

my( @MUSTFIND ) = (
"NEW DAY PROCEDURE STARTED",
"CONTROL-M LOG CLEANUP STARTED",
"CLEANUP ENDED. DAYS=",
"DAILY SYSTEM STARTED",
"DAILY SYSTEM ENDED",
);

################################################
%mustfind = map { ($_,1) } @MUSTFIND;

my( $rin ) = q();
vec($rin,fileno(STDIN),1) = 1;
if ( select($rout=$rin, undef, undef, 2) ) {
my( $logline );
while ( $logline = <STDIN> ) {
my( $msgid,$desc ) = (split /\|/o,$logline)[1,7];
if ( $desc ) {
foreach my $mf ( @MUSTFIND ) {
if ( $desc=~/$mf/ ) {
$desc =~ s/\s+/ /go;
print "$msgid|$desc\n";
delete $mustfind{$mf};
}
}
}
}
} else {
die "No input found.\n";
}

if ( %mustfind ) {
foreach ( keys %mustfind ) {
print "Did not find - $_\n";
}
exit 1;
}

exit 0;

User avatar
Sobriquet
Nouveau
Nouveau
Posts: 13
Joined: 14 Jan 2011 12:00

Post by Sobriquet » 28 Feb 2012 12:39

Hi there,

here we are missing some information about your job loading process. were the jobs ordered by a Userdaily or SYSTEM?

Usually if there is a table/job is not ordered by a userdaily it will throw a alert to GAS stating like "one or more jobs not ordered" or some times Userdaily fails also. In these cases you can use utility ctmudchk to verify what are the jobs not ordered.

As markf stated above you can check even ctmlog for more information but these all steps done after the issue.

But In your case you should find what went wrong and what causes this issue.

Thanks,
Sri

User avatar
be_incontrol
Nouveau
Nouveau
Posts: 13
Joined: 26 Sep 2008 12:00

Post by be_incontrol » 07 Mar 2012 7:31

Hi Sri,

Our jobs are ordered by SYSTEM. BMC was engaged for the resolution of the issue however BMC was unable to find root cause and advised us that due to the version we are usung which is 6.3.01, there is limitation to go further and be able get the details on how the Sched table was deleted in the server but not in EM. Thank you for adding additional option which we can use in case we switch to userdaily load.


Hi Markf,

Thank you too for providing an option that we can use.

Post Reply