*DECK XSNM
          IDENT  XSNM 
*CALL COPYRITE          CDCNET - COPYRIGHT CONTROL DATA. 1985.
          ENTRY  XSNM 
          SYSCOM B1 
          TITLE  XSNM - SET NAME IN MESSAGE.
          COMMENT  XSNM - SET NAME IN MESSAGE.
          COMMENT - COPYRIGHT CONTROL DATA SYSTEMS INC. 1994. 
 XSNM     SPACE  4,10 
**        XSNM - SET NAME IN MESSAGE. 
* 
*         *XSNM* INSERTS A NAME INTO A MESSAGE TEMPLATE BY REPLACING
*         OCCURRENCES OF A SPECIAL SEARCH CHARACTER IN THE MESSAGE WITH 
*         CHARACTERS FROM THE NAME AND ELIMINATING ALL EXCESS INSTANCES 
*         OF THE SEARCH CHARACTER.
* 
*         *SYMPL* CALL -
* 
*         XSNM (TEMPLATE, SEARCH, NAME, MESSAGE)
* 
*         ENTRY  TEMPLATE = BUFFER CONTAINING MESSAGE TEMPLATE.  THE
*                           MESSAGE CANNOT CONTAIN COLONS (:) (WHICH
*                           WILL BE INTERPRETED AS END OF LINE).  THE 
*                           MESSAGE MUST BE LEFT-JUSTIFIED AND ZERO-
*                           FILLED. 
*                SEARCH   = SEARCH CHARACTER TO BE REPLACED BY NAME.
*                           MUST BE LEFT-JUSTIFIED. 
*                           THE MESSAGE TEMPLATE MUST CONTAIN AT LEAST
*                           AS MANY INSTANCES OF THE SEARCH CHARACTER 
*                           AS THERE ARE NON-ZERO CHARACTERS IN NAME. 
*                           ALL INSTANCES OF THE SEARCH CHARACTER WILL
*                           BE DELETED FROM THE MESSAGE, SO THE 
*                           TEMPLATE SHOULD NOT USE THE CHARACTER FOR 
*                           ACTUAL TEXT.
*                NAME     = NAME TO INSERT INTO MESSAGE.  MUST BE 
*                           LEFT-JUSTIFIED, ZERO-FILLED, UP TO TEN
*                           CHARACTERS. 
* 
*         EXIT   MESSAGE  = BUFFER TO CONTAIN MESSAGE WITH NAME ADDED.
*                           THIS CAN BE THE SAME BUFFER AS TEMPLATE.
*                           THE MESSAGE BUFFER MUST BE AT LEAST AS
*                           LARGE AS THE TEMPLATE.
* 
*         USES   X - 2, 3, 6. 
*                A - 2, 6.
*                B - 1. 
* 
*         CALLS  SNM. 
  
  
 XSNM     SUBR               ENTRY/EXIT 
          SB1    1           DEFINE B1=1
          BX2    -X1
          SB5    X2          SET MESSAGE (TEMPLATE) ADDRESS 
          SA1    A1+B1       GET SEARCH CHARACTER 
          SA2    X1 
          LX2    6           RIGHT-JUSTIFY SEARCH CHARACTER 
          MX0    -6          ZERO-FILL SEARCH CHARACTER 
          BX2    -X0*X2 
          SB2    X2 
          SA2    A1+B1       GET NAME 
          SA1    X2 
          SA2    A2+B1       GET ASSEMBLY AREA
          SB3    X2 
          RJ     SNM         SET NAME IN MESSAGE
          EQ     XSNMX       RETURN 
  
  
 OPL      XTEXT  COMCSNM
  
          END 
