zoukankan      html  css  js  c++  java
  • ABAP-供应商主数据创建(冻结和解冻供应商的采购组织)

    FUNCTION zmm_fm_21_06.
    *"----------------------------------------------------------------------
    *"*"本地接口:
    *"  IMPORTING
    *"     VALUE(IN) TYPE  ZSLIFNR_SRM
    *"  EXPORTING
    *"     VALUE(OUT) TYPE  ZSLIFNR_SRM
    *"----------------------------------------------------------------------

      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 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              'M'.
      ls_master_data-header-object_instance-lifnr    in-partner.

      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                    in-caigou-ekorg.    " 采购组织
      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'.

        in-lfm1f 'X'.
        in-icon_a  = gc_yellow.
        IF in-usedtype EQ '3'.
          in-remark in-remark && '供应商在采购组织' && in-caigou-ekorg && '下冻结成功'.
        ELSEIF in-usedtype EQ '4'.
          in-remark in-remark && '供应商在采购组织' && in-caigou-ekorg && '下解冻成功'.
        ENDIF.

      ELSE.
        CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
        LOOP AT ls_msg4-messages INTO ls_msg.
          in-remark in-remark && '/' && ls_msg-message.
        ENDLOOP.
        in-icon_a  = gc_red.

      ENDIF.

      out in.





    ENDFUNCTION.

  • 相关阅读:
    制作完整的java可执行文件
    做最好的自己
    hadoop安装&单机配置
    虚拟机中不能识别U盘的解决方案
    扩展的欧几里得&中国剩余定理
    Java基础知识
    [转载] vim+ctags+taglist+cscope+cppcomplete+global
    [转载] tar 备份时如何保持权限
    [转载] Python没有switch语句的解决方法
    Makefile中一些特殊符号的意义
  • 原文地址:https://www.cnblogs.com/eagle-dtq/p/12848647.html
Copyright © 2011-2022 走看看