View previous topic :: View next topic
|
Author |
Message |
Pepero2k3
New User
Joined: 07 Sep 2008 Posts: 7 Location: Iran
|
|
|
|
Hi all;
I use dfhl3270 to call a 3270 transaction returning back a message of the length 32500 bytes.
Quote: |
Link to DFHL3270(INITIATOR) <=====> DFHL3270 <=======> MDLAP001
|
In this case MDLAP001 which is connected to transaction identifier MDL0 uses the following command to return back the 32500 bytes of message
Quote: |
(In MDLAP001 ... )
EXEC CICS SEND FROM (TCP-RECV-COMM-AREA)
FLENGTH (LENGTH OF TCP-RECV-COMM-AREA)
WAIT LAST
END-EXEC.
|
In this case TCP-RECV-COMM-AREA hase a length of 30004 bytes.
but when returning back from a link command like this
Quote: |
(In INITIATOR ... )
.
.
.
WORKING-STORAGE SECTION.
01 OUTPUT-LEN PIC S9(8) COMP.
01 msg-area-ptr POINTER.
LINKAGE SECTION.
01 msg-area.
copy DFHBRIHO.
03 msg-vectors pic x(30196).
.
.
.
exec cics getmain
set(msg-area-ptr)
length(length of msg-area)
end-exec.
set address of msg-area TO msg-area-ptr.
EXEC CICS LINK PROGRAM('DFHL3270') COMMAREA(MSG-AREA)
FLENGTH(OUTPUT-LEN) DATALENGTH(INPUT-LEN)
END-EXEC.
|
The ABR4 abend code is issued. When changing the code to this
Quote: |
INITIATOR
.
.
.
WORKING-STORAGE SECTION.
01 OUTPUT-LEN PIC S9(4) COMP.
01 msg-area-ptr POINTER.
LINKAGE SECTION.
01 msg-area.
copy DFHBRIHO.
03 msg-vectors pic x(30196).
.
.
.
exec cics getmain
set(msg-area-ptr)
length(length of msg-area)
end-exec.
set address of msg-area TO msg-area-ptr.
EXEC CICS LINK PROGRAM('DFHL3270') COMMAREA(MSG-AREA)
LENGTH(OUTPUT-LEN) DATALENGTH(INPUT-LEN)
END-EXEC.
|
no abend occurs and the whole response is not received. When i set the maximum length parameter of 4K in 'SEND' command within MDLAP001
program everything is OK.
|
|
Back to top |
|
|
colin777
New User
Joined: 06 Jun 2013 Posts: 19 Location: Singapore
|
|
|
|
Hi,
The FLENGTH is not valid on an EXEC CICS LINK. So my take on this is that as LENGTH is not specified the COMMAREA is not properly established and passed to the linkto program, thus resulting in the ABR4.
In addition, The value of DATALENGTH is checked only when the LINK request is remote or dynamic. It is not checked for static local links.
ABR4
Explanation: The link DFHL3270 command did not
specify a commarea.
System action: The task is abnormally terminated
with a CICS transaction dump.
User response: The link DFHL3270 command must
specify a commarea to contain the BRIH and any
message vectors.
HTH
Colin777 |
|
Back to top |
|
|
Pepero2k3
New User
Joined: 07 Sep 2008 Posts: 7 Location: Iran
|
|
|
|
Thanks for your notification but as i've put in the last Quote, the problem is not the ABR4 abend code. The problem is that the link3270 bridge facility doesn't receive more than 4k of the response despite of returning back a 24k of message by MDLAP001 module. |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8697 Location: Dubuque, Iowa, USA
|
|
|
|
Quote: |
Thanks for your notification but as i've put in the last Quote, the problem is not the ABR4 abend code. |
Actually, you did NOT state, anywhere in your original post, precisely what problem you had. It is a natural assumption that the ABR4 is the issue, based upon your lack of information.
This problem is NOT well-suited for a forum response, since it needs someone looking at both sides of the link to figure out -- so you need to work with your site support group for assistance. |
|
Back to top |
|
|
|