ME01创建货源清单函数、BAPI详解编程语言

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/champaignwolf/article/details/76641497

FUNCTION zsrm_source_list.
“———————————————————————-
“Local interface:
”  TABLES
”      INPUT STRUCTURE  ZSRM_SOURCE_LIST_INPUT OPTIONAL
”      OUTPUT STRUCTURE  ZSRM_SOURCE_LIST_OUTPUT OPTIONAL
“———————————————————————-

  “批量更改货源清单

  DATA:lt_eordu LIKE TABLE OF eordu WITH HEADER LINE.

  SORT input BY matnr werks.

  DATA:lv_matnr TYPE matnr,

       lv_werks TYPE werks_d.

  DATA:wa_input TYPE zsrm_source_list_input.

  LOOP AT input.

    MOVE-CORRESPONDING input TO wa_input.

    AT NEW werks.

      CLEAR:lt_eordu[].

      REFRESH lt_eordu.

    ENDAT.

    CALL FUNCTION ‘CONVERSION_EXIT_ALPHA_INPUT’

      EXPORTING

        input  wa_inputmatnr

      IMPORTING

        output wa_inputmatnr

      EXCEPTIONS

        OTHERS 1.

    CALL FUNCTION ‘CONVERSION_EXIT_ALPHA_INPUT’

      EXPORTING

        input  wa_inputlifnr

      IMPORTING

        output wa_inputlifnr

      EXCEPTIONS

        OTHERS 1.

    lt_eordumatnr wa_inputmatnr.

    lt_eorduwerks wa_inputwerks.

    lt_eorduvdatu wa_inputvdatu.

    lt_eordubdatu wa_inputbdatu.

    lt_eordulifnr wa_inputlifnr.

    lt_eorduekorg wa_inputekorg.

    lt_eordureswk wa_inputreswk.

    lt_eorduautet wa_inputautet.

    lt_eorduerdat sydatum.

    lt_eorduernam syuname.
    lt_eordu-zeord = record-zeord.

    lt_eordukz ‘I’.

    APPEND lt_eordu.

    lv_matnr wa_inputmatnr.

    lv_werks wa_inputwerks.

    AT END OF werks.

      CALL FUNCTION ‘ME_INITIALIZE_SOURCE_LIST’ .

      CALL FUNCTION ‘ME_DIRECT_INPUT_SOURCE_LIST’

        EXPORTING

          i_matnr            lv_matnr

          i_werks            lv_werks
         I_MT06E            =  lt_eordu
         I_NO_MATERIAL_READ =
         activity           = ‘V’
         I_VORGA            =
         I_LOGSY            =

        TABLES

          t_eord             lt_eordu

        EXCEPTIONS

          plant_missing      1

          material_missing   2

          OTHERS             3.

      IF sysubrc <> 0.

        outputmatnr lv_matnr.

        outputwerks lv_werks.

        outputflag ‘E’.

        outputmessage ‘货源清单创建失败’.

        APPEND output.

        CLEAR output.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
*                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

      ELSE.

        CALL FUNCTION ‘ME_POST_SOURCE_LIST_NEW’

          EXPORTING

            i_matnr wa_inputmatnr.

        CALL FUNCTION ‘BAPI_TRANSACTION_COMMIT’

          EXPORTING

            wait ‘X’.

        outputmatnr lv_matnr.

        outputwerks lv_werks.

        outputflag ‘S’.

        outputmessage ‘货源清单创建成功’.

        APPEND output.

        CLEAR output.

      ENDIF.

    ENDAT.

  ENDLOOP.

ENDFUNCTION.

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/19787.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论