DI API添加无法正常工作

2020-09-24 07:16发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,我尝试使用DI API将新商品添加到"购买请求"中。 在我运行代码时没有发生任何错误,但未将其添加到表中。 我检查了OPRQ和PRQ1表,它们都是空的。 你能告诉我哪里错了吗? 这是我的代码:

 SAPbobsCOM.Documents vItem;
             尝试
             {
               
                 vItem =(SAPbobsCOM.Documents)vCmp.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseRequest);
                 vItem.Comments ="测试";
                 vItem.DocDate = System.DateTime.Now;
                 vItem.DocDueDate = System.DateTime.Now.AddDays(1);
                 vItem.Add();
                 Application.SBO_Application.MessageBox(" ok");
             }
             抓住(前例外)
             {
                 Application.SBO_Application.MessageBox(ex.ToString());
             }

 

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,我尝试使用DI API将新商品添加到"购买请求"中。 在我运行代码时没有发生任何错误,但未将其添加到表中。 我检查了OPRQ和PRQ1表,它们都是空的。 你能告诉我哪里错了吗? 这是我的代码:

 SAPbobsCOM.Documents vItem;
             尝试
             {
               
                 vItem =(SAPbobsCOM.Documents)vCmp.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseRequest);
                 vItem.Comments ="测试";
                 vItem.DocDate = System.DateTime.Now;
                 vItem.DocDueDate = System.DateTime.Now.AddDays(1);
                 vItem.Add();
                 Application.SBO_Application.MessageBox(" ok");
             }
             抓住(前例外)
             {
                 Application.SBO_Application.MessageBox(ex.ToString());
             }

 
付费偷看设置
发送
4条回答
N-Moskvin
1楼 · 2020-09-24 07:45.采纳回答

Hatice,

正如评论中提到的 Edy Simon 一样,您的代码应提供最少的信息来创建购买请求,就像我们 在SAP Business One客户端上执行。

在SDK帮助中心上,您可以查看有关如何使用SDK添加文档的示例。

一个小样本:

试试
             {
                 SAPbobsCOM.Documents oDoc = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseRequest);
                 oDoc.SendNotification = SAPbobsCOM.BoYesNoEnum.tNO;
                 oDoc.ReqType = 12; //用户或171作为员工
                 oDoc.Requester ="经理";
                 oDoc.RequriedDate = DateTime.Now;
                 oDoc.Lines.ItemCode =" A00001";
                 oDoc.Lines.Quantity = 1;


                //如果您想要更多iten,请调用oDoc.Lines.Add(); 在提供新商品代码之前。


                 如果(oDoc.Add()!= 0)
                     MessageBox.Show(oCompany.GetLastErrorDescription());


             }
             抓住(前例外)
             {
                 MessageBox.Show(ex.Message);
             }
 

希望有帮助。

最好的问候

Diego Lother

Nir深蓝
2楼-- · 2020-09-24 07:36

您可以使用以下代码打印出错误消息,并很好地了解出了什么问题:

 int res = vItem.Add();
 如果(res!= 0)
 {
     int errorCode = 0;
     字符串errorDesc ="";
     vCmp.GetLastError(out errorCode,out errorDesc);
    
     Application.SBO_Application.MessageBox($"插入项目失败({errorCode},{errorDesc})。");
 } 
南山jay
4楼-- · 2020-09-24 07:42

嗨,哈蒂斯,

DI API的工作逻辑与SBO应用程序相同。
您能否通过在代码中传递的有限信息在SBO应用程序中生成购买请求?
首先,我没有看到 您可以在代码中传递任何itemCode/accountCode。


关于
Edy

一周热门 更多>