05-08-2014 9:57 AM
We are using sap mobile platform version 2.3 and our client requirement is to save images using mobile apps.
We already saved images in mime repository but for this we have to required client modifiable , but due to security reason we can't do this.
Please Help.
05-09-2014 7:00 AM
Hi Nilesh ,
You can save images in GOS repository , SAP standard uses GOS for attaching images . Just do a small research and if you can use GOS in your scenario i can provide you the code .I did uploaded images into SAP ERP from mobile .
Regards,
Juneed Manha
05-09-2014 5:19 AM
05-09-2014 7:00 AM
Hi Nilesh ,
You can save images in GOS repository , SAP standard uses GOS for attaching images . Just do a small research and if you can use GOS in your scenario i can provide you the code .I did uploaded images into SAP ERP from mobile .
Regards,
Juneed Manha
05-09-2014 7:21 AM
Dear Juneed ,
Thanks for your reply...
We did this using mime repository but for this we have to do client modifiable and this is not permitted due to security reasons .
Our client requirement is as we click image/photo from mobile it should store in sap system , after this we will develop a program which fetch this image and display in output .
Please send your code .......
05-09-2014 8:31 AM
Hi Nilesh ,
I had a scenario to attach image to pr05 transaction from mobile, so that when click view attachment button in pr05 i can see the image . My code is based on that .
it is the function module with import parameter base64 string and filename ,last three letters of the file name proceeding the . is the extension
in your case you need to create custom object type instead of BUS2089 .
Do research regarding that ..
-->Local Workare declaration.
DATA : ls_fol_id TYPE soodk,
ls_obj_id TYPE soodk,
ls_obj_data TYPE sood1,
ls_content TYPE soli,
ls_folmem_k TYPE sofmk,
ls_note TYPE borident,
ls_object TYPE borident.
**--> Local internal table declaration.
DATA : lt_content TYPE STANDARD TABLE OF soli,
lt_url_tab TYPE STANDARD TABLE OF so_url,
lt_objhead TYPE STANDARD TABLE OF soli.
**--> Local variable declaration.
DATA : lv_filename TYPE string,
lv_file_name_with_path TYPE chkfile,
lv_stripped_name TYPE string,
lv_name TYPE char30,
lv_url_tab_size TYPE sytabix,
lv_ep_note TYPE borident-objkey.
ls_object-objtype = 'BUS2089'.
ls_object-objkey = '001095510000020022'.
ls_obj_data-objdes = I_FILE_NAME.
ls_obj_data-file_ext = I_FILE_EXT.
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
buffer = I_FILE
TABLES
binary_tab = lt_content.
CALL FUNCTION 'SO_CONVERT_CONTENTS_BIN'
EXPORTING
it_contents_bin = lt_content[]
IMPORTING
et_contents_bin = lt_content[].
**--> Getting folder ID to save data
CALL FUNCTION 'SO_FOLDER_ROOT_ID_GET'
EXPORTING
region = 'B'
IMPORTING
folder_id = ls_fol_id
EXCEPTIONS
communication_failure = 1
owner_not_exist = 2
system_failure = 3
x_error = 4
OTHERS = 5.
IF sy-subrc = 0.
ls_obj_data-objsns = 'O'.
ls_obj_data-objla = sy-langu.
ls_obj_data-objlen = LINES( lt_content ) * 255.
CLEAR ls_content.
CONCATENATE '&SO_FILENAME=' I_FILE_NAME '.' I_FILE_EXT INTO ls_content.
APPEND ls_content TO lt_objhead.
**-->To Create an Object and Move to a Folder
CALL FUNCTION 'SO_OBJECT_INSERT'
EXPORTING
folder_id = ls_fol_id
object_hd_change = ls_obj_data
object_type = 'EXT'
IMPORTING
object_id = ls_obj_id
TABLES
objcont = lt_content
objhead = lt_objhead
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 ls_object-objkey IS NOT INITIAL.
* COMMIT WORK AND WAIT.
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.
**-->Link the object ID to trip No.
CALL FUNCTION 'BINARY_RELATION_CREATE_COMMIT'
EXPORTING
obj_rolea = ls_object
obj_roleb = ls_note
relationtype = 'ATTA'
EXCEPTIONS
no_model = 1
internal_error = 2
unknown = 3
OTHERS = 4.
IF sy-subrc = 0.
* COMMIT WORK AND WAIT.
ENDIF.
ENDIF. " SO_OBJECT_INSERT
ENDIF. " SO_FOLDER_ROOT_ID_GET
ENDFUNCTION.