*COMDECK  CCLWID
 CCLWID   TITLE  WRITE INTERACTIVE DIALOG 
**        CCLWID - WRITE INTERACTIVE DIALOG 
*                CCLWID MOVES A VALUE TO THE WORKING BUFFER WBUF. 
*                THEN CCLWID WRITES A LINE TO OUTPUT. 
* 
* 
*         ENTRY - IF IACERR IS NON-ZERO - USE 
*                  ADDRESS+1 IN IACERR AS ERR MSG 
*                OTHERWISE - IF SCATX HEADER IS ZERO
*                 X3 HAS ADDRESS OF ERROR MESSAGE 
*                OTHERWISE SCATX CONTAINS ERR MSG 
* 
*         EXIT -  X2 = SCATX HEADER SET TO ZERO 
*                 A2 = ADDRESS OF SCATX HEADER
* 
*                 LINE WRITTEN ON DAYFILE IF BATCH MODE 
*                 ELSE ON OUTPUT FILE 
* 
* 
 CCLWID   SUBR   =                 PACK WBUF THEN WRITE LINES 
          SA2    SCATX
          SA1    IACERR 
          ZR     X1,WID00A         CHECK SCATX HEADER 
  
          SA1    =1H
          SB2    1
          RJ     =XSTRTASC         INSERT LEADING SPACE 
          SA3    IACERR 
          SA1    X3+1 
          MX7    0
          SA7    IACERR            CLEAR ERROR
          JP     WID00B            UPDATE HEADER ON NOS 
  
  
  
 WID00A   BSS    0
          NZ     X2,WID005         PUT MSG IN WBUF
  
          SA1    IACIDP 
          ZR     X1,WID010         MESSAGE TO DAYFILE - BATCH MODE
  
          SA1    X3                1ST WORD OF MSG
  
 WID00B   BSS    0
          SB2    V.CCCPC
          RJ     =XSTRFZB          FIND ZERO BYTE 
          RJ     =XSTRTASC         MESSAGE TO SCATX 
  
 OSNOS    IFEQ   HOST,NOS 
 WID00    BSS    0
          SA1    A2+B3
          NZ     X1,WID001         UPDATE SCATTER BUFFER HEADER 
  
          SB3    B3-B1
          JP     WID00             TRY PREVIOUS CHARACTER 
  
 WID001   BSS    0
          SX5    B3                PUT NEW COUNT IN SCATX HEADER
          LX5    S.SBTOT-N.SBTOT+1
          MX0    N.SBTOT
          LX0    S.SBTOT+1
          BX4    -X0*X2 
          BX2    X4+X5             NEW HEADER 
 OSNOS    ENDIF 
  
 WID005   BSS    0
 OSNOS    IFEQ   HOST,NOS 
          SA3    BGPRMT            CHECK FOR PROMPT 
          ZR     X3,WID008         IF NO PROMPT 
  
          MX7    0
          SA7    BGPRMT            CLEAR PROMPT 
          SA1    IACIDP 
          ZR     X1,WID008         IF DAYFILE MESSAGE ONLY
  
          EX7    X2,SBTOT          APPEND 0013B BYTE
          SB7    X7 
          SA1    A2+B7
          NZ     X1,WID006         IF LAST CHARACTER NOT 00B
  
          SX6    74B               REPLACE 00B WITH 7404B 
          SA6    A1 
          SB7    B7+B1
          SX6    04B
          SA6    A6+B1
 WID006   BSS    0
          SX0    B7 
          LX0    59 
          PL     X0,WID007         IF EVEN CHARACTERS - NO PADDING
  
          SB7    B7+B1
          SX6    B0+               ZERO PAD ODD CHARACTER 
          SA6    A2+B7
 WID007   BSS    0
          SB5    V.SBSIZ
          SB4    B7+4 
          LT     B5,B4,WID008      IF NO ROOM FOR 0013B BYTE
  
          SA5    =2R"ES"
          BX7    X5 
          MX6    0
          SB7    B7+B1
          SA6    A2+B7
          SB7    B7+B1
          SA7    A2+B7
          SB7    B7+B1
          SA6    A2+B7
          SB7    B7+B1
          SA6    A2+B7
          SX5    B7 
          LX5    S.SBTOT-N.SBTOT+1 UPDATE HEADER
          MX0    N.SBTOT
          LX0    S.SBTOT+1
          BX4    -X0*X2 
          BX2    X4+X5
 WID008   BSS    0
 OSNOS    ENDIF 
          SA1    WBUF 
          RJ     =XSTRPK12         PACK MESSAGE INTO WBUF 
          SA1    IACIDP 
          NZ     X1,WID020         SEND MSG TO TERMINAL 
  
          SX3    WBUF 
 WID010   BSS    0
  
          RJ     =XSTRMSG          PUT MESSAGE ON OUTPUT BATCH SOURCE 
  
          MX7    0
          SA7    SCATX             CLEAR SCATTER BUFFER HEADER
          SA2    SCATX
          JP     CCLWID            RETURN 
  
 WID020   BSS    0
          MX7    0
          SA7    SCATX             CLEAR SCATTER BUFFER HEADER
 OSNBE    IFEQ   HOST,NOSBE 
          SA2    O                 SET CODE AND STATUS FIELD IN FET 
          MX3    59                INDICATING CODED FILE
          LX3    1
          BX7    X2*X3
          SA7    A2 
 OSNBE    ENDIF 
 OSNOSBE  IFNE   HOST,SC2 
          SX3    WBUF 
          SX2    O                 OUTPUT FET 
          SX4    V.CCCPC
  
          RJ     =XIOWTL           WRITE LINE 
  
 OSNOSBE  ENDIF 
          SA2    SCATX             GET ZERO HEADER
          JP     CCLWID            RETURN 
  
