SAP SD客户主数据查询接口分享
一、接口逻辑
二、接口代码
FUNCTION Z_FMSD_CUST_SEARCH.
"----------------------------------------------------------------------
"*"本地接口:
" IMPORTING
" VALUE(I_DATA_GD) TYPE ZSBC_IF_GD OPTIONAL
" VALUE(I_INPUT) TYPE STRING OPTIONAL
" EXPORTING
" VALUE(E_OUTPUT) TYPE STRING
"----------------------------------------------------------------------
CALL FUNCTION 'ZFM_BREAK_POINT' .
"清空全局变量
CLEAR:GV_INPUT_002,
GV_OUTPUT_002,
GV_STATUS_002.
"清空输出变量
CLEAR:E_OUTPUT.
IF I_INPUT IS NOT INITIAL.
CALL FUNCTION 'Z_FMBC_JSONTOABAP'
EXPORTING
I_JSON = I_INPUT
IMPORTING
E_DATA = GV_INPUT_002.
ENDIF.
IF GV_INPUT_002 IS INITIAL.
PERFORM FRM_SET_MSG TABLES GV_OUTPUT_002-MESSAGELIST USING 'E' '00' '001' '请检查JSON结构与SAP ABAP结构 是否一致!'.
PERFORM FRM_WRITE_LOG_NEW USING 'SD0002'
GV_OUTPUT_002
I_DATA_GD
I_INPUT
E_OUTPUT
'E'.
EXIT.
ENDIF.
PERFORM FRM_CHECK_INPUT_02 TABLES GV_OUTPUT_002-MESSAGELIST.
IF GV_OUTPUT_002-MESSAGELIST[] IS NOT INITIAL.
PERFORM FRM_WRITE_LOG_NEW USING 'SD0002'
GV_OUTPUT_002
I_DATA_GD
I_INPUT
E_OUTPUT
'E'.
EXIT.
ENDIF.
IF GV_INPUT_002-PARTNER IS NOT INITIAL .
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = GV_INPUT_002-PARTNER
IMPORTING
OUTPUT = GV_INPUT_002-PARTNER.
ENDIF.
*S4DK804443
IF GV_INPUT_002-KUNNR IS NOT INITIAL .
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = GV_INPUT_002-KUNNR
IMPORTING
OUTPUT = GV_INPUT_002-KUNNR.
ENDIF.
*S4DK804443
PERFORM FRM_GET_BASIC_DATA.
IF GV_OUTPUT_002-ZBASIC_DATA[] IS INITIAL.
GV_STATUS_002 = 'E'.
PERFORM FRM_SET_MSG TABLES GV_OUTPUT_002-MESSAGELIST
USING 'E' '00' '001' '输入参数条件,没有查询到有效数据!!'.
ELSE.
GV_STATUS_002 = 'S'.
PERFORM FRM_SET_MSG TABLES GV_OUTPUT_002-MESSAGELIST
USING 'S' '00' '001' '查询数据成功!'.
ENDIF.
PERFORM FRM_WRITE_LOG_NEW USING 'SD0002'
GV_OUTPUT_002
I_DATA_GD
I_INPUT
E_OUTPUT
GV_STATUS_002.
ENDFUNCTION.
FUNCTION-POOL ZFGSD0001. "MESSAGE-ID ..
TABLES: KNVV,MVKE,KNMT.
* INCLUDE LZFGSD0001D... " Local class definition
"客户主数据创建接口全局变量
DATA:GV_INPUT_003 TYPE ZSSD_CUST_MASTERDATA,
GV_OUTPUT_003 TYPE ZSSD_CUST_MASTERDATA_OUT,
GV_LIFNR_003 TYPE BUT000-PARTNER.
DATA:GV_STATUS TYPE C,
GV_GUID TYPE BUT000-PARTNER_GUID.
"客户主数据查询接口全局变量
DATA:GV_INPUT_002 TYPE ZSSD_INPUT_002,
GV_OUTPUT_002 TYPE ZSSD_OUTPUT_002,
GV_STATUS_002 TYPE C.
"客户信用主数据维护接口
DATA:GV_INPUT_007 TYPE ZSSD_INPUT_007,
GV_OUTPUT_007 TYPE ZTTBC_MSG,
GV_STATUS_007 TYPE C,
GV_KUNNR_007 TYPE KNA1-KUNNR.
"客户信用主数据查询接口
DATA:GV_INPUT_006 TYPE ZSSD_INPUT_006,
GV_OUTPUT_006 TYPE ZSSD_OUTPUT_006,
GV_STATUS_006 TYPE C.
"价格主数据维护接口
DATA: GV_INPUT_008 TYPE ZSSD_INPUT_008,
GV_OUTPUT_008 TYPE ZTTBC_MSG.
DATA: GT_PRICE TYPE TABLE OF ZSSD_008_INPUT_PRICE,
GS_PRICE TYPE ZSSD_008_INPUT_PRICE,
GT_DISCOUNT TYPE TABLE OF ZSSD_008_INPUT_DISCOUNT,
GS_DISCOUNT TYPE ZSSD_008_INPUT_DISCOUNT.
"客户物料信息查询接口
DATA:GV_INPUT_011 TYPE ZSSD_INPUT_011,
GV_OUTPUT_011 TYPE ZSSD_OUTPUT_011,
GV_STATUS_011 TYPE C.
"独立需求维护接口
DATA:GV_INPUT_014 TYPE ZSSD_INPUT_014,
GV_OUTPUT_014 TYPE ZTTBC_MSG,
GT_INPUT_014_ITEM TYPE ZTTSD_INPUT_014_ITEM,
GS_INPUT_014_ITEM TYPE ZSSD_INPUT_014_ITEM,
GV_DATE_TYPE TYPE PRGRS,
GV_STATUS_014 TYPE C.
DATA: BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
"销售订单审批状态更新接口
DATA:GV_INPUT_017 TYPE ZSSD_INPUT_017,
GV_OUTPUT_017 TYPE ZTTBC_MSG,
GV_STATUS_017 TYPE C.
"借贷项凭证创建接口
DATA:GV_INPUT_060 TYPE ZSSD_INPUT_060,
GV_OUTPUT_060 TYPE ZSSD_OUTPUT_060,
GV_STATUS_060 TYPE C.
*未清DN查询接口
DATA:GS_OUTPUT_007 TYPE ZSSD_OUTPUT