SAP-ABAP-DMS文档管理开发_第1页
SAP-ABAP-DMS文档管理开发_第2页
SAP-ABAP-DMS文档管理开发_第3页
SAP-ABAP-DMS文档管理开发_第4页
SAP-ABAP-DMS文档管理开发_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、SAP-ABAP-DM文S 档管理开发SAP ABAP DMS 文档开发1. 用 到 的 BAPI : BAPI_DOCUMENT_CREATE2 ,ZBAPI_DOCUMENT_CHECKOUTV,IEWB2API_DOCUMENT_DELETE_DIRECT2.a)b)c)其中 ZBAPI_DOCUMENT_CHECKOUTV是IE从W标2 准的BAPI_DOCUMENT_CHECKOUTV改IE写W(2 标准的在导出文档时, 会自定义一个文档 名称);改动代码如下:新增函数组 ZMM_CVBAPI将 LCVBAPITOP的定义对象拷贝到 LZMM_CVBAPITOP在 LZMM CVBA

2、PITO最P后添加如下:INCLUDE lcvbapif01 .INCLUDE lcvbapif02 .INCLUDE lcvbapif03 .INCLUDE lcvbapif04 .INCLUDE lcvbapif05 .INCLUDE lcvbapif06 .INCLUDE lcvbapif07 .d) 拷 贝 函 数 BAPI_DOCUMENT_CHECKOUTVIEW2 到 新 ZBAPI_DOCUMENT_CHECKOUTV,IE添W加2 IMPORT参 ORFILENAM,E 并修改代码。3. 以下为参考代码:* 文档类型CONSTANT: S con_dokar (3) VALU

3、E ZQX .* 存储类别CONSTANT: S con_storage_cat (10) VALUE DMS_C1_ST.FORM frm creat fileDATA:lv rcTYPE i ,lt filetableTYPE filetable WITH HEADER LINE.DATA:lv_filename TYPEfilep ,lv_pathTYPE filep .DATA:lv docnumberTYPE bapi doc aux - docnumber.DATA:ls documentdataTYPE bapi doc draw2 ,ls documentdatax TYPE

4、bapi doc drawx2 , bapi doc draw2x,lt_objectlinksTYPE TABLE OF bapi_doc_drad WITH HEADER LINE,lt_documentfiles TYPE TABLE OF bapi_doc_files2 WIT H HEADER LINE,ls_return TYPE bapiret2 .DATA: t_tdwp TYPE TABLE OF tdwp WITH HEADER LINE.DATA: nameTYPE draw- filepext (64) TYPE c.IF lt filetableIS INITIAL

5、.EXIT.ENDIF.READ TABLE lt_filetableCALL METHOD cl gui frontend services=file open dialogEXPORTINGwindow title= 选择文件 default extensionCHANGINGfile table= lt filetablerc= lv_rcEXCEPTIONSfile open dialog failed= 1cntl error=2error no gui= 3not supported by gui= 4OTHERS = 9.*解析路径文件PERFORM frm split path

6、 fileUSING lt filetable- filenameCHANGING lv_filenamelv_path .INDEX 1.name = lv_filename .WHILE name CA . .SPLIT name AT . INTO ext name. ENDWHIL.ECONCATENATE. name INTO name. TRANSLATE name TO LOWER CASE.CALL FUNCTION CV120_DOC_GET_APPLEXPORTINGpf file= nameTABLESptx_tdwp= t_tdwp .IF t tdwpISINITIA

7、L .MESSAGE s001WITH 不支持此类型文件 .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

8、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 DO

9、CUMENT CREATE2EXPORTINGdocumentdata= ls documentdataIMPORTINGdocumentnumber =lv docnumberreturn = ls returnTABLES objectlinks = lt_objectlinks documentfiles = lt_documentfiles .IF ls_return -type = E OR lv_docnumber IS INITIAL . *MESSAGEe 001 WITH 上传文件出错 , 请联系管理员 .MESSAGE ID ls_return -id TYPE ls_re

10、turn -type NUMBER ls_ret urn - numberWITH ls_return - message_v1 ls_return - message_v2 ls_return - message_v3 ls_return - message_v4.ELSE.CALL FUNCTION BAPI_TRANSACTION_COMMI.T MESSAGE s001 WITH 上传成功 .ENDIF.wa file- doc id =lv_docnumber .wa file- dname =lv filename .wa file- yk planno= wa xqjh h -

11、yk planno .wa file- dtype =name.wa_file - credat= sy- datum.wafile- ctime =sy-uzeit .wafile- cname =sy-uname.APPEND wa_file TO it_fileIF wa xqjh h - yk planno ISNOT INITIAL .MODIFY ztmm xqjh fileFROM wa file .COMMIT WORK AND WAIT.ENDIF.ENDFOR. M FRM_UPLOAD_FILE*&*& Form frm_split_path_file*&* text 拆

12、分路径和文档名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 OCCURRENCESO F IN uv_fullname IN CHARACTERM ODE RESULTS lt matchIF NOT lt matchISINITIAL .LOOP AT lt_matchINTO ls_match .ENDLOO.PADD 1 T

13、Ols match - offset .cv_pathname= uv_fullname ( ls_match - offset ).cv filename= uvfullname+ls match- offset .ENDIF.ENDFOR.M*&*& Form FRM_READ_FILE*&* text*-p1text*directory_exist ( directory = lv_file ).IF lv result X .CALL METHOD cl gui frontend services=directory createEXPORTINGdirectory= lv fileC

14、HANGINGrc = lv rcEXCEPTIONSdirectory create failed= 1cntl_error= 2error no guidirectory_access_denied =4directory already exists= 5path not found= 6unknown_error= 7not_supported_by_gui = 8wrong_parameter = 9OTHERS = 10. IF lv_rc 0 OR sy - subrc 0.MESSAGE e001 WITH 文件路径拒绝访问 .ENDIF.ENDIF.GET CURSOR LI

15、NElv line .READ TABLE it_fileINTOwa_fileINDEX lv_line .CONCATENATElv _file INTO lv_originalpath . lv_orfilename = wa_file - dname.CALL FUNCTION ZBAPI_DOCUMENT_CHECKOUTVIEW2 EXPORTINGdocumenttype= con dokardocumentnumber= wa file - doc iddocumentpart= 000documentversion= 00documentfile= ls documentfi

16、leoriginalpath= lv_originalpathorfilename= lv orfilenameIMPORTINGreturn= ls_return .IF ls_return IS NOTINITIAL .MESSAGE ID ls_return -id TYPE ls_return -typeNUMBER ls_return - numberWITH ls return - message v1 ls return - message v2 ls return- message_v3 ls_return - message_v4.ENDIF.CONCATENATElv _o

17、riginalpathlv_orfilenameINTOlv_path .CALL METHOD cl_gui_frontend_services =executeEXPORTINGdocument=lv pathsynchronous= XEXCEPTIONScntl error= 1error no gui= 2bad parameter= 3file_not_found=4path not found=5file extension unknown= 6error execute failed= 7synchronous failed= 8not_supported_by_gui= 9O

18、THERS=10.IF sy - subrc 0.* Implement suitable errorhandling hereMESSAGE s001 WITH 打开文档失败 DISPLAYLIKE E .ENDIF.ENDFOR. M FRM_READ_FILE*&*& Form FRM_DOWN_FILE*-p1text*file_save_dialog EXPORTINGwindow title= 选择位置*default extension=default file name=lv filename*with_encoding=*file filter=*initial direct

19、ory=*prompt on overwrite=XCHANGINGfilename= lv_filenamepath= lv pathfullpathlv_fullpathEXCEPTIONScntl error= 1error no gui= 2not supported by gui=3invalid default file name= 4OTHERS= 5.IF sy- subrc 0.EXIT.ENDIF.lv_result = cl_gui_frontend_services =directory_exist ( directory = lv path).IF lv_result

20、 X . MESSAGE e001 WITH 文件路径不存在 .ENDIF.lv originalpath= lv path .lv orfilename= lv filename .CALL FUNCTION ZBAPI_DOCUMENT_CHECKOUTVIEW2 EXPORTINGdocumenttype= con dokardocumentnumber= wa file - doc iddocumentpart= 000documentversion= 00documentfile= ls_documentfileoriginalpath= lv originalpathorfilen

21、ame= lv orfilenameIMPORTINGreturn = ls_returnIF ls_return IS NOT INITIAL .MESSAGE ID ls_return -id TYPE ls_return -type NUMBER ls_ret urn - numberWITH ls_return - message_v1 ls_return - message_v2 ls_return - message_v3 ls_return - message_v4.ELSE.MESSAGE s001 WITH 下载成功 .ENDIF.ENDFOR. M FRM DOWN FIL

22、E*&*&FormFRM DELETE FILE*&text*-p1text*-p2text*FORM frm_delete_file .DATA: lv_line TYPE i ,ls_return TYPE bapiret2 .titlebar= 消息提示 text question= 是否删除文档 CALL FUNCTION POPUP_TO_CONFIRMtext button 1= 是 text button 2= 否 default button= 1display cancel buttonstart column= 25start row=6popup_typeIMPORTIN

23、GICON_MESSAGE_ERRORanswerlv_answerEXCEPTIONStext_not_foundOTHERS2.IF lv answer 1 .MESSAGE s001 WITH 用户取消操作 DISPLAY LIKE E .EXIT.GET CURSOR LINElv line .READ TABLE it_fileINTOwa_fileINDEX lv_line .ENDIF.documenttype= condokardocumentnumber= wa file- doc iddocumentpart= 000documentversion= 00CALL FUNC

24、TION BAPI_DOCUMENT_ENQUEUEEXPORTINGIMPORTINGreturnls_returnIF ls_return IS NOT INITIAL .MESSAGE ID ls_return -id TYPE ls_return -type NUMBER ls_ret urn - numberWITH ls_return - message_v1 ls_return - message_v2 ls_return - message_v3 ls_return - message_v4.ENDIF.CALL FUNCTION BAPI_DOCUMENT_DELETE_DIRECT EXPORTINGdocumenttype = con_dokardocumentnumber= wafile- doc iddocumentpart= 000documentversion= 00IMPORTINGreturn=ls_return .CALL FUNCTION BAPI_DOCUMENT_DEQUEUE EXPORTINGdocumenttype= con_dokardocumentnumber = wa_file - doc_id doc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论