IBM Mainframe Forum Index
 
Register
 
IBM Mainframe Forum Index Mainframe: Search Log in to check your private messages Log in
 

DATA SHIFTING IN CICS SCREEN ON INVALID PF KEY PRESS


IBM Mainframe Forums -> CICS
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Amit_Singh47

New User


Joined: 15 May 2013
Posts: 22
Location: India

PostPosted: Mon May 27, 2013 7:54 pm
Reply with quote

I am developing a new CICS screen in which PF18 is an invalid key.
so, whenever user presses pf18 im simply sending the map like this:
Code:

EXEC CICS SEND                                 
          MAP('N1B8MAP')                       
          MAPSET('N1B8MAP')                     
          FROM (N1B8MAPO)                       
          CURSOR                               
END-EXEC.                                       
                                               
EXEC CICS RETURN                               
          TRANSID('BRX7')                       
          COMMAREA(WS-COMMAREA)       
          LENGTH(LENGTH OF WS-COMMAREA)
END-EXEC.         


my screen displays data from TSQ. initially it looks like this

Code:
SID           SSN             TYPE-CODE           
                                       
000000WA XXXXXXXX17A    US6101540010080
000000WA XXXXXXXX17A    US6101540010080
000000WA XXXXXXXX17A    US6101540010080
000000WA XXXXXXXX17A    US6101540010080
000000WA XXXXXXXX17A    US6101540010080
000000WA XXXXXXXX17A    US6101540010080
000000WA XXXXXXXX17A    US6101540010080
000000WA XXXXXXXX17A    US6101540010080
000000WA XXXXXXXX17A    US6101540010080
000000WA XXXXXXXX17A    US6101540010080
000000WA XXXXXXXX17A    US6101540010080
000000WA XXXXXXXX17A    US6101540010080
000000WA XXXXXXXX17A    US6101540010080

when invalid key is pressed it becomes like this(data is shifted one place):
Code:
SID           SSN             TYPE-CODE       
                                   
000000WAXXXXXXXX17A  US6101540010080
000000WAXXXXXXXX17A  US6101540010080
000000WAXXXXXXXX17A  US6101540010080
000000WAXXXXXXXX17A  US6101540010080
000000WAXXXXXXXX17A  US6101540010080
000000WAXXXXXXXX17A  US6101540010080
000000WAXXXXXXXX17A  US6101540010080
000000WAXXXXXXXX17A  US6101540010080
000000WAXXXXXXXX17A  US6101540010080
000000WAXXXXXXXX17A  US6101540010080
000000WAXXXXXXXX17A  US6101540010080
000000WAXXXXXXXX17A  US6101540010080
000000WAXXXXXXXX17A  US6101540010080


Please help.

Code'd
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7312
Location: Inside the Matrix

PostPosted: Mon May 27, 2013 8:03 pm
Reply with quote

If spacing is significant, you must use the Code tags and the Preview button to get it to look how it should be.
Back to top
View user's profile Send private message
prino

Senior Member


Joined: 07 Feb 2009
Posts: 1226
Location: Vilnius, Lithuania

PostPosted: Mon May 27, 2013 8:36 pm
Reply with quote

Computers are deterministic. They don't just change an external TSQ upon hitting a wrong PF key, so it's pretty obvious that the program must be doing a lot more between detecting the PF18 and executing the snippet of code you have posted...
Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2504
Location: Atlanta, Georgia, USA

PostPosted: Tue May 28, 2013 12:14 am
Reply with quote

You're either storing the screen-data erroneously or re-populating the screen from the TSQ without initializing each map-line to SPACES beforehand. LOW-VALUES will cause this type of "Shifting".

Use an INSPECT to rid the TSQ data of all LOW-VALUES and replace with SPACES, before re-populating the screen.
Back to top
View user's profile Send private message
Amit_Singh47

New User


Joined: 15 May 2013
Posts: 22
Location: India

PostPosted: Tue May 28, 2013 11:06 am
Reply with quote

Code:
PERFORM XXXXX-RECEIVE-MAP-PARA
******PERFORM VALIDATION*******
IF 88-VALID
    *********DO STUFFS***********
ELSE
    EXEC CICS SEND                                 
          MAP('N1B8MAP')                       
          MAPSET('N1B8MAP')                     
          FROM (N1B8MAPO)                       
          CURSOR                               
    END-EXEC                                       
                                               
    EXEC CICS RETURN                               
          TRANSID('TRAN')                       
          COMMAREA(WS-COMMAREA)       
          LENGTH(LENGTH OF WS-COMMAREA)
    END-EXEC
END-IF   


THIS ELSE PART WILL BE PERFORMED AGAIN AND AGAIN TILL USER ENTERS INVALID VALUE.
Back to top
View user's profile Send private message
rajesh_mbt

New User


Joined: 27 Mar 2006
Posts: 97
Location: India

PostPosted: Wed Jun 26, 2013 1:43 pm
Reply with quote

I suspect the symbolic map structure and physical map structure might not be matched.. Is this happening only for PF18 key function alone or other key as well?
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> CICS

 

Search our Forum:

Similar Topics
Topic Forum Replies
No new posts How to get RBA value from CICS EVENT CICS 4
This topic is locked: you cannot edit posts or make replies. Sample CICS Webservices Program CICS 1
No new posts How to find which file contains my se... DFSORT/ICETOOL 6
No new posts Changing Data Type SYNCSORT 4
No new posts Copying data from prev record using SORT SYNCSORT 19

Back to Top