Enterprise Resource Planning Blogs by Members
Gain new perspectives and knowledge about enterprise resource planning in blog posts from community members. Share your own comments and ERP insights today!
cancel
Showing results for 
Search instead for 
Did you mean: 
16,795
It is the common requirement to extend standard reporting programs with additional information.

Here is the example of extending Transaction MB52 List of Warehouse Stocks on Hand ( Program RM07MLBS; Component MM-IM Inventory Management ) by a new field Supplier batch. The field is used as a unique identification number for tracking purposes and is usually received from a supplier before the Goods receipt step).

Important note: Based on the customizing the batch number can be unique at Client, Plant or Material level. Dependent on it, the source table to retrieve batch master attributes will be different.

To fulfill the requirement we can use the predefined enhancements spots inside the program RM07MLBS:

  • Extend the field structure ( type structure bestand, RM07MLBS) with the new columns: ENHANCEMENT-POINT ehp604_rm07mlbs_03 SPOTS es_rm07mlbs STATIC .





  • Extend the routing by adding a field into the field catalog and filling the newly added fields. Progam RM07MLBS, routine list_output. Use the ENHANCEMENT-SECTION rm07mlbs_09 SPOTS es_rm07mlbs.


  TRY.
* Adding a field into the Field catalog
INSERT VALUE #( fieldname = 'LICHA'
tabname = 'BESTAND'
ref_fieldname = 'LICHA'
ref_tabname = 'MCH1'
col_pos = fieldcat[ fieldname = 'CHARG' ]-col_pos ) INTO TABLE fieldcat.

* Selecting materials with batches
DATA(lt_batches_query) = CORRESPONDING tt_mcha( bestand[] ).

* Getting batch attributes
SELECT matnr, charg, licha
INTO TABLE @DATA(lt_batch_master)
FROM mch1 FOR ALL ENTRIES IN @lt_batches_query
WHERE matnr = @lt_batches_query-matnr AND
charg = @lt_batches_query-charg and
lvorm = ''.
IF sy-subrc EQ 0.
LOOP AT bestand[] ASSIGNING FIELD-SYMBOL(<lfs_output>) WHERE charg IS NOT INITIAL.
TRY.
* Assign the value to a an output line
<lfs_output>-licha = lt_batch_master[ matnr = <lfs_output>-matnr
charg = <lfs_output>-charg ]-licha.
CATCH cx_sy_itab_line_not_found.
CONTINUE.
ENDTRY.
ENDLOOP.
ENDIF.
CATCH cx_sy_itab_line_not_found.
" No exception handling
ENDTRY.


  • Check the result by running the transaction MB52:



The new column is added and filled with a value ( Supplier batch for an internal batch number ).
2 Comments
Labels in this area