Code: Alles auswählen.
ls_object-objkey = VBELN.
ls_object-objtype = 'ZSDINVOICE'.
CALL FUNCTION 'SO_FOLDER_ROOT_ID_GET'
EXPORTING
region = 'B'
IMPORTING
folder_id = ls_fol_id
EXCEPTIONS
OTHERS = 1.
* Umwandlung solix zu soli
refresh it_content.
loop at binary_content into wa_solix.
clear wa_soli.
assign wa_soli to <ptr_hex> casting.
move wa_solix to <ptr_hex>.
append wa_soli to it_content.
endloop.
ls_obj_data-objsns = 'O'.
ls_obj_data-objla = sy-langu.
ls_obj_data-objdes = filename1.
ls_obj_data-file_ext = 'PDF'. "fileext1.
ls_obj_data-objlen = LINES( it_content ) * 255.
CALL FUNCTION 'SO_OBJECT_INSERT'
EXPORTING
folder_id = ls_fol_id
object_type = 'EXT'
object_hd_change = ls_obj_data
IMPORTING
object_id = ls_obj_id
TABLES
objhead = it_objhead
objcont = it_content
EXCEPTIONS
active_user_not_exist = 35
folder_not_exist = 6
object_type_not_exist = 17
owner_not_exist = 22
parameter_error = 23
OTHERS = 1000.
IF sy-subrc = 0 AND ls_object-objkey IS NOT INITIAL.
ls_folmem_k-foltp = ls_fol_id-objtp.
ls_folmem_k-folyr = ls_fol_id-objyr.
ls_folmem_k-folno = ls_fol_id-objno.
ls_folmem_k-doctp = ls_obj_id-objtp.
ls_folmem_k-docyr = ls_obj_id-objyr.
ls_folmem_k-docno = ls_obj_id-objno.
lv_ep_note = ls_folmem_k.
ls_note-objtype = 'MESSAGE'.
ls_note-objkey = lv_ep_note.
CALL FUNCTION 'BINARY_RELATION_CREATE_COMMIT'
EXPORTING
obj_rolea = ls_object
obj_roleb = ls_note
relationtype = 'ATTA'
EXCEPTIONS
OTHERS = 1.
ELSE.
* MESSAGE 'Not OK' TYPE 'I'.
* RETURN.
ENDIF.
IF sy-subrc = 0.
* MESSAGE 'OK' TYPE 'I'.
ELSE.
* MESSAGE 'Not OK' TYPE 'I'.
ENDIF.
* try.
move VBELN1 to LS_APPOBJECT-OBJKEY.
move 'VBRK' to LS_APPOBJECT-OBJTYPE.
* call method send_request->CREATE_LINK
* EXPORTING
* I_APPL_OBJECT = LS_APPOBJECT.
* catch CX_SEND_REQ_BCS .
*
* call method gos->CREATE_ATTACHMENT
* EXPORTING
* IS_OBJECT = LS_APPOBJECT.
CALL FUNCTION 'BDS_BUSINESSDOCUMENT_CREATEF'
EXPORTING
* LOGICAL_SYSTEM =
CLASSNAME = 'ZSDINVOICE'
CLASSTYPE = 'VBRK'
CLIENT = SY-MANDT
OBJECT_KEY = VBELN1
* IMPORTING
* OBJECT_KEY =
TABLES
FILES = binary_content
* SIGNATURE =
* EXCEPTIONS
* NOTHING_FOUND = 1
* PARAMETER_ERROR = 2
* NOT_ALLOWED = 3
* ERROR_KPRO = 4
* INTERNAL_ERROR = 5
* NOT_AUTHORIZED = 6
* OTHERS = 7
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.