File upload 在Webdynpro ABAP中上载文件
我正在搜索一种Webdynpro方式,将xstring文件上传到BDS(业务文档服务),大多数文件都是二进制或ZIP格式。我使用Webdynpro的文件上传功能 我尝试使用BDS函数插入文件File upload 在Webdynpro ABAP中上载文件,file-upload,abap,webdynpro,File Upload,Abap,Webdynpro,我正在搜索一种Webdynpro方式,将xstring文件上传到BDS(业务文档服务),大多数文件都是二进制或ZIP格式。我使用Webdynpro的文件上传功能 我尝试使用BDS函数插入文件CREATE_with_AS_TABLE,但BDS中只存储了垃圾 有人能帮我解决这个小问题吗 谢谢您尝试过这个功能吗 -BDS_BUSINESSDOCUMENT_CREATEF 此外,要在BDS中存储该文件,您必须使用 -CL_BDS_DOCUMENT_SET=>CREATE_WITH_TABLE
CREATE_with_AS_TABLE
,但BDS中只存储了垃圾
有人能帮我解决这个小问题吗
谢谢您尝试过这个功能吗
-BDS_BUSINESSDOCUMENT_CREATEF
此外,要在BDS中存储该文件,您必须使用
-CL_BDS_DOCUMENT_SET=>CREATE_WITH_TABLE
希望对您有所帮助。嗨,谢谢您的回答 我找到了这个小问题的解决办法。我忘了将xsting转换为二进制格式,以便在bds系统中插入文件。不幸的是,许多人都有同样的问题,但没有人发布一个片段 重要的代码是:
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
buffer = im_xstr
IMPORTING
output_length = lv_size
TABLES
binary_tab = lt_data.
我的全班:
method WD_SAVE_NEW_FILE.
DATA: i_files TYPE sbdst_files,
wa_files LIKE LINE OF i_files,
i_signature TYPE sbdst_signature,
wa_signature LIKE LINE OF i_signature.
* prepare data for FM - COMPONENTS
DATA: i_components TYPE sbdst_components,
wa_components LIKE LINE OF i_components .
wa_components-doc_count = 1.
wa_components-comp_count = 1.
wa_components-comp_id = IM_FILE_NAME.
wa_components-mimetype = IM_FILE_MIME.
APPEND wa_components to i_components.
* set signature to intial = 1
wa_signature-doc_count = 1.
wa_signature-doc_ver_no = 1.
wa_signature-doc_var_id = 1.
wa_signature-doc_var_tg = ''.
wa_signature-comp_count = 1.
wa_signature-prop_name = 'BDS_DOCUMENTCLASS'.
wa_signature-prop_value = ''.
APPEND wa_signature TO i_signature.
CLEAR wa_signature.
wa_signature-doc_count = 1.
wa_signature-doc_ver_no = 1.
wa_signature-doc_var_id = 1.
wa_signature-doc_var_tg = ''.
wa_signature-comp_count = 1.
wa_signature-prop_name = 'DESCRIPTION'.
wa_signature-prop_value = im_file_comment.
APPEND wa_signature TO i_signature.
CLEAR wa_signature.
DATA lt_data TYPE sbdst_content.
DATA lv_size TYPE i.
DATA ls_xstring TYPE XSTRINGVAL.
* Fill ls_xstring
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
buffer = im_xstr
IMPORTING
output_length = lv_size
TABLES
binary_tab = lt_data.
CALL METHOD me->o_document_set->create_with_table
EXPORTING
classname = me->i_classname
classtype = me->i_classtype
content = lt_data
components = i_components
CHANGING
object_key = me->i_object_key
signature = i_signature
EXCEPTIONS
nothing_found = 1
parameter_error = 2
not_allowed = 3
error_kpro = 4
internal_error = 5
not_authorized = 6
OTHERS = 7.
CASE sy-subrc.
WHEN 0.
*
WHEN 1.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
WHEN 2.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
WHEN 3.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
WHEN 4.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
WHEN 5.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
WHEN 6.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
WHEN OTHERS.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDCASE.
*return values
endmethod.
我希望这些代码能帮助其他网络新手
干杯
海因里希