Read Material BOM
This sample shows how to obtain the components of a material BOM using the function module CSAP_MAT_BOM_READ.
Tip
To change a material BOM use the function modules CSAP_MAT_BOM_OPEN, CSAP_MAT_BOM_MAINTAIN and CSAP_MAT_BOM_CLOSE. To create a new BOM use the function modules CSAP_MAT_BOM_ALLOC_CREATE and CSAP_MAT_BOM_CREATE.
Call CSAP_MAT_BOM_READ
The following sample code retrieves the components of a material BOM:
| CSAP_MAT_BOM_READ |
|---|
| 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();
//Create function
RFCFunction func = connection.CreateFunction("CSAP_MAT_BOM_READ");
func.Exports["MATERIAL"].ParamValue = "100-100"; // Material
func.Exports["PLANT"].ParamValue = "1000"; // Plant
func.Exports["BOM_USAGE"].ParamValue = "1"; // Usage -> 1 = Production
//Execute
func.Execute();
// reading header
if (func.Tables["T_STKO"].Rows.Count > 0)
{
// print out BOM header
RFCStructure header = func.Tables["T_STKO"].Rows[0];
Console.WriteLine("Base Quantity: " + header["BASE_QUAN"].ToString()
+ " " + header["BASE_UNIT"].ToString() + "\r\n");
Console.WriteLine("Items:\r\n");
// print out components, quantity, item text
foreach (RFCStructure itemrow in func.Tables["T_STPO"].Rows)
{
Console.WriteLine(itemrow["COMPONENT"].ToString() + " " +
itemrow["COMP_QTY"].ToString() + " " +
itemrow["ITEM_TEXT1"].ToString());
}
}
else
{
Console.WriteLine("No BOM found");
}
Console.WriteLine("Ready");
Console.ReadLine();
|
Last update: January 2, 2024