Mass Deletion of MRP controller in APO
I recently just first touched on the APO system and surprisingly find out that APO even doesn’t have the MARA/MARC table and Transaction code MM01 not to mention the function module like ‘BAPI_MATERIAL_SAVEDATA’!
Here list of the basic approach to mass deletes MRP controllers in APO. It’s for the beginning level of APO development only : P
1. Get the structure of the planning objects by ‘/SAPAPO/TS_PLOB_LIST_GET’
- Input parameter IV_BAS_PLOBID is mandatory, which will define&provide by functions
- Input parameter table it_group_by will be lists of object names that will contain fields like material/plant/MRP controller etc. In my case, it’s totally customized fields like Z_MATNR.
- Output table et_plobs_in_view will be the result of the above Z fields at specified PLOBID.
CALL FUNCTION '/SAPAPO/TS_PLOB_LIST_GET' EXPORTING iv_bas_plobid = plobname it_selection = lt_selection it_group_by = lt_group_by * is_read_options = ls_read_options IMPORTING et_plobs_in_view = gt_plobs_in_view * et_plob_values = lt_plob_values EXCEPTIONS invalid_selection = 1 no_bas_plobid = 2 inherited_error = 3 coding_generation_failed = 4 OTHERS = 5.
2, Get material related fields for report purposes
Use the value from step1 to fetch fields from below APO tables. Material fields could be MATID~
- Material table: /SAPAPO/MATKEY
- Location table: /SAPAPO/LOC
- Location Product table: /SAPAPO/MATLOC
3, Delete MRP controller using FM ‘/SAPAPO/TS_PLOB_DELETE’
- Input parameter IV_BAS_PLOBID will be the same as step 1;
- Input parameter IT_SELECTION will be working as filters like a combination of select-options
" Material CLEAR ls_selection. ls_selection-iobjnm = 'Z_MATNR'. ls_selection-sign = 'I'. ls_selection-option = 'EQ'. ls_selection-low = wa_data-matnr. APPEND ls_selection TO lt_selection. ..."add other fields accordingly to specify the filter
- Finally using the FM to do the deletion, no extra commit work is required.
CALL FUNCTION '/SAPAPO/TS_PLOB_DELETE' EXPORTING IV_BAS_PLOBID = lv_plobid IT_SELECTION = lt_selection IV_NOTE_DELETE = 'X' EXCEPTIONS NO_BAS_PLOBID = 1 INHERITED_ERROR = 2 INTERFACE_ERROR = 3 OTHERS = 4 .
Be the first to leave a comment
You must be Logged on to comment or reply to a post.