ABAP-供应商主数据创建(冻结和解冻供应商的采购组织)

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.


关键词: ABAP

网友评论

发表评论