Send a STATUS IDoc
The example below shows how to send a STATUS IDoc.
About
The STATUS message type is used to manipulate the status of another outbound IDoc e.g., when a subsystem receives an IDoc and acknowledges the receive with a status change. STATUS is a simple IDoc that contains only one data record.
Note
Make sure to configure your SAP system to receive IDocs.
Send a STATUS IDoc
To send a STATUS IDoc using ERPConnect:
- Connect to the SAP system using
R3Connection. - Inquire the IDoc number of the IDoc to be manipulated and read the input.
- Use
CreateIdoc to instance a valid IDoc object. "SYSTAT01" is the IDoc type for the appropriate message type STATUS. - Provide receiver and sender information.
- Fill in the following fields in segment E1STATS:
- the new status code (STATUS)
- date and time (LOGDAT, LOGTIM)
- the number of the IDoc to be manipulated
- Send the IDoc using the
Send.
-
Run the program using and check the result.
| using System;
using ERPConnect;
using ERPConnect.Utils;
// Set your ERPConnect license
LIC.SetLic("xxxx");
using var connection = new R3Connection(
host: "server.acme.org",
systemNumber: 00,
userName: "user",
password: "passwd",
language: "EN",
client: "001")
{
Protocol = ClientProtocol.NWRFC,
};
connection.Open();
// Inquire the IDoc number of the IDoc to be manipulated and read the input.
Console.WriteLine("Which IDoc number would you like to manipulate?");
string IdocNo = Console.ReadLine();
Idoc i = connection.CreateIdoc("SYSTAT01","");
// Fill Message Type
i.MESTYP = "STATUS";
// Fill Information about IDoc Receiver
i.RCVPRN = "PT4_800"; // Partner number
i.RCVPRT = "LS"; // Partner type
// Fill information about IDoc sender
i.SNDPOR = "ERPCONNECT"; // Partner port
i.SNDPRN = "ERPCONNECT"; // Partner number
i.SNDPRT = "LS"; // Partner type
// Fill the right fields in the segments
i.Segments["E1STATS",0].Fields["LOGDAT"].FieldValue = "20210901";
i.Segments["E1STATS",0].Fields["LOGTIM"].FieldValue = "152301";
i.Segments["E1STATS",0].Fields["STATUS"].FieldValue = "12";
i.Segments["E1STATS",0].Fields["DOCNUM"].FieldValue = IdocNo;
i.Send();
Console.WriteLine("IDoc sent");
Console.ReadLine();
|
Output:
The status code of the manipulated IDoc increases from 3 (Data passed...) to 12 (Dispatch OK).

Last update: June 8, 2026