
FORM attach_pdf USING ip_pdf TYPE fpcontent.
DATA: pdf_content TYPE solix_tab,
ls_fol_id TYPE soodk,
ls_obj_id TYPE soodk,
ls_obj_data TYPE sood1,
ls_folmem_k TYPE sofmk,
ls_note TYPE borident,
ls_object TYPE borident,
lv_ep_note TYPE borident-objkey,
lv_offset TYPE i,
l_subrc TYPE subrc,
it_objhead TYPE STANDARD TABLE OF soli,
it_content LIKE STANDARD TABLE OF soli,
wa_content LIKE soli.
* convert attach document
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
buffer = ip_pdf
TABLES
binary_tab = pdf_content.
CALL FUNCTION 'SO_SOLIXTAB_TO_SOLITAB'
EXPORTING
ip_solixtab = pdf_content[]
IMPORTING
ep_solitab = it_content[].
* CALL FUNCTION 'SO_CONVERT_CONTENTS_BIN'
* EXPORTING
* it_contents_bin = pdf_content[]
* IMPORTING
* et_contents_bin = it_content[].
ls_object-objkey = gs_header-vbeln. "invoice no.
ls_object-objtype = 'VBRK'.
CALL FUNCTION 'SO_FOLDER_ROOT_ID_GET'
EXPORTING
region = 'B'
IMPORTING
folder_id = ls_fol_id
EXCEPTIONS
OTHERS = 1.
* Attributes of Attached PDF
ls_obj_data-objsns = 'O'.
ls_obj_data-objla = sy-langu.
ls_obj_data-file_ext = 'PDF'.
ls_obj_data-objlen = lines( it_content ) * 255.
* set File name
...
ls_obj_data-objdes = 'customized_file_name.pdf'.
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.
IF sy-subrc = 0.
...
ENDIF.
ENDIF.
ENDFORM.
*To display attach list at Popup window
clear ls_object.
ls_object-objkey = vbrk-vbeln.
ls_object-objtype = 'VBRK'.
"display attachment list
CALL FUNCTION 'GOS_EXECUTE_SERVICE'
EXPORTING
ip_service = 'VIEW_ATTA'
is_object = ls_object
ip_no_commit = 'X'
ip_popup = 'X'
IP_RWMOD = 'D'.You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 3175 | |
| 2865 | |
| 2074 | |
| 1509 | |
| 1407 | |
| 1225 | |
| 1170 | |
| 1138 | |
| 1112 | |
| 904 |