View previous topic :: View next topic
|
Author |
Message |
Markandeyulu
New User
Joined: 27 May 2010 Posts: 10 Location: Chennai
|
|
|
|
Past Situation:
Previously we got 3 online programs (Let us say the screens A, B and C). The control passes from one screen to other thru XCTL command. The flow will be like (A --> B --> C and again C --> A). The length of the COMM area, used is '978'.
Current Situation:
Now, we included a new program 'D', which is almost similar to 'C'. (Which made the flow to be A --> B --> C --> D and again D --> A)
The below listed are the only differences between the programs 'C' and ''D':
1. One of the field's length is 5 bytes in 'C', whereas it is 9 bytes in 'D'
2. The length of the file from which the values are retrieved is '200' in the In program 'C', whereas it is only 150 in program 'D'.(These files are declared under linkage section).
The flow is smooth from 'A' thru 'D'. The problem arises when the flow proceeds from 'D' --> 'A'. When the control comes from 'C' to 'D' (and displays the screen 'D') and any key pressed in the screen 'D' is throwing an abend, stating
Quote: |
"DFHAC2206 10:16:15 R3DACICS Transaction HELP failed with abend HLP4. Updates to local recoverable resources backed out" |
Please refer the below displayed code for the reference.
Code: |
IF COMM-LAST-MODULE EQUAL 'C'
PERFORM 9000-INITIAL-PROCESSING THRU
9005-INITIAL-PROCESSING-EXIT
ELSE
PERFORM 0100-PROCESS-SCREEN THRU
0105-PROCESS-SCREEN-EXIT.
EXEC CICS RETURN
RESP(RESPONSE-CODE)
END-EXEC.
GOBACK. |
In the above code, the 'Return' command is executing and sending the screen and later whatever key pressed, the abend is thrown.[/b] |
|
Back to top |
|
|
Markandeyulu
New User
Joined: 27 May 2010 Posts: 10 Location: Chennai
|
|
|
|
Please do the needful. |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
Since transaction HELP and code HLP4 are part of your application, would it not make sense for someone AT YOUR SITE to look at the source code and see under what circumstances the transaction is invoked?
This is an application problem and what you have posted is completely useless -- is the code part of program A, B, C, or D? Where's the XCTL code? Doing a CICS RETURN without a transaction means your application is ending and none of the programs A, B, C, or D will be invoked -- so perhaps you need to look at what is on the screen to see the transaction being started? |
|
Back to top |
|
|
Mickeydusaor
Active User
Joined: 24 May 2006 Posts: 258 Location: Salem, Oregon
|
|
|
|
On top of what Robert stated, a RETUN will not send the screen as you stated. You need to read the manual as to the use of the RETURN statement.
In the above code, the 'Return' command is executing and sending the screen and later whatever key pressed, the abend is thrown. |
|
Back to top |
|
|
|