SAPABAPDMS文档管理开发Word格式.docx
- 文档编号:20534497
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:18
- 大小:56.27KB
SAPABAPDMS文档管理开发Word格式.docx
《SAPABAPDMS文档管理开发Word格式.docx》由会员分享,可在线阅读,更多相关《SAPABAPDMS文档管理开发Word格式.docx(18页珍藏版)》请在冰豆网上搜索。
lv_filenameTYPE
filep,
lv_path
TYPEfilep.
lvdocnumber
TYPEbapidocaux-docnumber.
lsdocumentdata
TYPEbapidocdraw2,
lsdocumentdataxTYPEbapidocdrawx2,"
bapidocdra
w2x,
lt_objectlinks
TYPETABLEOFbapi_doc_dradWIT
HHEADERLINE,
lt_documentfilesTYPETABLEOFbapi_doc_files2WITHHEADERLINE,
ls_returnTYPEbapiret2.
t_tdwpTYPETABLEOFtdwpWITHHEADERLINE.
name
TYPEdraw-filep
ext(64)TYPEc.
IFltfiletable[]
ISINITIAL.
EXIT.
ENDIF.
READTABLElt_filetable
CALLMETHODclguifrontendservices=>
fileopendialog
EXPORTING
windowtitle
='
选择文件'
defaultextension
CHANGING
filetable
=ltfiletable[]
rc
=lv_rc
EXCEPTIONS
fileopendialogfailed
=1
cntlerror
=
2
errornogui
=3
notsupportedbygui
=4
OTHERS=9.
*解析路径文件
PERFORMfrmsplitpathfileUSINGltfiletable
-filename
CHANGINGlv_filenamelv_path.
INDEX1.
name=lv_filename.
WHILEnameCA'
.'
SPLITnameAT'
INTOextname.ENDWHIL.E
CONCATENATE'
.'
nameINTOname.TRANSLATEnameTOLOWERCASE.
CALLFUNCTION'
CV120_DOC_GET_APPL'
pffile
=name
TABLES
ptx_tdwp
=t_tdwp.
IFttdwp[]IS
INITIAL.
MESSAGEs001
WITH'
不支持此类型文件'
READTABLEt_tdwpINDEX1.
-documenttype
=condokar.
-documentversion
00'
-documentpart
000'
-description
凭证描述'
-username
=sy-uname.
ls_documentdata-ecnumber='
123'
ltdocumentfiles
-storagecategory
=constoragecat.
-wsapplication
=ttdwp-dappl.
-docpath
=lvpath.
-docfile
=lvfilename.
-checkedin
X'
APPENDltdocumentfiles.
BAPIDOCUMENTCREAT
E2'
EXPORTIN
G
documentdata
=lsdocumentdata
IMPORTIN
documentnumber=
return=lsreturn
TABLESobjectlinks=lt_objectlinksdocumentfiles=lt_documentfiles.
IFls_return-type='
E'
ORlv_docnumberISINITIAL.*MESSAGEe001WITH'
上传文件出错,请联系管理员'
MESSAGEIDls_return-idTYPEls_return-typeNUMBERls_return-number
WITHls_return-message_v1ls_return-message_v2ls_return-message_v3ls_return-message_v4.
ELSE.
BAPI_TRANSACTION_COMMI.T'
MESSAGEs001WITH'
上传成功'
wafile
-docid=
lv_docnumber.
-dname=
lvfilename.
-ykplanno
=waxqjhh-ykplanno.
-dtype=
name.
wa_file-credat=sy-datum.
wa
file
-ctime=
sy-
uzeit.
-cname=
uname.
APPENDwa_fileTOit_file
IFwaxqjhh-ykplannoIS
NOTINITIAL.
MODIFYztmmxqjhfile
FROMwafile.
COMMITWORKANDWAIT.
ENDFOR.M"
FRM_UPLOAD_FILE
*&
*
Formfrm_split_path_file
*text拆分路径和文档名
FORMfrm_split_path_fileUSINGuv_fullnameCHANGINGcv_filenamecvpathname.
lt_matchTYPEmatch_result_tab,ls_matchLIKELINEOFlt_match.
FINDALLOCCURRENCESOF'
\'
INuv_fullnameINCHARACTERMO
DERESULTSltmatch
IFNOTltmatch
IS
LOOPATlt_
match
INTOls_match.
ENDLOO.P
ADD1TO
lsmatch-offset.
cv_pathname
=uv_
fullname(ls_match-offset).
cvfilename
=uv
fullname+lsmatch
-offset.
ENDFOR.M
FormFRM_READ_FILE
*text
*
-->
p1
text
<
--
p2
FORMfrm_read_file
lvfileTYPEstring
VALUE'
C:
\XQJH1'
lvpathTYPEstring.
lvresultTYPEabapbool.
lvrcTYPEi.
lvlineTYPEi.
lvoriginalpathTYPE
bapidocaux-filename,
lv_orfilename
TYPEbapi_doc_aux-filename.
lsdocumentfileTYPE
bapidocfiles2,
ls_returnTYPEbapiret2
lv_result=cl_gui_frontend_services=>
directory_exist(directory=lv_file).
IFlvresult<
>
'
CALLMETHODclguifrontendservices
=>
directorycreate
directory
=lvfile
rc=lvr
c
directorycreatefailed
cntl_error
=2
directory_access_denied=
4
directoryalreadyexists
=5
pathnotfound
=6
unknown_error
=7
not_supported_by_gui=8
wrong_parameter=9
OTHERS=10.IFlv_rc<
0ORsy-subrc<
0.
MESSAGEe001WITH'
文件路径拒绝访问'
GETCURSORLINE
lvline.
READTABLEit_file
INTO
wa_file
INDEXlv_line.
CONCATENATElv_file'
INTOlv_originalpath.lv_orfilename=wa_file-dname.
ZBAPI_DOCUMENT_CHECKOUTVIEW2'
EXPORTING
documenttype
=condokar
documentnumber
=wafile-docid
documentpart
documentversion
documentfile
=lsdocumentfile
originalpath
=lv_originalpath
orfilename
=lvorfilename
IMPORTING
return
=ls_return.
IFls_returnISNOT
MESSAGEIDls_return-idTYPEls_return-typeNUMBERls_ret
urn-number
WITHlsreturn-messagev1lsreturn-messagev2lsreturn
-message_v3ls_return-message_v4.
CONCATENATElv_originalpath
lv_path.
CALLMETHODcl_gui_frontend_
services=>
execute
document
lvpath
synchronous
badparameter
file_not_found
5
fileextensionunknown
errorexecutefailed
synchronousfailed
=8
not_supported_by_gui
=9
OTHERS
10.
IFsy-subrc<
*Implementsuitableerror
handlinghere
MESSAGEs001WITH'
打开文档失败'
DISPLAY
LIKE'
FRM_READ_FILE
*-->
p1text
*<
--p2text
FORMfrm_down_file
lvfilenameTYPEstring.
TYPEstring.
lvpathc
(100)TYPE
c.
lvfullpath
lvresult
TYPEabapbool.
lv_rcTYPEi.
lv_line
TYPEi.
lvoriginalpath
TYPE
lsdocumentfile
lv_filename=wa_file-dname.
CALLMETHODcl_gui_frontend_services=>
file_save_dialogEXPORTING
windowtitle='
选择位置
defaultextension=
defaultfilename
lvfilename
with_encoding
filefilter
initialdirectory=
promptonoverwrite=
'
filename
=lv_filename
path
=lvpath
fullpath
lv_fullpath
3
invaliddefaultfilename
=5.
IFsy
-subrc<
directory_exist(directory=lvpath).
IFlv_result<
.MESSAGEe001WITH'
文件路径不存在'
lvorfilename
=ls_documentfile
=lvoriginalpath
return=ls_return
IFls_returnISNOTINITIAL.
下载成功'
ENDFOR.M
"
FRMDOWNF
ILE
Form
FRMDELETEFILE
FORMfrm_delete_file.
lv_lineTYPEi,
titlebar
消息提示'
textquestion
是否删除文档'
POPUP_TO_CONFIRM'
textbutton1
是'
textbutton2
否'
defaultbutton
1'
displaycancelbutton
startcolumn
=25
startrow=
6
popup_type
ICON_MESSAGE_ERROR'
answer
lv_answer
text_not_found
IFlvanswer<
用户取消操作'
DISPLAYLIKE'
=con
dokar
=wafile
-docid
=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SAPABAPDMS 文档 管理 开发