Очень у меня "свежий" ответ получится  
 Пример получения бинарников приложений из сообщений по качеству.
Code:
DATA: l_objectid TYPE bapiborid,
      lt_relat TYPE TABLE OF bapirellk WITH HEADER LINE,
      l_objdisp TYPE sood2,
      lt_objcont TYPE TABLE OF soli,
      lt_context LIKE sdokpropty OCCURS 0 WITH HEADER LINE,
      loio_object LIKE sdokobject,
      phio_object LIKE sdokobject,
      lt_binary_content TYPE TABLE OF sdokcntbin,
      xfile TYPE xstring,
      xfilename TYPE string.
DATA: xlen TYPE i.
PARAMETERS: p_qmnum LIKE qmel-qmnum.
START-OF-SELECTION.
  l_objectid-objkey = p_qmnum.
  l_objectid-objtype = 'BUS2080'.
  CALL FUNCTION 'BAPI_REL_GETRELATIONS'
    EXPORTING
      objectid        = l_objectid
    TABLES
      listofrelations = lt_relat[].
  LOOP AT lt_relat.
    REFRESH lt_objcont.
    CALL FUNCTION 'SO_OBJECT_READ'
      EXPORTING
        folder_id         = lt_relat-objkey_b(17)
        object_id         = lt_relat-objkey_b+17(17)
      IMPORTING
        object_hd_display = l_objdisp
      TABLES
        objcont           = lt_objcont
      EXCEPTIONS
        OTHERS            = 15.
    TRANSLATE l_objdisp-file_ext TO UPPER CASE.
    CALL FUNCTION 'SO_KPRO_DATA_FROM_OBJCONT_GET'
      IMPORTING
        loio_object       = loio_object
      TABLES
        objcont           = lt_objcont
        context           = lt_context
      EXCEPTIONS
        missing_kpro_data = 1
        OTHERS            = 2.
    CALL FUNCTION 'SO_LOIO_PHIO_GET'
      EXPORTING
        loio_object        = loio_object
      IMPORTING
        phio_object        = phio_object
      EXCEPTIONS
        kpro_inconsistency = 1
        x_error            = 2
        OTHERS             = 3.
    CALL FUNCTION 'SDOK_PHIO_LOAD_CONTENT'
      EXPORTING
        object_id           = phio_object
      TABLES
        file_content_binary = lt_binary_content
      EXCEPTIONS
        not_existing        = 1
        not_authorized      = 2
        no_content          = 3
        bad_storage_type    = 4
        OTHERS              = 5.
    xlen = l_objdisp-objlen.
    CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
      EXPORTING
        input_length = xlen
      IMPORTING
        buffer       = xfile
      TABLES
        binary_tab   = lt_binary_content
      EXCEPTIONS
        failed       = 1
        OTHERS       = 2.
  ENDLOOP.
Дальше хорошо только на Adobe Forms ложится - бинарник в интерфейс закидывается, а там биндинг на изображение. 
Со смартформами простого пути не нашел. Можно попробовать конечно сперва выгружать на клиент, а потом пакетником на SE78 загружать...