The following program shows how the TMS tags associated with a tape volume may be accessed. As usual in the FATMEN system, all access is based on the generic-name.
Access to TMS tag information from FORTRAN
PARAMETER (LURCOR=200000)
COMMON/CRZT/IXSTOR,IXDIV,IFENCE(2),LEV,LEVIN,BLVECT(LURCOR)
DIMENSION LQ(999),IQ(999),Q(999)
EQUIVALENCE (IQ(1),Q(1),LQ(9)),(LQ(1),LEV)
*
COMMON /USRLNK/LUSRK1,LUSRBK,LUSRLS
*
COMMON /QUEST/IQUEST(100)
*
* Start of FATMEN sequence FATPARA
*
** *** Data set bank mnemonics
*
* Keys
PARAMETER ( MKSRFA= 1, MKFNFA= 2, MKCLFA=7, MKMTFA=8
1 ,MKLCFA= 9, MKNBFA=10, NKDSFA=10 )
*
** *** Bank offsets
*
PARAMETER ( MFQNFA= 1, MHSNFA= 65, MCPLFA= 67, MMTPFA= 68
1 ,MLOCFA= 69, MHSTFA= 70, MHOSFA= 74
2 ,MVSNFA= 77, MVIDFA= 79, MVIPFA= 81, MDENFA= 82
3 ,MVSQFA= 83, MFSQFA= 84, MSRDFA= 85, MERDFA= 86
4 ,MSBLFA= 87, MEBLFA= 88, MRFMFA= 89, MRLNFA= 90
5 ,MBLNFA= 91, MFLFFA= 92, MFUTFA= 93, MCRTFA= 94
6 ,MCTTFA= 95, MLATFA= 96, MCURFA= 97, MCIDFA= 99
7 ,MCNIFA=101, MCJIFA=103, MFPRFA=105, MSYWFA=106
8 ,MUSWFA=116, MUCMFA=126, NWDSFA=145
9 ,MFSZFA=MSYWFA,MUSCFA=MSYWFA+1)
* End of FATMEN sequence FATPARA
PARAMETER (LKEYFA=10)
DIMENSION KEYS(LKEYFA)
CHARACTER*80 GENAM
CHARACTER*255 CHTAGS
*
*
* Initialise ZEBRA
*
CALL MZEBRA(-3)
CALL MZSTOR(IXSTOR,'/CRZT/','Q',IFENCE,LEV,BLVECT(1),BLVECT(1),
+ BLVECT(5000),BLVECT(LURCOR))
CALL MZLOGL(IXSTOR,-3)
*
* *** Define user division and link area like:
*
CALL MZDIV (IXSTOR, IXDIV, 'USERS', 50000, LURCOR, 'L')
CALL MZLINK (IXSTOR, '/USRLNK/', LUSRK1, LUSRLS, LUSRK1)
*
* Units for FATMEN RZ/FZ files
*
LUNRZ = 1
LUNFZ = 2
*
* Initialise FATMEN
*
CALL FMINIT(IXSTOR,LUNRZ,LUNFZ,'//CERN/CNDIV',IRC)
CALL FMLOGL(0)
*
* Get list of file names
*
GENAM = '//CERN/CNDIV/JAMIE/OUT'
LG = LENOCC(GENAM)
CHTAGS = 'Archive tape for FATMEN source'
*
* Set tag - default is Text tag
*
CALL FMTAGS(GENAM(1:LG),LBANK,KEYS,CHTAGS,'S',IRC)
*
* Read back and print tag
*
CALL FMTAGS(GENAM(1:LG),LBANK,KEYS,CHTAGS,'G',IRC)
PRINT *,IRC,CHTAGS(1:LENOCC(CHTAGS))
*
* Terminate cleanly
*
CALL FMEND(IRC)
END