on 11-30-2012 12:54 PM
Estou desenvolvendo um programa no qual preciso salvar arquivos PDF no SAP, ate salvar conseguir fazer ! Mas agora, como faço para ler os arquivos que salvei e poder salvar na maquina do usuario ?
Eu fiz usando as funções :
1) Método cl_gui_frontend_services=>gui_upload
2) Função: SO_CONVERT_CONTENTS_BIN
3) Função: SO_OBJECT_INSERT
4) Função: BINARY_RELATION_CREATE_COMMIT
Agora como fazer para ler o que foi salvo ? Pois eu sei como usar as funçoes de Download do Banco para o PC, mas não sei localizar o arquivo no Banco.
Alguem sabe ?
Not sure to understand, but did you try SO_OBJECT_DOWNLOAD and SO_OBJECT_READ.?
Regards,
Raymond
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I tried using the SO_OBJECT_READ, but I do not know if used correctly.
Because when I send save, not save correct.
This is my code :
Data : patch TYPE string,
LV_FILENAME TYPE STRING,
LV_FILE TYPE STRING,
LV_ACTION TYPE I,
pathchfull TYPE string.
CALL METHOD cl_gui_frontend_services=>file_save_dialog
EXPORTING
window_title = 'Selecione local para Salvar'
default_extension = 'PDF'
default_file_name = LV_FILE
* with_encoding =
file_filter = '*.PDF'
* initial_directory =
* prompt_on_overwrite = 'X'
CHANGING
filename = filename
path = patch
fullpath = pathchfull
user_action = LV_ACTION
* file_encoding =
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Data : it_soli TYPE STANDARD TABLE OF SOLI.
CALL FUNCTION 'SO_OBJECT_READ'
EXPORTING
* FILTER =
folder_id = ls_fol_id
* FORWARDER =
object_id = ls_obj_id
* OWNER =
* F_MAILER = ' '
* IMPORTING
* OBJECT_FL_DISPLAY =
* OBJECT_HD_DISPLAY =
* OBJECT_RC_DISPLAY =
TABLES
OBJCONT = it_soli
* OBJHEAD =
* OBJPARA =
* OBJPARB =
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL METHOD cl_gui_frontend_services=>gui_download
EXPORTING
* bin_filesize =
filename = pathchfull
filetype = 'BIN'
* append = SPACE
* write_field_separator = SPACE
* header = '00'
* trunc_trailing_blanks = SPACE
* write_lf = 'X'
* col_select = SPACE
* col_select_mask = SPACE
* dat_mode = SPACE
* confirm_overwrite = SPACE
* no_auth_check = SPACE
* codepage = SPACE
* ignore_cerr = ABAP_TRUE
* replacement = '#'
* write_bom = SPACE
* trunc_trailing_blanks_eol = 'X'
* wk1_n_format = SPACE
* wk1_n_size = SPACE
* wk1_t_format = SPACE
* wk1_t_size = SPACE
* IMPORTING
* filelength =
changing
data_tab = it_soli
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Oi Neylon,
As FM SO_OBJECT_READ e SO_OBJECT_INSERT não released para uso externo.
Use as FM SO_ATTACHMENT_READ_API1 e SO_ATTACHMENT_INSERT_API1 .
A seguinte wiki tem um exemplo:
http://wiki.sdn.sap.com/wiki/display/ABAP/Reading+PDF+attachment+from+sap+inbox+through+ABAP
Atenciosamente,
Eduardo Rezende
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.