Www.samsung.com in Microsite Cookbook CookBook English Hindi CookBook English Hindi
Robot Opal Cookbook
description
Transcript of Robot Opal Cookbook
The purpose of this cookbook is to give you some ideas of what you can do with OPAL® (OPeratorAssistance Language®), the unique operations language used in Robot/SCHEDULE®, Robot/CONSOLE®,and Robot/REPORTS®.
The recipes included in this cookbook were contributed by people like you, people who use the Robotproducts every day to automate their operations and make their lives easier. As you review these recipes,you’ll see OPAL code that does everything from send pager messages and execute commands to createcustomized reports for users. Although individual code samples may not be applicable to your site, youcan use them as examples to create your own code that automates some area of your operations. Themore you use OPAL, the more you see how powerful just a few lines of code can be.
Now, for some housekeeping tips:
• Each OPAL recipe included in the cookbook has been reviewed, but has not been tested. Werecommend that you thoroughly test any OPAL you write before putting it into production.
• The cookbook is divided into three sections: Robot/SCHEDULE, Robot/CONSOLE, and Robot/REPORTS.Each contains OPAL code from that product. However, some recipes cross over to other Robotproducts. For example, a Robot/SCHEDULE OPAL might use Robot/ALERT to send a pager or e-mailmessage to the operator; a Robot/CONSOLE OPAL might start a Robot/SCHEDULE job, and so on.
• Some of the OPAL recipes have been modified from the original due to space limitations.
• The Operation Values field shown in many of the examples includes the complete code for a com-mand. This is to illustrate how the command would look; however, you must display the ExtendedCommand Entry panel to enter the complete command when creating your OPAL.
• Blank recipe pages are included at the end of each section. Use these to write your own OPALrecipes.
If you have any questions, or want to discuss how you can implement OPAL in your operations, callHelp/Systems Technical Support at 952-933-0609.
We hope you enjoy looking through this cookbook and trying some of the recipes. Thank you again toall who contributed. Have fun!
DISCLAIMERTHIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT ISNOT MEANT TO BE COMPLETE DOCUMENTATION FOR CREATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRON-MENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMINGFAMILIAR WITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY ORLIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
If Today is Monday or Friday, Run Job 7
Run Job Only on First Sunday of Month 8
Update LDA with Sunday’s Date 9
Only Run on Sat/Sun/Mon/Fri 10
Run Job First Day of Each Quarter 11
Check Date, Run Query 12
Check the Job Queue 13
Skip Job if Last or First Day of Month 14
Start Production System after Midnight 15
Sunday Check 16
Don’t React on Saturday Night/Sunday Morning 17
Don’t React Before 12:30 a.m. 18
Is Tape Controller Active? 19
Skip Job if No Records Exist 20
Is User Active on System? 21
Run Between 5th and 12th of Month 22
Check Date and Skip 23
Are ECM Engines Running? 24
Run Job on Friday or Saturday 25
Run Job Every x Number of Days 26
Check if Subsystem is Active, JOBQ Waiting 27
Check if a Work Day 29
File Transfer Notification 30
Only One Active Journal Save 31
Run Job When File Available 32
Execute Last Day of Month 33
Robot/SCHEDULE Job Reaction 34
Skip Job if File is Empty 35
Run Second Friday of Month 36
Run Job in Daytime and Afternoon Only 37
Don’t Process Jobs at Same Time 38
Skip Jobs on Thursday Night 39
Check For and Skip Certain Active Jobs 40
Check Flag in Data Area 41
Check Flags in Different Data Areas 42
Check File for Records before Submission 43
Check for Certain Files before Submission 44
Check for Active Subsystem 45
Check if First or Second Fiscal Day 46
Table of Contents
Robot/SCHEDULE OPAL
3
Check if Previous Job is Active 47
Skip on Monday after 9:00 p.m. 48
No Jobs Left in Batch Queue 49
Page if Save Queues Are on Hold 50
Skip when Special Jobs Running 51
Check if File Is in Use and Has Records 52
Skip Job Based on Status of Previous Job 53
Delay Job when Reacting to Another Job 54
Skip Job if Previous Day Nonworking Day 55
Execute Only on Saturday 56
Monitor if Subsytems Are Active 57
Skip Job if not Current Month 58
June 2008 Update RCV 59
Check Object Lock 60
Skip Job if Records Exist 61
Active Jobs on Last Day 62
Last Day Execute Robot/SCHEDULE Job 63
Run Only on First and Last Saturdays 64
Skip First Fiscal Mon, Sun, and Last Sat 65
Start Job if Records in File 66
Check Day of Week and Skip 67
Start QINTER 68
Problem with Job, Page 69
Run Job if Records Exist 70
Check for Lock on Data Area 71
Check for Workday and Two Files 72
Check for First Four Working Days 73
OPAL to Change an *LDA 74
Checking MQ Series Queues 75
Page After Hours 81
Check Message Data and Customize Reply 82
Check Data Area and Customize Reply 83
Notify and Page 84
Check Message Variable and Customize Reply 85
Check for User and End Job 86
Notify for Communications Problems 87
Page for Power Outage 88
Check for User and Notify 89
Table of Contents
Robot/CONSOLE OPAL
4
Check Message Text 90
Check Mounted Tape 91
Test if Juggler Program Is in Error 92
Verify Lines Varied Off 93
Move INQUIRY Printer Messages Out 94
Multiple Systems with Same Printer Name 95
Page Based on Value 96
Storage Limit is Exceeded 97
Page Users after Disk Drive Failure 98
Execute Command after Normal Completion 99
Conditional Message Suppress 100
Make Message Response Required 101
Max Number of Spooled Records Reached 102
Network File Has Arrived 103
Respond to this Message 104
Redirect Msgs and Make Response Required 105
Monitor for Jobs Ending Abnormally 106
Monitor for Program Messages 107
Vary On Device after Invalid Signon 108
Conditional Required Response 109
Submit Job at Save Checkpoint 110
Check Writer Status 111
Send Error Message Text 112
Bad Signon Attempts 113
Vary On/Off Tape Drive 114
Delete/Re-create MSGQ 115
Vary Controller On/Off 116
Job Queue Information 117
Check Tape Device Status 118
Message Queue Empty 119
Verify Robot/CONSOLE is Monitoring QSYSOPR 120
User Signed On to DSP01 121
Executing a Command with Parameters 122
Formatting Message Text 123
Check for Repeat Value 124
Possible Repeat Issue 125
Checking Communications in Robot/NETWORK 126
Maximum Spooled Files Reached 127
Paging During Unattended Operations 128
Mount Tape for OMS Month End 129
Table of Contents
5
Table of Contents
Check Message Data and Execute Robot/SCHEDULE Job 130
Tape Loaded and Initialized 131
Automate Checkpoint Processing 132
Notification to Users Outside Robot/CONSOLE 133
Include Total Page 139
Distribute Report on Friday 140
Include Invoice Pages 141
Burst Report by Address 142
Burst Report by Number 143
Check for Internet Invoices 144
Include User Job 145
Include Pages from Large File 146
Omit First Page if Blank 147
Include Sales Data by Area 148
Delete Duplicate Records 149
Pass Report Data to a CL Program 150
Monitor Distribution Queues 151
Distribute Report by User 152
Include Only Specific Data 153
Include Page in Report 154
Report to Run on Sunday Only 155
Create an Index by PO Number 156
Segment Report by Customer Service Rep 157
Check for User and Date Range 158
Select Specific Plant Numbers 159
Print One Division at a Time 160
Divides Report into Multiple Sections 161
Using a Table 162
Robot/REPORTS OPAL
6
If Today is Monday or Friday, Run JobFrom the Kitchen of Ajish Jose
Logic Operand Variable Operation Operation ValueIF DAY EQ 2OR DAY EQ 3OR DAY EQ 4
SKIPEND
This OPAL code will run a job only on Monday or Friday.
7
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Run Job Only on First Sunday of MonthFrom the Kitchen of Ajish Jose
Logic Operand Variable Operation Operation ValueIF WEEKEND NE 1OR DAY NE 7
SKIPEND
This job can be a group member or reactive job on other Sundays. The OPAL controls which Sundays it will run.
8
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Update LDA with Sunday’s DateFrom the Kitchen of Ajish Jose
Logic Operand Variable Operation Operation ValueRTVDTADFN LDAMRP600
USRFLD1 CHGTO @@SUNDATECHGDTADFN LDAMRP600
This OPAL updates a data area with Sunday’s date.
9
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Only Run on Sat/Sun/Mon/FriFrom the Kitchen of Joyce Brundage
Logic Operand Variable Operation Operation ValueIF DAY EQ 3
SKIPELSEIF DAY EQ 4
SKIPELSEIF DAY EQ 5
SKIPENDEND
If the day equals 3 (Tuesday), skip job.If the day equals 4 (Wednesday), skip job.If the day equals 5 (Thursday), skip job.
10
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Run Job First Day of Each QuarterFrom the Kitchen of Gary Keith
Logic Operand Variable Operation Operation ValueIF @@MONNO NE 01AND @@MONNO NE 04AND @@MONNO NE 07AND @@MONNO NE 10
SKIPEND
If the current month is any month other than January, April, July, or October, the job is skipped.
11
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check Date, Run QueryFrom the Kitchen of Darryl Graham
Logic Operand Variable Operation Operation ValueIF SYSDATE GT 123103AND SYSDATE LT 20104
SNDRBTDTA ROBOTLIB/SNDRBTDTA PRQJOB(JOBRUNJAN) STATUS(C)ELSEIF SYSDATE GT 13104AND SYSDATE LT 30104
SNDRBTDTA ROBOTLIB/SNDRBTDTA PRQJOB(JOBRUNFEB) STATUS(C)ELSEIF SYSDATE GT 22804AND SYSDATE LT 40104
SNDRBTDTA ROBOTLIB/SNDRBTDTA PRQJOB(JOBRUNMAR) STATUS(C)ELSEIF SYSDATE GT 33104AND SYSDATE LT 50104
SNDRBTDTA ROBOTLIB/SNDRBTDTA PRQJOB(JOBRUNAPR) STATUS(C)ELSEIF SYSDATE GT 43004AND SYSDATE LT 60104
SNDRBTDTA ROBOTLIB/SNDRBTDTA PRQJOB(JOBRUNMAY) STATUS(C)ELSEIF SYSDATE GT 53104AND SYSDATE LT 70104
SNDRBTDTA ROBOTLIB/SNDRBTDTA PRQJOB(JOBRUNJUN) STATUS(C)ELSE
Note: The original OPAL contained additional conditions.
12
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check the Job QueueFrom the Kitchen of David Hinrichs
Logic Operand Variable Operation Operation ValueRTVJOBQ EXPRESS
IF JOBQHOLD EQ NOSKIP
ELSEPAGE RBTALRLIB/RBASNDMSG MSG(‘Express jobq
on hold too long. RBSSYSSTR may not have run, OneWorld may be down.’) TOPG(OPERATIONS)
UPDJOBEND
This OPAL checks to make sure that the shutdown-backup-startup process has completed successfully using a job that is outside theshutdown process. When the production system should be back up and running (along with releasing the job queue), run this OPAL. Ifthe express job queue is still held, it will send a pager message.
13
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Skip Job if Last or First Day of MonthFrom the Kitchen of David Hinrichs
Logic Operand Variable Operation Operation ValueIF SYSDATE EQ @@LDATSOR DAYMTH EQ 1THEN SKIPELSEEND
14
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Start Production System after MidnightFrom the Kitchen of David Hinrichs
Logic Operand Variable Operation Operation ValueIF SYSTIME GT 2320AND SYSTIME LE 2359
ADDMIN 5UPDJOB
END
Every weekday, after the production subsystem has been shut down and backed up, the production system must be restarted. Thiscannot be done before midnight. This job checks the time from when the production subsystem was shut down to make sure it is aftermidnight. If it is before midnight, it adds 5 minutes and checks again.
15
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Sunday CheckFrom the Kitchen of David Hinrichs
Logic Operand Variable Operation Operation ValueIF ACTUSR EQ SUNDAY
SKIPELSE
PAGE RBTALRLIB/RBASNDMSG MSG(‘Sunday backupnot signed on at Console. Sign it on for weekendbackups!’) TOPG(OPERATIONS)
END
This OPAL runs at 3:00 p.m. on Friday to check that the Sunday Robot/SAVE Restricted State Utility backup job has been signed on atthe console. If it isn’t signed on, it sends a pager message.
16
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Don’t React on Saturday Night/Sunday MorningFrom the Kitchen of Marty Constentino
Logic Operand Variable Operation Operation ValueIF DAY NE 6AND SYSTIME GE 2230OR DAY NE 7AND SYSTIME LE 0600
QUITELSE
SKIPEND
This OPAL helps when you have a job that reacts to another job every day, but do not want the job to react on Saturday night or Sundaymorning.
17
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Don’t React Before 12:30 a.m.From the Kitchen of Marty Constentino
Logic Operand Variable Operation Operation ValueIF SYSTIME LT 0030OR SYSTIME GT 2200
ADDMIN 15END
This OPAL helps when you have a job that reacts to another job, but don’t want the second job to run before 12:30 a.m.
18
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Is Tape Controller Active?From the Kitchen of Liam Hutchin
Logic Operand Variable Operation Operation ValueIF THISJOB EQ DIF ACTCTL NE TAPCTLD
SNDMSG MSG(‘controller is still not up....SKIPQUIT
ENDENDIF ACTCTL NE TAPCTLD
SNDMSG MSG(‘THE CONTROLLER IS NOT UP....SNDRBTDTA **Prompt to see command**ADDMIN 1
END
With this OPAL you can perform a loop only twice, instead of repeating until a condition is true. This checks if the tape controller is active. If not, a SNDRBTDTA is performed to immediately start a job that attempts to vary on the controller. The OPAL waits in D(Delayed) status, then checks again. This time, if the controller is not active, a message is sent and the job is skipped.
19
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Skip Job if No Records ExistFrom the Kitchen of Liam Hutchin
Logic Operand Variable Operation Operation ValueRTVOBJSTS FONPDTA/RCALLP *FILE
IF OBJSTS EQ RECORDSSNDMSG MSG(‘No Records to Process’) TOUSER(*SYSOPR)SKIP
END
20
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Is User Active on System?From the Kitchen of Liam Hutchin
Logic Operand Variable Operation Operation ValueIF ACTUSR EQ USER1
SNDMSG MSG(‘USER1 Please signoff’) TOUSER(USER1)ADDMIN 1
END
This OPAL checks if a user is active on the system. It sends a message and waits until the user logs off.
21
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Run Between 5th and 12th of MonthFrom the Kitchen of Liam Hutchin
Logic Operand Variable Operation Operation ValueIF DAYMTH LT 5OR DAYMTH GT 12
SKIPEND
This OPAL allows the job to run only between the 5th and 12th (inclusive) of the month.
22
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check Date and SkipFrom the Kitchen of Liam Hutchin
Logic Operand Variable Operation Operation ValueIF DAYMTH EQ 08
SKIPENDIF DAYMTH EQ 11
SKIPENDIF DAYMTH EQ 14
SKIPENDIF DAYMTH EQ 17
SKIPENDIF DAYMTH EQ 21
SKIPENDIF DAYMTH EQ 25
SKIPENDIF LASTDAY EQ SYSDATE
SKIPEND
23
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Are ECM Engines Running?From the Kitchen of Bill Holden
Logic Operand Variable Operation Operation ValueIF ACTJOB EQ ECMECCOR ACTJOB EQ ECMEDM
SKIPEND
Use this OPAL code to check if ECM engines are running. If either of the engines is running, the job that starts the engines is skippedso that two instances of the engines aren’t running. This OPAL was created because the command that attempts to start the engines isprogrammed to check if the engines are running, but it will not end itself. So, if one or more engines are running, the starting job willsit in the job queue waiting to start the next set of engines.
24
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Run Job on Friday or SaturdayFrom the Kitchen of Heath Kath
Logic Operand Variable Operation Operation ValueIF DAY EQ 5OR DAY EQ 6IF WEEKNO EQ 1OR WEEKNO EQ 4OR WEEKNO EQ 5
QUITELSE
SKIPENDELSE
SKIPEND
This OPAL is used to run a job on Friday or Saturday only if it is the first, fourth, or fifth week of the month.
25
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Run Job Every x Number of DaysFrom the Kitchen of Heath Kath
Logic Operand Variable Operation Operation ValueRTVDTADFN HK
IF USRFLD1 EQ @@DATEUSRFLD1 CHGTO @@DATE14
CHGDTADFN HKDATEQUIT
ELSESKIP
END
Use this OPAL to run a member job every x number of days.
26
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
27
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check if Subsystem is Active, JOBQ WaitingFrom the Kitchen of Heath Kath
Logic Operand Variable Operation Operation Value* Check if in specified time range and the subsystem is not active
IF SYSTIME GT 0700AND SYSTIME LT 1400AND ACTSBS NE HKSBS
* Retrieve informationRTVJOBQ HEATH/HKJOBQRTVDTADFN LOOPCOUNT* If job count<>0, loop, delay 10 minutes and check again.
IF JOBQCNT NE 0USRFLD1 CHGTO 0
CHGDTADFN LOOPCOUNTADDMIN 10
ELSE* Job cnt=0. If this is first loop, set loop count=1 and delay allowing jobs to* finish. If loop count=1, end OPAL and run the job to start the subsystem
IF USRFLD1 EQ 0USRLFD1 CHGTO 1
CHGDTADFN LOOPCOUNTADDMIN 5
ELSE
USRFLD1 CHGTO OCHGDTADFN LOOPCOUNTQUIT
ENDEND
continued...
28
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check if Subsystem is Active, JOBQ Waiting (continued)From the Kitchen of Heath Kath
Logic Operand Variable Operation Operation Value* If outside of time range or if the subsystem is active, end OPAL and* do not run the job.
ELSEUSRFLD1 CHGTO 0
CHGDTADFN LOOPCOUNTSKIP
END
You must set up a data definition. This example uses a data definition called LOOPCOUNT, which was defined to use a data area. Thedata area is character, length=1, and with an initial value of zero (0).
LOOPCOUNT allows time for a job that might be running to finish. Then, the job double-checks to make sure no new jobs have started.
29
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check if a Work Day From the Kitchen of Heath Kath
Logic Operand Variable Operation Operation ValueIF WORKDAY EQ YESAND DAYMTH NE 3AND DAYMTH NE 4
QUITELSE
SKIPEND
This OPAL checks to make sure it is a work day and that it is not the 3rd or 4th day of the month.
File Transfer NotificationFrom the Kitchen of Kevin Morris
Logic Operand Variable Operation Operation ValueRTVDTADFN RDAY
IF USRFLG1 EQ YSKIP
IF SKIPSTATUS EQ YESSENDMC **Prompt to see command**PAGE **Prompt to see command**
ENDRTVOBJSTS *LIBL/AGLID3 *FILE
IF OBJSTS EQ EXISTSAND OBJSTS NE RECORDS
ADDMIN 5END
RTVOBJSTS *LIBL/AGTID3 *FILEIF OBJSTS EQ EXISTSAND OBJSTS NE RECORDS
ADDMIN 5END
RTVOBJSTS *LIBL/BR001 *FILEIF OBJSTS EQ EXISTSAND OBJSTS NE RECORDS
ADDMIN 5ELSE
QUITEND
This OPAL code is used to determine if 3 files being transferred from another system have arrived in time to be processed in the currentbatch cycle. If the batch cycle has completed, no files are processed and notification is sent. If the batch cycle is active, the files areprocessed once the transfer is complete.
30
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Only One Active Journal SaveFrom the Kitchen of Martin Camacho
Logic Operand Variable Operation Operation ValueIF ACTDEV EQ TAP02AND DEVSTS EQ ACTIVEOR ACTJOB EQ JRN200OR ACTJOB EQ RBJRN200OR ACTJOB EQ JRN_ARCHOR ACTJOB EQ RBJRN_ARCH
SKIP* Job Skipped-No Resources AvailableSNDMSG SNDMSG MSG(‘Journal Job has been skipped.
Please investigate.’) TOUSR(*SYSOPR)ENDIF SKIPSTATUS EQ YESEND
This OPAL makes sure there is only one journal save job active at any time so that a nightly system backup or nightly journal save willnot interfere with other journal save jobs.
31
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Run Job When File AvailableFrom the Kitchen of Lisa McPherson
Logic Operand Variable Operation Operation ValueRTVOBJSTS PRODDATA/STKBILFILE*FILE
IF OBJSTS EQ EXISTSQUIT
ELSEADDMIN 2
END
This OPAL checks for the existence of a file before running the nightly processing. If it is not found, it adds two minutes to the starttime. This will loop until the file is available.
32
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Execute Last Day of MonthFrom the Kitchen of Mike Costello
Logic Operand Variable Operation Operation ValueIF LASTDAY EQ SYSDATEOR DAY EQ 5AND @@LDATY EQ @@DATP1OR DAY EQ 5AND @@LDATY EQ @@DATP2ELSE
SKIPEND
This OPAL permits a job that is scheduled for execution Monday through Friday to execute only if the current day is the last day of themonth or if it is Friday and the last day of the month is the subsequent Saturday or Sunday.
33
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Robot/SCHEDULE Job ReactionFrom the Kitchen of Michael Barrow
Logic Operand Variable Operation Operation ValueIF SYSTIME GT 1500
SKIPELSE
RTVDTADFN SMDSIF USRFLD1 EQ NTHEN
ADDMIN 30USRFLD1 CHGTO Y
CHGDTADFN SMDSELSEIF USRFLD1 EQ YAND SYSTIME LT 1000
ADDMIN 10ENDENDEND
This OPAL is attached to a job that reacts to a Robot/SCHEDULE job that reacts to a user job. 1) If it is after 15:00, the job is skipped.2) 30 minutes is added to the job before execution.3) If after a 30-minute delay, it is still before 10:00 a.m., the job is delayed 10 minutes until it is after 10:00.4) The data area is set to N by OPAL code attached to the job this reacts to.
34
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Skip Job if File is EmptyFrom the Kitchen of Mike Krebs
Logic Operand Variable Operation Operation ValueRTVOBJSTS QRYLIB/QUERY*FILE
IF OBJSTS NE EXISTSOR OBJSTS NE RECORDS
SKIPEND
This OPAL checks if a file is empty and causes a Robot/SCHEDULE job to be skipped if it is. Two Robot/SCHEDULE jobs are needed.The first runs the query with OUTTYPE(*outfile) specifying a specific outfile. The second job is reactive to the first job with the OPALcode attached (specifying the specific file). The second job runs the query specifying OUTTYPE(*printer).
35
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Run Second Friday of MonthFrom the Kitchen of Behzad Khoshkho
Logic Operand Variable Operation Operation ValueIF DAY NE 5AND WEEKNO NE 2
SKIPEND
Run the job on the second Friday of every month.
36
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Run Job in Daytime and Afternoon OnlyFrom the Kitchen of Lene Lyndrup Jensen
Logic Operand Variable Operation Operation ValueIF SYSTIME GT 2000
ADDMIN 30END
This OPAL runs a job only in the daytime and in the afternoon. If it is later than 20:00, the job should wait until after midnight and runthe following day instead.
37
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Don’t Process Jobs at Same TimeFrom the Kitchen of Toni Montgomery
Logic Operand Variable Operation Operation ValueIF ACTJOB EQ REREDIPURGOR ACTJOB EQ RBRDLYEDIR
SNDMSG MSG(‘RBREDIPURG or RBRDLYEDIR is active)ADDMIN 30
END
38
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Skip Jobs on Thursday NightFrom the Kitchen of Gerry Muyargas
Logic Operand Variable Operation Operation ValueIF DAY EQ 4AND SYSTIME GT 2300
SKIPEND
39
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check For and Skip Certain Active JobsFrom the Kitchen of Pete Palmeri
Logic Operand Variable Operation Operation ValueIF ACTJOB EQ CORP400BAND ACTJOB EQ CORP400QAND ACTJOB EQ DM40010#1AND ACTJOB EQ DM40010#2AND ACTJOB EQ DM40010#4AND ACTJOB EQ DM40021#1AND ACTJOB EQ DM40021#3AND ACTJOB EQ DM40022#2AND ACTJOB EQ DM40025#1AND ACTJOB EQ DM40025#2AND ACTJOB EQ DM40026#1AND ACTJOB EQ DM40030#1AND ACTJOB EQ DM40033#1AND ACTJOB EQ DM40033#2AND ACTJOB EQ DM40035#1AND ACTJOB EQ DM40035#2THEN SKIP
QUIT
40
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check Flag in Data AreaFrom the Kitchen of Pete Palmeri
Logic Operand Variable Operation Operation ValueRTVDTADFN M7001
IF USRFLG1 NE YSKIP
END
41
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check Flags in Different Data AreasFrom the Kitchen of Pete Palmeri
Logic Operand Variable Operation Operation ValueRTVDTADFN M7001RTVDTADFN M7011RTVDTADFN M7031RTVDTADFN M7051RTVDTADFN M7O61RTVDTADFN M7091
IF USRFLG1 NE YOR USRFLG2 NE YOR USRFLG3 NE YOR USRFLG4 NE YOR USRFLD1 NE YOR USRLFG5 NE Y
SKIPEND
42
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check File for Records before SubmissionFrom the Kitchen of Pete Palmeri
Logic Operand Variable Operation Operation ValueRTVOBJSTS RBTRUN2(PETETEST02) *FILE
IF OBJSTS EQ EXISTSAND OBJSTS EQ RECORDS
SKIPELSE
QUITEND
43
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check for Certain Files before SubmissionFrom the Kitchen of Pete Palmeri
Logic Operand Variable Operation Operation ValueRTVOBJSTS MINQRY/RBTMINQRY *FILERTVOBJSTS ACTNEW/RBTACTNEW *FILERTVOBJSTS NEWJAB/RBTNEWJAB *FILERTVOBJSTS LIBMS/RBTLIBMS *FILE
IF OBJSTS NE EXISTSSKIPPAGE RBTALRLIB/RBASNDMSG MSG
(‘The Jabsco query libs did not come overfrom Q’) TOPG(OPERATOR)
END
44
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check for Active SubsystemFrom the Kitchen of Pete Palmeri
Logic Operand Variable Operation Operation ValueIF ACTSBS EQ HTBATCH
SKIPENDIF SKIPSTATUS EQ YES
PAGE RBTALRLIB/RBASNDMSG MSG(‘HTBATCH needs to becycled’) TOPG(OPERATOR)
ENDQUIT
45
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check if First or Second Fiscal DayFrom the Kitchen of Pete Palmeri
Logic Operand Variable Operation Operation ValueIF DAYMTH NE 1AND DAYMTH NE 2
SKIPEND
46
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check if Previous Job is ActiveFrom the Kitchen of Pete Palmeri
Logic Operand Variable Operation Operation ValueIF ACTJOB EQ D@10KRUPL2
SKIPEND
47
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Skip on Monday after 9:00 p.m.From the Kitchen of Celia Pang
Logic Operand Variable Operation Operation ValueIF DAY EQ 1AND TIME GE 2100THEN SKIPEND
48
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
No Jobs Left in Batch QueueFrom the Kitchen of Jay Kamradt
Logic Operand Variable Operation Operation ValueRTVJOBQ QBATCH
IF JOBQCNT GE 1ADDMIN 1
ELSEQUIT
49
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Page if Save Queues Are on HoldFrom the Kitchen of Jay Kamradt
Logic Operand Variable Operation Operation ValueRTVJOBQ BKPTAP03
IF JOBQHOLD EQ YESPAGE ** Prompt to see command **
ENDRTVJOBQ BKPTAP04
IF JOBQHOLD EQ YESPAGE ** Prompt to see command **
50
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Skip when Special Jobs RunningFrom the Kitchen of Jay Kamradt
Logic Operand Variable Operation Operation ValueRTVJOB 000000000348
IF RBTJOBNBR EQ YOR RBTJOBNBR EQ COR RBTJOBNBR EQ R
SKIPEND
RTVJOB 000000000349IF RBTJOBNBR EQ YOR RBTJOBNBR EQ COR RBTJOBNBR EQ R
SKIPEND
51
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check if File Is in Use and Has RecordsFrom the Kitchen of Jay Kamradt
Logic Operand Variable Operation Operation ValueRTVOBJSTS GPPSLIB/GPSPLS *FILE
IF OBJSTS NE RECORDSOR OBJSTS EQ LOCKED
SKIPEND
52
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Skip Job Based on Status of Previous JobFrom the Kitchen of Arthur Pember
Logic Operand Variable Operation Operation ValueRTVJOB 000000002740
IF RBTJOBNBR EQ OSKIP
END
This OPAL skips a job if the override code of the preceding job is O (OMIT). This allows you to enter an OMIT override code for thepreceding job and prevent jobs that react to the omitted job from running.
53
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Delay Job when Reacting to Another JobFrom the Kitchen of Arthur Pember
Logic Operand Variable Operation Operation Value* This object will reschedule a job* for 4-1/2 hours when it runs.RTVJOB 000000000879
IF RBTJOBNBR NE DADDMIN 270
END
54
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Skip Job if Previous Day Nonworking DayFrom the Kitchen of Arthur Pember
Logic Operand Variable Operation Operation Value* This object checks the value of the* reserved command variable @@DM2WD,* which checks to see if the previous* day was a nonworking day in the* WEEKDAY calendar. If it was a non-* working day the job is skipped.
IF @@DM2WD EQ ‘N’SKIP
END
55
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Execute Only on SaturdayFrom the Kitchen of Regina Leslie
Logic Operand Variable Operation Operation ValueIF DAY NE 6
SKIPEND
56
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Monitor if Subsytems Are ActiveFrom the Kitchen of Regina Leslie
Logic Operand Variable Operation Operation ValueIF ACTSBS NE CDSBS
PAGE **Prompt to see command**ENDIF ACTSBS NE CMENVSOC
PAGE **Prompt to see command**ENDIF ACTSBS NE CMNDCSOC
PAGE **Prompt to see command**ENDIF ACTSBS NE CMRXPRD1
PAGE **Prompt to see command**END
This OPAL validates that all subsystems are active. This object is attached to a Robot/SCHEDULE job that runs every 15 minutes. If asubsystem is found to be inactive, a message is sent to Operations. This frees up manual monitoring of the subsystems by the operator.
57
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Skip Job if not Current MonthFrom the Kitchen of Leslie Larivee
Logic Operand Variable Operation Operation ValueIF @@MONNO NE 06
SKIPEND
58
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
June 2008 Update RCVFrom the Kitchen of Leslie Larivee
Logic Operand Variable Operation Operation ValueIF @@YEAR4 EQ 2008AND @@MONNO EQ 06THEN @@BUCKET4 CHGTO 121ENDIF @@YEAR4 NE 2008
SKIPEND
59
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check Object LockFrom the Kitchen of Yen-Thu Le
Logic Operand Variable Operation Operation ValueRTVOBJSTS QRYUSER/ABSENTMTLY *FILE
IF OBJSTS EQ EXISTSAND OBJSTS EQ RECORDSAND OBJSTS EQ LOCKEDAND ACTUSR EQ SERVICE
SNDMSG MSG(SIGNOFF) TOUSR(QSYSOPR)ELSE
QUIT
60
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Skip Job if Records ExistFrom the Kitchen of Bruce Lane
Logic Operand Variable Operation Operation ValueRTVOBJSTS PRODOPNS/DSPTAP *FILE
IF OBJSTS NE RECORDSSKIP
END
61
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Active Jobs on Last DayFrom the Kitchen of Lori Scheidegger
Logic Operand Variable Operation Operation ValueIF LASTDAY NE SYSDATE
SKIPENDIF ACTJOB EQ ATOCSTMR
GOTO ERRORENDIF ACTJOB EQ BOL001MR
GOTO ERRORENDIF ACTJOB EQ CCD100X
GOTO ERRORENDIF ACTJOB EQ CNVREQMR
GOTO ERRORENDIF ACTJOB EQ CRTREQMR
GOTO ERRORENDIF ACTJOB EQ DSBOMR
GOTO ERROREND
QUITTAG ERRORSENDMC RBTCONLIB/SENDMC MSGCTR(QSYSOPR) MSG
(‘OPERATOR: ENDDMRJRNM IS BEING DELAYEDUNTIL ASYNCS ARE DOWN.’) RESPOND(*YES)
ADDMIN 2QUIT
62
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Last Day Execute Robot/SCHEDULE JobFrom the Kitchen of Lori Scheidegger
Logic Operand Variable Operation Operation ValueIF LASTDAY NE SYSDATE
SKIPSNDRBTDTA ROBOTLIB/SNDRBTDTA PRQJOB(ZFCS014P)
PRQJOB#(990000002189) STATUS(C)END
63
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Run Only on First and Last SaturdaysFrom the Kitchen of Lori Scheidegger
Logic Operand Variable Operation Operation ValueIF LASTDAY NE SYSDATEAND DAYMTH NE 7
SKIPSNDRBTDTA ROBOTLIB/SNDRBTDTA PRQJOB(ZMRG020P)
PRQJOB#(990000003165) STATUS(C)END
64
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Skip First Fiscal Mon, Sun, and Last SatFrom the Kitchen of Lori Scheidegger
Logic Operand Variable Operation Operation Value* This excludes first Fiscal Monday
IF WEEKNO EQ 1AND DAYMTH EQ 2
SKIPELSE
* This excludes first Fiscal SundayIF WEEKNO EQ 1AND DAYMTH EQ 1
SKIPELSE
* This excludes last Fiscal SaturdayIF LASTDAY EQ SYSDATE
SKIPELSE
QUIT
65
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Start Job if Records in FileFrom the Kitchen of Barron E. Utter
Logic Operand Variable Operation Operation ValueRTVOBJSTS CLTEST *FILE
IF OBJTST EQ EXISTAND OBJSTS EQ RECORDSAND OBJSTS NE LOCKED
QUITELSEIF @@TIME GT 600AND @@TIME LT 1500
SNDRBTDTAQUIT
ELSEIF @@TIME GT 2300AND @@TIME LT 2350
ADDMIN 35ELSE
ADDMIN 21ENDENDEND
This OPAL checks if a file exists, has records, and is not locked. If the time is between 6:00 a.m. and 3:00 p.m., the program does aSNDRBTDTA. It also moves the start of the job past midnight if it is after 11:00 p.m.
66
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check Day of Week and SkipFrom the Kitchen of Tom Mann
Logic Operand Variable Operation Operation ValueRTVDTADFN MOENDQEP
IF DAY EQ 5AND USRFLD1 EQ ‘0’THEN SKIPEND
This OPAL only runs the job on a Friday that is at month end; otherwise the job is skipped.
67
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Start QINTERFrom the Kitchen of Thomas Tran
Logic Operand Variable Operation Operation ValueIF ACTJOB EQ QINTER
SKIP
This OPAL checks if QINTER is started. If not, the Robot/SCHEDULE job starts QINTER.
68
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Problem with Job, PageFrom the Kitchen of Theresa Klein
Logic Operand Variable Operation Operation ValueRTVJOB 000000003424
IF RBTJOBNBR EQ CSKIP
ELSEPAGE ** Prompt to see command **
END
Simple OPAL code that checks on job completion status and pages if the job has any status other than ‘C’.
69
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Run Job if Records ExistFrom the Kitchen of Patrick De Blende
Logic Operand Variable Operation Operation ValueRTVOBJSTS mylib/myfile *FILE
IF OBJSTS EQ EXISTSAND OBJSTS EQ RECORDS
SKIPELSE
QUITEND
This OPAL checks if a file exists and contains records. If the file is not found or no records exist, the job is skipped.
70
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check for Lock on Data Area From the Kitchen of Patrick De Blende
Logic Operand Variable Operation Operation ValueRTVOBJSTS mylib/mydataarea *DTAARA
IF objsts EQ LOCKEDADDMIN 5
ELSEQUIT
END
This OPAL checks locks on a data area. If the data area is locked, the job is delayed 5 minutes.
71
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check for Workday and Two FilesFrom the Kitchen of Patick De Blende
Logic Operand Variable Operation Operation ValueIF @@PWRKDAYF NOTINTABLE PDWHWORKF
SKIPELSE
RTVOBJSTS DISOTOOL/PDWHFUDOEK *FILEIF OBJSTS NE RECORDS
SNDRBDTA ROBOTLIB/SNDRBTDTA PRQJOB#(000000003678) STATUS(K)SKIP
ELSERTVOBJSTS DISOTOOL/PDWHREDOEK *FILE
IF OBJSTS NE RECORDSSNDRBDTA ROBOTLIB/SNDRBTDTA PRQJOB#(000000003693) STATUS(K)SKIP
ENDEND
QUIT
This OPAL controls Data Warehouse processing from the iSeries. It checks to see if a value is in the OPAL table. If it’s not in the table, itchecks the status of two files on the system and continues processing.
72
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check for First Four Working DaysFrom the Kitchen of Patrick De Blende
Logic Operand Variable Operation Operation ValueIF @@PWRKDATF INTABLE PWORKDAYF
SKIPELSEIF ACTSBS NE SUBSYSTEM NAME
ADDMIN 5ENDEND
This OPAL code checks to see if it is the first to fourth working day of a fiscal period. If so, the job is skipped. If not, processing contin-ues with checking the subsystem. If the subsystem is inactive, the job will be delayed for 5 minutes. This OPAL code is attached to adaily application that should not start before the fifth workday of the fiscal period.
73
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
OPAL to Change an *LDAFrom the Kitchen of Patrick De Blende
Logic Operand Variable Operation Operation ValueRTVDTADFN MRP500
USRFLD1 CHGTO @@DATEUSRFLD5 CHGTO @@DTSP7
CHGDTADFN MRP500QUIT
Use this OPAL code to change an *LDA (local data area). In this example, two Robot/SCHEDULE reserved command variables are usedto change start and end dates.
74
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Checking MQ Series QueuesFrom the Kitchen of Patrick De Blende
Logic Operand Variable Operation Operation ValueRTVMQDEPTH BEUPJ01 SYSTEM.DEAD.LETTER.QUEUE
IF MQDEPTH GT 0SENDMC RBTCONLIB/SENDMC MSGCTR(message center) MSG(‘Check Queue’)
ENDQUIT
Use this OPAL code to check the queue depth of an MQ Series queue. If the threshold is exceeded, a response-required message isgenerated. The default OPAL owner must be authorized to the MQ Administrator user profile.
75
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
From the Kitchen of zzzzzzzzzzzzzzzzz
Logic Operand Variable Operation Operation Value
76
From the Kitchen of zzzzzzzzzzzzzzzzz
Logic Operand Variable Operation Operation Value
77
From the Kitchen of zzzzzzzzzzzzzzzzz
Logic Operand Variable Operation Operation Value
78
From the Kitchen of zzzzzzzzzzzzzzzzz
Logic Operand Variable Operation Operation Value
79
From the Kitchen of zzzzzzzzzzzzzzzzz
Logic Operand Variable Operation Operation Value
80
Page After HoursFrom the Kitchen of Charles Atkinson
Logic Operand Variable Operation Operation ValueIF SYSTIME GT 170000OR SYSTIME LT 080000
PAGE RBTALRLIB/RBASNDMSG MSG(TEXT) TOPG(PCNOTIFY)RSP(*SETUP) TRUNCATE(*YES)
ELSENOTIFYL OPERATIONS
END
81
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check Message Data and Customize ReplyFrom the Kitchen of Charles Atkinson
Logic Operand Variable Operation Operation ValueIF DATA CT CGIBIN
ENTER CELSE
NOTIFYL PAYROLLRPYWITHIN 1800
USRTEXT CHGTO ‘This is the message:’USRTEXT BCAT MSGIDUSRTEXT CAT ‘:’USRTEXT BCAT TEXTUSRTEXT BCAT ‘From Job/Job#:’USRTEXT BCAT JOBUSRTEXT CAT ‘/’USRTEXT CAT JOBNUMBERUSRTEXT BCAT ‘User is:’USRTEXT CAT USERUSRTEXT BCAT ‘Variables are:’USRTEXT BCAT DATA
PAGE RBTALRLIB/RBASNDMSG MSG(USRTEXT) TOPG(PROGRAMMER)RSP(*SETUP) TRUNCATE(*NO)
END
82
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check Data Area and Customize ReplyFrom the Kitchen of Charles Atkinson
Logic Operand Variable Operation Operation ValueEXECUTE RTVDTAARA DTAARA(QGPL/LOOPCTS) RTNVAR(&USRNBR1)
IF USRNBR1 LT 3USRNBR1 ADD 1
EXECUTE CHGDTAARA DTAARA(QGPL/LOOPCTL *ALL) VALUE(USRNBR1)DELAY 300ENTER R
ELSEEXECUTE CHGDTAARA DTAARA(QGPL/LOOPCTL) VALUE(0)NOTIFYL PAYROLLRPYWITHIN 1800
USRTEXT CHGTO ‘This is the message:’USRTEXT BCAT MSGIDUSRTEXT CAT ‘:’USRTEXT BCAT TEXTUSRTEXT BCAT ‘From Job/Job#:’USRTEXT BCAT JOBUSRTEXT CAT ‘/’USRTEXT CAT JOBNUMBERUSRTEXT BCAT ‘User is:’USRTEXT CAT USERUSRTEXT BCAT ‘Variables are’USRTEXT BCAT DATA
PAGE RBTALRLIB/RBASNDMSG MSG(USRTEXT) TOPG(PROGRAMMER) RSP(*SETUP) TRUNCATE(*NO)
END
83
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Notify and PageFrom the Kitchen of Charles Atkinson
Logic Operand Variable Operation Operation ValueNOTIFYL PROGRAMMERRPYWITHIN 300
USRTEXT CHGTO ‘This is the message:’USRTEXT BCAT MSGIDUSRTEXT CAT ‘:’USRTEXT BCAT TEXTUSRTEXT BCAT ‘From Job/Job#:’USRTEXT BCAT JOBUSRTEXT CAT ‘/’USRTEXT CAT JOBNUMBERUSRTEXT BCAT ‘User is:’USRTEXT BCAT USERUSRTEXT BCAT ‘Variables are:’USRTEXT BCAT DATA
PAGE RBTALRLIB/RBASNDMSG MSG(USRTEXT) TOPG(PROGRAMMER) RSP(*SETUP) TRUNCATE(*NO)
This OPAL sends a notification to the programmer list and waits 5 minutes for a reply. If no reply has been received after 5 minutes, acustomized message is sent to the programmer device or broadcast list.
84
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check Message Variable and Customize ReplyFrom the Kitchen of Charles Atkinson
Logic Operand Variable Operation Operation ValueIF VAR5 EQ QUSLSPL
ENTER CENDIF VAR5 EQ SOR020
ENTER CELSE
NOTIFYL PROGRAMMERRPYWITHIN 300
USRTEXT CHGTO ‘This message is:’USRTEXT BCAT MSGIDUSRTEXT CAT ‘:’USRTEXT BCAT TEXTUSRTEXT BCAT ‘From Job/Job#:’USRTEXT BCAT JOBUSRTEXT CAT ‘/’USRTEXT CAT JOBNUMBERUSRTEXT BCAT ‘User is:’USRTEXT BCAT USERUSRTEXT BCAT ‘Variables are:’USRTEXT BCAT DATA
PAGE RBTALRLIB/RBASNDMSG MSG(USRTEXT) TOPG(PROGRAMMER) RSP(*SETUP) TRUNCATE(*NO)
This OPAL checks the data from variable &5 and customizes a reply.
85
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check for User and End JobFrom the Kitchen of Charles Atkinson
Logic Operand Variable Operation Operation ValueIF VAR2 NOTINTABLE TIMEOUT
EXECUTE ENDJOB JOB(&JOBNUMBER/USER/JOB) OPTION(*IMMED)END
This OPAL ends an interactive job if the user is not a programmer. The QINACTITV system value is set to a time limit and once theinactive time limit has been reached, a message is sent to a message queue. Robot/CONSOLE tests the message for the User ID.This allows the programmers to have a longer inactive time limit on their sessions while maintaining security for the system.
86
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Notify for Communications ProblemsFrom the Kitchen of Charles Atkinson
Logic Operand Variable Operation Operation ValueUSRTEXT CHGTO ‘SMTP server not responding:’USRTEXT BCAT ‘This will keep all paging from’USRTEXT BCAT ‘going out!’USRTEXT BCAT ‘Check if NETSTAT port 25 is’USRTEXT BCAT ‘listening & check SMTP server.’
PAGE RBTALRLIB/RBASNDMSG MSG(USRTEXT) TOPG(SMTP)RSP(*NO) TRUNCATE(*YES)
This OPAL notifies the SYSOPR if a communication problem exists. It also notifies a person on the network team so issues can beresolved.
87
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Page for Power OutageFrom the Kitchen of Charles Atkinson
Logic Operand Variable Operation Operation ValueIF ACTUSR EQ QPAYROLL
NOTIFYL OPERATIONSELSE
PAGE RBTALRLIB/RBASNDMSG MSG(TEXT) TOPG(POWER)RSP (*SETUP) TRUNCATE(*NO) PRTY(1)
END
This OPAL notifies the main user (if he is signed in) that a power outage has occurred. Otherwise, a pager message is sent to the team.
88
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check for User and NotifyFrom the Kitchen of Charles Atkinson
Logic Operand Variable Operation Operation ValueIF VAR9 INTABLE CREDIT
PAGE RBTALRLIB/RBASNDMSG MSG(‘RECORD INUSE BY &USER. PLEASE BACK OUT TO MAIN MENU.’) TOPG(‘SYSOPR-PC) RSP(*SETUP) TRUNCATE(*YES)
ELSEDEFAULT
END
This OPAL tests the message for specific users and sends a notification mesage if they have a job locked.
89
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check Message TextFrom the Kitchen of Charles Atkinson
Logic Operand Variable Operation Operation ValueIF TEXT CT NF1116BOR TEXT CT NJ1256GOR TEXT CT Accts. Payable
SUPPRESSENDIF TEXT CT XJ1139OR TEXT CT PK1114OR TEXT CT Inbound MonitorOR TEXT CT D&BOR TEXT CT NJ1122
NOTIFYL PAYROLLEND
* Letting GLTask Force know EOW has* been kicked off.
IF TEXT CT End-of-weekPAGE RBTALRLIB/RBASNDMSG MSG(TEXT) TOPG(GLTASKFORC)
RSP(*NO) TRUNCATE(*N0)ELSE
NOTIFY QPAYROLLEND
This OPAL tests for certain programs and if the end-of-week processing has started. If so, it notifies the users.
90
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check Mounted TapeFrom the Kitchen of Charles Atkinson
Logic Operand Variable Operation Operation ValueIF TEXT CT EOW
EXCUTE CALL PGM(PGMLIB/CHKVOLID)DELAY 60EXECUTE RTVDTAARA DTAARA(QGPL/VOLIDDTAARA) RTNVAR(&USRFLG)
IF USERFLG1 EQ YEXECUTE CHGDTAARA DTAARA(QGPL/VOLIDDTAARA 11)) VALUE(N)ENTER G
ELSENOTIFYL
ENDEND
This OPAL tests the volume ID of a tape. If the end-of-week tape is loaded in the tape drive, the program continues to run. Otherwise, itnotifies the operator.
91
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Test if Juggler Program Is in ErrorFrom the Kitchen of Charles Atkinson
Logic Operand Variable Operation Operation ValueIF TEXT CT JUGGLER
REDIRECT OPERATIONSELSE
NOTIFY QPAYROLLEND
This OPAL tests if the Juggler program is in error. If so, the message is sent to a message center to be handled.
92
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Verify Lines Varied OffFrom the Kitchen of Charles Atkinson
Logic Operand Variable Operation Operation ValueIF ACTLIN NE ECSLINE
EXECUTE VRYCFG CFGOBJ(ECSLINE) CFGTYPE(*LIN) STATUS(*OFF)ENDIF ACTLIN NE PAGER
EXECUTE VRYCFG CFGOBJ(PAGER) CFGTYPE(*LIN)STATUS(*OFF) ASCVRYOFF(*YES)
ENDIF ACTLIN NE QESLINE
EXECUTE VRYCFG CFJOBJ(QESLINE) CFGTYPE(*LIN) STATUS(*OFF)ENDIF ACTLIN NE QJDE
EXECUTE VRYCFG CFGOBJ(QJDE) CFGTYPE(*LIN) STATUS(*OFF)ENDIF ACTLIN NE QTILINE
EXECUTE VRYCFG CFGOBJ(QTILINE) CFGTYPE(*LIN) STATUS(*OFF)ENDIF ACTLIN NE QTIPASLIN
EXECUTE VRYCFG CFGOBJ(QTIPASLIN) CFGTYPE(*LIN) STATUS(*OFF)ENDIF ACTLIN NE Q1PLIN
EXECUTE VRYCFG CFGOBJ(Q1PLIN) CFGTYPE(*LIN) STATUS(*OFF)END
This OPAL verifies that all lines are varied off so one of them can be used by a job if needed.Note: The original OPAL contained additional conditions.
93
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Move INQUIRY Printer Messages OutFrom the Kitchen of Bill Broeckert
Logic Operand Variable Operation Operation ValueIF DATA CT PRINTERIF MSGTYPE EQ 05
REDIRECT DEFAULTELSE
SUPPRESSENDEND
This OPAL takes INQUIRY printer messages out of the escalation loop. It requires a message center called DEFAULT.
94
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Multiple Systems with Same Printer NameFrom the Kitchen of Cheryl Thomas
Logic Operand Variable Operation Operation ValueIF TEXT DC PRNTDDLASAND TEXT DC QSYSPRTAND SYSTEM NE AS400C21THEN REDIRECT PRINTERELSE
REDIRECT DONTPAGEEND
95
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Page Based on ValueFrom the Kitchen of Hamid Riazi
Logic Operand Variable Operation Operation ValueIF PROGRAM EQ STX005MENDIF SYSTIME LT 170000AND SYSTIME GT 080000AND TEXT CT TEXAS
PAGE **Press F4 to see command**PAGE **Press F4 to see command**
ENDIF SYSTIME GT 170000AND SYSTIME LT 080000AND TEXT CT TEXAS
PAGE **Press F4 to see command**ENDIF SYSTIME LT 170000AND SYSTIME GT 080000AND TEXT CT 9030
PAGE **Press F4 to see command**END
Note: This recipe has been modified from the original.
96
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Storage Limit is ExceededFrom the Kitchen of Brian Kamps
Logic Operand Variable Operation Operation ValueIF DATA CT ‘exceeded’THEN EXECUTE GVEMAIL/EMAIL MESSAGE(‘An ASP ha...END
This OPAL uses a simple e-mail utility called GVEMAIL to e-mail a group of users when the storage limit is exceeded.
97
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Page Users after Disk Drive FailureFrom the Kitchen of Brian Kamps
Logic Operand Variable Operation Operation ValueIF MSGID EQ CPI1165THEN PAGE **Press F4 to see command**
RESPONDEND
When a disk drive fails on the system, it issues error CPI1165. When the message is received, this OPAL pages a group of users.
98
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Execute Command after Normal CompletionFrom the Kitchen of Brian Kamps
Logic Operand Variable Operation Operation ValueIF JOB EQ J57X81AND SYSTIME GT 043000AND USER EQ HDBIWTHEN EXECUTE SBMJOBJS JOB(DAILYIW) TIME(*IMMED)ELSEIF JOB EQ J57X81AND SYSTIME LT 04300AND USER EQ HDBIWTHEN EXECUTE SBMJOBJS JOB(DAILYIW) TIME(0430)ELSEIF JOB EQ J57X80THEN EXECUTE SMBJOBJS JOB(WEEKBUDIS) TIME(*IM....
Monitor for message ID CPF1241. If a job completes normally, or in some cases based on time, submit a backup job.
99
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Conditional Message SuppressFrom the Kitchen of Carol Horton
Logic Operand Variable Operation Operation Value*
IF VAR1 EQ I0O26CPAGE **Press F4 to see command**PAGE **Press F4 to see command**
ELSEIF VAR1 EQ DWUPDATE
PAGE **Press F4 to see command**PAGE **Press F4 to see command**
ELSESUPPRESS
END
This OPAL code tests for VAR1 from a message from either of two jobs and sends a pager message. If it’s not from one of those jobs, itsuppresses the message.
100
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Make Message Response RequiredFrom the Kitchen of Carol Horton
Logic Operand Variable Operation Operation Value* make this an inquiry msgRESPOND
This OPAL code changes an informational message so it requires a response.
101
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Max Number of Spooled Records ReachedFrom the Kitchen of Chris Dick
Logic Operand Variable Operation Operation ValueIF JOB CT RBPCOMBTHEN ENTER NOMAX
NOTIFY CLDELSE
PAGE **Press F4 to see command**NOTIFY VKM
END
This OPAL code allows a security job that runs during nightly processing to go over the maximum number of spooled records; anyother job will page and notify the operator.
102
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Network File Has ArrivedFrom the Kitchen of Gareth Lewis
Logic Operand Variable Operation Operation Value* Misima file
IF FILE EQ PPL_MISPEXECUTE RBASNDMSG MSG(‘File PPL_MISP arr....
END* Porgera file
IF FILE EQ PPL_POGPEXECUTE RBASNDMSG MSG (‘Porgera file arri....
END
This OPAL sends a message when a network file has arrived on the system.
103
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Respond to this MessageFrom the Kitchen of Paul Hughes
Logic Operand Variable Operation Operation ValueIF DATA CT ‘End-of-Day’OR DATA CT ‘FTP ERROR’
RESPONDEND
This OPAL code makes sure CPF9897 messages are seen and responded to by the operator.
104
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Redirect Msgs and Make Response RequiredFrom the Kitchen of Mark Rinehart
Logic Operand Variable Operation Operation ValueIF MSGID INMSGTABLE SDMTABLETHEN RESPOND
REDIRECT REPLYEND
This OPAL example monitors for a variety of IBM Service Director messages. If a message occurs, the message set reads the messagetable SDMTABLE. If the message ID is in the table, Robot/CONSOLE makes it response required, and redirects it to the REPLY messagecenter.
105
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Monitor for Jobs Ending AbnormallyFrom the Kitchen of Mark Rinehart
Logic Operand Variable Operation Operation ValueIF VAR2 EQ ENDOFDAYIF VAR1 NOTINTABLE JOBNAMESTHEN PAGE **Press F4 to see command**ENDEND
This OPAL monitors for Job Ending Abnormal (CPF1240) messages in all message queues being monitored. If the message hasENDOFDAY as VAR2(USER) and if VAR1(JOBNAME) is not in the table JOBNAMES, then Robot/CONSOLE has Robot/ALERT page theon-call pager.
106
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Monitor for Program MessagesFrom the Kitchen of Mark Rinehart
Logic Operand Variable Operation Operation ValueIF VAR3 EQ CJFA0A9AND VAR1 EQ FGINBOUNDTHEN ENTER R
EXECUTE SNDMSG MSG(FGINBOUND Job in error)ENDIF VAR3 EQ QRY2283AND VAR1 EQ TL210CLTHEN ENTER C
EXECUTE SNDMSG MSG (‘TL210CL Job in error)ENDIF VAR3 EQ CPF9999AND VAR1 EQ TL212CLTHEN ENTER CENDIF VAR3 EQ CPF9999AND VAR1 EQ SY015CLTHEN ENTER CEND
This OPAL example monitors for the generic CPA0701 message. It checks the value in VAR3 for the job named in VAR1. It then enters areply to the message and sends a message to the on-call pager.
107
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Vary On Device after Invalid SignonFrom the Kitchen of Yen-Thu Le
Logic Operand Variable Operation Operation ValueDELAY 30EXECUTE VRYCFG CFGOBJ (VAR3) CFGTYPE(*DEV) STATUS (*ON)QUIT
108
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Conditional Required ResponseFrom the Kitchen of Lori Scheidegger
Logic Operand Variable Operation Operation ValueIF VAR1 EQ MGRFAXQ
RESPONDEND
This OPAL makes the message set require a response only for the selected printer (MGRFAXQ).
109
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Submit Job at Save CheckpointFrom the Kitchen of Lori Scheidegger
Logic Operand Variable Operation Operation ValueIF JOB EQ DAILY_SAVE
EXECUTE ROBOTLIB/RBTBCHUPD JOBNUMBER(1087) JOBNAME(SAVCHKPTDY) SCHEDULE(D)
END
This OPAL submits a Robot/SCHEDULE job at SAVCHKPNT (save while active checkpoint of backups) depending on which backup isrunning. This allows scheduled jobs to continue running while the backup finishes.
110
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check Writer StatusFrom the Kitchen of Jean Rajski
Logic Operand Variable Operation Operation ValueREDIRECT SUPPRESSED
IF DEVICE INTABLE PRINTERSEXECUTE STRPRTWTR DEV(WRITER)
ELSEIF DEVICE NOTINTABLE PRINTERS
REDIRECT SUPPRESSEDENDEND
This OPAL is for message CPF3397-Writer &3/&2/&1 did not end normally. It checks to see if the printer is in table PRINTERS, and if itis, the message is redirected to the SUPPRESSED message center, and the writer is restarted. If the device is not in the table, the mes-sage is ignored and redirected to the SUPPRESSED message center. The DEV &1 parameter is defined in the message file list VariableName Maintenance as WRITER.
111
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Send Error Message TextFrom the Kitchen of Vania Malsam
Logic Operand Variable Operation Operation ValueIF TEXT CT The EFT authorizationTHEN
USRTEXT CAT ‘EFT Authorization status in Bank’USRTEXT BCAT VAR1USRTEXT CAT ‘has changed to status’USRTEXT BCAT VAR2
EXECUTE SNDMSG MSG(USRTEXT) TOUSR(robot01)END
When this error occurs, the description did not indicate the exact problem because there were four different variations of the error. ThisOPAL now gives the user the exact text of the error instead of a generic message.
112
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Bad Signon AttemptsFrom the Kitchen of Vania Malsam
Logic Operand Variable Operation Operation ValueIF WORKDAY EQ YIF SYSTIME GT 170000OR SYSTIME LT 070000
* If workday and after working hoursTHEN DELAY 1800ELSE
* If during working hours, delay 10 min.DELAY 600
END* If working day, vary on workstationEXECUTE VRYCFG CFGOBJ(VAR3) CFGTYPE(*DEV) STATUS (*ON)
ELSE* If not workday, pager message sent* to warn of signon attemptsPAGE **Press F4 to see command**
END
This OPAL helps when there are bad signon attempts. The OPAL determines whether the error has occurred during business hours. If itis a workday, but after business hours, it will delay for 3 hours. If it is during working hours, it will delay for 10 minutes. If it is a work-day, it will vary the workstation back on. If it’s not a workday, a pager message will be sent using Robot/ALERT.
113
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Vary On/Off Tape DriveFrom the Kitchen of Vania Malsam
Logic Operand Variable Operation Operation Value* Vary off tape deviceEXECUTE VRYCFG CFGOBJ(DEVICE) CFGTYPE(*DEV) STATUS(*OFF)DELAY 30* Vary tape device back onEXECUTE VRYCFG CFGOBJ(DEVICE) CFGTYPE(*DEV) STATUS(*ON)
This OPAL varies off the tape device and then varies it back on after a 30-second delay.
114
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Delete/Re-create MSGQFrom the Kitchen of Vania Malsam
Logic Operand Variable Operation Operation Value* Delete damaged message queueEXECUTE DLTMSGQ VAR2/VAR1* Create message queue in same libEXECUTE CRTMSGQ VAR2/VAR1* The end
If a message queue is damaged, this OPAL code deletes it, then creates a new one.
115
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Vary Controller On/OffFrom the Kitchen of Vania Malsam
Logic Operand Variable Operation Operation ValueIF CONTROLLER EQ BIS494THEN DELAY 60
TAG BEGIN1IF CONTROLLER EQ BIS494AND ACTCTL NE CONTROLLER
EXECUTE ENDWTR ETR(BISONP01) OPTION(*IMMED)EXECUTE VRYCFG CFGOBJ(CONTROLLER) CFGTYPE(*CTL) STATUS(*OFF)DELAY 15EXECUTE VRYCFG CFGOBJ(BIS4940) CFGTYPE(*CTL) STATUS(*OFF)DELAY 20EXECUTE VRYCFG CFGOBJ(CONTROLLER BIS49400) CFGTYPE(*CTL) STATUS(*ON)DELAY 300GOTO BEGIN1
ELSEEXECUTE STRPRTWTR DEV(BISONP01)
ENDEND
This OPAL handles a failed controller. First it delays for 1 minute and tags it with a value. If the controller is still not active, it ends thewriter, varies the controller off, waits 15 seconds, and varies the device off. After 20 seconds, it varies the controller back on. It thendelays for 50 minutes and returns to the tagged value and starts the process over again, in case it didn’t work the first time.
116
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Job Queue InformationFrom the Kitchen of Patrick De Blende
Logic Operand Variable Operation Operation ValueRTVJOBQ jobqueue_name
IF JOBQHOLD EQ NOSENDMC RBTCONLIB/SENDMC MSGCTR(message center) MSG(‘Job jobname:
Jobq jobqueue_name NOT on HOLD?’) RESPOND(*YES)ENDIF JOBQCNT GT 0
SENDMC RBTCONLIB/SENDMC MSGCTR(message center) MSG(‘Job jobname: Check jobq jobqueue_name’) RESPOND(*YES)
ENDIF JOBQCNT LT 10
SENDMC RBTCONLIB/SENDMC MSGCTR(message center) MSG(‘Job jobname: Check jobq jobqueue_name’) RESPOND(*YES)
END
This OPAL checks if a job queue is not on hold, the job is count greater than 0, or the job count is less than 10. If any of these condi-tions are true, then a response-required message is generated to a Robot/CONSOLE message center.
117
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check Tape Device StatusFrom the Kitchen of Patrick De Blende
Logic Operand Variable Operation Operation ValueIF ACTDEV EQ TAP04AND DEVSTS NE VARIED OFF
SENDMC RBTCONLIB/SENDMC MSGCTR(message center) MSG(‘Job:CHKTAP04:Check status of TAP04’) RESPOND(*YES)
QUITEND
This OPAL code checks if the tape device is in the correct status for the unattended backups. If not, a response-required message issent to a Robot/CONSOLE message center.
118
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Message Queue EmptyFrom the Kitchen of Patrick De Blende
Logic Operand Variable Operation Operation ValueRTVOBJSTS ROBOTLIB/RBTSBMJOB *MSGQ
IF OBJSTS EQ RECORDSSENDMC RBTCONLIB/SENDMC MSGCTR(msgcenter) MSG(‘Msg queue not empty.
Check job RBTSBMJOB.’) RESPOND(*YES)PAGE RBTALRLIB/RBASNDMSG MSG(‘Message queue not empty. Check job
RBTSBMJOB.’) TOPG(OPERATOR)ELSE
SKIPEND
This OPAL checks if a message queue is empty. If not, a response-required message and pager message are sent.
119
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Verify Robot/CONSOLE is Monitoring QSYSOPRFrom the Kitchen of Patrick De Blende
Logic Operand Variable Operation Operation ValueIF ACTJOB EQ RBCQSYSOPR
SKIPELSE
SENDMC RBTCONLIB/SENDMC MSGCTR(SUPPORT) MSG(Message Center QSYSOPR not active?’) RESPOND(*YES)
END
This OPAL checks if a Robot/CONSOLE message center, RBCQSYSOPR, is active. If not, a response-required message is sent to anothermessage center.
120
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
User Signed On to DSP01From the Kitchen of Patrick De Blende
Logic Operand Variable Operation Operation ValueIF ACTDEV EQ DSP01AND DEVSTS EQ ACTIVEAND ACTUSR NE TAW
SENDMC RBTCONLIB/SENDMC MSGCTR(msg center) MSG(‘Who is signed on to DSP01?’) RESPOND(*YES)
ELSESKIP
END
This OPAL checks if the authorized user is signed on to DSP01. If not, a message is sent to the message center to have an operatorcheck who is signed on.
121
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Executing a Command with ParametersFrom the Kitchen of Patrick De Blende
Logic Operand Variable Operation Operation ValueIF VAR2 NE QRECOVERY
EXECUTE WRKOBJLCK OBJ(VAR2/VAR1) OBJTYPE(*JRN) OUTPUT(*PRINT)SENDMC SENDMC MSGCTR(message_center) MSG(“Check spooled files for lock.”)
ELSEQUIT
This OPAL code is used on MSGID CPI70E5, Journal or journal receiver not available, for monitoring journal handling.
122
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Formatting Message TextFrom the Kitchen of Patrick De Blende
Logic Operand Variable Operation Operation ValueUSRTEXT CHGTO ‘GFA0002 message occured in :’USRTEST BCAT JOBUSRTEXT BCAT ‘Inform Operations Support’
ENTER IREDIRECT SUPPORTSENDMC SENDMC MSGCTR(message_center) MSG(USRTEXT) RESPOND(*YES)
This OPAL customizes a message sent to a Robot/CONSOLE message center after automatically replying with an I and redirecting.
123
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check for Repeat ValueFrom the Kitchen of Patrick De Blende
Logic Operand Variable Operation Operation ValueIF TEXT CT /QMQM/AMQRMCLAAND REPEAT GT 5
SENDMC SENDMC MSGCTR(message center) MSG(‘PROB W/MQ’) RESPOND(*YES)ELSE
QUITELSEEND
* If this message occurs more than 5 times in 30 minutes* response required, potential problem with MQ Series
This OPAL checks for message ID CPF1240, Job &3/&2/&1 ended abnormally. If this message ID occurs frequently, potential errorsmay exist with a certain job.
124
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Possible Repeat IssueFrom the Kitchen of Patrick De Blende
Logic Operand Variable Operation Operation ValueIF REPEAT GT 7
RESPONDEND
* If the message appears more than 7 times in 30 minutes* potential problems may exist
This OPAL checks for message ID AMQ9544, Messages not put to destination queue. If this message ID occurs frequently, potentialerrors may exist.
125
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Checking Communications in Robot/NETWORKFrom the Kitchen of Patrick De Blende
Logic Operand Variable Operation Operation ValueIF DAY EQ 7IF SYSTME LT 140000
QUIT* If Sunday before 14:00 hours IPL procedure can be executed* No action required
ELSE* If Sunday after 14:00 hoursRESPOND
END* If NOT Sunday
ELSERESPOND
END
This OPAL checks for possible communication problems between two iSeries systems. An extra test is included on Sunday.
126
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Maximum Spooled Files ReachedFrom the Kitchen of Patrick De Blende
Logic Operand Variable Operation Operation ValueIF REPEAT GT 3
REDIRECT OPERATORELSE
ENTER 100000REDIRECT SUPPORT* increment of 100000 records will be given as long as message ID CPA4072* is not repeated more than 3 times in 30 minutes
END
This OPAL checks for the message ID CPA4072, Reached maximum number of spooled records for file &1 in library &2. (C R NOMAX1-99999). An increment of 100000 records will be given as long as this message does not appear more than 3 times within 30 minutes;otherwise, the message is redirected so the operator can take the appropriate action.
127
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Paging During Unattended OperationsFrom the Kitchen of Patrick De Blende
Logic Operand Variable Operation Operation ValueIF WORKDAY EQ YIF SYSTIME GT 220000OR SYSTIME LT 060000
* if workday and after working hours Response Required and PageRESPONDREDIRECT PAGING
ELSE* if workday and during working hours
ENDELSE
* if NOT working day, Response Required and PageRESPONDREDIRECT PAGING
END
This OPAL redirects messages from an OPAL table to a paging message center during unattended operations. Otherwise, a response-required message is generated. A Robot/SCHEDULE calendar name must be specified in the message set definition to determine if it isa working day or not.
128
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Mount Tape for OMS Month EndFrom the Kitchen of Rick Roe
Logic Operand Variable Operation Operation ValueIF DATA CT ‘mount the OMS M/E tape’
ENTER TAP04END
This OPAL, coded for CPA2401, answers the tape mount message for the job when an operator is not there to answer the message onthe Sunday of month end.
129
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check Message Data and Execute Robot/SCHEDULE JobFrom the Kitchen of Lori Scheidegger
Logic Operand Variable Operation Operation ValueIF VAR1 EQ LCPAGEDAND VAR2 EQ MODHDTAAND VAR4 EQ LCP
EXECUTE ROBOTLIB/RBTBCHUPD JOBNUMBER(990000002782)JOBNAME(INVTRFSHFN) SCHEDULE(D)
ENDIF VAR1 EQ ZFCOSIPAND VAR2 EQ MODHDTAAND VAR4 EQ ZFCOSIP
EXECUTE ROBOTLIB/RBTBCHUPD JOBNUMBER(000000007816)JOBNAME(DY_SQLDMD) SCHEDULE(D)
EXECUTE ROBOTLIB/RBTBCHUPD JOBNUMBER(990000003019)JOBNAME(WK_SQLDMD) SCHEDULE(D)
ENDIF VAR1 EQ ZOWSPAND VAR2 EQ MODHDTAAND VAR4 EQ ZOWSP
EXECUTE ROBOTLIB/RBTBCHUPD JOBNUMBER(000000009125)JOBNAME(CARFSHFIN) SCHEDULE(D)
ENDIF VAR1 EQ ZWOSPSQLYEAND VAR2 EQ MODHDTA
EXECUTE ROBOTLIB/RBTBCHUPD JOBNUMBER(000000014216)JOBNAME(YRRHSHFIN) SCHEDULE(D)
END
130
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Tape Loaded and InitializedFrom the Kitchen of Bruce Lane
Logic Operand Variable Operation Operation ValueIF SYSTIME GT 152500AND SYSTIME LT 153500THEN EXECUTE SNDMSG MSG(‘NO TAPE LOADED IN TA....
PAGE **Press F4 to see command**END
This OPAL is used in the late afternoon to check if the tapes have been loaded and initialized.
131
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Automate Checkpoint ProcessingFrom the Kitchen of Vladimir Konkine
Logic Operand Variable Operation Operation ValueIF TEXT EQ “JOB_NAME”
SNDRBTDTA ** Press F4 to see command **DELAY 120TAG CHK
USRFLD1 CHGTO @@CHKPNTIF USRFLD1 EQ RECEIVED
ENTER GGOTO ENDS
ELSEDELAY 120GOTO CHKTAG ENDS
ENDEND
This OPAL code is attached to a Robot/CONSOLE message set, which was created to capture a specific message from “JOB_NAME”.When the custom inquiry message is received from the job, the daily backup is submitted. The program then waits for the backup toreach the checkpoint. After reaching the checkpoint, reply to the message with a “G” to continue the backup.
132
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Notification to Users Outside Robot/CONSOLEFrom the Kitchen of Patrick De Blende
Logic Operand Variable Operation Operation ValueRESPOND
IF DAY NE 6SENDQ RBCOPLMSGQ MSGQ(message queue lib/message queue)SENDQ RBCOPLMSGQ MSGQ(message queue lib/message queue)
ENDQUIT
This OPAL code informs system engineers outside Robot/CONSOLE about a response-required message relating to an Auditing applica-tion. They are not familiar with the Robot/CONSOLE message centers, but by using this SENDQ instruction, they are notified when themessages are arriving in the message center. The test for day 6 (Saturday) is included to avoid messages forwarded because of a weeklyshutdown.
133
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
From the Kitchen of zzzzzzzzzzzzzzzzz
Logic Operand Variable Operation Operation Value
134
From the Kitchen of zzzzzzzzzzzzzzzzz
Logic Operand Variable Operation Operation Value
135
From the Kitchen of zzzzzzzzzzzzzzzzz
Logic Operand Variable Operation Operation Value
136
From the Kitchen of zzzzzzzzzzzzzzzzz
Logic Operand Variable Operation Operation Value
137
From the Kitchen of zzzzzzzzzzzzzzzzz
Logic Operand Variable Operation Operation Value
138
Include Total PageFrom the Kitchen of Sally Wackerly
Logic Operand Variable Line Beg End Operation Operation ValueIF 12 1 3 EQ 652OR 12 1 3 EQ 653OR 12 1 3 EQ 655OR 12 1 3 EQ 656OR 12 1 3 EQ 658OR 12 1 3 EQ 659THEN INCPAG
USRNBR1 CHGTO 652END
*IF USRNBR1 EQ 652IF 14 7 24 EQ ***DEPARTMENT***THEN INCPAG
USRNBR1 CHGTO 000QUITPAGE
ENDENDIF 12 1 3 EQ 672THEN INCPAG
USRNBR1 CHGTO 672END
*IF USRNBR1 EQ 672IF 14 7 24 EQ ***DEPARTMENT***THEN INCPAG
USRNBR1 CHGTO 000QUIT
ENDEND
139
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Distribute Report on FridayFrom the Kitchen of Ana Maldonado
Logic Operand Variable Line Beg End Operation Operation ValueIF DAY NE 5
EXCREPORTENDIF 14 55 58 EQ ‘0120’
INCPAGQUITPAGE
END
140
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Include Invoice PagesFrom the Kitchen of Eric Huffman
Logic Operand Variable Line Beg End Operation Operation ValueIF 5 14 19 EQ 000100OR 17 11 19 EQ LITEWORLDAND 17 11 25 NE LITEWORLD-NORTHOR 20 11 19 EQ LITEWORLDAND 20 11 25 NE LITEWORLD-NORTHTHEN INCPAG
QUITPAGEELSE
EXCPAGQUITPAGE
END
141
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Burst Report by AddressFrom the Kitchen of Eric Burwell
Logic Operand Variable Line Beg End Operation Operation ValueIF LINENBR EQ 6IF 46 60 EQ OMAHA, NE 68131
INCPAGQUITPAGE
ENDENDIF LINENBR EQ 7IF 46 60 EQ OMAHA, NE 68131
INCPAGEQUITPAGE
ENDENDIF LINENBR GE 8
QUITPAGEEND
142
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Burst Report by NumberFrom the Kitchen of Eric Burwell
Logic Operand Variable Line Beg End Operation Operation ValueIF LINENBR EQ 4IF 128 131 EQ -022
INCPAGQUITPAGE
ENDENDIF LINENBR EQ 5IF 128 131 EQ -022
INCPAGQUITPAGE
ENDENDIF LINENBR GE 6
QUITPAGEEND
143
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check for Internet InvoicesFrom the Kitchen of J. C. Stahl
Logic Operand Variable Line Beg End Operation Operation ValueIF LINENBR EQ 19AND 77 77 EQ ‘2’THEN 19 8 14 CHGTO USRNBR1END
*IF 19 27 32 NOTINTABLE TRUMBULLAND 26 22 29 EQ ‘INTERNET’AND 58 74 77 EQ ‘CONT’THEN USRNBR1 RBTCHGRSV @@INTERNETEND
*IF USRNBR1 EQ @@INTERNETTHEN USRNBR1 CHGTO 11111
INCPAGQUITPAGE
END
144
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Include User JobFrom the Kitchen of Darlene Aliperto & Monica Chen
Logic Operand Variable Line Beg End Operation Operation ValueIF 3 3 EQ ‘/’AND 6 6 EQ ‘/’IF 52 57 EQ ‘QPADEV’
STRINCLINELSE
EXCLINENDEXCLIN
ENDEND
Use this OPAL in a Robot/REPORTS segment if you use the Robot/SCHEDULE Audit Log. The code shows only jobs that have been runby specific users. Replace the ‘QPADEV’ with the workstation ID. Set up the segment as ‘Retain Paging’=N, and ‘Last Heading Line’=9.
145
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Include Pages from Large FileFrom the Kitchen of Mona Frappier
Logic Operand Variable Line Beg End Operation Operation ValueIF 86 105 EQ SELECTION PARAMETERSTHEN INCPAG
QUITPAGEENDIF 11 2 20 EQ TOTALS FOR CARRIER:THEN INCPAG
QUITPAGEENDIF 2 14 EQ GRAND TOTALS:THEN INCPAG
QUITPAGEEND
Use this OPAL on a report to include certain pages out of a very large spooled file.
146
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Omit First Page if BlankFrom the Kitchen of Mona Frappier
Logic Operand Variable Line Beg End Operation Operation ValueIF 1 132 NE BLANK
STRINCLINEND
147
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Include Sales Data by AreaFrom the Kitchen of Pam Thomas
Logic Operand Variable Line Beg End Operation Operation ValueIF 5 7 INTABLE AREA 150
STRINCLINENDIF 48 55 EQ BLANKAND STSINC EQ Y
INCLINSTREXCLIN
END
This OPAL is used for a query that is broken down by Customer Service Rep. The Area Manager receives a report of the sales reps inhis/her area.
148
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Delete Duplicate RecordsFrom the Kitchen of Eric Crippin
Logic Operand Variable Line Beg End Operation Operation ValueIF 4 78 94 EQ USRLONG1AND 4 106 107 EQ ‘1’
EXCPAGENDINCPAG
ENDIF 4 78 94 NE USRLONG1AND 4 106 107 EQ ‘1’
4 78 94 CHGTO USRLONG1STRINCPAG
END
This OPAL looks at a spooled file that contains duplicate copies of pages and reduces it to one copy.
149
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Pass Report Data to a CL ProgramFrom the Kitchen of Eric Crippin
Logic Operand Variable Line Beg End Operation Operation ValueIF PAGENBR EQ 1AND LINENBR EQ 1
1 6 13 CHGTO USRFLD31 130 53 CHGTO USRLONG1
USRFLG1 CHGTO NENDIF 2 100 102 EQ ‘SL1’
INCPAGUSRFLG1 CHGTO Y
ELSEEXCPAG
ENDIF LASTLINE EQ YAND USRFLG1 EQ N
QUITENDIF LASTLINE EQ Y
USRFLD1 CHGTO SEGMENTUSRFLD2 CHGTO REPORTSETUSRFLD4 CHGTO REPORTNAME
EXECUTE SBMJOB CMD(CALL PGM(PUBLIC/XMSRR010)PARM(‘USRFLD1’ ‘USRFLD2’ ‘USRFLD3’ USRFLD4’‘USRLONG1’ LASTPAGE’)) JOB(USRFLD1)JOBQ(QGPL/DPREPORT)
QUITEND
This OPAL reads the Report ID and Report Title from the spooled file, separates out the required pages, launches a CL program, andpasses that information as parameters.
150
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Monitor Distribution QueuesFrom the Kitchen of Paul Hughes
Logic Operand Variable Line Beg End Operation Operation ValueIF 73 80 EQ ‘Rty-Fail’OR 73 80 EQ ‘Rty-Wait’AND 68 68 NE ‘0’
EXECUTE SNDMSG MSG(‘Data Queue Error...INCLIN
ELSEEXCLIN
END
This OPAL monitors distribution queues. When a program runs on a timed basis and generates *PRINT from a WRKDSTQ command,process the printed output to see if any of the distribution queues are waiting or have failed. If so, send a message to the system opera-tor to check the distribution queues. Other Robot products can send a pager or e-mail message, or require an operator to respond tothe condition.
151
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Distribute Report by UserFrom the Kitchen of Bill St. Lawrence
Logic Operand Variable Line Beg End Operation Operation ValueIF 1 10 EQ ‘STLAWRENCE’
INCPAG
This OPAL breaks down a list of users for report distribution. Each user has his/her own report segment. The segmented reports aree-mailed to each recipient.
152
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Include Only Specific DataFrom the Kitchen of Rita Romero
Logic Operand Variable Line Beg End Operation Operation ValueIF 10 13 16 EQ 1111OR 10 13 16 EQ 2222OR 10 13 16 EQ 3333OR 10 13 16 EQ 4444OR 10 13 16 EQ 5555
INCPAGQUITPAGE
END
This OPAL includes a page only if the specified data appears on the page and stops processing if the data doesn’t match the values.
153
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Include Page in ReportFrom the Kitchen of Terri Rugg
Logic Operand Variable Line Beg End Operation Operation ValueIF LINENBR EQ 8IF 71 72 EQ 32
INCPAGEND
QUITPAGEEND
154
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Report to Run on Sunday OnlyFrom the Kitchen of Yen-Thu Le
Logic Operand Variable Line Beg End Operation Operation ValueIF DAY GE 1AND DAY LE 6
SKIPEND
This OPAL code will run the report only on Sundays.
155
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Create an Index by PO NumberFrom the Kitchen of Ron Hudson
Logic Operand Variable Line Beg End Operation Operation ValueIF LINENBR EQ 3
72 77 INDEX PONO72 77 HILITE White/Underscore
END
This OPAL code is used in Robot/REPORTS to create an index of all purchase orders by PO number. When viewing the purchase order,the PO number is underlined and highlighted.
156
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Segment Report by Customer Service RepFrom the Kitchen of Rick Roe
Logic Operand Variable Line Beg End Operation Operation ValueIF 9 111 113 EQ U02AND 9 60 61 NE 02OR 9 111 113 EQ M02AND 9 60 61 NE 02OR 9 111 113 EQ M08AND 9 60 61 NE O2
INCPAGELSE
QUITPAGEEND
This OPAL selects accounts for Customer Service Representatives who use the report for shipping goods to customers. The full reportis very large and the reps want to see only the portions they are responsible for.
157
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Check for User and Date RangeFrom the Kitchen of Mike Roberts
Logic Operand Variable Line Beg End Operation Operation ValueIF DAYMTH GE 15AND DAYMTH LE 22AND USER EQ ‘CHUCK’IF LINENBR EQ 8AND 2 10 EQ ‘RESODEXPRT’
STRINCPAGENDIF LASTLINE EQ Y
EXECUTE RBTRCLLIB/RCLEXEC CLIENT(PC-ROBOT)CMD(‘C:\PROGRAM FILES\MONARCH\EXPORT\...’)
ENDEND
158
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Select Specific Plant NumbersFrom the Kitchen of Toni Montgomery
Logic Operand Variable Line Beg End Operation Operation ValueIF 5 83 85 EQ ‘20’
STRINCPAGQUITPAGE
ENDIF 5 83 85 GT ‘28’
ENDINCPAGQUITPAGE
END
This OPAL prints plant numbers between 20 and 28.
159
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Print One Division at a TimeFrom the Kitchen of Marie Bateman
Logic Operand Variable Line Beg End Operation Operation ValueIF TEXT CT ‘HOUS401’
INCLINENDIF TEXT CT ‘DR PK PROC 404’
INCLINENDIF TEXT CT ‘DR PK CHEM 408’
INCLINEND
This OPAL code looks at a 100+ page report and selects only the information for the Houston Facility.
160
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Divides Report into Multiple SectionsFrom the Kitchen of Craig Arensman
Logic Operand Variable Line Beg End Operation Operation ValueIF LINENBR EQ 9IF 8 10 EQ 910
STRINCPAGENDIF 8 10 GT 910
EXCPAGQUIT
ELSEQUITPAGE
ENDEND
This OPAL divides a report into multiple sections for printing and viewing. The report contains department numbers on line 9, columns8-10, in sequential order. If the department number is equal to 910, it starts including pages. When it finds the next department, itexcludes the page and quits processing.
161
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
Using a TableFrom the Kitchen of Chuck Brant
Logic Operand Variable Line Beg End Operation Operation ValueIF 1 5 INTABLE REASONSTHEN STRINCLINELSEIF 1 5 NOTINTABLE REASONSTHEN STREXCLINIF 1 6 EQ ‘DRIVER’
QUITPAGE
This OPAL searches every line of a report and starts including lines when it sees the codes in the table. It excludes any line that startswith a code NOT in the table. The OPAL quits the page when it finds the word DRIVER.
162
DISCLAIMER: THIS DOCUMENT WAS DESIGNED SOLELY AS AN EXAMPLE FOR CREATING OPAL CODE. AS SUCH, THIS DOCUMENT IS NOT MEANT TO BE COMPLETE DOCUMENTATION FOR CRE-ATING OR IMPLEMENTING OPAL IN ANY SPECIFIC ENVIRONMENT. WHEN CREATING OR IMPLEMENTING OPAL CODE, THE USER ASSUMES ALL RESPONSIBILITY FOR BECOMING FAMILIARWITH THEIR ENVIRONMENT AND FOR THE OUTCOME. HELP/SYSTEMS ASSUMES NO RESPONSIBILITY OR LIABILITY FOR THE RESULTS DUE TO THE IMPLEMENTATION OF OPAL CODE.
From the Kitchen of zzzzzzzzzzzzzzzzz
Logic Operand Variable Line Beg End Operation Operation Value
163
164
From the Kitchen of zzzzzzzzzzzzzzzzz
Logic Operand Variable Line Beg End Operation Operation Value
165
From the Kitchen of zzzzzzzzzzzzzzzzz
Logic Operand Variable Line Beg End Operation Operation Value
166
From the Kitchen of zzzzzzzzzzzzzzzzz
Logic Operand Variable Line Beg End Operation Operation Value
167
From the Kitchen of zzzzzzzzzzzzzzzzz
Logic Operand Variable Line Beg End Operation Operation Value
168
From the Kitchen of zzzzzzzzzzzzzzzzz
Logic Operand Variable Line Beg End Operation Operation Value
© Help/Systems, LLC. All trademarks and registered trademarks are the property of their respective owners. A111OP2
helpsystems.com | [email protected] | 952-933-0609