Sapnco 3.0 csap_bom_mat_read ошибка
Уважаемые Эксперты,
Я довольно долго жонглировал в интернете, чтобы найти ответ о том, как выполнить RFC CSAP_BOM_MAT_READ с помощью SAP NCO.Я могу выполнить некоторые другие Бапи, такие как
BAPI_MATERIAL_GETLIST и т. д., Но не может выполнить RFC CSAP_BOM_MAT_READ.
BAPI_MATERIAL_GETLIST функционирует внутри вызова BAPI, в нем участвуют таблицы параметров (IRfcTable mm1 = mm.GetTable("MATNRSELECTION");, но для
CSAP_BOM_MAT_READ, это похоже на поле или параметры.
Что я уже пробовал:
BAPI_MATERIAL_GETLIST ----РАБОТАЕТ ОТЛИЧНО
ECCDestinationConfig cfg = new ECCDestinationConfig(); RfcDestinationManager.RegisterDestinationConfiguration(cfg); RfcDestination dest = RfcDestinationManager.GetDestination("mySAPdestination"); RfcRepository repo = dest.Repository; IRfcFunction mm = repo.CreateFunction("BAPI_MATERIAL_GETLIST"); //mm.SetValue("MAXROWS", "500000"); IRfcTable mm1 = mm.GetTable("MATNRSELECTION"); IRfcTable mm1P = mm.GetTable("PLANTSELECTION"); mm1.Append(); mm1.SetValue("SIGN", "I"); mm1.SetValue("OPTION", "NE"); mm1.SetValue("MATNR_LOW", "&&&&"); mm1.SetValue("MATNR_HIGH", ""); mm1P.Append(); mm1P.SetValue("SIGN", "I"); mm1P.SetValue("OPTION", "EQ"); mm1P.SetValue("PLANT_LOW", "711"); mm1P.SetValue("PLANT_HIGH", ""); mm.SetValue("MATNRSELECTION", mm1); mm.SetValue("PLANTSELECTION", mm1P); IRfcTable TBL2 = mm.GetTable("MATNRLIST"); mm.Invoke(dest); DataTable dt = TBL2.ToDataTable("table1"); //var companyDataTable = companyCodeList.ToDataTable(Name); this.dataGridView1.DataSource = dt;
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
CSAP_MAT_BOM_READ - предоставление несовместимы ошибка вызова, я пробовал с несколькими спецификации стандарта RFC, но все дают одну и ту же ошибку.
ECCDestinationConfig cfg = new ECCDestinationConfig(); RfcDestinationManager.RegisterDestinationConfiguration(cfg); RfcDestination dest = RfcDestinationManager.GetDestination("mySAPdestination"); RfcRepository repo = dest.Repository; IRfcFunction mm = repo.CreateFunction("CSAP_MAT_BOM_READ"); mm.SetValue("MATERIAL", "405114"); mm.SetValue("PLANT", "0711"); mm.SetValue("BOMUSAGE", "1"); mm.Invoke(dest); IRfcTable TBL2 = mm.GetTable("T_STPO"); DataTable dt = TBL2.ToDataTable("table1"); this.dataGridView1.DataSource = dt;