点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 在我们公司,我们对商品采...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 在我们公司,我们对商品采...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
在我们公司,我们对商品采用可重复使用的商品代码系统。 示例:
商品代码 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 项目说明
REUSABLE_001。 。 。 。 。 。 。 。 。 。 。 。 MISC_GOODS。
REUSABLE_002。 。 。 。 。 。 。 。 。 。 。 。 MISC_GOODS
等等 直到...
REUSABLE_100。 。 。 。 。 。 。 。 。 。 。 。 MISC_GOODS
请注意,所有项目在 Item Master文件中都具有相同的 ItemDescription :" MISC_GOODS"。
--------------------------------------------------- ------------------
我们要使用DI API创建 销售订单 ,但我们要替换默认的 ItemDescription (" MISC_GOODS" 非常有意义),通过客户的描述(例如BANANAS)
-
我们使用foll。 技巧:
我们的把戏很完美。 当我们在SAP中打开销售订单时,我们发现客户的描述(BANANAS)正确显示在项目描述字段中(而不是" MISC_GOODS")
--------------------------------------------------- ---------------------
在Row2中添加第2个 nd 项时会出现问题。
假设客户订购了2件商品,如下所示:
商品代码 。 。 。 。 。 。 。 。 。 。 。 。 。 。 客户的描述
REUSABLE_001。 。 。 。 。 。 。 。 。 。 香蕉
REUSABLE_002。 。 。 。 。 。 。 。 。 。 玉米片
--------
运行代码时,正确添加了2 nd 行。 但是" CORNFLAKES "将转到第1 st 行,而不是第2 nd 行。
我们的SAP销售订单屏幕如下:
商品代码 。 。 。 。 。 。 。 。 。 。 。 。 项目说明
REUSABLE_001。 。 。 。 。 。 。 玉米片 ***
REUSABLE_002。 。 。 。 。 。 。 MISC_GOODS
---
注意:***最初是:" MISC_GOODS"(系统默认值)
然后替换为" BANANAS"(客户的第一项)
然后替换为" CORNFLAKES"(客户的第二项)
似乎DI API正在替换第一行而不是最后一行(第二行)
---------------------------------------
问题:
可能出了什么问题? 缺少什么?
我想我们必须告诉DI API修改哪一行。 不知道该怎么做。
如何告诉SAP修改LAST行(即第一行)的"项目描述"?
非常感谢您的帮助。
================================================ ==============================
我们的简化代码,仅显示相关行:
'HEADER-ORDR
oOrder.CardCode =" BP11518"
'//其他字段类似
‘ 1 ST ROW – RDR1
oOrder.Lines。 ItemCode =" REUSABLE_001"。 。 。 。 。 。 。 。 。 。 。 '//客户订购的第一项代码
’类似地,对于其他字段,除了自动插入的ItemDescription字段之外。
oOrder.Lines.Add()。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 ‘//添加第二行
oOrder.Lines.ItemCode =" REUSABLE_100" ‘。 。 。 。 。 。 。 '//任何代码都可以。-只是放一些东西
oOrder.Lines.Delete()。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 ‘//删除2 nd 行。 因此,我们仍然位于1 st Row。
oOrder.Lines.ItemDescription ="香蕉"。 。 。 。 。 。 。 。 ‘//用客户的描述替换系统描述。
‘2 nd ROW -RDR1
oOrder.Lines.Add()。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 ‘//添加2 nd 行
oOrder.Lines.ItemCode =" REUSABLE_002"。 。 。 。 。 。 。 。 。 '//客户订购的第二项代码
’类似地,对于其他字段,除了自动插入的ItemDescription字段之外。
oOrder.Lines.Add()。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 ‘///添加3 rd 行
oOrder.Lines.ItemCode =" REUSABLE_100"。 。 。 。 。 。 。 。 。 。 ‘//任何代码都可以-只是放一些东西
oOrder.Lines.Delete()。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。‘//删除3 rd 行。 因此,我们仍然位于2 nd 行。 (是我们吗?)
oOrder.Lines.ItemDescription =" CORNFLAKES"。 。 。 。 。 。 。 。‘//用客户的描述替换系统描述。
'已添加销售订单
IRetCode = oOrder.Add
谢谢
利昂
嗨,Ankit
您的示例代码可以创造奇迹。 正是我想要的!
SetCurrentLine()是我的代码中缺少的内容。
但是,这让我完全感到困惑!
--------------------------------------
第一个谜题:
在之前的尝试中,我发现不可能同时输入 ItemCode 和 ItemDescription 。
这是因为,当我们输入 ItemCode 时,SAP自动显示默认的 ItemDescription (" MISC_GOODS"),并且不接受您想要的" BANANAS" 强制。
这就是为什么我必须添加新行的原因:强制SAP完成第一行。
然后删除刚才添加的行。 然后,我用"香蕉"覆盖了" MISC_GOODS"。
------
此过程类似于手动填写SAP中的销售订单表格的过程:
我们输入 ItemCode ,然后用 past 标签 ItemDescription 字段允许SAP填充它。
只有这样,我们才能用我们自己的任意描述覆盖默认的 ItemDescription 。
-------
但是您的代码似乎表明您可以同时输入 ItemCode 和任何任意 ItemDescription 。 为什么? 是什么让您的代码正常工作?
我能发现的唯一区别是您执行oOrder.Lines.SetCurrentLine(i-1)。
这可以解释为什么您成功但我失败了吗? 真的很困惑!
--------------------------------------------------- ----------------------------------
第二个拼图:
测试 Lines.Count = 1 的原因是什么?
--------------------------------------------------- ----------------------------------
最好的问候
利昂
我将按照今天晚些时候的回答关闭此线程。
一周热门 更多>