IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

CA1 exit ---TMSXITC


IBM Mainframe Forums -> CA Products
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
jackzhang75

Active User


Joined: 09 Jun 2014
Posts: 125
Location: US

PostPosted: Wed Aug 05, 2015 11:19 pm
Reply with quote

Hi experts,

I want to know what 's the use of CA1 exit TMSXITC , anyone have experience before ?

When i saw the discription it said "CA-1 Exit C is related to accounting data. It is used to copy the job accounting data when creating a multi-volume tape file. Also enforces tape retention standards when tape is being used with disp=old or disp=shr since JES2 cannot pick-up that retention period needs to be re-evaluated."

I am not very famaliar with tape , so my question is what it means by muti-volume tape file ? and what is retention period means ?

Thanks
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Thu Aug 06, 2015 12:56 am
Reply with quote

A multi-volume tape file is a data set that requires more than one tape volume. A tape data set can reside on as many as 255 volumes. Back in the tape reel days, a volume was a reel; then it became a cartridge as reels were replaced by cartridges.

Retention period is specified in various ways (via DD statement is the most common) and indicates the number of days to keep the tape. After the retention period passes, CA-1 will expire the tape and return it to the scratch pool for writing a new data set on it. Expiration date is an alternative way of indicating the retention period. See the JCL Reference manual on the DD statement LABEL parameter for more information.
Back to top
View user's profile Send private message
steve-myers

Active Member


Joined: 30 Nov 2013
Posts: 917
Location: The Universe

PostPosted: Thu Aug 06, 2015 6:44 am
Reply with quote

Mr. Sample's summary is basically correct. LABEL=RETPD=5 tells the system to add 5 days to the current date and store that date as the tape's expiration date. For example, today is August 5. If I specify LABEL=RETPD=5, the tape will expire August 10, and you can write over it on August 10. On August 11 I think it is, CA1 will add the tape to the scratch tape pool so it can be placed in racks as a scratch tape. I'm less certain about the mechanics for robots and virtual tape, but I think it's the same.

If I remember CA1 correctly, if no expiration date is provided in JCL, CA1 uses a default retention period that is set in CA1 startup parameters.

As Mr. Sample says, a multi-volume tape data extends over several tape volumes. This used to be very common, though as tape capacity has increased it has become somewhat less common. On the other hand, virtual tape volume capacity tends to run less than real tape volume capacity, so you can draw your own conclusions. CA1 manages a multi-volume tapes as a group.
Back to top
View user's profile Send private message
jackzhang75

Active User


Joined: 09 Jun 2014
Posts: 125
Location: US

PostPosted: Thu Aug 06, 2015 6:57 pm
Reply with quote

Thank you very much for your answer. Following is part of our exit , for
STCCHEK part , i am not sure what this part of code used for , especailly this part
STCCHEK DS 0H CHECK FOR STC
CLI 0(R9),X'00' TMMACT XC'D BY TMSXITJ FOR STC ?
BE EXIT YES, GO TO EXIT AND BYPASS STC'S
LR R7,R10 BEGINING OF USER FIELD (CURRENT VOL)
LA R6,266(0,0) THIS IS THE BEGINING OF THE TMC RCD
SR R7,R6
USING TMACCTDS,R7

What's the purpose of substract R6 from R7 and use R7 as base register ?
I didnt get it. Thanks

Code:
 *    REGISTER USAGE                                         
 *        R0    UNUSED                                       
 *        R1    UNUSED                                       
 *        R2    UNUSED                                       
 *        R3    POINTER TO SYMBOL SUBSTITUTION PARAMETER LIST
 *        R4    WORK REGISTER                                 
 *        R5    UNUSED                                       
 *        R6    UNUSED                                       
 *        R7    UNUSED                                       
 *        R8    ADDRESS OF PARAMETER LIST                     
 *        R9    ADDRESS OF ACCOUNTING AREA                   
 *        R10   ADDRESS OF CURRENT VOLUME                     
 *        R11   ADDRESS OF BASE VOLUME                       
 *        R12   BASE REGISTER                                 
 *        R13   SAVE AREA                                     
 *        R14   RETURN ADDRESS                               
 *        R15   RETURN CODE (NOT REQUIRED)                   
                                                             

 **********************************************************
          EJECT                                                         
 TMSXITC  CSECT ,                                                       
 TMSXITC  AMODE 31                                                       
 TMSXITC  RMODE ANY                                                     
 *---------------------------------------------------------------------*
 *  THIS MODULE IS REENTRANT.  IF A GETMAIN IS REQUIRED FOR WORKING    *
 *  STORAGE, REMOVE SAVE=NO AND ADD DATA=WORKAREA IN THE FOLLOWING     *
 *  TMMLINK MACRO.                                                     *
 *---------------------------------------------------------------------*
          TMMLINK ENTRY,BASE=(R12),EQUS=YES,                            X
                DATA=WORKAREA,                                          X
                SYSMOD=CAL0C60                                   CAL0C60
          EJECT                                                         
          SPACE 2                                                       
          LR    R8,R1              PARAMETER LIST                       
          USING UX0CPARM,R8        ADDRESSABILITY                   
          LM    R9,R11,UX0CPARM    LOAD ALL PARAMETERS             
          USING TMRECST,R10        ADDRESSABILITY                   
          LTR   R11,R11            Q. IS THIS A MULTI-VOLUME       
          BNZ   MULTIVOL           A. YES, COPY ONLY CERTAIN FIELDS

         SPACE 2                                               
         MVC   TMACCT,0(R9)       MOVE ACCT FIELD TO USER FIELD

 STCCHEK  DS    0H                 CHECK FOR STC                     
          CLI   0(R9),X'00'        TMMACT XC'D BY TMSXITJ FOR STC ?
          BE    EXIT               YES, GO TO EXIT AND BYPASS STC'S 
          LR    R7,R10             BEGINING OF USER FIELD (CURRENT VOL) 
          LA    R6,266(0,0)        THIS IS THE BEGINING OF THE TMC RCD   
          SR    R7,R6                                                   
          USING TMACCTDS,R7                                             
          CLI   TMAREA,C'Q'         EXCLUDE MEDICARE VOLUMES             
          BE    EXIT                                                     
          CLI   TMAREA,C'T'         IS THIS TECHNICAL SERVICES?     
          BNE   JOBNMCHK            NO, GO CHECKJOBNAME                               
          CLC   TMSYSID,=C'JHS'     IS THIS JHS ARCHIVING SYSTEM?   
          BE    EXIT                YES, GO EXIT AND HONOR RETPD   
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Thu Aug 06, 2015 7:20 pm
Reply with quote

First, your questions SHOULD be raised internally -- the exit was written (and presumably maintained) by someone working at your site, so asking on a forum like this is not going to get you definitive answers.

Second, STC is shorthand for started task. Since HSM, for one, runs as a started task a tape management system would need to know which tapes are being used by started tasks.

Third, asking about R6 and R7 in the exit is not going to help much unless you know Assembler very well. You need to look at the assembled code to see what is happening. It appears from code inspection that R7 points to the address of the current volume; the starting address of the TMC record is loaded into R6 and subtracted so only relative offsets are left. The DSECT TMCACCTDS presumably maps those relative addresses to actual variable names. That would allow the CLI TMAREA instructions to address the correct byte.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> CA Products

 


Similar Topics
Topic Forum Replies
No new posts Use of Perform Thru Exit COBOL Programming 6
No new posts user exit in IBM Infosphere Optim DB2 8
No new posts ACS exit routine JCL & VSAM 0
No new posts Research regarding csqcapx exit CICS 0
No new posts ISPF END or EXIT in Rexx CLIST & REXX 13
Search our Forums:

Back to Top