Home The Company Publications Products Links Tips Jobs

Miscellaneous

How to Create "Sticky" Non-scrolling WTO Messages

Last update: 26 September 2005

Problem:

How can I write a non-scrolling message to the operator console from Natural Batch, without ESS?

Solution:

Assembler WTO2 Subroutine
Sent by Joćo Reginato, Brazil
With COBOL and NATURAL sample how to call.

***********************************************************************
*                                                                     *
*        SUBROUTINE  : WTO2 (WRITE TO OPERATOR WITH DESC=2)           *
*                      AND RETURN DOM-ID TO DELETE IT LATER ON        *
*        RESTRICTION : MESSAGE LENGTH MUST BE LESS THAN 81            *
*        AUTHOR      : JOAO REGINATO - CPFL-1992/JUNE                 *
*                                                                     *
*        HOW TO CALL (COBOL SAMPLE)                                   *
*        --------------------------                                   *
*        01  W-MESSAGE.                                               *
*            02  MSG-LEN PIC S9(4)  COMP  VALUE +30.                  *
*            02  MSG-DOM PIC S9(8)  COMP  VALUE ZEROS.                *
*            02  MSG-TXT PIC X(30)  VALUE 'THIS IS A SAMPLE MESSAGE'. *
*        CALL 'WTO2' USING W-MESSAGE.                                 *
*                                                                     *
*        HOW TO CALL (NATURAL SAMPLE)                                 *
*        ----------------------------                                 *
*        01  W-MESSAGE.                                               *
*            02  MSG-LEN    B(2)  INIT <30>.                          *
*            02  MSG-DOM    B(4)  INIT <0>.                           *
*            02  MSG-TXT    A(30) INIT 'THIS IS A SAMPLE MESSAGE'.    *
*        CALL 'WTO2' W-MESSAGE.                                       *
***********************************************************************
WTO2     CSECT                             CSECT
         SAVE  (14,12),,WTO2-&SYSDATE-&SYSTIME START AND IDENTIFY
         LR    12,15                       LOAD BASE REGISTER
         USING WTO2,12                     ESTABLISH ADDRESSABILITY
         L     3,0(,1)                     LOAD PARAMETERS
         CLC   0(2,3),=H'80'               MESSAGE LENGTH > 80 ?
         BH    ERROR                       YES, ERROR
         OC    0(2,3),0(3)                 MESSAGE LENGTH = 0 ?
         BZ    ERROR                       YES, ERROR
         LH    1,0(,3)                     LOAD MESSAGE LENGTH
         BCTR  1,R0                        - 1
         MVI   WTO+8,C' '                  CLEAR MESSAGE TEXT
         MVC   WTO+9(79),WTO+8             CLEAR MESSAGEM TEXT
         MVC   WTO+8(0),6(3)               MOVE MESSAGE TEXT TO WTO
         EX    1,*-6                       MOVE MESSAGE TEXT TO WTO
WTO      WTO   '1...5...10....5...20....5...30....5...40....5...50....5X
               ...60....5...70....5...80',ROUTCDE=11,DESC=2 ISSUE WTO
         STCM  1,15,2(3)                   RETURN DOM ID
         RETURN (14,12),RC=0               RETURN TO CALLER
ERROR    WTO   'WTO2 PARAMETER ERROR',ROUTCDE=11 NOTIFY ERROR
         ABEND 16,DUMP                     ISSUE ABEND U0016
         END

Notes:
If you use DESC=7, the message is deleted after JOB termination.
If you use DESC=2, the message is deleted only by the console operator.

See also how to delete the non-scrolling WTO message by using DOM assembler macro (DOM sub-program).

Top Page


Back to MISCELLANEOUS Tips, Tricks, Techniques -- Overview