sap’de mm03 ile malzeme anaverisine girip malzemenin üzerinde gördüğümüz eklerin listesini program ile çekmek için aşağıdaki kodu kullanabilirsiniz. ‘BUS1001006’ malzeme ana verisine ait anahtardır. isterseniz kendi ek mekanizmanızı SWO1 işlem kodundan z’li bir business object oluşturarak yaratabilirsiniz. eğer bu yöntemi uygularsanız ‘BUS1001006’ yerine oluşturduğunuz z’li kodu yazmanız gerekir.
PARAMETERS: p_matnr TYPE mara-matnr. DATA: lv_resimobj TYPE borident, lv_document_id TYPE sofolenti1-doc_id, lv_deg_tarihi LIKE sood-chdat, lv_resim_adi LIKE sood-objdes, lv_resim_uzanti LIKE sood-file_ext. DATA: ls_return TYPE bapiret2, ls_listofrelations TYPE bapirellk, lt_listofrelations TYPE TABLE OF bapirellk. DATA: BEGIN OF lt_malzresim OCCURS 0, matnr LIKE mara-matnr, resimadi TYPE text255, END OF lt_malzresim. CLEAR lv_resimobj. lv_resimobj-objkey = p_matnr. lv_resimobj-objtype = 'BUS1001006'. "Malzeme ana verisi CALL FUNCTION 'OWN_LOGICAL_SYSTEM_GET' IMPORTING own_logical_system = lv_resimobj-logsys EXCEPTIONS own_logical_system_not_defined = 0. CLEAR: lt_listofrelations[]. CALL FUNCTION 'BAPI_REL_GETRELATIONS' EXPORTING objectid = lv_resimobj relation = 'ATTA' IMPORTING return = ls_return TABLES listofrelations = lt_listofrelations. * DELETE lt_listofrelations WHERE relationid IS INITIAL. LOOP AT lt_listofrelations INTO ls_listofrelations. MOVE ls_listofrelations-objkey_b TO lv_document_id. SELECT SINGLE objdes chdat file_ext INTO (lv_resim_adi , lv_deg_tarihi , lv_resim_uzanti) FROM sood WHERE objtp = lv_document_id+17(3) AND objyr = lv_document_id+20(2) AND objno = lv_document_id+22(12). IF sy-subrc EQ 0. CLEAR lt_malzresim. lt_malzresim-matnr = p_matnr. CONCATENATE lv_resim_adi '.' lv_resim_uzanti INTO lt_malzresim-resimadi. APPEND lt_malzresim. ENDIF. ENDLOOP. |