sap abap malzeme ana verisindeki ekleri listeleme (list material master attachments)

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.