# Array / Group definition IDL generated. NAT6972 error

**URL:** <https://techcommunity.softwareag.com/t/array-group-definition-idl-generated-nat6972-error/59011>\
**Category:** Forum\
**Tags:** Mainframe-Integration, EntireX\
**Created:** [July 9, 2004, 5:51pm UTC](https://techcommunity.softwareag.com/t/array-group-definition-idl-generated-nat6972-error/59011 "2004-07-09T17:51:02Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![KGLuttrell](https://avatars.discourse-cdn.com/v4/letter/k/a88e57/32.png) [@KGLuttrell](https://techcommunity.softwareag.com/u/KGLuttrell)\
**Post date:** [July 9, 2004, 5:51pm UTC](https://techcommunity.softwareag.com/t/array-group-definition-idl-generated-nat6972-error/59011/1 "2004-07-09T17:51:02Z")

</div>

We are having trouble when we try to use Natural sub-p’s with arrays. See the info cut and pasted below. We are getting a NAT6972. We have been advised by the Software AG person to use \*Error-TA to return the “real” error.  
We do not know what piece to attack first. We use many Natural sub-p’s in our production environment via the Broker TOR object and a few using RPC. This is our first with arrays and have similar ones waiting to be delivered.  
I need guidance on using the \*error-ta not sure where I need to reference it and guidance on how to properly format the arrays…so that we do not receive the NAT6972.  
  
EntireX 7.1.1 patch level 30   
Let me know if I need to provide any other information.  
  
Smiles,  
Karen   
  
IDL  
Library ‘XXXXX’ Is  
Program ‘PRGNAME’ Is  
Define Data Parameter  
1 #W-USER-ID (A8)  
1 #X-DAT (A30)  
1 TEST-COUNT (N3) Out  
1 TEST-DATA (/100)  
2 TST-TY (A4)  
2 TST-DT (A8)  
2 SUBTEST (A2)  
2 SEL-SUBTEST (A1)  
2 TST-SCR (N4.2)  
2 MAX-SCR (N4.2)  
2 CRS-PLCMNTS (A10/1:4)  
1 #RETURN-CODE (N4) Out  
1 #RETURN-MSG (A60) Out  
End-Define  
CS Wrapper  
#region Groups for LIBRARY ‘XXXXX’, PROGRAM ‘PRGNAME’   
  
public class Prgname  
{  
public class TestData  
{  
[SendAs(IdlType.A, Length=4f)]public StringBuilder tstTy;  
[SendAs(IdlType.A, Length=8f)]public StringBuilder tstDt;  
[SendAs(IdlType.A, Length=2f)]public StringBuilder subtest;  
[SendAs(IdlType.A, Length=1f)]public StringBuilder selSubtest;  
[SendAs(IdlType.N, preDecimal=4, postDecimal=2)]public decimal tstScr;  
[SendAs(IdlType.N, preDecimal=4, postDecimal=2)]public decimal maxScr;  
[SendAs(IdlType.A, Length=10f, Dim=4f)]public StringBuilder crsPlcmnts;  
}  
}  
  
  
#endregion  
#region Method/Function for LIBRARY ‘ORIONWEB’ PROGRAM ‘STAW14N1’  
  
[Program(“STAW14N1”)]  
public void testScores(  
[SendAs(IdlType.A, Length=8f)][In, Out] ref StringBuilder wUserId,  
[SendAs(IdlType.A, Length=30f)][In, Out] ref StringBuilder xDat,  
[SendAs(IdlType.N, preDecimal=3, postDecimal=0)][Out] out decimal testCount,  
[SendAs(IdlType.Group, Dim=100f)][In, Out] ref EntireX.Wrappers.Student.StudentBasics.Staw14n1.TestData testData,  
[SendAs(IdlType.N, preDecimal=4, postDecimal=0)][Out] out decimal returnCode,  
[SendAs(IdlType.A, Length=60f)][Out] out StringBuilder returnMsg  
)  
{  
testCount = 0;  
returnCode = 0;  
returnMsg = new StringBuilder() ;  
service.Send(  
this.GetType().GetMethod(“TestScores”),  
wUserId,  
xDat,  
new Ref(ref testCount),  
testData,  
new Ref(ref returnCode),  
returnMsg  
);  
}  
  
#endregion  
}  
}  
  
Karen Goolishian Luttrell  
Artemis Development Team  
FCCJ  
  
Karen Goolishian Luttrell  
Artemis Development Team  
FCCJ

---

<div class="post-metadata">

**Author:** ![Douglas\_Kelly](https://sea1.discourse-cdn.com/techcommunity/user_avatar/techcommunity.softwareag.com/douglas_kelly/32/102_2.png) [@Douglas\_Kelly](https://techcommunity.softwareag.com/u/Douglas_Kelly)\
**Post date:** [July 13, 2004, 6:45am UTC](https://techcommunity.softwareag.com/t/array-group-definition-idl-generated-nat6972-error/59011/2 "2004-07-13T06:45:00Z")

</div>

a NAT6972 is usually a setup problem rather than something within your program. Turn on the trace:  
 RPC=(SERVER=ON,etc,TRACE=1)  
and add a DD statement for CMPRT10:  
 //CMPRT10 DD SYSOUT=\*  
This will give the subcode of the error, one of:  
 1 - No directory.  
 2 - Invalid directory.  
 3 - No space to load directory. Increase the RPC size.  
 4 - No server found in service directory for the subprogram/library  
 whose names are indicated in the error message.  
 5 - Recursive RPC with the two subprograms whose names are  
 indicated in the error message.  
 6 - A Natural error has occurred during loading of NATCLTGS.  
  
Given that you have some arrays in your PDA, I’m guessing you might need to increase your RPCSIZE value. The minimum for RPCSIZE is MAXBUFF + 4. Try MAXBUFF + 16. For example:  
 RPC=(SERVER=ON,SRVNODE=ETB001,SRVNAME=SRV1,  
 MAXBUFF=30,RPCSIZE=46)  
  
Douglas Kelly,  
Principal Consultant  
Software AG, Inc  
Sacramento, California

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/techcommunity/original/3X/c/d/cd19967bb605d28a72d77eb83a1cae22f3df2eb8.svg) [@system](https://techcommunity.softwareag.com/u/system)\
**Post date:** [April 2, 2021, 2:39pm UTC](https://techcommunity.softwareag.com/t/array-group-definition-idl-generated-nat6972-error/59011/3 "2021-04-02T14:39:36Z")

</div>


