IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

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: 7309
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: 1306
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: 2501
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

 


Similar Topics
Topic Forum Replies
No new posts How to save SYSLOG as text data via P... All Other Mainframe Topics 2
No new posts Store the data for fixed length COBOL Programming 1
No new posts Using API Gateway from CICS program CICS 0
No new posts Data set Rec-Cnt and Byte-Cnt Testing & Performance 2
No new posts SCOPE PENDING option -check data DB2 2
Search our Forums:

Back to Top