0QM 
          IDENT  0QM,IQMX 
          PERIPH J
          BASE   MIXED
          SST 
*COMMENT  0QM - ISSUE QUEUE FILE ACCOUNTING MESSAGE.
          COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992. 
          TITLE  0QM - ISSUE QUEUE FILE ACCOUNTING MESSAGE. 
          SPACE  4,10 
***       0QM - ISSUE QUEUE FILE ACCOUNTING MESSAGE.
* 
*         P. D. HAAS.        81/06/18.
*         G. S. YODER.       88/09/21.
          SPACE  4,10 
***       0QM GENERATES *ABLQ*, *ARRQ*, AND *AEQP* ACCOUNT DAYFILE
*         MESSAGES FOR FILES ENTERING, REENTERING, AND LEAVING THE QFT. 
          SPACE  4,10 
***       ENTRY CONDITIONS. 
* 
*         (LA-2 - LA-1) = ACCOUNT FILE MESSAGE IDENTIFIER (*ABLQ*,
*                         *ARRQ* OR *AEQP*).
*         QUEUE FILE SYSTEM SECTOR IN *BFMS*. 
          SPACE  4,10 
***       EXIT CONDITIONS.
* 
*         (A) = 0.
*         MESSAGE ISSUED TO ACCOUNT DAYFILE.
          SPACE  4,10 
***       USES. 
* 
*         USES   CM - CM+4, T1 - T3.
          SPACE  4,40 
***       ACCOUNT DAYFILE MESSAGES. 
* 
* 
*         *ABLQ, C1, JSN, YYMMDD, HHMMSS, DC.*
*         *ABLQ, C2, XXXXXX.XXXKUNS, SC.* 
*                JSN = JOB SEQUENCE NAME. 
*                YYMMDD = DATE OF ENTRY.
*                HHMMSS = TIME OF ENTRY.
*                DC = DISPOSITION CODE. 
*                XXXXXX.XXX = FILE SIZE IN SECTORS. 
*                SC = SERVICE CLASS.
*                FILE ENTERED IN QUEUE.  THE *JSN*, *YYMMDD*, AND 
*                  *HHMMSS*, FIELDS WILL MATCH THE CORRESPONDING FIELDS 
*                  IN SUBSEQUENT *ARRQ* AND *AEQP* MESSAGES ISSUED FOR
*                  THE FILE.
* 
*         *ARRQ, C1, JSN, YYMMDD, HHMMSS, DC.*
*         *ARRQ, C2, XXXXXX.XXXKUNS, SC.* 
*                JSN = ORIGINAL JOB SEQUENCE NAME.
*                YYMMDD = DATE OF ORIGINAL ENTRY IN QUEUE.
*                HHMMSS = TIME OF ORIGINAL ENTRY IN QUEUE.
*                DC = DISPOSITION CODE. 
*                XXXXXX.XXX = FILE SIZE IN SECTORS. 
*                SC = SERVICE CLASS.
*                FILE REENTERED IN ACTIVE QUEUE AFTER REMOVAL.  THE 
*                 *JSN*, *YYMMDD*, AND *HHMMSS* FIELDS WILL MATCH THE 
*                 CORRESPONDING FIELDS IN THE ORIGINAL *ABLQ* MESSAGE 
*                 ISSUED FOR THE FILE.
* 
*         *AEQP, C1, JSN, YYMMDD, HHMMSS, DC.*
*         *AEQP, C2, XXXXXX.XXXKUNS, SC.* 
*                JSN = ORIGINAL JOB SEQUENCE NAME.
*                YYMMDD = DATE OF ORIGINAL ENTRY IN QUEUE.
*                HHMMSS = TIME OF ORIGINAL ENTRY IN QUEUE.
*                DC = DISPOSITION CODE. 
*                XXXXXX.XXX = FILE SIZE IN SECTORS. 
*                SC = SERVICE CLASS.
*                FILE REMOVED FROM QUEUE.  THE *JSN*, *YYMMDD*, AND 
*                  *HHMMSS* FIELDS WILL MATCH THE CORRESPONDING FIELDS
*                  IN THE ORIGINAL *ABLQ* MESSAGE ISSUED FOR THE FILE.
          SPACE  4,10 
**        COMMON DECKS. 
  
  
*CALL     COMPMAC 
*CALL     COMPREL 
*CALL     COMSSCD 
*CALL     COMSSSE 
*CALL     COMSZOL 
          TITLE  MAIN ROUTINE.
**        IQM - MAIN ROUTINE. 
  
  
          ORG    5
 IQM      SUBR               ENTRY/EXIT 
          LDM    -1          SET ACCOUNT FILE MESSAGE IDENTIFIER
          STM    MC1B+1 
          STM    MC2B+1 
          LDM    -2 
          STM    MC1B 
          STM    MC2B 
  
*         SET MESSAGE HEADER JSN AND SERVICE CLASS. 
  
          LMC    2RAB 
          SHN    14 
          NJN    IQM1        IF NOT *ABLQ* MESSAGE
          LDK    CJSS-IOSS   USE QUEUE FILE JSN 
 IQM1     STD    T1 
          LDM.   IOSS,T1     SET CREATING JOB OR QUEUE FILE JSN 
          STM    MC1A 
          STM    MC2A 
          LDM.   IOSS+1,T1
          STM    MC1A+1 
          STM    MC2A+1 
          LDD    T1 
          ZJN    IQM2        IF NOT *ABLQ* MESSAGE
          LDD    CP          USE SERVICE CLASS OF CURRENT JOB 
          ADK    TFSW 
          CRD    CM 
          CFI    EJT,CM 
          STD    T1 
          LDK    EJTP 
          CRD    CM 
          LDD    CM 
          SHN    14 
          LMD    CM+1 
          ADD    T1 
          ADK    SCLE 
          CRD    CM 
          LDD    CM 
          UJN    IQM3        SET SERVICE CLASS IN MESSAGE HEADER
  
 IQM2     LDM.   IOSS+SCLQ*5+0  USE SERVICE CLASS OF QUEUED FILE
 IQM3     SHN    -6 
          STM    MC1A+4 
          STM    MC2A+4 
  
*         SET ORIGINAL JSN, SERVICE CLASS, AND DISPOSITION CODE.
  
          LDM.   OJSS        SET ORIGINAL JSN 
          STM    MC1C 
          LDM.   OJSS+1 
          STM    MC1C+1 
          LDM.   IOSS+SCLQ*5+0  SET SERVICE CLASS 
          SHN    -6 
          ADD    LA 
          STD    T1 
          LDM.   TOSC,T1
          STM    MC2D 
          LDM.   DCSS        SET DISPOSITION CODE 
          STM    MC1E 
  
*         SET FILE LENGTH.
  
          LDD    LA          RELOCATE FILE LENGTH READ
          RAM    IQMA 
          LDN    ZERL        SET UP CONVERSION REQUEST
          CRD    CM 
          LDM.   FLSS 
          STD    CM+3 
          LDM.   FLSS+1 
          STD    CM+4 
          ADD    CM+3 
          ZJN    IQM3.1      IF ZERO LENGTH FILE
          LDD    MA 
          CWD    CM 
          MONITOR  RDCM      CONVERT FILE LENGTH
          LDD    MA          SET FILE LENGTH IN MESSAGE 
          CRM.   MC2C,ON
 IQMA     EQU    *-1
  
*         SET CREATION DATE AND TIME. 
  
 IQM3.1   LDN    3           SET LOOP INDEX 
          STD    T3 
          LDC    CDSS+2      SET ADDRESS OF DATE AND TIME GROUP 
          STD    T1 
          LDC    MC1D        SET DESTINATION ADDRESS
          ADD    LA 
          STD    T2 
 IQM4     LDI    T1          CONVERT DATE AND TIME
          SHN    -6 
          STD    CM          SAVE VALUE 
          LDD    T3          CHECK PROCESSING POINT 
          SBN    3
          NJN    IQM5        IF NOT PROCESSING PACKED YEAR
          LDD    CM 
          SBN    30D         BIAS FOR YEARS .GE. 2000 
          PJN    IQM5.1      IF YEAR IS .GE. 2000 
          LDC    70D         BIAS YEAR BY 1970
          RAD    CM 
 IQM5     LDD    CM          CONVERT TO DISPLAY CODE
 IQM5.1   RJM    CDD
          STI    T2 
          AOD    T2          ADVANCE MESSAGE ADDRESS
          LDD    T3 
          SBN    2
          NJN    IQM6        IF TIME VALUE NOT REACHED
          AOD    T2 
 IQM6     LDI    T1          CONVERT TO DISPLAY CODE
          LPN    77 
          RJM    CDD
          STI    T2 
          AOD    T1          ADVANCE SYSTEM SECTOR ADDRESS
          AOD    T2 
          SOD    T3 
          NJN    IQM4        IF CONVERSION NOT COMPLETE 
  
*         ISSUE MESSAGES TO ACCOUNT FILE. 
  
          LDC    AJNN+MC1A
          ADD    LA 
          RJM.   DFM         ISSUE *C1* MESSAGE 
          LDC    AJNN+MC2A
          ADD    LA 
          RJM.   DFM         ISSUE *C2* MESSAGE 
*         LDN    0
          LJM    IQMX        RETURN 
          SPACE  4,10 
**        DATA   AREA.
  
  
*         *C1* MESSAGE. 
  
 MC1A     DATA   10HJSNC
 MC1B     DATA   H*AXXX, C1,* 
 MC1C     DATA   H*JSNO,* 
 MC1D     DATA   H*YYMMDD, HHMMSS,* 
 MC1E     DATA   C*DC.* 
  
*         *C2* MESSAGE. 
  
 MC2A     DATA   10HJSNC
 MC2B     DATA   H*AXXX, C2,* 
 MC2C     DATA   H*     0.000KUNS, *
 MC2D     DATA   C*SC.* 
  
*         TABLE OF SERVICE CLASS CODES. 
  
 TOSC     BSS    0
          DATA   H+"NMSC"+
          SPACE  4,10 
**        COMMON DECKS. 
  
  
*CALL     COMPCDD 
  
  
          RSTR
          SPACE  4,10 
          ERRNG     ZQML-*   BYTES WHICH CAN BE ADDED TO *0QM*
          SPACE  4,10 
          END 
