ABAP輸出報表數據(RFC)

sap

SPAN {
font-family: “Courier New”;
font-size: 10pt;
color: #000000;
background: #FFFFFF;
}
.L0S31 {
font-style: italic;
color: #808080;
}
.L0S32 {
color: #3399FF;
}
.L0S33 {
color: #4DA619;
}
.L0S52 {
color: #0000FF;
}
.L0S55 {
color: #800080;
}
.L0S70 {
color: #808080;
}

FUNCTION zrfc_read_zmm14.
*"----------------------------------------------------------------------
"“本地接口:
*” IMPORTING
*" VALUE(IP_INPUT001) LIKE MARD-WERKS
*" VALUE(IP_INPUT002) LIKE MKPF-MJAHR
*" EXPORTING
*" VALUE(EP_SUBRC) LIKE SY-SUBRC
*" VALUE(EP_MSG) TYPE CHAR255
*" TABLES
*" IT_INPUT001 STRUCTURE RANGE_C10 OPTIONAL
*" IT_INPUT002 STRUCTURE RANGE_C2 OPTIONAL
*" IT_INPUT003 STRUCTURE RANGE_C4 OPTIONAL
*" IT_INPUT004 STRUCTURE RANGE_C3 OPTIONAL
*" IT_INPUT005 STRUCTURE RANGE_C8 OPTIONAL
*" IT_INPUT007 STRUCTURE RANGE_C18 OPTIONAL
*" IT_INPUT008 STRUCTURE RANGE_C10 OPTIONAL
*" IT_INPUT009 STRUCTURE RANGE_C8 OPTIONAL
*" ET_LOG STRUCTURE BAPIRET2 OPTIONAL
*" ET_OUTPUT001 STRUCTURE ZRFC_S_MM0023 OPTIONAL
*"----------------------------------------------------------------------
REFRESH:et_log.
TABLES: t001k.
CLEAR:et_log,ep_subrc,ep_msg.
DATA: it_dis LIKE TABLE OF zrfc_s_mm0023 WITH HEADER LINE.

IF ip_input001 IS INITIAL.
ep_subrc = ‘-1’.
et_log-type = ‘E’.
et_log-message = ‘請輸入工廠’.
APPEND et_log.CLEAR et_log.
EXIT.
ELSE.
SELECT SINGLE * FROM t001k WHERE bwkey = ip_input001.
IF sy-subrc NE 0.
ep_subrc = ‘-1’.
et_log-type = ‘E’.
et_log-message = ‘輸入工廠不存在’.
APPEND et_log.CLEAR et_log.
EXIT.
ENDIF.
ENDIF.
LOOP AT it_input007.
PERFORM f_add_zero USING it_input007-low.
PERFORM f_add_zero USING it_input007-high.
MODIFY it_input007.
ENDLOOP.
LOOP AT it_input008.
PERFORM f_add_zero USING it_input008-low.
PERFORM f_add_zero USING it_input008-high.
MODIFY it_input008.
ENDLOOP.

  • READ TABLE et_log WITH KEY type = ‘E’.
  • IF sy-subrc = 0.
  • ep_subrc = -1.
  • EXIT.
  • ENDIF.
    SET PARAMETER ID ‘ZMM14’ FIELD ‘X’.
    ************* 調用報表取數據
    SUBMIT zmmr014a AND RETURN
    WITH p_werks = ip_input001
    WITH p_mjahr = ip_input002
    WITH s_mblnr IN it_input001
    WITH s_vgart IN it_input002
    WITH s_lgort IN it_input003
    WITH s_bwart IN it_input004
    WITH s_budat IN it_input005
    "WITH s_usnam IN it_input006
    WITH s_matnr IN it_input007
    WITH s_lifnr IN it_input008
    WITH s_bedat IN it_input009.

IMPORT it_dis FROM MEMORY ID ‘ZMM14’.

LOOP AT it_dis.
MOVE-CORRESPONDING it_dis TO et_output001.
PERFORM f_cut_zero USING et_output001-matnr.
PERFORM f_cut_zero USING et_output001-lifnr.
APPEND et_output001.CLEAR et_output001.
ENDLOOP.
FREE MEMORY ID ‘ZMM14’.
SET PARAMETER ID ‘ZMM14’ FIELD ‘’.
IF NOT et_output001[] IS INITIAL.
ep_msg = ‘讀取數據成功’.
et_log-type = ‘S’.
et_log-message = ep_msg.
APPEND et_log.
ELSE.
ep_subrc = ‘-1’.
ep_msg = ‘沒有符合條件的數據’.
et_log-type = ‘E’.
et_log-message = ep_msg.
APPEND et_log.
ENDIF.

ENDFUNCTION.
SAP

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章