



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SAP ABAP DMS 文档开发1. 用 到 的 BAPI: BAPI_DOCUMENT_CREATE2,ZBAPI_DOCUMENT_CHECKOUTVIEW2,BAPI_DOCUMENT_DELETE_DIRECT2. 其中 ZBAPI_DOCUMENT_CHECKOUTVIEW2是从标准的BAPI_DOCUMENT_CHECKOUTVIEW2改写(标准的在导出文档时, 会自定义一个文档名称);改动代码如下:a) 新增函数组 ZMM_CVBAPIb) 将 LCVBAPITOP的定义对象拷贝到 LZMM_CVBAPITOPc) 在 LZMM_CVBAPITOP最后添加如下:INCLUDE
2、lcvbapif01.INCLUDE lcvbapif02.INCLUDE lcvbapif03.INCLUDE lcvbapif04.INCLUDE lcvbapif05.INCLUDE lcvbapif06.INCLUDE lcvbapif07.d)拷贝函数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 ' 上传文件出错 , 请联系管理员 '.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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 以创新引领变革金融领域中的区块链技术革新实践
- 医疗卫生行业的数字化转型案例分析
- 企业安全提升方案区块链技术的应用实例
- 医疗行业中的多科室联合培训与合规意识提升
- 青少年心理卫生的知识总结模版
- 有关新质生产力
- 小儿后颅窝型脑积水综合征的临床护理
- led安装售后合同范例
- 信宜市打井合同范例
- 医疗设备技术创新与用户体验的融合发展
- 2025年海淀高三二模语文试题及答案
- 陕西省多校联考2024-2025学年高一下学期4月期中地理试题(原卷版+解析版)
- 人工智能应用基础 课件 第六章 大语言模型
- 上海2025届高考模拟数学试卷02(解析版)
- 边坡工程考试试题及答案
- 施工流水作业段的划分与组织毕业设计
- 跨文化团队协作研究-第1篇-全面剖析
- 2024年中国光大银行深圳分行招聘考试真题
- 鼻咽恶性肿瘤的护理查房
- 《民用航空行业标准体系》
- 专题四“挺膺担当”主题团课
评论
0/150
提交评论