日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

webdynpro GOS BDS 文档/附件 上传下载处理

發布時間:2025/3/20 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 webdynpro GOS BDS 文档/附件 上传下载处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
對于webdynpro 的GOS, 不可以做
但是可以用BDS實現部分



SAP BDS (Business Document Service) for storage of documents and attachments in SAP ECC
In some business scenarios there is need to attach/store external file to standard object like Material/ Purchase Order or to custom application like Loan Application; in such case we can use SAP standard methodology like SAP Office, BDS (Business Document Service), DMS (Document Management Service), GOS (Generic Document Services) to store actual files in system with logical relation with an object or Application so we can retrieve the same.


All these methodologies provide basic functionality which includes:


Attachment Creation for Object
This functionality will create logical relationship between attached object and actual SAP business object
Retrieving stored attachment and Display
BDS (Business Document Service)


Maintain Assignment of Business Objects to Document Classes – Tcode – SBDSV
As basic configuration, you need to create class (for Business Object) for your application e.g. Student Admission Application.
Maintain Storage Categories – Tcode – SBDSV2
Once you are done with creation of BDS Application Class, assign required document type such as BDS_ATTACH –Attachment, BDS_HTMLT- HTML template, BDS_IMAGE –Screen, BDS_SHEET ? ? ? ? ?Table template, BDS_SLIDE Presentation, BDS_TEXT Text to BDS Application class name. You can create new Document class and document Type through SPRO configuration if needed.
BDN (Business Document Navigator)
BDN (Business Document Navigator) is a tool provided by SAP for mediating Documents.


Basic functions provided by BDN includes:


Store Document
Display Detail information about stored document
Display Documents
Display Version, Keyword for documents
Copy, Edit, Delete Documents
Store WWW address
These are some functionality examples provided by BDN.


These documents are stored in SAP Database Table (default for existing classes defined by SAP), but we can change this storage location, like if we want to store these documents in any external server. To achieve this we can create Content Repository, Content Category and assign it to Physical Document class.


Standard Function modules and BAPI’s are available to do all these functionality through ABAP code so we can use BDS to store documents for external applications. Below are some useful Function modules for BDS.


BDS_BUSINESSDOCUMENT_CREATEF


BDS_ALL_CONNECTIONS_GET


BDS_BUSINESSDOCUMENT_GET_INFO


BDS_BUSINESSDOCUMENT_GET_TAB


Class – CL_BDS_DOCUMENT_SET








1.1 Code for getting attachment from BDS and GOS


? DATA lt_signature ? ? ? ?TYPE STANDARD TABLE OF bapisignat.
? DATA lwa_signature ? ? ? TYPE bapisignat.
? DATA lt_comp ? ? ? ? ? ? TYPE STANDARD TABLE OF bapicompo2.
? DATA ls_comp ? ? ? ? ? ? TYPE bapicompo2.
? DATA lwa_attachment_list TYPE ty_s_attachment_list.
? DATA lt_con ? ? ? ? ? ? ?TYPE TABLE OF bdn_con.
? DATA ls_con ? ? ? ? ? ? ?TYPE bdn_con.
? DATA lt_sig ? ? ? ? ? ? ?TYPE TABLE OF bapisignat.
? DATA ls_sig ? ? ? ? ? ? ?TYPE bapisignat.
? DATA lt_content ? ? ? ? ?TYPE TABLE OF sdokcntbin.




? DATA: l_sdok_objid TYPE sdokobject,
? ? ? ? l_lines TYPE i,
? ? ? ? l_len TYPE i,
? ? ? ? l_count TYPE sy-index,
? ? ? ? content TYPE xstring.


? DATA: l_ess_emp TYPE ess_emp.
? DATA: ls_attachment ?TYPE hap_s_attachments.
? DATA: li_document ? ?TYPE REF TO cl_bsp_hap_document_if.
? DATA: lv_fcont_txt ? TYPE string.
? DATA: lv_fcont_hex ? TYPE xstring.
? DATA: lv_mime_type ? TYPE string.
? CALL FUNCTION 'BDS_ALL_CONNECTIONS_GET'
? ? EXPORTING
? ? ? classname ? ? ? ? ? ? ?= classname "'FIPP' " 如果是一個business object, 這里規定是哪個
? ? ? classtype ? ? ? ? ? ? ?= classtype "'BO' ? "這里BO是指它是一個business object
? ? ? objkey ? ? ? ? ? ? ? ? = object_key ? ? ?" 這里是CONCATENATE 那個BO所有的keyfields
? ? ? all ? ? ? ? ? ? ? ? ? ?= ' '
? ? ? no_gos_docs ? ? ? ? ? ?= ' '
* ? CHECK_STATE ? ? ? ? ? ?= ' '
? ?IMPORTING
? ? ?count ? ? ? ? ? ? ? ? ?= l_count
? ?TABLES
? ? ?signature ? ? ? ? ? ? ?= lt_sig
? ? ?all_connections ? ? ? ?= lt_con
? EXCEPTIONS
? ? no_objects_found ? ? ? = 1
? ? error_kpro ? ? ? ? ? ? = 2
? ? internal_error ? ? ? ? = 3
? ? not_authorized ? ? ? ? = 4
? ? OTHERS ? ? ? ? ? ? ? ? = 5
? ? ? ? ? ? ?.


? LOOP AT lt_con INTO ls_con.


*- ?file title
? ? lwa_attachment_list-title = ls_con-descript.


*- ?Created by
? ? lwa_attachment_list-userid ?= ls_con-crea_user.


? ? CLEAR l_ess_emp.
? ? CALL FUNCTION 'Z_GERCFM_GET_EMPLOYEEDATA'
? ? ? EXPORTING
? ? ? ? iv_username = lwa_attachment_list-userid
? ? ? IMPORTING
? ? ? ? es_ess_emp ?= l_ess_emp.
*- ?Name
? ? lwa_attachment_list-creator = ?l_ess_emp-name.


*- ?Created date
? ? lwa_attachment_list-date = ls_con-crea_time+0(8).


*- ?Mime type
? ? lwa_attachment_list-mime_type = ls_con-mimetype.


*- ?Doc id
? ? lwa_attachment_list-doc_id = ls_con-loio_id.


*- ?Doc ver no
? ? lwa_attachment_list-doc_ver_no = ls_con-doc_ver_no.


*- ?Doc ver id
? ? lwa_attachment_list-doc_var_id = ls_con-doc_var_id.


*--- Get file content
? ? IF ls_con-stor_tab = '9'. "GOS


* ? ? Get file content
? ? ? CLEAR ls_attachment.
? ? ? ls_attachment-id ? = ls_con-loio_id.
? ? ? ls_attachment-name = ls_con-descript.
? ? ? ls_attachment-type = ls_con-docuclass.


? ? ? CREATE OBJECT li_document.
? ? ? CLEAR: lv_fcont_hex, lv_fcont_txt, lv_mime_type.
? ? ? CALL METHOD li_document->document_display_attachment
? ? ? ? EXPORTING
? ? ? ? ? attachment ? ? ? = ls_attachment
? ? ? ? IMPORTING
? ? ? ? ? file_content ? ? = lv_fcont_txt
? ? ? ? ? file_content_hex = lv_fcont_hex
? ? ? ? ? mime_file_type ? = lv_mime_type.


? ? ? IF NOT lv_fcont_txt IS INITIAL.
* ? ? ? Convert STRING to XSTRING
? ? ? ? CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
? ? ? ? ? EXPORTING
? ? ? ? ? ? text ? = lv_fcont_txt
? ? ? ? ? IMPORTING
? ? ? ? ? ? buffer = content
? ? ? ? ? EXCEPTIONS
? ? ? ? ? ? failed = 1
? ? ? ? ? ? OTHERS = 2.
? ? ? ELSE.
* ? ? ? No conversion required
? ? ? ? content = lv_fcont_hex.
? ? ? ENDIF.
? ? ? CONCATENATE lwa_attachment_list-title ls_con-docuclass
? ? ? INTO lwa_attachment_list-title SEPARATED BY '.'.


? ? ? lwa_attachment_list-mime_type = lv_mime_type.
? ? ? lwa_attachment_list-content = content.


? ? ELSE."BDS
? ? ? REFRESH: lt_comp, lt_sig.


? ? ? CALL FUNCTION 'BDS_BUSINESSDOCUMENT_GET_INFO'
? ? ? ? EXPORTING
? ? ? ? ? classname ? ? ? ? ? = classname
? ? ? ? ? classtype ? ? ? ? ? = classtype
? ? ? ? ? object_key ? ? ? ? ?= object_key
? ? ? ? TABLES
? ? ? ? ? signature ? ? ? ? ? = lt_sig
* ? ? ? ? ?connections ? ? ? ? = lt_con
? ? ? ? ? extended_components = lt_comp
? ? ? ? EXCEPTIONS
? ? ? ? ? nothing_found ? ? ? = 1
? ? ? ? ? parameter_error ? ? = 2
? ? ? ? ? not_allowed ? ? ? ? = 3
? ? ? ? ? error_kpro ? ? ? ? ?= 4
? ? ? ? ? internal_error ? ? ?= 5
? ? ? ? ? not_authorized ? ? ?= 6
? ? ? ? ? OTHERS ? ? ? ? ? ? ?= 7.
? ? ? LOOP AT lt_sig INTO ls_sig WHERE doc_id = ls_con-loio_id.
? ? ? ? EXIT.
? ? ? ENDLOOP.
? ? ? CHECK sy-subrc = 0.
? ? ? LOOP AT lt_comp INTO ls_comp WHERE doc_count = ls_sig-doc_count.
? ? ? ? EXIT.
? ? ? ENDLOOP.
? ? ? IF sy-subrc = 0.
? ? ? ? l_sdok_objid-objid = ls_comp-objid.
? ? ? ? l_sdok_objid-class = ls_comp-class.
*-- ? ? Get content now
? ? ? ? REFRESH lt_content.
? ? ? ? CALL FUNCTION 'SDOK_PHIO_LOAD_CONTENT'
? ? ? ? ? EXPORTING
? ? ? ? ? ? object_id ? ? ? ? ? = l_sdok_objid
? ? ? ? ? ? raw_mode ? ? ? ? ? ?= 'X'
? ? ? ? ? TABLES
? ? ? ? ? ? file_content_binary = lt_content
? ? ? ? ? EXCEPTIONS
? ? ? ? ? ? not_existing ? ? ? ?= 1
? ? ? ? ? ? not_authorized ? ? ?= 2
? ? ? ? ? ? no_content ? ? ? ? ?= 3
? ? ? ? ? ? bad_storage_type ? ?= 4
? ? ? ? ? ? OTHERS ? ? ? ? ? ? ?= 5.
? ? ? ? IF sy-subrc = 0.
? ? ? ? ? l_lines = LINES( lt_content ).
? ? ? ? ? l_len = l_lines * 1022.
*-- ? ? ? Convert content to xstring format


? ? ? ? ? CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
? ? ? ? ? ? EXPORTING
? ? ? ? ? ? ? input_length = l_len
? ? ? ? ? ? IMPORTING
? ? ? ? ? ? ? buffer ? ? ? = content
? ? ? ? ? ? TABLES
? ? ? ? ? ? ? binary_tab ? = lt_content
? ? ? ? ? ? EXCEPTIONS
? ? ? ? ? ? ? failed ? ? ? = 1
? ? ? ? ? ? ? OTHERS ? ? ? = 2.
? ? ? ? ? IF sy-subrc = 0.
? ? ? ? ? ? lwa_attachment_list-content = content.
? ? ? ? ? ENDIF.
? ? ? ? ENDIF.
? ? ? ENDIF.
? ? ENDIF.


? ? APPEND lwa_attachment_list TO attachment_list.
? ? CLEAR: lwa_attachment_list,ls_con,ls_comp, l_sdok_objid,
? ? ? ? ? ?content.
? ENDLOOP.




For deleting attachment:?




? DATA lt_connections TYPE STANDARD TABLE OF bapiconnec.
? DATA ls_connections TYPE bapiconnec.
? DATA: lt_con TYPE TABLE OF bdn_con.
? ls_connections-classname = 'PDOTYPE_O'.
? ls_connections-classtype = 'BO'.
? ls_connections-object_key = '0150042977'.
? ls_connections-doc_id = ls_attach-doc_id.
? APPEND ls_connections TO lt_connections.
? CALL FUNCTION 'BDS_ALL_CONNECTIONS_GET'
? ? EXPORTING
* ? LOGICAL_SYSTEM ? ? ? ? =
? ? ? classname ? ? ? ? ? ? ?= 'PDOTYPE_O'
? ? ? classtype ? ? ? ? ? ? ?= 'BO'
? ? ?objkey ? ? ? ? ? ? ? ? = '0150042977'
* ? CLIENT ? ? ? ? ? ? ? ? = SY-MANDT
* ? ALL ? ? ? ? ? ? ? ? ? ?= 'X'
* ? NO_AL_DOCS ? ? ? ? ? ? = ' '
* ? NO_GOS_DOCS ? ? ? ? ? ?= 'X'
* ? CHECK_STATE ? ? ? ? ? ?= ' '
* IMPORTING
* ? COUNT ? ? ? ? ? ? ? ? ?=
? ? TABLES
? ? ?signature ? ? ? ? ? ? ?= lt_signature
? ? ? all_connections ? ? ? ?= lt_con
* ? FRAMEWORK ? ? ? ? ? ? ?=
? ?EXCEPTIONS
? ? ?no_objects_found ? ? ? = 1
? ? ?error_kpro ? ? ? ? ? ? = 2
? ? ?internal_error ? ? ? ? = 3
? ? ?not_authorized ? ? ? ? = 4
? ? ?OTHERS ? ? ? ? ? ? ? ? = 5
? ? ? ? ? ? .
? IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* ? ? ? ? WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
? ENDIF.
? delete lt_signature where doc_id ne ls_attach-doc_id.
? delete lt_signature from 2.


? ? CALL FUNCTION 'BDS_BUSINESSDOCUMENT_DELETE'
? ? ? EXPORTING
? ? ? ? classname ? ? ? = ?<class name>
? ? ? ? classtype ? ? ? = 'BO'
? ? ? ? object_key ? ? ?= l_doc_key
? ? ? ? x_force_delete ?= 'X'
? ? ? TABLES
? ? ? ? signature ? ? ? = lt_signature
? ? ? EXCEPTIONS
? ? ? ? nothing_found ? = 1
? ? ? ? parameter_error = 2
? ? ? ? not_allowed ? ? = 3
? ? ? ? error_kpro ? ? ?= 4
? ? ? ? internal_error ?= 5
? ? ? ? not_authorized ?= 6


? ? ? ? OTHERS ? ? ? ? ?= 7.
For storing attachment:?




*-- Transer file content
? ? REFRESH lt_file_content.
? ? CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
? ? ? EXPORTING
? ? ? ? buffer ? ? = lw_attachment_list-content
? ? ? TABLES
? ? ? ? binary_tab = lt_file_content.


*-- Set file default path
* ? ?l_file_pathlen = STRLEN( l_directory ).
* ? ?IF NOT l_file_pathlen IS INITIAL.
* ? ? ?l_file_pathlen = l_file_pathlen - 1.
* ? ? ?l_file_path = l_file_path(l_file_pathlen).
* ? ? ?IF l_file_path <> space AND l_file_pathlen < 250.
* ? ? ? ?l_file_path_memory = l_file_path.
* ? ? ? ?SET PARAMETER ID 'OAP' FIELD l_file_path_memory.
* ? ? ?ELSE.
* ? ? ? ?l_file_path_memory = space.
* ? ? ? ?SET PARAMETER ID 'OAP' FIELD l_file_path_memory.
* ? ? ?ENDIF.
* ? ?ENDIF.


* ? ?IF l_file_extension <> space.
* ? ? ?SET LOCALE LANGUAGE sy-langu.
* ? ? ?TRANSLATE l_file_extension TO UPPER CASE.
* ? ? ?SET LOCALE LANGUAGE space.
* ? ?ENDIF.


* -- fill components and signature structure ? ? ? ? ? ? ? ? ? ? ? ?-- *
? ? lw_component-doc_count ?= 1.
? ? lw_component-comp_count = 1.
? ? lw_component-mimetype ? = lw_attachment_list-mime_type.
? ? lw_component-comp_id ? ?= lw_attachment_list-title.


? ? APPEND lw_component TO lt_components.


? ? lw_signature-doc_count ?= 1.
? ? lw_signature-prop_name ?= 'BDS_DOCUMENTCLASS'.
? ? lw_signature-prop_value = l_file_extension.
? ? APPEND lw_signature TO lt_signature.


? ? lw_signature-prop_name ?= 'BDS_CONTREP'.
? ? lw_signature-prop_value = ' '.
? ? APPEND lw_signature TO lt_signature.


? ? lw_signature-prop_name ?= 'BDS_DOCUMENTTYPE'.
? ? lw_signature-prop_value = ' '.
? ? APPEND lw_signature TO lt_signature.


? ? lw_signature-prop_name ?= 'DESCRIPTION'.
? ? lw_signature-prop_value = lw_attachment_list-title.
? ? APPEND lw_signature TO lt_signature.


? ? lw_signature-prop_name ?= 'LANGUAGE'.
? ? lw_signature-prop_value = sy-langu.
? ? APPEND lw_signature TO lt_signature.


* Created by
* ?lw_signature-prop_name ?= 'CREATED_BY'.
* ?lw_signature-prop_value = lw_attachment_list-USERID.
* ?APPEND lw_signature TO lt_signature.


*-- Save attachment list
? ? CALL FUNCTION 'BDS_BUSINESSDOCUMENT_CREA_TAB'
? ? ? EXPORTING
? ? ? ? classname ? ? ? = <classname>
? ? ? ? classtype ? ? ? = 'BO'" classtype_select
? ? ? ? object_key ? ? ?= l_doc_key
? ? ? ? binary_flag ? ? = 'X'
? ? ? TABLES
? ? ? ? signature ? ? ? = lt_signature
? ? ? ? components ? ? ?= lt_components
? ? ? ? content ? ? ? ? = lt_file_content
? ? ? EXCEPTIONS
? ? ? ? nothing_found ? = 1
? ? ? ? parameter_error = 2
? ? ? ? not_allowed ? ? = 3
? ? ? ? error_kpro ? ? ?= 4
? ? ? ? internal_error ?= 5
? ? ? ? not_authorized ?= 6
? ? ? ? OTHERS ? ? ? ? ?= 7.


? ? REFRESH: lt_components, lt_signature.
? ? CLEAR lw_attachment_list.


For employee, business obj should be BUS1065 ( I think so ).?
Other things to help in debugging:?
Fn : BINARY_RELATION_CREATE?
CL_GOS_DOCUMENT_SERVICE -> CREATE_ATTACHMENT
CL_GOS_SRV_ATTACHMENT_CREATE -> execute


Using all this info, I think the procedure should be like this:?
From WD XSTRING, convert it to binary, store it in BDS passing an emp no.?
Check in PA30 whether it is appearing against the employee or not. If it appears, it works.. If it does not appear, something is wrong. Let me know then J

總結

以上是生活随笔為你收集整理的webdynpro GOS BDS 文档/附件 上传下载处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美日韩生活片 | 中文字幕久久久久 | 麻豆高清视频 | 欧美在线日韩在线 | 在线不卡一区 | 男女操网站 | 久久亚洲精品国产精品黑人v | 国产裸体舞一区二区三区 | 欧美日韩电影一区二区三区 | 美女一二区 | 一区www| 日韩精品久久久久久免费 | 国产一区二区在线免费 | av在线天天 | juliaann第一次和老师 | 狠狠爱亚洲| 日本不卡一区二区在线观看 | 国产91丝袜在线观看 | 天天性综合| 123成人网| 岛国午夜视频 | 在线观看黄色小视频 | 成人精品二区 | 美女国产免费 | 黄色片网站在线播放 | 99精品视频在线 | 亚洲制服一区 | 亚洲欧洲综合 | 日本美女黄网站 | 国产探花在线观看 | 日本不卡1 | 国产在线综合视频 | 亚洲国产无 | 美国免费高清电影在线观看 | 日韩中文av | 18成人在线 | 搞黄视频在线观看 | 日韩精品久久 | 美女国产免费 | 一道本久在线中文字幕 | 人妻少妇偷人精品视频 | 在线观看三级视频 | 精品999久久久一级毛片 | 巨乳在线播放 | 91国产视频在线 | 黄色一极视频 | 国产精品美女www爽爽爽视频 | 日本成人一区二区三区 | 国产精品不卡一区二区三区 | 午夜综合网 | 精品一区二区三区视频 | 国产一区二区三区视频免费观看 | 五月婷婷亚洲 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 亚洲综合日韩 | 性生活av| 全部免费毛片在线播放高潮 | 国产精品久久久久久福利 | 97国产在线 | 五月六月丁香 | 91精品国产综合久久久久久久 | 日韩福利电影在线观看 | 日批av| 午夜一区二区三区免费 | 亚洲免费天堂 | 色先锋在线 | www.国产在线观看 | 国产深喉视频一区二区 | 日韩色中色| 足疗店女技师按摩毛片 | 美日韩精品视频 | 日韩高清二区 | av免费成人 | 性活交片大全免费看 | 理论在线视频 | 天堂资源网 | 最近最经典中文mv字幕 | 三级黄色生活片 | 91国产丝袜在线播放 | www在线观看免费视频 | 精品视频区 | 成人无码av片在线观看 | 日韩欧美国产高清 | 日韩欧美电影一区二区三区 | www.黄色片| 图片区 小说区 区 亚洲五月 | www.在线观看网站 | 日韩在线观看免费网站 | 无码人妻精品一区二 | 一级片特黄 | 美女赤身免费网站 | 丝袜美腿亚洲综合 | 欧美少妇在线 | 免费a级网站 | 91精品国产日韩91久久久久久 | 青在线视频 | 精品无码在线观看 | 98久久| 国产福利精品在线观看 |