Member 13689928 Ответов: 0

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;

0 Ответов