如何解决BAPI / FM按工作中心和日期搜索生产订单确认?
我正在尝试根据日期(如果可能,请加上时间)和工作中心在哪里确认的搜索条件来确定可以使用哪些BAPI / FM来搜索确认的金额...
我将使用包含这些信息的BAPI_PRODORDCONF_GETDETAIL,但是根据BAPI指南,我只能加载确认号+确认计数器的数据。
因此,选项将是运行BAPI_PRODORDCONF_GETLIST(但我只能输入生产订单范围或确认编号范围),然后过滤包括所需的工作中心和日期以及从这些确认编号+计数器中获取的内容并通过BAPI_PRODORDCONF_GETDETAIL运行它。
- 但是在服务器端不进行数据过滤的情况下获取所有内容的列表的过程非常耗时,并且退出SAP Gui。我有超时错误...因此我需要任何BAPI / FM,可以在其中输入已确认日期的工作中心,并且已经对数据进行了过滤...
有什么想法怎么做?
解决方法
据我所知,没有这样的标准FM,所以您唯一的选择是自定义开发。
如果此信息以便捷的形式公开,我建议您进行MCPK
交易,但是我发现您的要求是从外部接收此信息,因此不适合您。
确认位于AFRU
表中,而工作中心位于CRHD
中,因此要按工作中心查找已确认的数量,您应该加入这些表,或使用链接此信息的视图u_15673
:
TYPES: BEGIN OF prod_orders,rueck TYPE afru-rueck,"confirmation number
rmzhl TYPE afru-rmzhl," confirmation counter
gmnga TYPE afru-gmnga," quantity
arbid TYPE crhd-arbpl," workcenter
END OF prod_orders.
DATA: orders TYPE TABLE OF prod_orders.
SELECT *
FROM u_15673
INTO CORRESPONDING FIELDS OF TABLE orders
WHERE isdd >= '20180101' AND isdz <= '163000'.
要从外部进行此操作,必须创建启用RFC的FM或使用RFC_READ_TABLE
并使用参数here is the sample获取此视图。
另一种方法是使用RFC_ABAP_INSTALL_AND_RUN
。您必须创建一个使用WRITE将结果作为标准列表输出到屏幕的ABAP程序。
将该程序的行发送到参数RFC_ABAP_INSTALL_AND_RUN
到PROGRAM
,代码将在远程系统上执行,并且FM将返回屏幕结果作为表WRITES的行。
基于MCPK tcode的可能示例将发送到RFC_ABAP_INSTALL_AND_RUN
:
CLEAR lwa_selection.
lwa_selection-selname = 'SL_SPTAG'.
lwa_selection-sign = 'I'.
lwa_selection-option = 'BT'.
lwa_selection-low = '20180101'.
lwa_selection-high = '20201231'.
APPEND lwa_selection TO li_selection.
CLEAR lwa_selection.
lwa_selection-selname = 'SL_ARBPL'.
lwa_selection-sign = 'I'.
lwa_selection-option = 'EQ'.
lwa_selection-low = '10400001'.
APPEND lwa_selection TO li_selection.
SUBMIT rmcf0200 WITH SELECTION-TABLE li_selection
with par_stat = abap_true
EXPORTING LIST TO MEMORY
AND RETURN.
DATA: xlist TYPE TABLE OF abaplist.
DATA: xtext TYPE TABLE OF char200.
CALL FUNCTION 'LIST_FROM_MEMORY'
TABLES
listobject = xlist.
CALL FUNCTION 'LIST_TO_TXT'
EXPORTING
list_index = -1
TABLES
listtxt = xtext
listobject = xlist.
IF sy-subrc = 0.
LOOP AT xtext ASSIGNING FIELD-SYMBOL(<text>).
WRITE <xtext>.
ENDLOOP.
ENDIF.
但是,这种方法不灵活,因为MCPK
标准布局与您想要的有点不同,并且不容易通过编程进行调整。
因此,我建议坚持使用RFC_READ_TABLE
方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。