Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Batch Delete Additional UOM line (UOM EA only)

Former Member
0 Likes
1,978

I am trying to load a file of material numbers into LSMW and delete each material's 'EA' additional unit of measure (if it has one).

The problem is, using BDC, I don't know in advance which line the 'EA' Additional unit of measure will reside in the MM UOM screen table control (MM02->Basic Data->Additional Data->Units of Measure).

I think I can overcome this with a BAPI, but I already tried using

BAPI_MATERIAL_MAINTAINDATA_RT sending parameter fields:

HEADDATA-MATERIAL = <material num>

MATERIAL-BASIC_VIEW = X

UNITSOFMEASURE-FUNCTION = '003'

UNITSOFMEASURE-MATERIAL = <material num>

UNITSOFMEASURE-ALT_UNIT = 'EA'

I tested these parameter entries executing the BAPI in SE37.

It did not work. Any suggestions would be greatly appreciated.

Kind Regards,

Jason

Message was edited by: Jason DeLuca

Jason DeLuca

2 REPLIES 2
Read only

Former Member
0 Likes
946

I get the same problem. Jason - did you find any solution outside SDN?

Read only

Former Member
0 Likes
946

Try the below code out:

*&---------------------------------------------------------------------*
*& Report  ZMM_DELETE_UOM
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  zmm_delete_uom.

TABLES: marm.

* Local data
DATA: ls_bapi_head    TYPE bapimathead,
      ls_bapi_return  TYPE bapiret2,
      lt_bapi_marm    TYPE TABLE OF bapi_marm,
      ls_bapi_marm    TYPE bapi_marm,
      lt_bapi_marmx   TYPE TABLE OF bapi_marmx,
      ls_bapi_marmx   TYPE bapi_marmx,
      lt_marm         TYPE TABLE OF marm,
      ls_marm         TYPE marm,
      ls_mara         TYPE mara.

SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE text-bl1.
SELECT-OPTIONS: s_matnr FOR marm-matnr.
PARAMETERS:     p_meinh TYPE marm-meinh OBLIGATORY.
SELECTION-SCREEN END OF BLOCK bl1.

START-OF-SELECTION.

  SELECT *  INTO TABLE lt_marm
            FROM marm
           WHERE matnr  IN  s_matnr
             AND meinh  EQ  p_meinh.

  IF sy-subrc EQ 0.

    LOOP AT lt_marm INTO ls_marm.

      SELECT SINGLE * INTO ls_mara
                      FROM mara
                     WHERE matnr EQ ls_marm-matnr.

      IF sy-subrc EQ 0.

        ls_bapi_head-material   = ls_marm-matnr.
        ls_bapi_head-ind_sector = ls_mara-mbrsh.
        ls_bapi_head-matl_type  = ls_mara-mtart.
        ls_bapi_head-basic_view = 'X'.

        ls_bapi_marm-alt_unit    = ls_marm-meinh.
        ls_bapi_marm-numerator   = ls_marm-umrez.
        ls_bapi_marm-denominatr  = ls_marm-umren.
        ls_bapi_marm-del_flag    = 'X'.
        APPEND ls_bapi_marm TO lt_bapi_marm.

        CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
          EXPORTING
            headdata       = ls_bapi_head
          IMPORTING
            return         = ls_bapi_return
          TABLES
            unitsofmeasure = lt_bapi_marm.

        IF ls_bapi_return-type EQ 'E'.

          MESSAGE ls_bapi_return-message TYPE 'I' DISPLAY LIKE 'E'.
          STOP.
        ENDIF.
      ENDIF.
    ENDLOOP.
    MESSAGE 'Material Master successfully updated.' TYPE 'I'.
  ELSE.

    MESSAGE 'No data found for the current selection criteria.' TYPE 'I'.
  ENDIF.

END-OF-SELECTION.

Edited by: anish mathew on Jan 24, 2011 10:08 PM