Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

Regarding FSET & FRSET ,Symbolic Map F * field.

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> CICS
View previous topic :: :: View next topic  
Author Message
balaji81_k

New User


Joined: 29 Jun 2005
Posts: 89

PostPosted: Thu Feb 10, 2011 3:09 pm    Post subject: Regarding FSET & FRSET ,Symbolic Map F * field.
Reply with quote

Hi Folks ,

In symbolic map we have Field F * attribute for all the input field . I want to know how to check this for the input field I* whether the value is changed or not in the screen (BMS) .

For example FIELDA is the field and the corresponding field attribute
will be FIELDAF .

What condition i need to check to check for value is changed or not is something like how we will check for the Length (L) to check whether it has value or not .

Please help.

Thanks
Balaji K
Back to top
View user's profile Send private message

david jackson

New User


Joined: 24 Jan 2011
Posts: 22
Location: California

PostPosted: Thu Feb 10, 2011 10:31 pm    Post subject:
Reply with quote

Assuming you are pseudo conversational.
First check if the DFHCOMMAREA Length is present and either move the Commarea to a work area or SEND the initial map (with a Commarea) and RETURN if no Commarea was present.

Receive the MAP.

Check DFHAID to determine which key was pressed and handle CLEAR, and the PA keys accordingly etc.

Then check each field to have been erased (using the EOF key) by checking the "F" field to be DFHBMEOF. if it was erased, clear the work field from the Commarea so you are keeping your commarea work area in sync with the screen data.

Otherwise check if the user entered some value into the field by checking the "L" field to be zero which signifies nothing was entered.
If something was entered - put it in the Commarea work area overwriting whatever was in that work area field previously.

Do that for all your fields then go use the COMMAREA work area which now has all the latest fields (not yet validated to be correct) and do your continuing validation and processing from there.

Finally send the map with any messages and highlighting etc and Return with the Commarea containing the current fields ready for the next RECEIVE MAP.

This is all very basic CICS pseudo conversational map processing.
Back to top
View user's profile Send private message
balaji81_k

New User


Joined: 29 Jun 2005
Posts: 89

PostPosted: Fri Feb 11, 2011 12:11 pm    Post subject: Hi
Reply with quote

Hi David,

The program is pseudo conversational and commarea is single elementary field which is if X(500) and all fields will occupy the postion and there is no proper mapping is done in the existing production code.
Now we have a requirement that if any data is changed on screen and after validation and want to save the data i need to highilight the fields of the changed ones.

Please note that X(500) will holds both input and outcopybook and in debug iam able to find the position of changing field and iam able to highlight that but when i thought oF future when lengh is increased all the code which points to postion level control needs to change?.

So i decided to go from field to field mapping . On debug whethere value is changed / or having value the FIELDL is always > 0 and FIELDF will always have X'00' and not X'02' & X'80'.

1ST TIME FORMAT OF SEND : SEND MAP , ERASE.
2ND TIME " " " : SEND MAP DATAONLY
3RD TIME IF ANY ERROR : SEND MAP DATAONLY ALRAM.

in BMS all the map fields are ATTRB=(UNPROT, FSET) .

Can you help on this ?

Thanks
Balaji K
Back to top
View user's profile Send private message
david jackson

New User


Joined: 24 Jan 2011
Posts: 22
Location: California

PostPosted: Fri Feb 11, 2011 11:46 pm    Post subject:
Reply with quote

Why use FSET? FSET will send the Field regardless of whether the user overtyped the field value or not.

You are only interested in knowing which fields were changed.
So if you remove FSET and check the field for EraseEOF in the 'F' field and handle it accordingly. If Not EraseEof, then check the field's Length >0 and that will show the field contents were changed.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> CICS All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts SORT VSAM file with each field one by... maxsubrat DFSORT/ICETOOL 6 Tue Mar 14, 2017 1:07 pm
No new posts IMS DB-How to update a record (a sing... Nic Clouston IMS DB/DC 9 Thu Mar 09, 2017 4:38 pm
No new posts outrec field outside range Danielle.Filteau SYNCSORT 10 Sat Mar 04, 2017 2:37 am
No new posts 2 byte YEAR from Y'DATE2' field tecnokrat DFSORT/ICETOOL 2 Tue Feb 07, 2017 12:05 pm
No new posts Sort two file having same field, one ... himanshu malik DFSORT/ICETOOL 7 Thu Feb 02, 2017 10:09 am


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us