簡體   English   中英

BAPI/FM 按工作中心和日期搜索生產訂單確認?

[英]BAPI/FM to search prod orders confirmations by workcenter and date?

我試圖找出我可以使用哪個 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並使用參數獲取此視圖,這里是示例

另一種方法是使用RFC_ABAP_INSTALL_AND_RUN 您必須創建一個 ABAP 程序,該程序使用 WRITE 將結果作為標准列表輸出到屏幕。

將此程序的行發送到RFC_ABAP_INSTALL_AND_RUNPROGRAM參數,代碼將在遠程系統上執行,此 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方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM