Hello,
I use MicrosoftBusinnessConnectorNet from an external application. In AX I have a class (PRO_getActiveRefillTransportPalletes) that returns data in a temporary table (SPL_TransportIdList). My problem is : when I read the temporary table, this table is empty. Do you know how to read this temporary table ? Below the AX class and my code from my external application.
Thanks in advance.
My class in AX:
SPL_TransportIdList PRO_getActiveRefillTransportPalletes(str _operator, str _operatorInventLocation)
{
WMSTransport wmsTransport;
EmplId operator = _operator;
InventLocationId operatorInventLocation = _operatorInventLocation;
SPL_TransportIdList transports;
;
while select wmsTransport
where wmsTransport.fromInventLocationId == operatorInventLocation
&& wmsTransport.expeditionStatus == WMSExpeditionStatus::Activated
&& wmsTransport.transportType == WMSTransportType::Refill
{
transports.clear();
transports.transport = wmsTransport.transportId;
transports.item = wmsTransport.itemId();
transports.pallet = wmsTransport.wMSPalletId;
transports.inventLocationOrigin = wmsTransport.fromLocation;
transports.inventLocationDestination = wmsTransport.inputLocation;
transports.insert();
}
return transports;
}
My code in my VS application:
// Create the .NET Business Connector objects.
Axapta ax;
AxaptaRecord axRecord;
// The output variables for calls to the
// AxRecord.get_Field method.
object fieldName;
object Response;
try
{
// Login to Microsoft Dynamics AX.
ax = new Axapta();
ax.Logon(null, null, null, null);
//calling the class
Axobj = ax.CreateAxaptaObject("SPL_WMSPalletPickInterface");
Response = Axobj.Call("PRO_getActiveRefillTransportPalletes", uSerid,Location);
// Create a query using the AxaptaRecord class
axRecord = ax.CreateAxaptaRecord(SPL_TransportIdList)
// Execute the query on the table.
axRecord.ExecuteStmt("select * from %1");
// Loop through the set of retrieved records.
while (axRecord.Found)
{
// Retrieve the record data for the specified fields.
fieldName = axRecord.get_Field("item");
// Advance to the next row.
axRecord.Next();
}
}