Sunday, 18 May 2014

Setting CICS field attributes dynamically

Apart from doing setting field values in BMS macros we can aslo set the field attributes using standard feild values given in DFHBMSCA==>CA stands for character attributes.

Though not all field are being used regularly but there are some fields like  DFHBMFSE can be used to setting field values dynamically from program.
***************************************************************************
Constant Meaning
DFHBMPEM Printer end-of-message
DFHBMPNL Printer new-line
DFHBMPFF Printer form feed
DFHBMPCR Printer carriage return
DFHBMASK Autoskip
DFHBMUNP Unprotected
DFHBMUNN Unprotected and numeric
DFHBMPRO Protected
DFHBMBRY Bright
DFHBMDAR Dark
DFHBMFSE MDT set
DFHBMPRF Protected and MDT set
DFHBMASF Autoskip and MDT set
DFHBMASB Autoskip and bright
DFHBMPSO shift-out value X'0E'.
DFHBMPSI shift-in value X'0F'.
DFHBMEOF Field erased
DFHBMCUR Field containing cursor flagged
DFHBMEC Erased field containing cursor (COBOL only)
DFHBMFLG Flags (COBOL only)
DFHBMDET Field detected
DFHSA1 Set attribute (SA) order
DFHERROR Error code
DFHCOLOR1 Color
DFHPS1 Programmed symbols
DFHHLT1 Highlight
DFH32701 Base 3270 field attribute
DFHVAL Validation
DFHOUTLN Field outlining attribute code
DFHBKTRN Background transparency attribute code
DFHALL1 Reset all to defaults
DFHDFT Default
DFHDFCOL1 Default color
DFHBLUE Blue
DFHRED Red
DFHPINK Pink
DFHGREEN Green
DFHTURQ Turquoise
DFHYELLO Yellow
DFHNEUTR Neutral
***********************************************************
How you do it  ?

1.Move the attribute e.g. DFHBMFSE to Field attribute before sending map to screen.
   Move DFHBMFSE   To    FNAMEA
Here FNAMEA denotes field's attribute name(As mentioned in symbolic map).

2. Execute EXEC CICS SEND 
                          MAP()
                          MAPSET()
                           FROM()
                  END-EXEC
3.In Pseudo Conversation programming after User press Attention key
      After  checking for EIBCALEN value to '0' or not to confirm whether map has been send after first time
       Execute EXEC CICS RECEIVE
                                 MAP()
                                 MAPSET()
                                 INTO()
                     END-EXEC.

Note :- Always set attribute values before sending map not after.






No comments:

Post a Comment