zsap написал:
Спасибо, первая ссылка что надо
Ice_age написал(а):
посмотрите ФМы SO_DOCUMENTS_MANAGER и SO_OBJECT_READ может быть подойдет
Спасибо, оно самое.
Это рабочий вариант для топика
Code:
*&---------------------------------------------------------------------*
*& Report ZZART
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zzart.
PARAMETERS: p_notif TYPE viqmel-qmnum.
START-OF-SELECTION.
DATA: lt_objcont LIKE soli OCCURS 0 WITH HEADER LINE,
lt_objhead LIKE soli OCCURS 0 WITH HEADER LINE,
lt_objpara LIKE selc OCCURS 0 WITH HEADER LINE,
lt_objparb LIKE soop1 OCCURS 0 WITH HEADER LINE,
ls_sofm2 TYPE sofm2,
ls_sood2 TYPE sood2,
ls_soos6 TYPE soos6.
DATA: gs_lpor TYPE sibflporb.
DATA: lt_relat TYPE obl_t_relt,
la_relat LIKE LINE OF lt_relat.
DATA: t_links TYPE obl_t_link,
la_links LIKE LINE OF t_links.
DATA: lo_root TYPE REF TO cx_root.
DATA l_folder_id TYPE soodk.
DATA l_object_id TYPE soodk.
DATA document_id TYPE sofmk.
gs_lpor-instid = p_notif.
gs_lpor-typeid = 'BUS2038'.
gs_lpor-catid = 'BO'.
la_relat-sign = 'I'.
la_relat-option = 'EQ'.
la_relat-low = 'NOTE'.
APPEND la_relat TO lt_relat.
TRY.
CALL METHOD cl_binary_relation=>read_links
EXPORTING
is_object = gs_lpor
it_relation_options = lt_relat
IMPORTING
et_links = t_links.
CATCH cx_root INTO lo_root.
ENDTRY.
LOOP AT t_links INTO la_links.
document_id = la_links-instid_b.
l_folder_id-objtp = document_id-foltp.
l_folder_id-objyr = document_id-folyr.
l_folder_id-objno = document_id-folno.
l_object_id-objtp = document_id-doctp.
l_object_id-objyr = document_id-docyr.
l_object_id-objno = document_id-docno.
CALL FUNCTION 'SO_OBJECT_READ'
EXPORTING
folder_id = l_folder_id
object_id = l_object_id
IMPORTING
object_fl_display = ls_sofm2
object_hd_display = ls_sood2
object_rc_display = ls_soos6
TABLES
objcont = lt_objcont
objhead = lt_objhead
objpara = lt_objpara
objparb = lt_objparb
EXCEPTIONS
active_user_not_exist = 1
communication_failure = 2
component_not_available = 3
folder_not_exist = 4
folder_no_authorization = 5
object_not_exist = 6
object_no_authorization = 7
operation_no_authorization = 8
owner_not_exist = 9
parameter_error = 10
substitute_not_active = 11
substitute_not_defined = 12
system_failure = 13
x_error = 14
OTHERS = 15.
IF sy-subrc NE 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDLOOP.