最新sap abap dms文档开发.docx
- 文档编号:3082264
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:14
- 大小:103.18KB
最新sap abap dms文档开发.docx
《最新sap abap dms文档开发.docx》由会员分享,可在线阅读,更多相关《最新sap abap dms文档开发.docx(14页珍藏版)》请在冰豆网上搜索。
最新sapabapdms文档开发
SAPABAPDMS文档开发
1.用到的BAPI:
BAPI_DOCUMENT_CREATE2,ZBAPI_DOCUMENT_CHECKOUTVIEW2,BAPI_DOCUMENT_DELETE_DIRECT
2.其中ZBAPI_DOCUMENT_CHECKOUTVIEW2是从标准的
BAPI_DOCUMENT_CHECKOUTVIEW2改写(标准的在导出文档时,会自定义一个文档名称);改动代码如下:
a)新增函数组ZMM_CVBAPI
b)将LCVBAPITOP的定义对象拷贝到LZMM_CVBAPITOP
c)在LZMM_CVBAPITOP最后添加如下:
INCLUDE lcvbapif01.
INCLUDE lcvbapif02.
INCLUDE lcvbapif03.
INCLUDE lcvbapif04.
INCLUDE lcvbapif05.
INCLUDE lcvbapif06.
INCLUDE lcvbapif07.
d)拷贝函数BAPI_DOCUMENT_CHECKOUTVIEW2到新ZBAPI_DOCUMENT_CHECKOUTVIEW2,添加IMPORT参ORFILENAME,并修改代码。
3.以下为参考代码:
* 文档类型
CONSTANTS:
con_dokar(3) VALUE 'ZQX'.
* 存储类别
CONSTANTS:
con_storage_cat(10) VALUE 'DMS_C1_ST'.
FORM frm_creat_file.
DATA:
lv_rc TYPE i,
lt_filetable TYPE filetable WITH HEADER LINE.
DATA:
lv_filename TYPE filep,
lv_path TYPE filep.
DATA:
lv_docnumber TYPE bapi_doc_aux-docnumber.
DATA:
ls_documentdata TYPE bapi_doc_draw2,
ls_documentdatax TYPE bapi_doc_drawx2, "bapi_doc_draw2x,
lt_objectlinks TYPE TABLE OF bapi_doc_drad WITH HEADER LINE,
lt_documentfiles TYPE TABLE OF bapi_doc_files2 WITH HEADER LINE,
ls_return TYPE bapiret2.
DATA:
t_tdwp TYPE TABLE OF tdwp WITH HEADER LINE.
DATA:
name TYPE draw-filep,
ext(64) TYPE c.
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
window_title = '选择文件'
default_extension = '*'
CHANGING
file_table = lt_filetable[]
rc = lv_rc
EXCEPTIONS
file_open_dialog_failed = 1
cntl_error = 2
error_no_gui = 3
not_supported_by_gui = 4
OTHERS = 9.
IF lt_filetable[] IS INITIAL.
EXIT.
ENDIF.
READ TABLE lt_filetable INDEX 1.
*解析路径文件
PERFORM frm_split_path_file USING lt_filetable-filename
CHANGING lv_filename lv_path.
name = lv_filename.
WHILE name CA '.'.
SPLIT name AT '.' INTO ext name.
ENDWHILE.
CONCATENATE '.' name INTO name.
TRANSLATE name TO LOWER CASE.
CALL FUNCTION 'CV120_DOC_GET_APPL'
EXPORTING
pf_file = name
TABLES
ptx_tdwp = t_tdwp.
IF t_tdwp[] IS INITIAL.
MESSAGE s001 WITH '不支持此类型文件'.
ENDIF.
READ TABLE t_tdwp INDEX 1.
ls_documentdata-documenttype = con_dokar.
ls_documentdata-documentversion = '00'.
ls_documentdata-documentpart = '000'.
ls_documentdata-description = '凭证描述'.
ls_documentdata-username = sy-uname.
* ls_documentdata-ecnumber = '123'.
READ TABLE t_tdwp INDEX 1.
lt_documentfiles-documenttype = 'ZQX'.
lt_documentfiles-storagecategory = con_storage_cat.
lt_documentfiles-wsapplication = t_tdwp-dappl.
lt_documentfiles-docpath = lv_path.
lt_documentfiles-docfile = lv_filename.
lt_documentfiles-checkedin = 'X'.
APPEND lt_documentfiles.
CALL FUNCTION 'BAPI_DOCUMENT_CREATE2'
EXPORTING
documentdata = ls_documentdata
IMPORTING
documentnumber = lv_docnumber
return = ls_return
TABLES
objectlinks = lt_objectlinks
documentfiles = lt_documentfiles.
IF ls_return-type = 'E' OR lv_docnumber IS INITIAL.
* MESSAGE e001 WITH '上传文件出错,请联系管理员'.
MESSAGE ID ls_return-id TYPE ls_return-type NUMBER ls_return-number
WITH ls_return-message_v1 ls_return-message_v2 ls_return-message_v3 ls_return-message_v4.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
MESSAGE s001 WITH '上传成功'.
ENDIF.
wa_file-doc_id = lv_docnumber.
wa_file-dname = lv_filename.
wa_file-yk_planno = wa_xqjh_h-yk_planno.
wa_file-dtype = name.
wa_file-credat = sy-datum.
wa_file-ctime = sy-uzeit.
wa_file-cname = sy-uname.
APPEND wa_file TO it_file.
IF wa_xqjh_h-yk_planno IS NOT INITIAL.
MODIFY ztmm_xqjh_file FROM wa_file.
COMMIT WORK AND WAIT.
ENDIF.
ENDFORM. " FRM_UPLOAD_FILE
*&---------------------------------------------------------------------*
*& Form frm_split_path_file
*&---------------------------------------------------------------------*
* text拆分路径和文档名
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM frm_split_path_file USING uv_fullname CHANGING cv_filename cv_pathname.
DATA:
lt_match TYPE match_result_tab,
ls_match LIKE LINE OF lt_match.
FIND ALL OCCURRENCES OF '\' IN uv_fullname IN CHARACTER MODE RESULTS lt_match.
IF NOT lt_match IS INITIAL.
LOOP AT lt_match INTO ls_match.
ENDLOOP.
ADD 1 TO ls_match-offset.
cv_pathname = uv_fullname(ls_match-offset).
cv_filename = uv_fullname+ls_match-offset.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form FRM_READ_FILE
*&-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新sap abap dms文档开发 最新 sap dms 文档 开发