SAPABAPDMS文档管理开发Word格式.docx

上传人:b****5 文档编号:20534497 上传时间:2023-01-23 格式:DOCX 页数:18 大小:56.27KB
下载 相关 举报
SAPABAPDMS文档管理开发Word格式.docx_第1页
第1页 / 共18页
SAPABAPDMS文档管理开发Word格式.docx_第2页
第2页 / 共18页
SAPABAPDMS文档管理开发Word格式.docx_第3页
第3页 / 共18页
SAPABAPDMS文档管理开发Word格式.docx_第4页
第4页 / 共18页
SAPABAPDMS文档管理开发Word格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

SAPABAPDMS文档管理开发Word格式.docx

《SAPABAPDMS文档管理开发Word格式.docx》由会员分享,可在线阅读,更多相关《SAPABAPDMS文档管理开发Word格式.docx(18页珍藏版)》请在冰豆网上搜索。

SAPABAPDMS文档管理开发Word格式.docx

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

=

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 临床医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1