CONSTANTS : GC_BLACK TYPE CHAR04 VALUE '@EB@', GC_RED TYPE CHAR04 VALUE '@0A@', GC_GREEN TYPE CHAR04 VALUE '@08@', GC_YELLOW TYPE CHAR04 VALUE '@09@'. DATA: LS_PHONE TYPE CVIS_EI_PHONE_STR, LS_FAX TYPE CVIS_EI_FAX_STR, LS_SMTP TYPE CVIS_EI_SMTP_STR. DATA: LT_RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE, "返回参数. LS_PURCHASING TYPE VMDS_EI_PURCHASING, LS_FUNCTIONS TYPE VMDS_EI_FUNCTIONS, LT_FUNCTIONS TYPE VMDS_EI_FUNCTIONS_T, LT_MASTER_DATA TYPE VMDS_EI_MAIN, LS_MASTER_DATA TYPE VMDS_EI_EXTERN. DATA: LV_LIFNR TYPE LFA1-LIFNR. CLEAR: LT_RETURN. REFRESH: LT_RETURN. * CALL FUNCTION 'BAPI_BUPA_ROLE_ADD_2' * EXPORTING * businesspartner = in-partner * businesspartnerrolecategory = 'FLVN01' ** ALL_BUSINESSPARTNERROLES = ' ' * businesspartnerrole = 'FLVN01' ** DIFFERENTIATIONTYPEVALUE = ** VALIDFROMDATE = ** VALIDUNTILDATE = '99991231' * TABLES * return = lt_return. * "20160721新增 * LOOP AT lt_return WHERE type = 'A' OR type = 'E'. ** GW_LIST-ICON = GC_RED. ** GW_LIST-MSG = LT_RETURN-MESSAGE. * gv_err = 'X'. * "EXIT. * ENDLOOP. * * IF gv_err = 'X'. * ELSE. * CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' * EXPORTING * wait = 'X'. * ENDIF. CLEAR: LS_MASTER_DATA,LS_PURCHASING,LS_MASTER_DATA,LT_MASTER_DATA. REFRESH:LT_FUNCTIONS. LS_MASTER_DATA-HEADER-OBJECT_TASK = 'U'. LS_MASTER_DATA-HEADER-OBJECT_INSTANCE-LIFNR = '0000111123'. *DATA:LV_KTOKK2 TYPE TBC001-KTOKK. *CLEAR LV_KTOKK2. *SELECT SINGLE KTOKK FROM TBC001 INTO LV_KTOKK2 WHERE BU_GROUP = IN-BU_GROUP. *LS_MASTER_DATA-CENTRAL_DATA-CENTRAL-DATA-KTOKK = LV_KTOKK2. "供应商帐户组 *LS_MASTER_DATA-CENTRAL_DATA-CENTRAL-DATAX-KTOKK = 'X'. "供应商帐户组 * * LS_PURCHASING-TASK = 'U'. LS_PURCHASING-DATA_KEY-EKORG = '3000'. " 采购组织 *IF IN-USEDTYPE EQ '3'. LS_PURCHASING-DATA-SPERM = 'X'. LS_PURCHASING-DATAX-SPERM = 'X'. *ELSEIF IN-USEDTYPE EQ '4'. * LS_PURCHASING-DATA-SPERM = ''. * LS_PURCHASING-DATAX-SPERM = 'X'. *ENDIF. * ls_purchasing-data-waers = in-caigou-waers. " 币种 * ls_purchasing-datax-waers = 'X'. * ls_purchasing-data-zterm = in-caigou-zterm1. " 付款条件 * ls_purchasing-datax-zterm = 'X'. ** LS_PURCHASING-DATA-EKGRP = in-EKGRP. " 采购组20160913 ** LS_PURCHASING-DATAX-EKGRP = 'X'. * ls_purchasing-data-verkf = in-caigou-verkf. " 供应商联系人 * ls_purchasing-datax-verkf = 'X'. * ls_purchasing-data-telf1 = in-caigou-telf1. " 供应商联系电话 * ls_purchasing-datax-telf1 = 'X'. * ls_purchasing-data-webre = in-caigou-webre. " 基于收货的发票校验 * ls_purchasing-datax-webre = 'X'. * ls_purchasing-data-lebre = in-caigou-lebre. " 基于服务的发票校验标识 * ls_purchasing-datax-lebre = 'X'. * ls_purchasing-data-kalsk = in-caigou-kalsk. " 方案组 * ls_purchasing-datax-kalsk = 'X'. *LS_FUNCTIONS-TASK = 'U'. * IF in-KTONR <> ''. * LS_FUNCTIONS-DATA_KEY-PARVW = 'ZM'. "ER内外部转换后为ZM ** LS_FUNCTIONS-DATA-DEFPA = ''. * CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' * EXPORTING * INPUT = in-KTONR * IMPORTING * OUTPUT = in-KTONR. * LS_FUNCTIONS-DATA-PARTNER = in-KTONR. * LS_FUNCTIONS-DATAX-PARTNER = 'X'. * APPEND LS_FUNCTIONS TO LS_PURCHASING-FUNCTIONS-FUNCTIONS. * * ENDIF. *LS_FUNCTIONS-DATA_KEY-PARVW = 'BA'. *APPEND LS_FUNCTIONS TO LS_PURCHASING-FUNCTIONS-FUNCTIONS. * *LS_FUNCTIONS-DATA_KEY-PARVW = 'LF'. *APPEND LS_FUNCTIONS TO LS_PURCHASING-FUNCTIONS-FUNCTIONS. * *LS_FUNCTIONS-DATA_KEY-PARVW = 'RS'. *APPEND LS_FUNCTIONS TO LS_PURCHASING-FUNCTIONS-FUNCTIONS. ** APPEND LS_PURCHASING TO LS_MASTER_DATA-PURCHASING_DATA-PURCHASING. APPEND LS_MASTER_DATA TO LT_MASTER_DATA-VENDORS[]. * LS_FUNCTIONS-DATA_KEY-PARVW = 'OA'. * APPEND LS_FUNCTIONS TO LS_PURCHASING-FUNCTIONS-FUNCTIONS. * * LS_FUNCTIONS-DATA_KEY-PARVW = 'VN'. * APPEND LS_FUNCTIONS TO LS_PURCHASING-FUNCTIONS-FUNCTIONS. * * LS_FUNCTIONS-DATA_KEY-PARVW = 'PI'. * LS_FUNCTIONS-DATA-DEFPA = ''. * APPEND LS_FUNCTIONS TO LS_PURCHASING-FUNCTIONS-FUNCTIONS. DATA LS_MSG1 TYPE VMDS_EI_MAIN. DATA LS_MSG2 TYPE CVIS_MESSAGE. DATA LS_MSG3 TYPE VMDS_EI_MAIN. DATA LS_MSG4 TYPE CVIS_MESSAGE. DATA LS_MSG TYPE BAPIRET2. VMD_EI_API=>INITIALIZE( ). CALL METHOD VMD_EI_API=>MAINTAIN_BAPI "VMD_EI_API=>MAINTAIN_DIRECT_INPUT EXPORTING IV_COLLECT_MESSAGES = 'X' IS_MASTER_DATA = LT_MASTER_DATA IMPORTING ES_MASTER_DATA_CORRECT = LS_MSG1 ES_MESSAGE_CORRECT = LS_MSG2 ES_MASTER_DATA_DEFECTIVE = LS_MSG3 ES_MESSAGE_DEFECTIVE = LS_MSG4. IF LS_MSG4-IS_ERROR = ''. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING WAIT = 'X'. WRITE:/ '成功'. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. WRITE:/ '失败'. ENDIF.
网友评论