Need Information about the SPA size in IMS program
Moderator: Moderator Group
Need Information about the SPA size in IMS program
Hi,
Problem:
In the online Screen for a Account Number it will display around 40 list of fields like FN,LN,MN,ADD,PH,MOB etc...
If we give this Acc358768543 in the screen it will display like
LN KUMAR
MN SUNDAR
FN SHYAM
now the issue is while pressing PF8 key to view the next screen it is getting abended with U220 and the screen is not able to display more than 26 components.
in a single display - 13 and second display = 26.
So i changes my program to accept the 40 components, but while displaying after 30 components it is displaying as numbers
33 residence but it should display as RD RESIDENCE
i have changed the SPA occurs to 40 times.
Please guide me to solve the issue.
Thanks
Siva
Problem:
In the online Screen for a Account Number it will display around 40 list of fields like FN,LN,MN,ADD,PH,MOB etc...
If we give this Acc358768543 in the screen it will display like
LN KUMAR
MN SUNDAR
FN SHYAM
now the issue is while pressing PF8 key to view the next screen it is getting abended with U220 and the screen is not able to display more than 26 components.
in a single display - 13 and second display = 26.
So i changes my program to accept the 40 components, but while displaying after 30 components it is displaying as numbers
33 residence but it should display as RD RESIDENCE
i have changed the SPA occurs to 40 times.
Please guide me to solve the issue.
Thanks
Siva
You have provided very little that can be used to help you. . .
How/why should 33 be shown as RD?
How is the data moved to the 3rd screen? Is it not the same as the first 2 screens?
Other than changing the number of the OCCURS, what else was changed.
What does the documentation (or code) say about the U220 abend?
How/why should 33 be shown as RD?
How is the data moved to the 3rd screen? Is it not the same as the first 2 screens?
Other than changing the number of the OCCURS, what else was changed.
What does the documentation (or code) say about the U220 abend?
Have a good one
i have inserted these code changes in the program
WHEN MI-PFKEY = LIT-08
ADD 1 TO SPA-PF8-PRESS-COUNT
IF SPA-PF8-PRESS-COUNT = 1
PERFORM 37500-MOVE-SPA-TO-IO-AREA
VARYING SUB1 FROM 14 BY 1
UNTIL SUB1 >= REST-OF-LINES
OR SUB1 > 26
END-IF
IF SPA-PF8-PRESS-COUNT = 2
PERFORM 37500-MOVE-SPA-TO-IO-AREA
VARYING SUB1 FROM 27 BY 1
UNTIL SUB1 >= REST-OF-LINES
OR SUB1 > 40
MOVE ZERO TO SPA-PF8-PRESS-COUNT
END-IF
WHEN MI-PFKEY = LIT-08
ADD 1 TO SPA-PF8-PRESS-COUNT
IF SPA-PF8-PRESS-COUNT = 1
PERFORM 37500-MOVE-SPA-TO-IO-AREA
VARYING SUB1 FROM 14 BY 1
UNTIL SUB1 >= REST-OF-LINES
OR SUB1 > 26
END-IF
IF SPA-PF8-PRESS-COUNT = 2
PERFORM 37500-MOVE-SPA-TO-IO-AREA
VARYING SUB1 FROM 27 BY 1
UNTIL SUB1 >= REST-OF-LINES
OR SUB1 > 40
MOVE ZERO TO SPA-PF8-PRESS-COUNT
END-IF
Please find my answers for the below questions.
How/why should 33 be shown as RD?
I have changed the occurs clause to 50 times and the second spa-press-count > 50,
Ans:
IF SPA-PF8-PRESS-COUNT = 2
PERFORM 37500-MOVE-SPA-TO-IO-AREA
VARYING SUB1 FROM 27 BY 1
UNTIL SUB1 >= REST-OF-LINES
OR SUB1 > 50
MOVE ZERO TO SPA-PF8-PRESS-COUNT
END-IF
so while pressing 3rd time it is displaying the 33rd component which is RD as
033 residence instead of RD Residence
How is the data moved to the 3rd screen? Is it not the same as the first 2 screens?
Ans:No it is same as the first 2 screens only.
Other than changing the number of the OCCURS, what else was changed.
Ans: These are the changes to the existing program
05 SPA-PF8-SWITCH.
10 SPA-PF8-PRESS-COUNT PIC 9(03) COMP.
* 88 PF8-FIRST-PRESS VALUE "Y".
* 10 SPA-PF8-SECOND-PRESS PIC X(01).
* 88 PF8-SECOND-PRESS VALUE "Y".
00 05 SPA-FILLER PIC X(1751).
WHEN MI-PFKEY = LIT-08
ADD 1 TO SPA-PF8-PRESS-COUNT
IF SPA-PF8-PRESS-COUNT = 1
COMPUTE REST-OF-LINES1 = SPA-FEATURE-COUNT - 13
COMPUTE REST-OF-LINES = REST-OF-LINES1 + 14
END-IF
IF SPA-PF8-PRESS-COUNT = 2
COMPUTE REST-OF-LINES1 = SPA-FEATURE-COUNT - 26
COMPUTE REST-OF-LINES = REST-OF-LINES1 + 27
END-IF
IF SPA-PF8-PRESS-COUNT = 1
PERFORM 37500-MOVE-SPA-TO-IO-AREA
VARYING SUB1 FROM 14 BY 1
UNTIL SUB1 >= REST-OF-LINES
OR SUB1 > 26
END-IF
IF SPA-PF8-PRESS-COUNT = 2
PERFORM 37500-MOVE-SPA-TO-IO-AREA
VARYING SUB1 FROM 27 BY 1
UNTIL SUB1 >= REST-OF-LINES
OR SUB1 > 50
MOVE ZERO TO SPA-PF8-PRESS-COUNT
END-IF
What does the documentation (or code) say about the U220 abend?
DFS555I TRAN BTPOA75 ABEND S000,U2220 SYS ID 103; MSG IN PROC
BTPOA75 Acc358768543 ____________________________
Thanks
siva
How/why should 33 be shown as RD?
I have changed the occurs clause to 50 times and the second spa-press-count > 50,
Ans:
IF SPA-PF8-PRESS-COUNT = 2
PERFORM 37500-MOVE-SPA-TO-IO-AREA
VARYING SUB1 FROM 27 BY 1
UNTIL SUB1 >= REST-OF-LINES
OR SUB1 > 50
MOVE ZERO TO SPA-PF8-PRESS-COUNT
END-IF
so while pressing 3rd time it is displaying the 33rd component which is RD as
033 residence instead of RD Residence
How is the data moved to the 3rd screen? Is it not the same as the first 2 screens?
Ans:No it is same as the first 2 screens only.
Other than changing the number of the OCCURS, what else was changed.
Ans: These are the changes to the existing program
05 SPA-PF8-SWITCH.
10 SPA-PF8-PRESS-COUNT PIC 9(03) COMP.
* 88 PF8-FIRST-PRESS VALUE "Y".
* 10 SPA-PF8-SECOND-PRESS PIC X(01).
* 88 PF8-SECOND-PRESS VALUE "Y".
00 05 SPA-FILLER PIC X(1751).
WHEN MI-PFKEY = LIT-08
ADD 1 TO SPA-PF8-PRESS-COUNT
IF SPA-PF8-PRESS-COUNT = 1
COMPUTE REST-OF-LINES1 = SPA-FEATURE-COUNT - 13
COMPUTE REST-OF-LINES = REST-OF-LINES1 + 14
END-IF
IF SPA-PF8-PRESS-COUNT = 2
COMPUTE REST-OF-LINES1 = SPA-FEATURE-COUNT - 26
COMPUTE REST-OF-LINES = REST-OF-LINES1 + 27
END-IF
IF SPA-PF8-PRESS-COUNT = 1
PERFORM 37500-MOVE-SPA-TO-IO-AREA
VARYING SUB1 FROM 14 BY 1
UNTIL SUB1 >= REST-OF-LINES
OR SUB1 > 26
END-IF
IF SPA-PF8-PRESS-COUNT = 2
PERFORM 37500-MOVE-SPA-TO-IO-AREA
VARYING SUB1 FROM 27 BY 1
UNTIL SUB1 >= REST-OF-LINES
OR SUB1 > 50
MOVE ZERO TO SPA-PF8-PRESS-COUNT
END-IF
What does the documentation (or code) say about the U220 abend?
DFS555I TRAN BTPOA75 ABEND S000,U2220 SYS ID 103; MSG IN PROC
BTPOA75 Acc358768543 ____________________________
Thanks
siva
That is not the documentation for a U2220 user abend. . . That IS the abend. . .What does the documentation (or code) say about the U220 abend?
DFS555I TRAN BTPOA75 ABEND S000,U2220 SYS ID 103; MSG IN PROC
BTPOA75 Acc358768543 ____________________________
You posted that you changed the occurs to 40, but the code tests for SUB1 > 50
Have a good one
this is the error code for the abend
even if i change as 40 or 50 the same kind of problem only i am facing it
033 residence instead of RD Residence
***************************************************************************
DFS555I TRAN tttttttt ABEND (SYSID sss); MSG
IN PROCESS: xxxx (up to 78 bytes of data) time- stamp
Explanation: An application program abend occurred during the processing of
transaction tttttttt (in system sss in a multi- system environment). The
variable xxxx is replaced by up to 78 characters of the input transaction
being processed. A time stamp follows the input transaction data.
If the input transaction is missing, the following message appears: QMGR RC
NE 0, MSG. NOT AVAIL.
System Action: The input transaction identified by this message is deleted
from the system unless this message is preceded by the SUCCEEDED version of
message DFS550I.
Programmer Response: Correct the cause of the application program abend.
Terminal Operator Response: If this multi- segment message uses Message
Format Service to send a formatted screen with a SYSMSG field, only one
segment is sent at a time. Press PA1 to retrieve the remaining segments.
Master Terminal Operator Response: See message DFS554A, which always
follows this error message at the IMS master terminal. See message DFS550I
which might precede this message at the IMS master terminal.
Problem Determination: 4, 5, 6, 8, 10, 18, 19
Module: DFSFXC40
*****************************************************************************
even if i change as 40 or 50 the same kind of problem only i am facing it
033 residence instead of RD Residence
***************************************************************************
DFS555I TRAN tttttttt ABEND (SYSID sss); MSG
IN PROCESS: xxxx (up to 78 bytes of data) time- stamp
Explanation: An application program abend occurred during the processing of
transaction tttttttt (in system sss in a multi- system environment). The
variable xxxx is replaced by up to 78 characters of the input transaction
being processed. A time stamp follows the input transaction data.
If the input transaction is missing, the following message appears: QMGR RC
NE 0, MSG. NOT AVAIL.
System Action: The input transaction identified by this message is deleted
from the system unless this message is preceded by the SUCCEEDED version of
message DFS550I.
Programmer Response: Correct the cause of the application program abend.
Terminal Operator Response: If this multi- segment message uses Message
Format Service to send a formatted screen with a SYSMSG field, only one
segment is sent at a time. Press PA1 to retrieve the remaining segments.
Master Terminal Operator Response: See message DFS554A, which always
follows this error message at the IMS master terminal. See message DFS550I
which might precede this message at the IMS master terminal.
Problem Determination: 4, 5, 6, 8, 10, 18, 19
Module: DFSFXC40
*****************************************************************************
FREE TUTORIALS
Tutorials
Free tutorials from mainframegurukul
- JCL Tutorial
Covers all important JCL concepts. - Cobol Tutorial
This tutorials covers all Cobol Topics from STRING to COMP-3. - DB2 Tutorial
DB2 Tutorial focuses on DB2 COBOL Programming. - SORT Tutorial
This Tutorial covers all important aspects of DFSORT with examples - CICS Tutorial
This CICS tutorial covers CICS concepts and CICS Basics, CICS COBOL Programming.
Interview
Mainframe Interview questions
- Cobol Interview Questions
50+ Interview Questions - JCL Interview Questions
50+ Interview Questions - DB2 Interview Questions
100+ Interview Questions - CICS Interview Questions
70+ Interview Questions - VSAM Interview Questions
27 Interview Questions
Other References
Mainframe Tools and others
- XPEDITER Reference
Explains how we can debug a program - FILEAID Reference
Explains how to browse , edit and delete datasets - Change Man Reference
Quick Start tutorial on Changeman - Abend Reference
Important Abend codes explained - FaceBook Page
MainframeGurukul FaceBook Page - LinkedIn Page
MainframeGurkul Linkedin Page