*DECK,OPRMSG
USETEXT COMCBEG 
USETEXT COMQDEF 
USETEXT COMQKDS 
    PROC OPRMSG (MSGTEXT, (MSGLENGTH)); 
      BEGIN  # OPRMSG # 
# 
**    OPRMSG     SEND MESSAGE TO OPERATOR.
* 
*     OPRMSG SENDS MESSAGE TO OPERATOR. 
* 
*     PROC OPRMSG (MSGTEXT, (MSGLENGTH))
* 
*     ENTRY      MSGTEXT = MESSAGE TO BE LOGGED 
*                MSGLENGTH = LENGTH IN CHARACTERS OF MSGTEXT. 
* 
*     EXIT       MESSAGE HAS BEEN SENT TO DAYFILE.
*                K/L DISPLAY UPDATED. 
* 
*     PROCESS    MOVE MESSAGE TO K/L DISPLAY. 
*                CALL MSGLOG TO DAYFILE MESSAGE.
# 
  
      BASED ARRAY MSGTEXT [0:0] S(5); 
        BEGIN 
        ITEM MSGTEXT$   C(00,00,50);  # MESSAGE TO GO TO DAYFILE #
        END 
  
      ITEM MSGLENGTH  I;           # LENGTH OF MESSAGE IN CHARACTERS #
  
# 
****  XREF
# 
      XREF
        BEGIN 
        PROC MSGLOG;               # ISSUE DAYFILE MESSAGE #
        PROC NAME;                 # DEBUG CODE # 
        END 
  
# 
****  XREF END
# 
  
      DEF MSGHDRLEN  #06#;
      DEF MSGTXTLEN  #50#;
  
      ARRAY MSGAREA [0:0] S(6); 
        BEGIN 
        ITEM MSGQTF     C(00,00,MSGHDRLEN) = [" QTF, "];
        ITEM MSGDATA    C(00,36,MSGTXTLEN); 
        END 
  
        $BEGIN
        NAME("OPRMSG");            # DEBUG CODE # 
        $END
  
      IF MSGLENGTH GT MSGTXTLEN 
      THEN
        BEGIN 
        MSGLENGTH = MSGTXTLEN;
        END 
  
      KL$OPRMSG = C<00,MSGLENGTH>MSGTEXT$;
      MSGDATA   = C<00,MSGLENGTH>MSGTEXT$;
      MSGLENGTH = MSGLENGTH + MSGHDRLEN;
      MSGLOG(LOC(MSGAREA),MSGLENGTH); 
      KL$CMDEPTR = " "; 
  
      END  # OPRMSG # 
    TERM
