天天看点

ZWM_GET_QTBARCODE前台使用电芯翻包函数组

FUNCTION zwm_get_qtbarcode.

*"----------------------------------------------------------------------

*"*"本地接口:

*"  IMPORTING

*"     VALUE(I_PRINT) TYPE  CHAR1 OPTIONAL

*"     VALUE(I_RET) TYPE  CHAR1 OPTIONAL

*"     VALUE(I_COMMIT) TYPE  CHAR1 OPTIONAL

*"     VALUE(I_LGORT) TYPE  LGORT_D OPTIONAL

*"     VALUE(I_NLPLA) TYPE  LTAP_NLPLA OPTIONAL

*"  EXPORTING

*"     REFERENCE(E_TYPE) TYPE  BAPI_MTYPE

*"     REFERENCE(E_MSG) TYPE  BAPI_MSG

*"     REFERENCE(E_ZSWM050) TYPE  ZSWM050

*"  TABLES

*"      T_ZTWM0326 STRUCTURE  ZTWM0326 OPTIONAL

*"      T_ZTWM0333 STRUCTURE  ZTWM0333 OPTIONAL

*"      T_ZTWM0276 STRUCTURE  ZTWM0276 OPTIONAL

*"      T_ZTWM0277 STRUCTURE  ZTWM0277 OPTIONAL

*"      T_ZTWM0030 STRUCTURE  ZTWM0030 OPTIONAL

*"----------------------------------------------------------------------

*&----------------------------------------------------------------------*

*& 抬头    : 前台使用:供应商设备推送箱包关系接口函数                       *

*& 模块    : WM                                                             *

*& 作者    : JHwjc                                                          *

*& 业务顾问 : 张海                                                          *

*& 创建日期 : 2021-02-27                                                    *                                                  *

*& 描述     : 从原函数(ZWM_GET_BARCODE) 复制后,区分前台后台使用逻辑分离  *

*& 修改记录 :                                                           *

*& 日期        修改人  请求号           业务顾问        修改内容        *

*& 2021-02-27  JHwjc   EC3K912428       张海            新建           *

*& 2021-03-24  HANDZX  EC3K913006       茹书亭          海外工厂翻包逻辑调整

*& 2021-04-13  HANDZX  EC3K913333       茹书亭          自动生成批次长度问题处理

*& 2021-04-22  HANDZX  EC3K913006       施冬梅          国内翻包拉线字段逻辑调整  *

*& 2021-05-14  HANDZX  EC3K913683       茹舒亭          客退翻包处理  *

*& 2021-05-27  HANDZX  EC3K914085       茹舒亭          德国BMW和沈阳BMW翻包数量不一致,所以翻包环节需要数量校验 (ZTWM0346该表增加两个字段 工厂、库存地点)

*& 2021-06-08  JHwjc   EC3K914218       JHply           新增更新ztwm0275的zqm状态

*& 2021-07-16  HANDZX  EC3K915145       刘腾            海外翻包异常多个BIN位问题调整

*& 2021-07-24  JHwjc  EC3K915243       张海           优化翻包过程中WM层数据的处理逻辑 -开发

*&----------------------------------------------------------------------*

  "清空全局变量

  CLEAR: gt_ztwm0030, gw_ztwm0030, gt_ztwm0275, gw_ztwm0275, gt_ztwm0004, gw_ztwm0004,

         gt_ztwm0326_db, gt_ztwm0333, gw_ztwm0333, gt_ztwm0368, gw_ztwm0368, gt_ztwm0276,

         gw_ztwm0276, gt_ztwm0277, gw_ztwm0277.

  CLEAR: gv_varkey_charg, gv_varkey_setno, gv_varkey_lotno, gv_nlpla, gv_lgort, gv_weekno .

  TYPES: BEGIN OF ty_zmacls,

  matnr TYPE mara-matnr,

  zmacls TYPE zmdmatkl-zmacls,

  END OF ty_zmacls.

  DATA: gt_list TYPE TABLE OF zdt_get_barcode_req_list,

        gw_list TYPE zdt_get_barcode_req_list.

  DATA: lw_ztwm0030 TYPE ztwm0030.

  DATA: gt_zmacls TYPE TABLE OF ty_zmacls,

        gw_zmacls TYPE ty_zmacls.

  DATA: gv_logsys TYPE logsys.

  DATA: lv_first TYPE c,

        lv_setno TYPE ztwm0326-lot_no_n.

  TYPES: BEGIN OF ty_ztwm0030,

          store_name TYPE ztwm0030-store_name,

         END OF ty_ztwm0030.

  DATA: lt_ztwm0030 TYPE TABLE OF ty_ztwm0030.

  DATA: lv_lines    TYPE i.

****BEGIN OF ADD   EC3K914085****

  DATA: lv_werks TYPE ztwm0346-werks.

****END OF ADD   EC3K914085****

  DATA gt1_ztwm0326 TYPE TABLE OF ztwm0326.

  DATA gt2_ztwm0326 TYPE TABLE OF ztwm0326.

  "获取数据

  IF t_ztwm0326[] IS INITIAL .

    e_type = '2'.

    e_msg = text-002.

    RETURN.

  ENDIF.

  gv_lgort = i_lgort.

  gv_nlpla = i_nlpla.

****BEGIN OF ADD   EC3K913683****

*---add

  SELECT lot_no

         zbarcode

         matnr

         zreceipt

         erdat

         erzet

    INTO TABLE gt_ztwm0275

    FROM ztwm0275

    FOR ALL ENTRIES IN t_ztwm0326

    WHERE zbarcode = t_ztwm0326-zbarcode.

  SORT gt_ztwm0275 BY zbarcode ASCENDING erdat DESCENDING erzet DESCENDING.

  DELETE ADJACENT DUPLICATES FROM gt_ztwm0275 COMPARING zbarcode.

  SORT gt_ztwm0275 BY zbarcode.

*---del

*SELECT lot_no

*         zbarcode

*         matnr

*         zreceipt

*    INTO CORRESPONDING FIELDS OF TABLE gt_ztwm0275

*    FROM ztwm0275

*    FOR ALL ENTRIES IN t_ztwm0326

*    WHERE zbarcode = t_ztwm0326-zbarcode.

*

*  SORT gt_ztwm0275 BY zbarcode.

****END OF ADD   EC3K913683****

  CLEAR: gt1_ztwm0326.

  SELECT * INTO CORRESPONDING FIELDS OF TABLE gt1_ztwm0326

    FROM ztwm0326

     FOR ALL ENTRIES IN t_ztwm0326

    WHERE lot_no_n = t_ztwm0326-lot_no_n .

  IF  gt1_ztwm0326[] IS NOT INITIAL.

    READ TABLE gt1_ztwm0326 INTO DATA(ls1_ztwm0326) INDEX 1.

    IF sy-subrc EQ 0 .

      e_type = 'E'.

      e_msg  = text-014 && ls1_ztwm0326-lot_no_n && text-015.

    ENDIF.

  ENDIF.

  " 存在错误直接返回

  CHECK e_type IS INITIAL .

*****barcode重复校验

  CLEAR: gt2_ztwm0326.

****BEGIN OF ADD   EC3K913683****

*---DEL

*  SELECT * INTO CORRESPONDING FIELDS OF TABLE gt2_ztwm0326

*    FROM ztwm0326

*     FOR ALL ENTRIES IN t_ztwm0326

*    WHERE zbarcode = t_ztwm0326-zbarcode .

*---ADD 当客退BARCODE重新翻包时,ztwm0326会存在多条需关联最新LOTID

  IF gt_ztwm0275 IS NOT INITIAL.

    SELECT * INTO CORRESPONDING FIELDS OF TABLE gt2_ztwm0326

      FROM ztwm0326

       FOR ALL ENTRIES IN gt_ztwm0275

      WHERE zbarcode = gt_ztwm0275-zbarcode

        AND lot_no = gt_ztwm0275-lot_no.

  ENDIF.

****END OF ADD   EC3K913683****

  IF  gt2_ztwm0326[] IS NOT INITIAL.

    READ TABLE gt2_ztwm0326 INTO DATA(ls2_ztwm0326) INDEX 1.

    IF sy-subrc EQ '0'.

      e_type = 'E'.

      e_msg  = text-012 && ls2_ztwm0326-zbarcode && text-015.

    ENDIF.

  ENDIF.

  " 存在错误直接返回

  CHECK e_type IS INITIAL .

  DATA: ls_ztwm0326 TYPE ztwm0326.

  LOOP AT t_ztwm0326 INTO ls_ztwm0326.

    READ TABLE gt_ztwm0275 TRANSPORTING NO FIELDS

        WITH KEY zbarcode = ls_ztwm0326-zbarcode.

    IF sy-subrc <> 0.

      e_type = 'E'.

      e_msg  = text-012 && ls_ztwm0326-zbarcode && text-013.

    ENDIF.

  ENDLOOP.

  " 存在错误直接返回

  CHECK e_type IS INITIAL .

  SELECT lot_no_n

         zbarcode

    INTO CORRESPONDING FIELDS OF TABLE gt_ztwm0326_db

    FROM ztwm0326

    FOR ALL ENTRIES IN t_ztwm0326

    WHERE zbarcode = t_ztwm0326-zbarcode

    AND lot_no_n = t_ztwm0326-lot_no_n.

  SORT gt_ztwm0326_db BY zbarcode lot_no_n.

  IF gt_ztwm0275[] IS NOT INITIAL.

    SELECT lot_no

           werks

           zwerks

      INTO CORRESPONDING FIELDS OF TABLE gt_ztwm0030

      FROM ztwm0030

      FOR ALL ENTRIES IN gt_ztwm0275

      WHERE lot_no = gt_ztwm0275-lot_no.

****BEGIN OF ADD  EC3K914085****

    IF sy-subrc = 0.

      "获取当前翻包工厂

      READ TABLE gt_ztwm0030 INTO DATA(ls_0030) INDEX 1.

      IF sy-subrc = 0.

        lv_werks = ls_0030-werks.

        IF ls_0030-zwerks IS NOT INITIAL.

          lv_werks = ls_0030-zwerks.

        ENDIF.

      ENDIF.

    ENDIF.

****END OF MOD   EC3K914085****

    SORT gt_ztwm0030 BY lot_no.

    IF  sy-cprog  = 'ZWMP357'. "主调程序

      SELECT store_name FROM ztwm0030 INTO TABLE lt_ztwm0030

        FOR ALL ENTRIES IN gt_ztwm0275

        WHERE lot_no = gt_ztwm0275-lot_no.

      DESCRIBE TABLE lt_ztwm0030 LINES lv_lines.

      IF lv_lines > 1.

        e_type = 'E'.

        e_msg  = text-008.

        RETURN.

      ENDIF.

    ENDIF.

    "物料数量校验

    TYPES: BEGIN OF ty_ztwm0326_cl,

            lot_no TYPE ztwm0326-lot_no,

            times  TYPE i,

           END OF ty_ztwm0326_cl.

    DATA: lt_ztwm0346    TYPE TABLE OF ztwm0346,

          ls_ztwm0346    TYPE ztwm0346,

          ls_ztwm0275    TYPE ztwm0275.

    DATA: lv_mod         TYPE i,

          lv_times       TYPE i.

    SELECT * FROM ztwm0346 INTO TABLE lt_ztwm0346

      FOR ALL ENTRIES IN gt_ztwm0275

      WHERE matnr = gt_ztwm0275-matnr

****BEGIN OF ADD  EC3K914085****

        AND werks = lv_werks

        AND lgort = i_lgort.

****END OF ADD  EC3K914085****

    SORT lt_ztwm0346 BY matnr.

    lv_times = lines( gt_ztwm0275[] ).

    CLEAR gw_ztwm0275.

    READ TABLE gt_ztwm0275 INTO gw_ztwm0275 INDEX 1.

    CLEAR ls_ztwm0346.

    IF i_ret = abap_false.

      READ TABLE lt_ztwm0346 INTO ls_ztwm0346 WITH KEY matnr = gw_ztwm0275-matnr

                                                       BINARY SEARCH.

      IF sy-subrc = 0 AND ls_ztwm0346-menge <> 0.

        IF lv_times <> ls_ztwm0346-menge.

          e_type = 'E'.

          e_msg  = text-009 && gw_ztwm0275-matnr && text-010 && ls_ztwm0346-menge.

        ENDIF.

****BEGIN OF ADD  EC3K914085****

      ELSE.

        e_type = 'E'.

        e_msg = text-019.

****END OF ADD  EC3K914085****

      ENDIF.

    ENDIF.

    IF e_type = 'E'.

      RETURN.

    ENDIF.

    " 存在错误直接返回

    CHECK e_type IS INITIAL .

    SELECT mara~matnr

           zmdmatkl~zmacls

      INTO TABLE gt_zmacls

      FROM mara JOIN zmdmatkl

      ON mara~matkl = zmdmatkl~matkl

      FOR ALL ENTRIES IN gt_ztwm0275

      WHERE mara~matnr = gt_ztwm0275-matnr.

    SORT gt_zmacls BY matnr.

  ENDIF.

  "填充数据

  LOOP AT t_ztwm0326 INTO DATA(gw_ztwm0326).

    MOVE-CORRESPONDING gw_ztwm0326 TO gw_ztwm0333.

    gw_ztwm0333-erdat = sy-datum.

    gw_ztwm0333-erzet = sy-uzeit.

    APPEND gw_ztwm0333 TO gt_ztwm0333.

****BEGIN OF ADD  EC3K913006****

    MOVE-CORRESPONDING gw_ztwm0326 TO gw_ztwm0368.

    gw_ztwm0368-erdat = sy-datum.

    gw_ztwm0368-erzet = sy-uzeit.

    APPEND gw_ztwm0368 TO gt_ztwm0368.

****END   OF ADD  EC3K913006****

    IF i_print IS INITIAL.

*      IF  e_type EQ '1'.

*        DELETE t_ztwm0326[].

*        CONTINUE.

*      ENDIF.

      READ TABLE gt_ztwm0326_db TRANSPORTING NO FIELDS WITH KEY zbarcode = gw_ztwm0326-zbarcode lot_no_n = gw_ztwm0326-lot_no_n BINARY SEARCH.

      IF sy-subrc = 0.

        e_type = 'E'.

        e_msg = e_msg && gw_ztwm0326-zbarcode && text-003.

        DELETE t_ztwm0326[].

*        CONTINUE.

        RETURN .

      ENDIF.

    ENDIF.

    READ TABLE gt_ztwm0275 INTO gw_ztwm0275 WITH KEY zbarcode = gw_ztwm0326-zbarcode BINARY SEARCH.

    IF sy-subrc = 0.

      gw_ztwm0326-lot_no = gw_ztwm0275-lot_no.

      READ TABLE gt_ztwm0030 INTO gw_ztwm0030 WITH KEY lot_no = gw_ztwm0275-lot_no BINARY SEARCH.

      IF sy-subrc = 0.

        gw_ztwm0326-werks = gw_ztwm0030-werks.

****BEGIN OF MOD  EC3K913006****

        "海外工厂逻辑

        IF gw_ztwm0030-zwerks IS NOT INITIAL.

          gw_ztwm0326-werks = gw_ztwm0030-zwerks.

        ENDIF.

****END   OF MOD  EC3K913006****

      ENDIF.

      READ TABLE gt_zmacls INTO gw_zmacls WITH KEY matnr = gw_ztwm0275-matnr BINARY SEARCH.

      IF sy-subrc = 0.

        gw_ztwm0326-zmacls = gw_zmacls-zmacls.

      ENDIF.

      IF i_print = abap_true.

        IF lv_first = abap_false.

          IF gw_ztwm0326-zmacls = '01'.

            "生成新LOT

            PERFORM frm_get_lotno USING  i_ret

                                  CHANGING lv_setno.

          ELSEIF gw_ztwm0326-zmacls = '02'.

            "生成新SETNO

            PERFORM frm_get_setno USING i_ret

                                  CHANGING lv_setno.

          ENDIF.

          lv_first = abap_true.

        ENDIF.

        gw_ztwm0326-lot_no_n = lv_setno.

      ENDIF.

      CLEAR: gv_logsys.

      CALL FUNCTION 'ZWM_GET_LOTID_WERKS'

        EXPORTING

          lot_no = gw_ztwm0326-lot_no

        IMPORTING

          logsys = gv_logsys.

      gw_ztwm0326-zsourcebox = gv_logsys.

    ENDIF.

    MODIFY t_ztwm0326 FROM gw_ztwm0326.

  ENDLOOP.

  DATA(lt_ztwm0326_01) = t_ztwm0326[].

  DATA(lt_ztwm0326_02) = t_ztwm0326[].

  "过滤掉不需要更新贴纸表的数据

  DELETE lt_ztwm0326_01 WHERE zmacls <> '01'.

  DELETE lt_ztwm0326_02 WHERE zmacls <> '02'.

  DATA:e_mblnr TYPE mkpf-mblnr,

     e_mjahr TYPE mkpf-mjahr.

  CLEAR: gt_ztwm0276[],gt_ztwm0277[],e_mblnr,e_mjahr.

  IF lt_ztwm0326_01[] IS NOT INITIAL.

    PERFORM frm_process_01 TABLES lt_ztwm0326_01[]

                                  t_ztwm0326[]

                                  t_ztwm0030[]

                            USING i_print

                                  i_ret

                                  i_commit

                                  i_lgort

                           CHANGING e_type

                                    e_msg

                                    e_mblnr

                                    e_mjahr.

  ENDIF.

  IF lt_ztwm0326_02[] IS NOT INITIAL.

    PERFORM frm_process_02 TABLES lt_ztwm0326_02[]

                                  t_ztwm0326[]

                                  t_ztwm0030[]

                            USING i_print

                                  i_ret

                                  i_commit

                                  i_lgort

                           CHANGING e_type

                                    e_msg

                                    e_mblnr

                                    e_mjahr.

    ..

  ENDIF.

*  LOOP AT gt_ztwm0333 INTO gw_ztwm0333.

*    gw_ztwm0333-type = e_type.

*    gw_ztwm0333-msg = e_msg.

*    MODIFY gt_ztwm0333 FROM gw_ztwm0333.

*  ENDLOOP.

*

*  IF e_type = 'E' AND i_print = abap_false.

*    CLEAR: e_type ,e_msg..

*  ENDIF.

  CHECK e_type IS INITIAL .

  "更新数据库表

  IF e_type IS INITIAL.

    e_type = '0'.

    e_msg = text-001.

  ENDIF.

  IF i_commit = abap_true AND e_type <> 'E'.

*** BEGIN OF ADD EC3K914218 ***

    IF gt_ztwm0277[] IS NOT INITIAL .

      REFRESH : gt_ztwm0275_mod .

      SELECT * INTO CORRESPONDING FIELDS OF TABLE gt_ztwm0275_mod

        FROM ztwm0275

        FOR ALL ENTRIES IN gt_ztwm0277

        WHERE zbarcode = gt_ztwm0277-zbarcode .

      SORT gt_ztwm0277 BY zbarcode .

      LOOP AT gt_ztwm0275_mod ASSIGNING FIELD-SYMBOL(<ls_ztwm0275_mod>).

        READ TABLE gt_ztwm0277 ASSIGNING FIELD-SYMBOL(<ls_ztwm0277>)

                           WITH KEY zbarcode = <ls_ztwm0275_mod>-zbarcode BINARY SEARCH .

        IF sy-subrc EQ 0.

          IF <ls_ztwm0277>-zmarkcks EQ 'OK' AND <ls_ztwm0277>-zocvcks EQ 'OK'

            AND <ls_ztwm0277>-zwgcks EQ 'OK' AND <ls_ztwm0277>-zairtcks EQ 'OK'.

            <ls_ztwm0275_mod>-zqm = 'OK'.

          ELSE.

            <ls_ztwm0275_mod>-zqm = 'NG'.

          ENDIF.

        ENDIF.

      ENDLOOP.

      IF gt_ztwm0275_mod[] IS NOT INITIAL .

        MODIFY ztwm0275 FROM TABLE gt_ztwm0275_mod .

      ENDIF.

    ENDIF.

*** END OF ADD EC3K914218 ***

    MODIFY ztwm0326 FROM TABLE t_ztwm0326.

    MODIFY ztwm0333 FROM TABLE gt_ztwm0333.

    MODIFY ztwm0276 FROM TABLE gt_ztwm0276.

    MODIFY ztwm0277 FROM TABLE gt_ztwm0277.

    COMMIT WORK AND WAIT.

*** BEGIN OF ADD EC3K915243 *** F

        DATA : lt_mseg_311  TYPE TABLE OF mseg ,

               lw_mseg_311  TYPE mseg ,

               lw_lqua_311  TYPE lqua ,

               lt_lubqu_311 TYPE TABLE OF lubqu,

               lw_lubqu_311 TYPE lubqu,

               lv_tanum_311 TYPE ltak-tanum .

        CLEAR : lw_mseg_311 , lw_lqua_311 , lw_lubqu_311 , lv_tanum_311 .

        REFRESH : lt_mseg_311 , lt_lubqu_311 .

        WAIT UP TO 1 SECONDS .

        SELECT SINGLE mblnr mjahr lgnum matnr charg werks menge ubnum

          INTO CORRESPONDING FIELDS OF lw_mseg_311

          FROM mseg

          WHERE mblnr = e_mblnr

          AND   mjahr = e_mjahr

          AND   xauto = ''.

        SELECT COUNT(*)

          FROM ltak

          WHERE lgnum = lw_mseg_311-lgnum

          AND   mblnr = lw_mseg_311-mblnr

          AND   mjahr = lw_mseg_311-mjahr .

       IF sy-subrc NE 0.

          " 当TO并未产生时 ,获取数据生成TO

         CLEAR lw_lqua_311 .

          SELECT SINGLE lqnum lgnum matnr charg werks lgpla

            INTO CORRESPONDING FIELDS OF lw_lqua_311

            FROM lqua

            WHERE lgnum = lw_mseg_311-lgnum

            AND   matnr = lw_mseg_311-matnr

            AND   charg = lw_mseg_311-charg

            AND   werks = lw_mseg_311-werks

            AND   lgtyp = '601'

            AND   bestq = ''

            AND   verme GE lw_mseg_311-menge .

          IF lw_lqua_311 IS NOT INITIAL .

              CLEAR: lw_lubqu_311.

              REFRESH : lt_lubqu_311.

              lw_lubqu_311-lqnum = lw_lqua_311-lqnum.

              lw_lubqu_311-menge = lw_mseg_311-menge.

              lw_lubqu_311-nltyp = '601'.

              lw_lubqu_311-nlpla = lw_lqua_311-lgpla.

              APPEND lw_lubqu_311 TO lt_lubqu_311.

              CALL FUNCTION 'L_TO_CREATE_POSTING_CHANGE'

                EXPORTING

                  i_lgnum                      = lw_mseg_311-lgnum

                  i_ubnum                      = lw_mseg_311-ubnum

                  i_commit_work                = 'X'

                  i_bname                      = sy-uname

                IMPORTING

                  e_tanum                      = lv_tanum_311

                TABLES

                  t_lubqu                      = lt_lubqu_311

                EXCEPTIONS

                  foreign_lock                 = 1

                  tp_completed                 = 2

                  xfeld_wrong                  = 3

                  ldest_wrong                  = 4

                  drukz_wrong                  = 5

                  tp_wrong                     = 6

                  squit_forbidden              = 7

                  no_to_created                = 8

                  update_without_commit        = 9

                  no_authority                 = 10

                  i_ubnum_or_i_lubu            = 11

                  bwlvs_wrong                  = 12

                  material_not_found           = 13

                  manual_to_forbidden          = 14

                  bestq_wrong                  = 15

                  sobkz_missing                = 16

                  sobkz_wrong                  = 17

                  meins_wrong                  = 18

                  conversion_not_found         = 19

                  no_quants                    = 20

                  t_lubqu_required             = 21

                  le_bulk_quant_not_selectable = 22

                  quant_not_selectable         = 23

                  quantnumber_initial          = 24

                  kzuap_or_bin_location        = 25

                  date_wrong                   = 26

                  nltyp_missing                = 27

                  nlpla_missing                = 28

                  lgber_wrong                  = 29

                  lenum_wrong                  = 30

                  menge_wrong                  = 31

                  menge_to_big                 = 32

                  open_tr_kzuap                = 33

                  lock_exists                  = 34

                  double_quant                 = 35

                  quantity_wrong               = 36

                  OTHERS                       = 37.

              IF sy-subrc EQ 0.

                CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

              ELSE.

                CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.

                LOOP AT gt_ztwm0368 ASSIGNING FIELD-SYMBOL(<ls_ztwm0368>).

                   <ls_ztwm0368>-ztoflag  = 'X' .

                   <ls_ztwm0368>-ztoinfo  = sy-subrc .

                ENDLOOP.

                IF gt_ztwm0368[] IS NOT INITIAL.

                    MODIFY ztwm0368 FROM TABLE gt_ztwm0368.

                ENDIF.

              ENDIF.

          ENDIF.

       ENDIF.

*** END OF ADD EC3K915243 ***

  ENDIF.

  PERFORM frm_unlock.

  t_ztwm0333[] = gt_ztwm0333[].

  t_ztwm0276[] = gt_ztwm0276[].

  t_ztwm0277[] = gt_ztwm0277[].

  IF e_mblnr IS NOT INITIAL.

    PERFORM frm_l_createto USING i_nlpla  e_mblnr e_mjahr  i_print CHANGING   e_type e_msg.

  ENDIF.

ENDFUNCTION.