/*******************************************************************/ /* REXX CSF Extension to SIMULATE an Event for consectutive dates. */ /* */ /* Program will prompt for: */ /* + EventName */ /* + StartDate - REXX Normal Format (1 Feb 2020) */ /* + SimCount - Number of consecutive dates to SIMULATE */ /* */ /* Author: Rick Romanowski */ /* Date: January 22, 2020 */ /*******************************************************************/ /*******************************************************************/ /* */ /*******************************************************************/ /* MAIN PROGRAM */ /*******************************************************************/ Call GetInfo Call Init Exit /*******************************************************************/ /* Function GetInfo */ /*******************************************************************/ GetInfo: Say 'This routine will SIMULATE an Event for consecutive dates' Say ' ' Say 'Enter Event Name:' Say ' ' Parse Upper Pull EventName Say ' ' Say 'Date format dd Mon YYYY, no leading zero on dd' Say 'Enter Start Date (1 Apr 2040):' Say ' ' PARSE PULL StartDate Say ' ' Say 'Enter Simulation Count:' Say ' ' PARSE PULL SimCount If EventName = "" Then EventName = "SCHTESP.VPTEST01" If StartDate = "" Then StartDate = "1 Feb 2040" If SimCount = "" Then Simcount = "1" Say "EventName:"EventName Say "StartDate:"StartDate Say "SimCount:"SimCount Return /*******************************************************************/ /* Function Init */ /*******************************************************************/ Init: BaseDate = "" BaseDate = DATE('B',StartDate) Say ' ' Say 'Press Enter to continue' PARSE PULL Reply "CLEAR" Say "" Say "EVENT "EventName Say "" Say COPIES('=',28) COPIES('=',17) COPIES('=',32) Call ProcessDates Return /*******************************************************************/ /* Function ProcessDates */ /*******************************************************************/ ProcessDates: Do J = 1 TO SimCount Rec = 0 Out. = '>>> Record NOT Initialized <<<' Call SimulateEvent Do K = 1 to Rec Say Out.K End End Return /*******************************************************************/ /* Function SimulateEvent */ /*******************************************************************/ SimulateEvent: EventSim = "SIMULATION OF EVENT" Selected = "SELECTED FOR SUBMISSION" NoSelected = "NO JOBS SELECTED FOR SUBMISSION" SelectedStatus = "" SimDate = "" JobName = "" SchedDate = DATE('N',BaseDate,'B') Z=OUTTRAP("TEMP.") ADDRESS ESP "SIMULATE EVENT("EventName") SCHED('"SchedDate"')" Z=OUTTRAP("OFF") Do I = 1 To TEMP.0 Say TEMP.I end Call ProcessSimulation BaseDate = Basedate + 1 Return /*******************************************************************/ /* Function ProcessSimulation */ /*******************************************************************/ ProcessSimulation: Do I = 1 To TEMP.0 If POS(EventSim,TEMP.I) /= 0 THEN PARSE VAR TEMP.I . " ON "SimDate If POS("JOB TYPE-",TEMP.I) = 1 Then Do L = I + 1 to TEMP.0 If POS(" ",TEMP.L) = 1 Then Leave JobName = Word(TEMP.L,2) Rec = Rec + 1 Out.Rec = Left(SimDate,28) Left(JobName,17,' ') Left(Status,32) End If POS(NoSelected,TEMP.I) /= 0 THEN Do Rec = Rec + 1 Out.Rec = Left(SimDate,28) Left(JobName,17,' ') Left(TEMP.I,32) Leave End If POS(Selected,TEMP.I) /= 0 THEN Status = TEMP.I End Return