Need Information about the SPA size in IMS program

IMS DB database, DL/I commands etc

Moderator: Moderator Group

Post Reply
sivasaras
Member
Posts: 45
Joined: Tue Jun 15, 2010 3:07 pm

Need Information about the SPA size in IMS program

Post by sivasaras » Tue Oct 18, 2011 9:57 pm

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

DikDude
Moderator
Posts: 1001
Joined: Fri Jul 22, 2011 8:39 am
Location: usa

Post by DikDude » Tue Oct 18, 2011 11:32 pm

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?
Have a good one

sivasaras
Member
Posts: 45
Joined: Tue Jun 15, 2010 3:07 pm

Post by sivasaras » Wed Oct 19, 2011 4:34 pm

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

sivasaras
Member
Posts: 45
Joined: Tue Jun 15, 2010 3:07 pm

Post by sivasaras » Wed Oct 19, 2011 6:36 pm

i am getting error code 99999 while xpediting the program and this says it exceeds the buffer limit.

DikDude
Moderator
Posts: 1001
Joined: Fri Jul 22, 2011 8:39 am
Location: usa

Post by DikDude » Wed Oct 19, 2011 9:26 pm

Posting that bit of code, you answered 1 of 4 questions. . .

Now answer the others and maybe we can help. . .
Have a good one

sivasaras
Member
Posts: 45
Joined: Tue Jun 15, 2010 3:07 pm

Post by sivasaras » Thu Oct 20, 2011 3:09 pm

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

DikDude
Moderator
Posts: 1001
Joined: Fri Jul 22, 2011 8:39 am
Location: usa

Post by DikDude » Fri Oct 21, 2011 12:18 am

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 ____________________________
That is not the documentation for a U2220 user abend. . . That IS the abend. . .


You posted that you changed the occurs to 40, but the code tests for SUB1 > 50 :?
Have a good one

sivasaras
Member
Posts: 45
Joined: Tue Jun 15, 2010 3:07 pm

Post by sivasaras » Fri Oct 21, 2011 8:15 pm

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

*****************************************************************************

sivasaras
Member
Posts: 45
Joined: Tue Jun 15, 2010 3:07 pm

Post by sivasaras » Wed Jan 04, 2012 3:03 pm

Hi,

Please guide me to solve this issue.

Thanks
Siva

Post Reply

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



Other References
Mainframe Tools and others