采购合同增强Bapi代码

来源:互联网 发布:淘宝上哪家铁观音好 编辑:程序博客网 时间:2024/05/17 08:49
  METHOD IF_EX_MEOUT_BAPI_CUST~MAP2I_EXTENSIONIN.
*--------------------------------------------------------------------*
* ExtensionIn - Mapping
*--------------------------------------------------------------------*
*
* Example here shows how to map packed data types
*  i) ZZ_VALUE is defined in CI_EKKODB as packed value
*  ii) ZZ_TARGET is defined in CI_EKPODB as packed value
*--------------------------------------------------------------------*
* define local types
    TYPES:
      BEGIN OF LTY_S_HEADER,
        NUMBER   TYPE EBELN,
        ZZEVRT   TYPE CI_EKKODB-ZZEVRT"协议编号
        ZZEVRTP  TYPE CI_EKKODB-ZZEVRTP"协议项目
        ZZMQTY   TYPE LENGTH 16"总目标数量
        ZZMEINS  TYPE CI_EKKODB-ZZMEINS"基本计量单位
        ZZZHANL  TYPE CI_EKKODB-ZZZHANL"占量
        ZZBUC    TYPE CI_EKKODB-ZZBUC"补差
        ZZFANL   TYPE CI_EKKODB-ZZFANL"返利
        ZZCGKH   TYPE CI_EKKODB-ZZCGKH"采购客服
        ZZCGXZ   TYPE CI_EKKODB-ZZCGXZ"采购协助
        ZZZCRY   TYPE CI_EKKODB-ZZZCRY"驻厂人员
        ZZYYBM   TYPE CI_EKKODB-ZZYYBM"营业部
        ZZVBELN  TYPE CI_EKKODB-ZZVBELN,
        ZZFANL_Y TYPE CI_EKKODB-ZZFANL_Y,
        ZZFANL_J TYPE CI_EKKODB-ZZFANL_J,
        ZZFANL_N TYPE CI_EKKODB-ZZFANL_N,
        ZZFKFS   TYPE CI_EKKODB-ZZFKFS,
        ZZJHTQ   TYPE CI_EKKODB-ZZJHTQ,
      END OF LTY_S_HEADER.
**
    TYPES:
      BEGIN OF LTY_S_ITEM,
        EBELN TYPE EBELN,
        EBELP TYPE EBELP.
            INCLUDE TYPE CI_EKPODB.
    TYPES:END OF LTY_S_ITEM.

* define local data objects
    DATALV_NAME TYPE        BAPIPAREX-STRUCTURE,
          LR_DATA TYPE REF TO DATA,
          LS_DATA TYPE LTY_S_HEADER.
    FIELD-SYMBOLS<LS_DATA> TYPE ANY.
* no error -> nothing to do here
    IF IM_ERROR EQ ME->MO_CONST->NO.
      RETURN.
    ENDIF.
*
    LV_NAME IM_NAME.
    IF IM_NAME EQ 'BAPI_TE_MEOUTHEADER' OR IM_NAME EQ 'CI_EKKODB'.
*      LS_DATA-NUMBER =  IM_CONTAINER+0(10).
*      LS_DATA-ZZEVRT =  IM_CONTAINER+10(10).
*      LS_DATA-ZZEVRTP =  IM_CONTAINER+20(5).
*      LS_DATA-ZZMQTY =  IM_CONTAINER+25(16).
*      MOVE-CORRESPONDING LS_DATA TO CH_STRUC.
      CREATE DATA LR_DATA TYPE LTY_S_HEADER.
* get codepage handler
      DATA(LO_CPCL_MMPUR_BAPI_PO=>GET_CODEPAGE_HANDLER).
      ASSIGN LR_DATA->TO <LS_DATA>.
      TRY.
          LO_CP->CONT_TO_STRUC(
            EXPORTING CONT   IM_CONTAINER
                      LANGU  SY-LANGU
            IMPORTING STRUC  <LS_DATA> ).
          MOVE-CORRESPONDING <LS_DATA> TO CH_STRUC.
        CATCH CX_SY_CONVERSION_CODEPAGE.
          RETURN.
        CATCH CX_PARAMETER_INVALID_RANGE .
          RETURN.
      ENDTRY.

    ELSEIF IM_NAME EQ 'BAPI_TE_MEOUTITEM' OR IM_NAME EQ 'CI_EKPODB'.
*      CREATE DATA LR_DATA TYPE LTY_S_ITEM.
    ENDIF.


  ENDMETHOD.
原创粉丝点击