Change Batch Value of an Outbound Delivery
This sample shows how to change the batch values in SAP in an outbound delivery using the BAPI BAPI_OUTB_DELIVERY_CHANGE.
Call BAPI_OUTB_DELIVERY_CHANGE
The following sample code changes the batch values in SAP in an outbound delivery:
| BAPI_OUTB_DELIVERY_CHANGE |
|---|
| using System;
using ERPConnect;
// 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();
try
{
// Create a function object, fill parameters and execute
RFCFunction f = connection.CreateFunction("BAPI_OUTB_DELIVERY_CHANGE");
//Fill in values for HEADER_DATA SAP Import Structure
RFCStructure fHeader = f.Exports["HEADER_DATA"].ToStructure();
fHeader["DELIV_NUMB"] = "0080016236";
f.Exports["DELIVERY"].ParamValue = "0080016236";
// first Batch
RFCTable fPosT = f.Tables["ITEM_DATA"];
RFCStructure fPos = fPosT.AddRow();
fPos["DELIV_NUMB"] = "0080016236";
fPos["DELIV_ITEM"] = "000010";
fPos["MATERIAL"] = "100-302";
fPos["BATCH"] = "EIGEN_HALB";
fPos["HIERARITEM"] = "10";
fPos["USEHIERITM"] = "1";
fPos["DLV_QTY"] = 1;
fPos["DLV_QTY_IMUNIT"] = 1;
fPos["FACT_UNIT_NOM"] = "1";
fPos["FACT_UNIT_DENOM"] = "1";
fPos["SALES_UNIT"] = "ST";
//Second Batch
fPos = fPosT.AddRow();
fPos["DELIV_NUMB"] = "0080016236";
fPos["DELIV_ITEM"] = "000010";
fPos["MATERIAL"] = "100-302";
fPos["BATCH"] = "FREMD_HALB";
fPos["HIERARITEM"] = "10";
fPos["USEHIERITM"] = "1";
fPos["DLV_QTY"] = 2;
fPos["DLV_QTY_IMUNIT"] = 2;
fPos["FACT_UNIT_NOM"] = "1";
fPos["FACT_UNIT_DENOM"] = "1";
fPos["SALES_UNIT"] = "ST";
//Fill in values for ITEM_CONTROL Table
RFCTable fPosCtrlT = f.Tables["ITEM_CONTROL"];
RFCStructure fPosCtrl = fPosCtrlT.AddRow();
fPosCtrl["DELIV_NUMB"] = "0080016236";
fPosCtrl["DELIV_ITEM"] = "000010";
fPosCtrl["CHG_DELQTY"] = "X";
// Execute function
f.Execute();
//Create commit function object
RFCFunction funcCommit = r3Connection1.CreateFunction("BAPI_TRANSACTION_COMMIT");
funcCommit.Exports["WAIT"].ParamValue = "X";
// Execute commit function
funcCommit.Execute();
}
catch (Exception e1)
{
Console.WriteLine(e1.Message);
}
connection.Close();
|
Last update: January 2, 2024