0% found this document useful (0 votes)
45 views3 pages

SAP GOS Programming - Ravi Anand

SAP GOS programming -Ravi Anand

Uploaded by

Ravi Anand
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views3 pages

SAP GOS Programming - Ravi Anand

SAP GOS programming -Ravi Anand

Uploaded by

Ravi Anand
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

*&---------------------------------------------------------------------*

*& Report ZFI_CREATE_GOS_IMG_ASSET


*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT zfi_create_gos_img_asset.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

PARAMETERS: p_file TYPE localfile. " Application File Path

SELECTION-SCREEN END OF BLOCK b1.

DATA:
li_content TYPE STANDARD TABLE OF soli,
li_objhead TYPE STANDARD TABLE OF soli,
lwa_folmem_k TYPE sofmk,
lwa_note TYPE borident,
lwa_object TYPE borident,
lwa_obj_id TYPE soodk,
lwa_content TYPE soli,
lwa_fol_id TYPE soodk,
lwa_obj_data TYPE sood1,
lv_ep_note TYPE borident-objkey,
lv_lifnr TYPE lifnr,
lv_file TYPE string,
lv_filename TYPE c LENGTH 100, " file name and ext
lv_extension TYPE c LENGTH 4.

REFRESH: li_content[], li_objhead[].

OPEN DATASET p_file FOR INPUT IN BINARY MODE.


IF sy-subrc EQ 0.
WHILE sy-subrc = 0.
READ DATASET p_file INTO lwa_content.
IF sy-subrc NE 0.
EXIT.
ENDIF.
APPEND lwa_content TO li_content.
ENDWHILE.
ENDIF.

CLOSE DATASET p_file.

CALL FUNCTION 'SO_CONVERT_CONTENTS_BIN'


EXPORTING
it_contents_bin = li_content[]
IMPORTING
et_contents_bin = li_content[].

CALL FUNCTION 'SO_FOLDER_ROOT_ID_GET'


EXPORTING
region = 'B'
IMPORTING
folder_id = lwa_fol_id
EXCEPTIONS
communication_failure = 1
owner_not_exist = 2
system_failure = 3
x_error = 4
OTHERS = 5.

lv_file = p_file.

CALL FUNCTION 'CH_SPLIT_FILENAME'


EXPORTING
complete_filename = lv_file
IMPORTING
extension = lv_extension
name_with_ext = lv_filename
EXCEPTIONS
invalid_drive = 1
invalid_path = 2
OTHERS = 3.

IF sy-subrc EQ 0.

CLEAR lwa_content.
CONCATENATE '&so_filename=' lv_filename INTO lwa_content.
APPEND lwa_content TO li_objhead.
CLEAR lwa_content.
ENDIF.

lwa_object-objkey = '800 0000040005570000'.


lwa_object-objtype = 'BUS1022'.

lwa_obj_data-objsns = 'O'.
lwa_obj_data-objla = sy-langu.
lwa_obj_data-objdes = 'Attachment by Ravi Anand'.
lwa_obj_data-file_ext = lv_extension.

TRANSLATE lwa_obj_data-file_ext TO UPPER CASE.


lwa_obj_data-objlen = lines( li_content ) * 255.

CALL FUNCTION 'SO_OBJECT_INSERT'


EXPORTING
folder_id = lwa_fol_id
object_type = 'EXT'
object_hd_change = lwa_obj_data
IMPORTING
object_id = lwa_obj_id
TABLES
objhead = li_objhead
objcont = li_content
EXCEPTIONS
active_user_not_exist = 1
communication_failure = 2
component_not_available = 3
dl_name_exist = 4
folder_not_exist = 5
folder_no_authorization = 6
object_type_not_exist = 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 = 0 AND lwa_object-objkey IS NOT INITIAL ).


lwa_folmem_k-foltp = lwa_fol_id-objtp.
lwa_folmem_k-folyr = lwa_fol_id-objyr.
lwa_folmem_k-folno = lwa_fol_id-objno.

lwa_folmem_k-doctp = lwa_obj_id-objtp.
lwa_folmem_k-docyr = lwa_obj_id-objyr.
lwa_folmem_k-docno = lwa_obj_id-objno.

lv_ep_note = lwa_folmem_k.
lwa_note-objtype = 'MESSAGE'.
lwa_note-objkey = lv_ep_note.

CALL FUNCTION 'BINARY_RELATION_CREATE_COMMIT'


EXPORTING
obj_rolea = lwa_object
obj_roleb = lwa_note
relationtype = 'ATTA'
EXCEPTIONS
no_model = 1
internal_error = 2
unknown = 3
OTHERS = 4.

IF sy-subrc EQ 0.
COMMIT WORK AND WAIT.
WRITE:/ 'Attached successfully'.
ENDIF.
ELSE.
MESSAGE 'Error while opening file' TYPE 'I'.
LEAVE LIST-PROCESSING.
ENDIF.

You might also like