When 'Recall reports from off-line media' is set in the AdminTool->Folder Properties->Filter Defaults and Limits->Off-line report access Method field, it indicates that you do not have the CA VIEW EAS or CENTERA options to view tapes without recall. You need to implement your own automation on the mainframe side to "look" for WTO messages from the DRAS task, for example, CAHATPR02 . These messages include identifying report information so that automation can construct and submit a CA View batch job to recall the report. CA DRAS has configuration options that allow the user to select which messages are echoed by WTO (i.e. the SAR messages that are issued when an offline report are accessed).
Overview of Procedure
Create an MSG rule to strip out the report id and gen values that are needed and to call the program that will create and recall the report. For example, write a REXX EXEC to create and submit a SARBCH LOAD job for CA VIEW. The REXX exec will accept the report id and gen values as input.
NOTE: This is just a sample. Please configure for your environment. You will need to make sure that the REXX is in your SYSEXEC for your servers and that your OSFGETJOBID is set to YES.
- CA DRAS generates a message like this when a CA Output Management Web Viewer user selects an archived report:
CAHATPR02 Report "99999" Gen=9999 Seq=1 User USERID recall request
CAHATPR02 Report "rid" Gen=gen Seq=seq User user DB db_hlq recall request
- NOTE: This message should be set up in DRAS with a SET WTO SAMPLE (MSG rule
- This rule is executed when CAHATPR02 is detected in the DRAS log. It parses the message, extracts the two needed values and calls the REXX exec to build and submit the recall job.
Sample MSG Rule in DRAS
NOTE: This message should be set up in DRAS with a SET WTOSAMPLE (MSG rule. This rule is executed when CAHATPR02 is detected in the DRAS log. It parses the message, extracts the two needed values and calls the REXX exec to build and submit the recall job.
MG=msg.text /* assigns text of message to a value of MG */
id# = word(MG,3) /* 3rd word in message assigned to id# */
id# = STRIP(id#,,'"') /* removes the quotes from id# (word3) */
gen# = word(MG,4) /* 4th word in message assigned to gen# */
"OI SUBMTJOB" id# gen# /* Execute SUBMTJOB REXX which submits job with values */
Sample SUBMTJOB REXX EXEC to BUILD and SUBMIT the recall JCL
Parse arg id# gen# /* value of word 3 and word 4 */ line.1 = "//J12345 JOB ,'SAR REPORT RETRIEVAL',CLASS=N,"
line.2 = "// MSGCLASS=J,MSGLEVEL=(1,1)"
line.3 = "//STARTUP1 EXEC UCC11RMS"
line.4 = "//STEP1 EXEC PGM=SARBCH,PARM='P06.D63200A.SAR'"
line.5 = "//STEPLIB DD DSN=SYS3.SAR.LOADLIB,DISP=SHR"
line.6 = "//SYSPRINT DD SYSOUT=*"
line.7 = "//REPORT DD SYSOUT=(A,,C611)"
line.8 = "//SYSIN DD *"
line.9 = "/LOAD ID="id# gen# /* inserts values of word 3 and word 4 */
zz = OPSUBMIT(line.)
If rc <> 0 then
Do while queued() <> 0