Essai gestion écran USRDFN

BoTTom |
      *****************************************************************
      *  INFOS PGM                                                    *
      * -----------                                                   *
      *  AFFICHE UN TEXTE AVEC UN DSPF -> STAGMSGD                    *
      *                                  1/ "EC"   FMT "USRDFN"       *
      *                                  2/ "FMT"  FMT NORMAL         *
      *                                     SANS VARIABLES            *
      *                                     AVEC OVERLAY              *
      *                                                               *
      *  COMPILé AVEC UN DSPF          -> USRDFN                      *
      *                                  1/ "EC"   FMT NORMAL         *
      *                                     1 VARIABLE ZONE (1918 C)  *
      *                                  2/ "FMT"  FMT NORMAL         *
      *                                     SANS VARIABLES            *
      *                                     AVEC OVERLAY              *
      *  (LES NOMS DE FORMAT DEVANT IDENTIQUES)                       *
      *                                                               *
      *  NESSECITE DONC LA CDE "OVRDSPF USRDFN STAGMSGD"              *
      *                                                               *
      *---------------------------------------------------------------*
      *  PRINCIPE D'UN FORMAT AVEC USRDFN :                           *
      *                                                               *
      *      LE GESTIONNAIRE D'ECRAN EST OUTREPASSE                   *
      *      LES ORDRES 5250 SONT ENVOYES DIRECTEMENT A L'UNITE ECRAN *
      *---------------------------------------------------------------*
      *      TRAME D'UNE COMMANDE 5250 (AFFICHAGE UNIQUEMENT)         *
      *      -------------------------                                *
      *      OCTETS 1-2 LG DES DONNEES ENVOYEES EN BINAIRE            *
      *                    (A PARTIR DE  L'OCTET N° 6)                *
      *                                                               *
      *             3-4 LG DES DONNEES RECUES EN BINAIRE (ICI X'0000')*
      *                                                               *
      *             5   X'71' ENVOI DE DONNEES  (ICI X'71')           *
      *                 X'73' ENVOI ET LECTURE                        *
      *                                                               *
      *             6   X'04' DEBUT D'UN ORDRE 5250 (ESCAPE)          *
      *                                                               *
      *             7   X'11' WTD (WRITE TO DISPLAY )                 *
      *                       ORDRE A ENVOYER A L'ECRAN               *
      *                                                               *
      *             8-9 X'0008' UNLOCK (DEVEROUILLE LE CLAVIER)       *
      *                                                               *
      *             10  X'11' SBA (SET BUFFER ADRESS)                 *
      *                       DONNEES A ENVOYER A L'ECRAN             *


|
      *                                                               *
      *             11  N° DE LIGNE EN BINAIRE                        *
      *                                                               *
      *             12  N° DE COLONNE EN BINAIRE                      *
      *                                                               *
      *             13  ATTRIBUT D'AFFICHAGE EN HEXA 20 = NORMAL      *
      *                                              21 = RI          *
      *                                              22 = HI ETC..    *
      *                                                               *
      *             A PARTIR DE 14 LE TEXTE A AFFICHER                *
      *                            SUIVI DE X'20' (FIN D'ATTRIBUT)    *
      *   A NOTER :                                                   *
      *             LA MISE A BLANC D'UN ECRAN SE FAIT PAR            *
      *             WTD X'11'  WRITE TO DISPLAY                       *
      *             CLR X'40'  CLEAR UNIT                             *
      *             A PARTIR DE L'OCTET N° 7                          *
      *                                                               *
      *****************************************************************
     FDISPLAYWCF  E                    WORKSTN
     F                                              KINFDS IODS
     E                    TH        100  1
     E                    M          80  1
     E                    TA     16  16  2
     E                    TAP         5  2
     IIODS        DS
     I                                     *STATUS  STATU
     IOUT         DS
     I                                        1 100 TH
     IDSBIN       DS
     I                                        1   1 H1
     I                                        2   2 H2
     I                                        1   2 H12
     I                                    B   1   20BINAIR
     IPATR        DS
     I                                    B   1   20NBA
     I                                        3  12 TAP
     C           *ENTRY    PLIST
     C                     PARM           MSG    80
     C                     PARM           LG      20
     C                     PARM           LIG     20
     C                     PARM           COLO    20
     C                     PARM           PATR
     C                     PARM           ARRET   1
     C                     PARM           WAIT    1


|
     C                     PARM           NBS     20
      * PREPARATION DU MESSAGE
     C                     MOVEAMSG       M
     C           LG        IFGE 1
     C           LG        IFLT 80
     C           LG        ADD  1         LGX     20
     C                     MOVEA*BLANK    M,LGX
     C                     END
      * PREPARATION DES CODES HEXA
     C                     MOVE ' '       H00     1
     C                     BITOF'1'       H00              X'00'
     C                     MOVE H00       H11     1
     C                     BITON'37'      H11              X'11' WTDSBA
     C                     MOVE H00       H20     1
     C                     BITON'2'       H20              X'20' FIN AT
     C                     MOVE H00       H71     1
     C                     BITON'1237'    H71              X'71' SEND
     C                     MOVE H00       ESC     1
     C                     BITON'5'       ESC              X'04' ESCAPE
     C                     Z-ADD8         BINAIR
     C                     MOVE H12       UNLCK   2        X'0008'UNLCK
      *
      * MISE EN PLACE DU BUFFER DE SORTIE
     C           9         ADD  LG        BINAIR
     C                     MOVEAH12       TH,1             LG DATA SEND
     C                     Z-ADD0         BINAIR
     C                     MOVEAH12       TH,3             LG DATA RCV
     C                     MOVE H71       TH,5             SEND
     C                     MOVE ESC       TH,6             ESCAPE
     C                     MOVE H11       TH,7             WTD
     C                     MOVEAUNLCK     TH,8             UNLOCK KBD
     C                     MOVE H11       TH,10            SBA
     C                     Z-ADDLIG       LI      20
     C                     Z-ADDCOLO      CO      20
      *
      * MISE EN PLACE LIGNE / COLONNE
     C           LI        DOWGT24
     C                     SUB  24        LI
     C                     END
     C                     Z-ADDLI        BINAIR
     C                     MOVE H2        TH,11            N° LIGNE
     C           CO        DOWGT80
     C                     SUB  80        CO
     C                     END


|
     C                     Z-ADDCO        BINAIR
     C                     MOVE H2        TH,12            N° COLONNE
      * MISE EN PLACE ATTRIBUT
     C                     Z-ADD32        BINAIR           X'20'
     C           NBA       IFGE 1
     C           NBA       ANDLE5
     C                     DO   NBA       A       20
     C                     Z-ADD1         A2      20
     C           TAP,A     LOKUPTA,A2                    90
     C           *IN90     IFEQ '1'
     C                     ADD  A2        BINAIR
     C                     END
     C                     END
     C                     END
     C                     MOVE H2        TH,13
      * MISE EN PLACE MESSAGE
     C                     MOVEAM         TH,14            DATA
      * MISE EN FIN D'ATTRIBUT
     C           14        ADD  LG        X       30
     C                     MOVEA*BLANK    TH,X
     C                     MOVE H20       TH,X             X'20'
     C                     MOVELOUT       ZONE
     C                     WRITEEC
     C           ARRET     IFEQ 'O'
     C                     EXFMTFMT
     C                     ELSE
     C           WAIT      IFEQ 'O'
     C           NBS       MULT 20000     W      150
     C                     DO   W
      *
     C                     END
     C                     END
     C                     END
      * FIN PGM
     C                     END
     C                     SETON                         LR
     C                     RETRN
      *
**
RIHIXXULxxxxxxBLxxxxxxxxxxxxxxCS




©AF400