Page 1 of 1

BMS receiving MAP issue

PostPosted: Fri Aug 16, 2013 8:31 pm
by crazystorm
Why the fields those retyped could ONLY be received after executing EXEC CICS RECEIVE MAP statement? Others which not be retyped (stay the value as is without any update) could not be received, means their values are not assigned to XXXXXO variables declared in the copybook. If I retype the field even if with the same value, then CICS could receive it. Why?

Could anyone tell me how to deal with this issue? Thanks!

Re: BMS receiving MAP issue

PostPosted: Mon Aug 19, 2013 1:29 am
by Monitor
Your explanation is not clear, but with my knowledge I assume this is a programming issue. Fields modified, typed into, sets a MDT (Modified Data Tag)-indicator in the attribute-byte for the field. When you issue a Receive Map, those fields having the MDT-bit set are received into the programs Working-Storage map-structure. If you, in your conversation do a "Receive Map, verify received fields, and then send a message"-sequence with a Send Map and forgetting the Dataonly keyword, you will send the physical structure ("the map") again and the attribute-byte, as speciefied in the map, will be sent, thus clearing the MDT-bit, and the following Receive Map will just receive newly modified fields. Check your programming logic, and if you dont see the keyword DATAONLY in the SEND MAP when you send an error/information-message, just add it!

Re: BMS receiving MAP issue

PostPosted: Mon Aug 19, 2013 12:13 pm
by crazystorm
Hi Monitor,

Yes, you're right. I added the DATAONLY, and it works fine as expected. Thanks!

Monitor wrote:Your explanation is not clear, but with my knowledge I assume this is a programming issue. Fields modified, typed into, sets a MDT (Modified Data Tag)-indicator in the attribute-byte for the field. When you issue a Receive Map, those fields having the MDT-bit set are received into the programs Working-Storage map-structure. If you, in your conversation do a "Receive Map, verify received fields, and then send a message"-sequence with a Send Map and forgetting the Dataonly keyword, you will send the physical structure ("the map") again and the attribute-byte, as speciefied in the map, will be sent, thus clearing the MDT-bit, and the following Receive Map will just receive newly modified fields. Check your programming logic, and if you dont see the keyword DATAONLY in the SEND MAP when you send an error/information-message, just add it!