SDK-使用DocEntry和LineNum作为参数删除行

2020-09-02 17:26发布

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

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


大家好,

任何人都可以解决我的问题,我希望SDK代码从销售订单中删除一行,但是我需要指定要删除的销售订单行的DocEntry和LineNum。

我将如何处理?

谢谢

乔丹

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

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


大家好,

任何人都可以解决我的问题,我希望SDK代码从销售订单中删除一行,但是我需要指定要删除的销售订单行的DocEntry和LineNum。

我将如何处理?

谢谢

乔丹

付费偷看设置
发送
3条回答
派大星 ヾ
1楼-- · 2020-09-02 17:28

乔丹,你好

Diego的答案应该很好。
还有另一个选择,
DocumentLines.SetCurrentLine接受" RDR1.VisOrder"中的字段值。
因此不循环doc.Lines对象的示例将是:

 oRS.DoQuery("从RDR1 WHERE DocEntry = 1选择VisOrder,并在(1,5,7,9)中按VisOrder DESC排序()中的LineNum")
for(int i = 0; i doc.Lines.SetCurrentLine(visOrder);
doc.Lines.Delete(); oRS.MoveNext();
}
int errCode = oDoc.Update();

当您要一次删除多行时,请小心,以desc顺序从最后一个VisOrder循环。
上面的示例将从DocEntry = 1的Order中删除行1,5,7和9

关于
Edy

SAP小黑
2楼-- · 2020-09-02 17:41

最后的注意是关键! 谢谢:)

哎,真难
3楼-- · 2020-09-02 17:45

嗨乔丹

这应该可以完成工作:

文档oDoc = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oOrders);
 int docEntry = 190;
 int lineNum = 0;
//加载您的销售订单
 如果(oDoc.GetByKey(docEntry))
 {
    //遍历一行
     为(int i = 0; i 
   

希望有帮助。

亲切的问候,

迭戈兄弟

一周热门 更多>