Previous Topic: TLMDATE ADD_YEARS Macro—Add Years to a DateNext Topic: TLMDATE CLOSE Macro—Close Date Processing


TLMDATE ANCHOR Macro—Define Anchor Control Block

Use the ANCHOR form of the TLMDATE macro to define the Anchor Control Block.

At least one TLMDATE ANCHOR function must be coded to allow PREFIX to default. Other forms of the TLMDATE macro rely on the labels generated to obtain offsets.

This macro has the following format:

label TLMDATE ANCHOR [,PREFIX=xx]
PREFIX=xx

(Optional) Specifies the prefix used for the work area.

Default: DA (Date Anchor)

The following is the data area generated for TLMDATE ANCHOR:

         DS    0F
name     DS    0XL32              ANCHOR CONTROL BLOCK
DATOKEN  DC    A(0)               TOKEN (POINTER TO WORKAREA)
DAFUNC   DC    A(0)               FUNCTION TO BE PERFORMED
DAFNOPEN EQU   4                  OPEN
DAFNSEFM EQU   8                  SET_FORMAT
DAFNTEFM EQU   12                 TEST_FORMAT
DAFNCLOS EQU   16                 CLOSE
DAFNRTDT EQU   20                 RETURN_DATE
DAFNRTTY EQU   24                 RETURN_TYPE
DAFNNMDA EQU   28                 NUM_DAYS
DAFNSBDA EQU   32                 SUB_DAYS
DAFNADDA EQU   36                 ADD_DAYS
DAFNSBYR EQU   40                 SUB_YEARS
DAFNADYR EQU   44                 ADD_YEARS
DAFNADWK EQU   48                 ADD_WORK
DAFNFRJF EQU   52                 FROM_JFCB
DAFNTOJF EQU   56                 TO_JFCB
DAFNFRHD EQU   60                 FROM_HDR1
DAFNTOHD EQU   64                 TO_HDR1
DAFNFRXT EQU   68                 FROM_EXTERNAL
DAFNTOXT EQU   72                 TO_EXTERNAL
DAFNTOPR EQU   76                 TO_PREFERRED
DAFNTOXP EQU   80                 TO_EXPLODED
DAFNKYCN EQU   84                 KEYWORD_CONFLICTS
DAFNSEKY EQU   88                 SET_KEYWORD
DARETURN DC    A(0)               RETURN CODE
DARCNORM EQU   0
DARCWARN EQU   4
DARCERRO EQU   8
DARCFAIL EQU   12
DAREASON DC    A(0)              REASON CODE (RC=4,8,12 ONLY)
DARSDFLT EQU   0                 DEFAULT. NO ADDITIONAL INFO
DARSNTPK EQU   4           RC=8  DATE FIELD NOT PACKED
DARSBDKY EQU   4           RC=12 KEY= NOT 'YES' OR 'NO '
DARSBDSQ EQU   8           RC=12 WRONG SEQUENCE FOR FUNCTIONS
DARSDTRG EQU   8           RC=8  NOT IN ACCEPTABLE DATE RANGE
DARSUKWD EQU   12          RC=8  UNDEFINED KEYWORD
DARSBNRG EQU   16          RC=8  BINARY VALUE NOT IN VALID RANGE
DARSDTCM EQU   20          RC=8  COMPUTED DATE NOT IN RANGE
DARSKYDD EQU   24          RC=8  DDD FOR KEYWORD NOT IN RANGE
DARSDTDD EQU   28          RC=8  DDD FOR DATE NOT IN RANGE
DARSBDFM EQU   32          RC=8  INVALID FORMAT PARM
DARSUNFM EQU   36          RC=8  EXT DATE IN UNKNOWN FORMAT(WONT MAP)
DARSKWDU EQU   40          RC=8  KWD USE NOT APPROPRIATE FOR FUNC
DARSBDHD EQU   44          RC=8  NOT VALID HDR1 DATE
DARSBDDD EQU   48          RC=8  DD INVALID FOR MM
DARSBDMM EQU   52          RC=8  MM INVALID (NOT 1 -12)
DARSBDCM EQU   56          RC=8  MMM INVALID (NOT VALID ABBREV)
DAFDBK   DC    A(0)               FEED BACK (RC=0 ONLY)
DAFBZERO EQU   0                    ZEROS
DAFBJDAT EQU   4                    JDATE       - INTERNAL DATE
DAFBOJDT EQU   8                    OJDATE      - OLD JULIAN FMT
DAFBFRGN EQU   12                   FOREIGN     - NON CA TLMS
DAFBLDAT EQU   16                   LDATE/DDD   - LAST USE  RETENTION
DAFBCTLG EQU   20                   CATLG       - CATALOG   RETENTION
DAFBCYCL EQU   24                   CYCLE/CCC   - CYCLE     RETENTION
DAFBPERM EQU   28                   PERM        - PERMANENT RETENTION
DAFBCTDD EQU   32                   CATLG/DDD   - CATLG/DDD RETENTION
DAFBUSER EQU   36                   USER/NNN    - USER RETENTION
DAFBSTAT EQU   40                   STATS/NNN   - HOLD STATUS CODE
DAFBMSG  EQU   44                   MSG/NNN     - AUXILLARY MESSAGE
DAFBAGE  EQU   48                   AGE/DDD
DALEVEL  DC    CL8'BASE'          MACRO LEVEL
DAMODULE DC    A(0)               ADDRESS OF DATE MODULE