点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)伙计们,我已经待了好几天了,试图...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)伙计们,我已经待了好几天了,试图...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
伙计们,我已经待了好几天了,试图使本质上在前台工作的东西也可以在后台工作。 我有一个录音(BDC),在使用CALL TRANSACTION'ME11',MODE'P',INPUT'S'的情况下可以在前台正常工作。
我已经通过事务SHDB重新记录了BDC,请注意我选择了哪些选项,因此确定我将"同步"使用它,而不是在CATT模式下使用。 还单击/选中了"模拟背景模式",并创建了录音,同时单击了"非批输入会话"并将其留空,但是在特定情况下,这些录音看起来是相同的。 无论如何,我使用了该记录,并对其进行了调试并检查了BDC,以确保所有值都已填充在BDC结构/表中。 然后,我调用该语句:
呼叫交易'ME11' 使用lt_bdcdata 来自gv_options的选项 消息输入lt_messtab。
gv_messages看起来像这样:
gv_options-DISMODE ='P'。 gv_options-UPDMODE ='S'。 gv_options-CATTMODE =''。 gv_options-DEFSIZE ='X'。 gv_options-RACOMMIT =''。 gv_options-NOBINPT ='X'。 gv_options-NOBIEND =''。
但是我也尝试过使用这些设置:
gv_options-DISMODE ='P'。 gv_options-UPDMODE ='S'。 gv_options-CATTMODE =''。 gv_options-DEFSIZE =''。 gv_options-RACOMMIT =''。 gv_options-NOBINPT =''。 gv_options-NOBIEND =''。
我也尝试过使用DISMODE的'N'和'A',但无济于事。
无论我尝试什么,我总是在(lt_messtab)消息表中获得相同的条目,并且总是有一条消息类型为'S'的单记录,是的,成功!即使不是因为PIR 不存在。 消息ID为" 06",消息号为" 381"。 如果您在SE91中查询该消息,则会看到"输入工厂"消息,这是一个很大的红色鲱鱼,因为我们没有输入工厂编号,或者需要一个,因为PIR针对供应商/物料/是通用的 采购组织。 如果我从lt_bdcdata表中获取数据并通过ME11手动输入,那么它可以正常工作,因此数据还可以,特别是因为相同的数据可以成功地在前台工作,而在后台也可以。
如果我稍稍更改代码,以便将数据写入SM35(OPEN JOB等),即使通过SM35在后台处理,它也可以正常工作。 哎呀。 我只是无法通过CALL TRANSACTION命令使它正常工作。 我只是不知道为什么。
我不认为gv_options结构中的CATTMODE会有所作为,是吗?
此刻我还在尝试另一个选项,那就是生成一个新的录音(通过SHDB),一旦完成,单击该选项即可生成一个程序。 值得将其产生的代码与我的代码进行比较。
更新:上面的bu SHDB只是尝试过,似乎只使用OPEN/CLOSE JOB创建SM35会话,它没有使用CALL TRANSACTION。 h!
好吧,我花了整整一周的时间试图弄清楚问题出在哪里,最后,我和一位同事谈论了另一个话题,一分钱都掉了,我意识到即使我正在执行的程序在后台运行 (通过SM37),其Step用户是特定用户(使用用户参数表进行查询),即使该用户能够创建和更新物料,工厂,存储地点,销售组织,仓库,标价,物料 确定,它似乎总是在处理PIR时失败。 我更改了代码(这会在后台启动作业),以将我的用户名用作批处理作业步骤用户,而且,请记住,PIR的创建成功了。 我只能假定先前使用的用户名缺少一些自动检查,尽管我不知道如何查找,因为我不知道该用户的密码,我们只是使用它在后台执行。 ;)
无论如何,我的问题已解决,我现在可以在后台使用CALL TRANSACTION'ME11'了,没有任何问题。
在前台运行BDC时,那么" Enter Pllant"消息不在lt_messtab中吗?
尝试也手动运行ME11,然后在调试器中将此消息放断点(不要填充类型(S),仅数字和ID)。
好吧,令人尴尬的是,我确实找到了答案 。 我一直都以自己为己任,因此一切运行正常。
在后台进行处理时,我们有一个特定的用户,而在上线时会这样做。 该用户允许我们创建新的物料/工厂/销售组织/仓库等,并列出价格和物料依存关系,但似乎不是PIR。 由于某些原因,创建PIR(通过CALL交易'ME11')对于该用户而言将无法在后台运行,但使用我的用户ID在后台运行将非常好。 真是太奇怪了,以至于用户拥有要做很多事情但没有创建PIR的授权。
无论如何,我们将找出缺少的身份验证,并将其添加到用于后台处理的用户ID中。
非常感谢那些发布尝试的人。
我相信我已经有了答案。 我以我自己的身份在前台运行,但是在后台执行时,我们使用了特定的用户ID,该ID可以创建/更新所有物料数据,创建清单过程和物料确定,但无法正确处理PIR。 最后,我更改了代码,以便在后台执行并完成所有工作(包括创建PIR)时使用我的用户ID。
在后台处理时,我们正在使用的USER ID明显缺少授权。
尽管要回答您的问题,PIR的创建始终在前台进行,但是随后使用我的用户ID执行了该程序。 使用我的用户ID在后台运行,并使用相同的BDC记录也可以。 它将无法与我们为后台处理分配的用户ID一起使用。
一周热门 更多>