[ABAP] Binärdaten per RFC aus dem Archiv (Content-Repository) lesen

* System-ID
PARAMETERS: p_rfc TYPE sy-sysid DEFAULT 'XYZ'.
* Content-Repository
PARAMETERS: p_rep TYPE saearchivi DEFAULT 'AR'.
* ARC_DOC_ID
PARAMETERS: p_arc TYPE saeardoid DEFAULT '1402EC8FAAB21EC888CA63622402D29F'.

START-OF-SELECTION.

  DATA: lv_message TYPE bapiret2.
  DATA: it_raw_1024 TYPE STANDARD TABLE OF tbl1024 WITH DEFAULT KEY.

* Binärdaten eines Dokumentes über RFC zurückgeben
  CALL FUNCTION 'ALINK_RFC_TABLE_GET' DESTINATION p_rfc
    EXPORTING
      im_docid              = p_arc
      im_crepid             = p_rep
    IMPORTING
      ex_message            = lv_message
    TABLES
      ex_document           = it_raw_1024
    EXCEPTIONS
      system_failure        = 1
      communication_failure = 2
      OTHERS                = 3.

  WRITE: / lv_message-message.

  IF sy-subrc = 0.
* weitere Schritte mit it_raw_1024

  ENDIF.

[ABAP] RFC-Abruf aller verlinkten Dokumente zu einem Business Object

* System-ID
PARAMETERS: p_rfc TYPE sy-sysid DEFAULT 'XYZ'.
* Typ-Material 
PARAMETERS: p_sobj TYPE toav0-sap_object DEFAULT 'BUS1001006'.
* MATNR
PARAMETERS: p_oid TYPE toav0-object_id DEFAULT '000000001234567890'.

START-OF-SELECTION.

  DATA: lv_message TYPE bapiret2.
  DATA: it_results TYPE STANDARD TABLE OF toars_s WITH DEFAULT KEY.
  DATA: it_urls TYPE STANDARD TABLE OF toadurl_s WITH DEFAULT KEY.

* Gibt alle Dokumente zum Business Object zurück
  CALL FUNCTION 'ALINK_RFC_DOCUMENTS_GET' DESTINATION p_rfc
    EXPORTING
      im_botype             = p_sobj
      im_boid               = p_oid
      im_x_urls             = abap_false " Schalter zum Füllen von IT_URLS => Performance beachten
    IMPORTING
      ex_message            = lv_message
    TABLES
      ex_results            = it_results
      ex_urls               = it_urls
    EXCEPTIONS
      system_failure        = 1
      communication_failure = 2
      OTHERS                = 3.

  WRITE: / lv_message-message.

  IF sy-subrc = 0.
    cl_demo_output=>display( it_results ).
  ENDIF.

[ABAP] Textobjekte per RFC lesen

DATA: lv_rfc_syst TYPE sy-sysid.
DATA: it_txt_lines TYPE STANDARD TABLE OF ibiptextln.
DATA: it_ret TYPE STANDARD TABLE OF bapiret2.
DATA: it_links TYPE STANDARD TABLE OF bapi_doc_drad_keys.

lv_rfc_syst = sy-sysid.

it_txt_lines = VALUE #( ( tdobject = 'MATERIAL' tdid = 'BEST' tdname = '000000001234567890' tdspras = 'DE' ) ).

CALL FUNCTION 'RFC_READ_TEXT' DESTINATION lv_rfc_syst
  TABLES
    text_lines  = it_txt_lines
    messages    = it_ret
    objectlinks = it_links.

IF lines( it_ret ) = 0.
  LOOP AT it_txt_lines ASSIGNING FIELD-SYMBOL(<fs_txt_line>).
    WRITE: / <fs_txt_line>-tdline.
  ENDLOOP.
ENDIF.