EXX801 attempting msg>32K via SVC/NET to NAT423 RPC batch

Hi, we are in the progress on installing and validating EXX801 on z/OS 1.9 at our data center. We desire to enable messages > 32K via SVC/NET as part of this upgrade. We have the ADABAS 8.0 SVC installed. We have read in the EXX80 documentation that stub NATETB23 was required and have added it to the batch Natural nucleus that we are testing with. My question: Are there any other RPC server parameters, other than the obviouse MAXBUF and RPCSIZE, that need to be adjusted to the long message work. I have also tried adding the following in various combinations without success (NAT423BF is the NATETB23 enabled nuc):

PROG=NAT423BF,RCA=(BROKER),RCALIAS=(BROKER,NATETB23),
RPC=(SRVNODE=‘ipaddr:port:NET’, causes a S0C1

PROG=NAT423BF,RCA=(BROKER),RCALIAS=(BROKER,NATETB23), RPC=(SRVNODE=ETB999,

receives 00200218 API: SEND or RECEIVE-LENGTH exceeds max
Which the error manual talks about having a message too large for NET(work).

Any help or redirection to the EXX80 or Natural manuals would great.
Thanks,
Dave Love

Hi Dave,

please check the parameter MAX-MESSAGE-LENGTH in your Broker attribute file. If it is not specified it defaults to 31647 …

See also: http://techcommunity.softwareag.com/ecosystem/documentation/webmethods/exx801/mac/class_0020.htm#00200218

In servline24 you find a document in the knowledge center named EXX - What are the required steps to send large buffers (more than 32K) via SVC communication from an Application to a local EntireX Broker on z/OS? (document id 563530).

Here is a copy of the relevant part:

The required steps are documented at http://techcommunity.softwareag.com/ecosystem/documentation/webmethods/exx8/adminZos/stubs.htm#stubs_table. See the Note for Adabas 8.1 users.
Here is a summary of the required steps:
.

  1. Adabas/WAL V81 or above has to be used
    .
    in detail:
    i) Adabas/WAL 8.1 (or above) ADASVC must be installed.
    ii) Adabas/WAL 8.1 (or above) libraries must be used by the Broker kernel.
    iii) The Adabas/WAL 8.1 (or above) link routine must be used by the application or TP monitor.
    iv) Adabas/WAL 8.1 (or above) libraries must be used by the Broker stubs.
    .
  2. adjust the parameters in the DEFAULTS=NET section in the Broker Attribute File:
    .
    i) set EXTENDED-ACB-SUPPORT=YES
    ================================
    The default of this parameter is NO.
    YES informs Broker kernel to provide Adabas/WAL version 8 transport capability. This parameter is required for sending/receiving more than 32 KB data over Adabas [NET] transport. This value should be set only if you have installed Adabas/WAL version 8, Adabas SVC, and included Adabas/WAL version 8 load libraries into the steplib of Broker kernel; otherwise, unpredictable results can occur.
    see documentation at http://techcommunity.softwareag.com/ecosystem/documentation/webmethods/exx8/adminGeneral/attributeFile.htm#EXTENDED-ACB-SUPPORT_xcom for more information.
    .

.
i) increase IUBL and NABS

IUBL: This parameter sets the maximum length (in bytes) of the buffer that can be passed from the caller to the EntireX Broker. The maximum size of IUBL is the same as the maximum value of the Adabas parameter LU (see the Adabas Operations Manual).

IUBL must be large enough to hold the maximum send-length plus receive-length required for any caller program plus any administrative overhead for Adabas and Entire Net-Work control structures
see documentation at http://techcommunity.softwareag.com/ecosystem/documentation/webmethods/exx8/adminGeneral/attributeFile.htm#IUBL_xcom
.
NABS: This parameter specifies the number of attached buffers to be used. An attached buffer is an internal buffer used for interprocess communication. An attached buffer pool equal to the NABS value multiplied by 4096 will be allocated. This buffer pool must be large enough to hold all data (IUBL) of all parallel calls to EntireX Broker.
The following formula can be used to calculate the value for NABS:
NABS = NCQE *IUBL / 4096
See documentation at http://techcommunity.softwareag.com/ecosystem/documentation/webmethods/exx8/adminGeneral/attributeFile.htm#NABS_xcom

Note:

ensure that the Broker attribute MAX-MESSAGE-LENGTH in the DEFAULTS=BROKER section of the Broker attribute file is set to a value large enough. see documentation at http://techcommunity.softwareag.com/ecosystem/documentation/webmethods/exx8/adminGeneral/attributeFile.htm#MAX-MESSAGE-LENGTH_broker
.

  1. ensure that the application is running with a Broker stub of V73 or above
    .
    This feature was introduced with EntireX V73. A Broker stub of V721 is still limited to 32K when communicating via SVC
    .
  2. API Version 3 or above is required
    .
    a call to the Broker using API Version 1 or 2 is restricted to 32K.
    .
  3. For Natural Applications using NATETB23 Natural Version 4.2 or above is required

Rolf, good day to you and thank you for your wonderful reply. Fortunately things are going much better now. We have gotten past 32K but now have hit a limit of 61K. Could EXTENDED-ACB-SUPPORT=NO cause such a problem?

Thanks again for your reply.
Dave Love

Dave,

as far as we are aware you should not be able to pass more than 31-32k with EXTENDED-ACB-SUPPORT=NO (as long as you don’t use TCP/IP of course). Please check again your attribute file. Also check the values of IUBL and MAX-MESSAGE-LENGTH.

What error message do you get when you exceed the 61K limit ? Or is this just a typo (61k instead of 31k) ?

Hi Rolf, the version 8.0.1. broker was set with max msg length of 6meg for tcp/ip testing quite a while ago. I’m assuming the same max msg length applies. Note, I’m not the installer. The message we receive above 61K is what we saw trying to break the 32k barrier (i.e. 00200218 API: SEND or RECEIVE-LENGTH exceeds max). I will though have IUBL checked as well. Thanks again,
Dave Love

Dave - while you’re at it - don’t forget that MAX-MSG can be set at both the SERVICE and BROKER level and it has a few aliases now - MAXIMUM-MESSAGE-LENGTH, MAX-MESSAGE-LENGTH and MAX-MSG.