zoukankan      html  css  js  c++  java
  • ABAP-MFBF

    FUNCTION zpp_fm_mfbf.
    *"----------------------------------------------------------------------
    *"*"本地接口:
    *"  IMPORTING
    *"     REFERENCE(IN_WERKS) TYPE  WERKS_D
    *"     REFERENCE(IN_BKTXT) TYPE  BKTXT
    *"     REFERENCE(IN_BLDAT) TYPE  BLDAT
    *"     REFERENCE(IN_BUDAT) TYPE  BUDAT
    *"     REFERENCE(IN_MATNR) TYPE  MATNR18
    *"     REFERENCE(IN_CHARG) TYPE  CHARG_D
    *"     REFERENCE(IN_LGORT) TYPE  LGORT_D
    *"     REFERENCE(I_MENGE) TYPE  SA_ERFMG
    *"     REFERENCE(IN_VERID) TYPE  VERID
    *"     REFERENCE(IN_MDV01) TYPE  MDV01
    *"  EXPORTING
    *"     REFERENCE(OUT_TYPE) TYPE  BAPI_MTYPE
    *"     REFERENCE(OUT_MSG) TYPE  BAPI_MSG
    *"----------------------------------------------------------------------

      DATA: messtab TYPE TABLE OF  bdcmsgcoll WITH HEADER LINE.

      DATA:ctu_params     TYPE  ctu_params.
      DATA:return TYPE TABLE OF bapiret2 WITH HEADER LINE.
      DATA:l_char    TYPE char255,
           l_line(2) TYPE n.
      DATA:in_menge TYPE string.
      "错误信息
      DATA:p_type       TYPE bapi_mtype,
           p_message    TYPE bapi_msg,
           l_error_flag TYPE c.
      DATA: BEGIN OF i_bdcdata OCCURS 100.
          INCLUDE STRUCTURE bdcdata.
      DATA: END OF i_bdcdata.

      in_menge = i_menge.
      REFRESH:i_bdcdata,messtab.

      PERFORM bdc_dynpro  TABLES i_bdcdata    USING 'SAPLBARM' '0800'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'BDC_CURSOR'
                                    'RM61B-BKTXT'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'BDC_OKCODE'
                                    '=GOON'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-RB_BAUGR'
                                    'X'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-BUDAT'
                                    in_budat."'2019.10.29'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-BLDAT'
                                    in_bldat."'2019.10.29'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-BKTXT'
                                    IN_BKTXT."'CESHI'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-MATNR'
                                    in_matnr."'400000000181'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-WERKS'
                                    in_werks."'1000'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-VERID'
                                    in_verid."'AQ01'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-PLWERK'
                                    in_werks."'1000'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-ACHARG'
                                    in_charg."'1DS19A1000'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-MDV01'
                                    in_mdv01."'1000FF01'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-ERFMG'
                                    in_menge."'1.000'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-ERFME'
                                    '片'.
      PERFORM bdc_dynpro  TABLES i_bdcdata    USING 'SAPLBARM' '0800'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'BDC_OKCODE'
                                    '=PARA'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-RB_BAUGR'
                                    'X'.
      PERFORM bdc_field    TABLES i_bdcdata   USING 'RM61B-BUDAT'
                                    in_budat."'2019.10.29'.
      PERFORM bdc_field    TABLES i_bdcdata   USING 'RM61B-BLDAT'
                                    in_bldat."'2019.10.29'.
      PERFORM bdc_field    TABLES i_bdcdata   USING 'RM61B-BKTXT'
                                    IN_BKTXT."'CESHI'.
      PERFORM bdc_field    TABLES i_bdcdata   USING 'RM61B-MATNR'
                                    in_matnr."'400000000181'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-WERKS'
                                    in_werks."'1000'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-VERID'
                                    in_verid."'AQ01'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-PLWERK'
                                    in_werks."'1000'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-ALORT'
                                    in_lgort."'1501'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-ACHARG'
                                    in_charg."'1DS19A1000'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-MDV01'
                                    in_mdv01."'1000FF01'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'BDC_CURSOR'
                                    'RM61B-ERFMG'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-ERFMG'
                                    in_menge."'1.000'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-ERFME'
                                    '片'.
      PERFORM bdc_dynpro  TABLES i_bdcdata    USING 'SAPLBARM' '0150'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'BDC_CURSOR'
                                    'RM61B-LBOFF'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'BDC_OKCODE'
                                    '=GOON'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-LBOFF'
                                    'X'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-LBSTD_P'
                                    ''.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-RADIOFR'
                                    'X'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-BWAWE'
                                    '131'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-BWAWA'
                                    '261'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-BWAWEM'
                                    '571'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-BWAWAM'
                                    '572'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-BWACR'
                                    '291'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-BWASC'
                                    '551'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-BWACO'
                                    '531'.
      PERFORM bdc_dynpro  TABLES i_bdcdata    USING 'SAPLBARM' '0800'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'BDC_OKCODE'
                                    '=POST'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-RB_BAUGR'
                                    'X'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-BUDAT'
                                    in_budat."'2019.10.29'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-BLDAT'
                                    in_bldat."'2019.10.29'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-BKTXT'
                                    IN_BKTXT."'CESHI'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-MATNR'
                                    in_matnr."'400000000181'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-WERKS'
                                    in_werks."'1000'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-VERID'
                                    in_verid."'AQ01'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-PLWERK'
                                    in_werks."'1000'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-ALORT'
                                    in_lgort."'1501'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-ACHARG'
                                    in_charg."'1DS19A1000'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-MDV01'
                                    in_mdv01."'1000FF01'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'BDC_CURSOR'
                                    'RM61B-ERFMG'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-ERFMG'
                                    in_menge."'1.000'.
      PERFORM bdc_field   TABLES i_bdcdata    USING 'RM61B-ERFME'
                                    '片'.

      "模式
      ctu_params-dismode = 'N'.
    *  ctu_params-dismode = 'A'.
      ctu_params-defsize = 'X'.
      ctu_params-updmode = 'S'.
      ctu_params-racommit = 'X'.

      "TCODE
      CALL TRANSACTION 'MFBF'  USING i_bdcdata
                                     OPTIONS FROM ctu_params
                                     MESSAGES INTO messtab.

      "MESSAGE
      CLEAR:p_type,p_message,l_error_flag,return[].
      CALL FUNCTION 'CONVERT_BDCMSGCOLL_TO_BAPIRET2'
        TABLES
          imt_bdcmsgcoll = messtab[]
          ext_return     = return.

      READ TABLE return WITH KEY type = 'S' ID = 'RM' NUMBER = '187' TRANSPORTING NO FIELDS.
      IF sy-subrc = 0.
        p_type = 'S'.     
    LOOP AT return.       
    CONCATENATE p_message return-message ';' INTO p_message.     
    ENDLOOP.     
    "p_message = '入库成功'.   
    ELSE.     
    LOOP AT return.       l_error_flag 
    = 'X'.       p_type 
    = 'E'.       
    CONCATENATE p_message return-message ';' INTO p_message.     
    ENDLOOP.   
    ENDIF.   out_type 

    FORM bdc_dynpro TABLES i_bdcdata USING program dynpro .
      DATA:l_bdcdata TYPE bdcdata.
      CLEAR l_bdcdata.
      l_bdcdata-program  program.
      l_bdcdata-dynpro   dynpro.
      l_bdcdata-dynbegin 'X'.
      APPEND  l_bdcdata TO i_bdcdata.
    ENDFORM.

    FORM bdc_field TABLES i_bdcdata USING fnam fval.
      DATA:l_bdcdata TYPE bdcdata.
      CLEAR l_bdcdata.
      l_bdcdata-fnam = fnam.
      l_bdcdata-fval = fval.
      APPEND l_bdcdata TO i_bdcdata.

    ENDFORM.



    = p_type.   out_msg  
    = '收货阶段:' &&  p_message.



    ENDFUNCTION.

  • 相关阅读:
    丁夏畦同志去世
    [裴礼文数学分析中的典型问题与方法习题参考解答]4.5.7
    [数分提高]2014-2015-2第10教学周第2次课 (2015-05-07)
    [数分提高]2014-2015-2第10教学周第1次课 (2015-05-04)
    [数分提高]2014-2015-2第9教学周第2次课 (2015-04-30)
    [数分提高]2014-2015-2第9教学周第1次课 (2015-04-28)
    [数分提高]2014-2015-2第8教学周第2次课 (2015-04-23)
    2014年江西省青年科学家名单
    2014年“江西青年五四奖章”名单
    [数学杂志]AML
  • 原文地址:https://www.cnblogs.com/eagle-dtq/p/11757801.html
Copyright © 2011-2022 走看看