SAPABAPDMS文檔管理開發(fā)_第1頁
SAPABAPDMS文檔管理開發(fā)_第2頁
SAPABAPDMS文檔管理開發(fā)_第3頁
SAPABAPDMS文檔管理開發(fā)_第4頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、SAP ABAP DMS 文檔開發(fā)1. 用 到 的 BAPI: BAPI_DOCUMENT_CREATE2,ZBAPI_DOCUMENT_CHECKOUTVIEW2,BAPI_DOCUMENT_DELETE_DIRECT2. 其中 ZBAPI_DOCUMENT_CHECKOUTVIEW2是從標準的BAPI_DOCUMENT_CHECKOUTVIEW2改寫(標準的在導出文檔時, 會自定義一個文檔名稱);改動代碼如下:a) 新增函數(shù)組 ZMM_CVBAPIb) 將 LCVBAPITOP的定義對象拷貝到 LZMM_CVBAPITOPc) 在 LZMM_CVBAPITOP最后添加如下:INCLUDE

2、lcvbapif01.INCLUDE lcvbapif02.INCLUDE lcvbapif03.INCLUDE lcvbapif04.INCLUDE lcvbapif05.INCLUDE lcvbapif06.INCLUDE lcvbapif07.d)拷貝函數(shù)BAPI_DOCUMENT_CHECKOUTVIEW2到新ZBAPI_DOCUMENT_CHECKOUTVIEW2,添加 IMPORT參 ORFILENAME,并修改代碼。1/143. 以下為參考代碼:* 文檔類型CONSTANTS:con_dokar ( 3)VALUE 'ZQX' .* 存儲類別CONSTANTS:c

3、on_storage_cat( 10)VALUE 'DMS_C1_ST'.2/14FORM frm_creat_file.DATA:lv_rcTYPE i ,lt_filetableTYPEfiletableWITHHEADER LINE.DATA:lv_filenameTYPE filep,lv_pathTYPE filep.DATA:lv_docnumberTYPE bapi_doc_aux - docnumber.DATA:ls_documentdataTYPEbapi_doc_draw2 ,ls_documentdataxTYPE bapi_doc_drawx2 ,&q

4、uot;bapi_doc_draw2x,lt_objectlinksTYPE TABLEOFbapi_doc_dradWITHHEADER LINE,lt_documentfilesTYPE TABLE OFbapi_doc_files2WITHHEADER LINE,ls_returnTYPE bapiret2.DATA:t_tdwpTYPE TABLEOFtdwpWITHHEADER LINE.DATA:nameTYPEdraw- filep,ext ( 64)TYPE c .CALL METHOD cl_gui_frontend_services=>file_open_dialog

5、EXPORTINGwindow_title=' 選擇文件 'default_extension='*'CHANGINGfile_table=lt_filetablerc=lv_rcEXCEPTIONSfile_open_dialog_failed=1cntl_error=2error_no_gui=3not_supported_by_gui=4OTHERS=9.IFlt_filetableISINITIAL .EXIT.ENDIF.READ TABLE lt_filetableINDEX1.3/14* 解析路徑文件PERFORMfrm_split_path_fi

6、leUSING lt_filetable- filenameCHANGING lv_filenamelv_path .name= lv_filename .WHILEname CA'.' .SPLIT nameAT'.'INTO ext name.ENDWHILE.CONCATENATE'.'nameINTO name.TRANSLATE nameTOLOWER CASE.CALL FUNCTION 'CV120_DOC_GET_APPL'EXPORTINGpf_file=nameTABLESptx_tdwp=t_tdwp .IF

7、t_tdwpISINITIAL .MESSAGEs001WITH' 不支持此類型文件' .ENDIF.READ TABLE t_tdwpINDEX1.ls_documentdata - documenttype=con_dokar .ls_documentdata - documentversion='00' .ls_documentdata - documentpart='000'.ls_documentdata - description=' 憑證描述 ' .ls_documentdata - username=sy - un

8、ame.*ls_documentdata-ecnumber='123'.READ TABLE t_tdwpINDEX1.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_documen

9、tfiles- checkedin= 'X'.4/14APPEND lt_documentfiles.CALL FUNCTION 'BAPI_DOCUMENT_CREATE2'EXPORTINGdocumentdata=ls_documentdataIMPORTINGdocumentnumber=lv_docnumberreturn=ls_returnTABLESobjectlinks=lt_objectlinksdocumentfiles=lt_documentfiles.IFls_return- type='E'OR lv_docnumber

10、ISINITIAL .*MESSAGEe001WITH ' 上傳文件出錯 , 請聯(lián)系管理員 '.MESSAGEID ls_return - id TYPE ls_return - type NUMBER ls_retu rn - numberWITH ls_return- message_v1ls_return- message_v2ls_return-message_v3ls_return- message_v4.ELSE.CALLFUNCTION 'BAPI_TRANSACTION_COMMIT'.MESSAGEs001WITH' 上傳成功 '

11、; .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_fileTOit_file.IFwa_xqjh_h - yk_plannoISNOT INITIAL .MODIFY ztmm_xqjh_fil

12、eFROM wa_file.COMMIT WORK AND WAIT.ENDIF.5/14ENDFORM."FRM_UPLOAD_FILE*&-*&Formfrm_split_path_file*&-*text 拆分路徑和文檔名*-*->p1text*<-p2text*-*FORM frm_split_path_fileUSING uv_fullnameCHANGING cv_filenamecv_pathname.DATA:lt_matchTYPE match_result_tab,ls_matchLIKELINEOFlt_match .FIND

13、ALLOCCURRENCESOF''INuv_fullnameINCHARACTERMODERESULTS lt_match .IFNOT lt_matchISINITIAL .LOOP ATlt_matchINTOls_match .ENDLOOP.ADD 1TOls_match - offset.cv_pathname=uv_fullname ( ls_match - offset).cv_filename=uv_fullname+ls_match- offset.ENDIF.ENDFORM.*&-*&FormFRM_READ_FILE*&-*tex

14、t*-*->p1text*<-p2text*-*FORM frm_read_file.DATA:lv_fileTYPEstringVALUE 'C:XQJH1' .DATA:lv_pathTYPEstring .DATA:lv_resultTYPE abap_bool .DATA:lv_rcTYPE i .DATA:lv_lineTYPEi .6/14DATA:lv_originalpathTYPE bapi_doc_aux - filename ,lv_orfilenameTYPEbapi_doc_aux - filename .DATA:ls_documentf

15、ileTYPE bapi_doc_files2,ls_returnTYPE bapiret2.lv_result=cl_gui_frontend_services=>directory_exist(directory=lv_file).IFlv_result<>'X' .CALLMETHOD cl_gui_frontend_services=>directory_createEXPORTINGdirectory=lv_fileCHANGINGrc=lv_rcEXCEPTIONSdirectory_create_failed=1cntl_error=2er

16、ror_no_gui=3directory_access_denied=4directory_already_exists=5path_not_found=6unknown_error=7not_supported_by_gui=8wrong_parameter=9OTHERS=10.IFlv_rc<>0OR sy - subrc<>0.MESSAGEe001WITH' 文件路徑拒絕訪問' .ENDIF.ENDIF.GET CURSOR LINElv_line.READ TABLE it_fileINTOwa_fileINDEXlv_line.CONCA

17、TENATElv_file''INTOlv_originalpath.lv_orfilename=wa_file- dname.CALL FUNCTION 'ZBAPI_DOCUMENT_CHECKOUTVIEW2'EXPORTINGdocumenttype=con_dokar7/14documentnumber=wa_file- doc_iddocumentpart='000'documentversion='00'documentfile=ls_documentfileoriginalpath=lv_originalpatho

18、rfilename= lv_orfilenameIMPORTINGreturn=ls_return .IFls_returnISNOT INITIAL .MESSAGEIDls_return- idTYPEls_return- typeNUMBER ls_return - numberWITH ls_return- message_v1ls_return- message_v2ls_return-message_v3ls_return- message_v4.ENDIF.CONCATENATElv_originalpathlv_orfilenameINTO lv_path .CALL METH

19、OD cl_gui_frontend_services=>executeEXPORTINGdocument= lv_pathsynchronous='X'EXCEPTIONScntl_error= 1error_no_gui=2bad_parameter=3file_not_found=4path_not_found=5file_extension_unknown= 6error_execute_failed=7synchronous_failed= 8not_supported_by_gui=9OTHERS= 10.IF sy- subrc <> 0.* I

20、mplement suitableerror handling hereMESSAGEs001WITH' 打開文檔失敗 'DISPLAYLIKE'E' .ENDIF.8/14ENDFORM."FRM_READ_FILE*&-*&FormFRM_DOWN_FILE*&-*text*-*->p1text*<-p2text*-*FORM frm_down_file.DATA:lv_filenameTYPE string .DATA:lv_pathTYPEstring .DATA:lv_path_c ( 100)TYPE c

21、.DATA:lv_fullpathTYPE string .DATA:lv_resultTYPEabap_bool .DATA:lv_rc TYPEi .DATA:lv_lineTYPEi .DATA:lv_originalpathTYPE bapi_doc_aux - filename ,lv_orfilenameTYPE bapi_doc_aux - filename .DATA:ls_documentfileTYPE bapi_doc_files2 ,ls_returnTYPE bapiret2 .GET CURSOR LINElv_line.READ TABLE it_fileINTO

22、wa_fileINDEXlv_line.lv_filename=wa_file - dname.CALL METHOD cl_gui_frontend_services=>file_save_dialogEXPORTINGwindow_title=' 選擇位置 '*default_extension=default_file_name=lv_filename*with_encoding=*file_filter=*initial_directory=*prompt_on_overwrite='X'CHANGINGfilename=lv_filename9/

23、14path= lv_pathfullpath= lv_fullpathEXCEPTIONScntl_error= 1error_no_gui= 2not_supported_by_gui= 3invalid_default_file_name= 4OTHERS= 5.IFsy- subrc<>0.EXIT.ENDIF.lv_result=cl_gui_frontend_services=>directory_exist(directory=lv_path).IFlv_result<>'X' .MESSAGEe001WITH' 文件路徑不存

24、在' .ENDIF.lv_originalpath=lv_path .lv_orfilename=lv_filename.CALL FUNCTION 'ZBAPI_DOCUMENT_CHECKOUTVIEW2'EXPORTINGdocumenttype=con_dokardocumentnumber=wa_file- doc_iddocumentpart='000'documentversion='00'documentfile=ls_documentfileoriginalpath=lv_originalpathorfilename=l

25、v_orfilenameIMPORTINGreturn=ls_return.IFls_returnISNOT INITIAL .MESSAGEIDls_return- idTYPEls_return- typeNUMBER ls_return - numberWITH ls_return- message_v1ls_return- message_v2ls_return-message_v3ls_return- message_v4.ELSE.10/14MESSAGEs001WITH' 下載成功 ' .ENDIF.ENDFORM."FRM_DOWN_FILE*&

26、;-*&FormFRM_DELETE_FILE*&-*text*-*->p1text*<-p2text*-*FORM frm_delete_file.DATA:lv_lineTYPE i ,ls_returnTYPEbapiret2.CALL FUNCTION 'POPUP_TO_CONFIRM'EXPORTINGtitlebar='消息提示'text_question=' 是否刪除文檔 'text_button_1=' 是 'text_button_2=' 否 'default_but

27、ton='1'display_cancel_button=''start_column=25start_row=6*popup_type='ICON_MESSAGE_ERROR'IMPORTINGanswer=lv_answerEXCEPTIONStext_not_found=1OTHERS=2.IFlv_answer<>'1' .MESSAGEs001WITH' 用戶取消操作 'DISPLAYLIKE'E' .EXIT.ENDIF.11/14GET CURSOR LINElv_line

28、.READ TABLE it_fileINTOwa_fileINDEXlv_line.CALL FUNCTION 'BAPI_DOCUMENT_ENQUEUE'EXPORTINGdocumenttype=con_dokardocumentnumber=wa_file- doc_iddocumentpart='000'documentversion='00'IMPORTINGreturn=ls_return.IFls_returnISNOT INITIAL .MESSAGEIDls_return- idTYPEls_return- typeNUMB

29、ER ls_return - 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=wa_file- doc_iddocumentpart='000'documentversion='00'IMPORTINGreturn=ls_return.CALL FUNCTION 'BAPI_DOCUMENT_DEQUEUE'EXPORTINGdocumenttype=con_dokardocumentnumber=wa_file - doc_iddocumentpart='

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論