ABAP 文档处理的一点经验
来源:互联网 发布:js处理json字符串 编辑:程序博客网 时间:2024/06/04 22:21
一,创建凭证的bapi:
CALL FUNCTION 'BAPI_DOCUMENT_CREATE2'
EXPORTING: documentdata = ls_doc
IMPORTING: documenttype = lf_doctype
documentnumber = lf_docnumber
documentpart = lf_docpart
documentversion = lf_docversion
return = ls_return
TABLES: documentdescriptions = lt_drat
characteristicvalues = lt_class
classallocations = lt_class1
documentfiles = lt_files.
IF ls_return-type CA 'EA'.
ROLLBACK WORK.
ELSE.
COMMIT WORK.
ENDIF.
如果是系统自动给号的话 要把 documentdata 中 文档号设置成 *
如:ls_doc-documentnumber
在 documentdescriptions 中设置文档描述
在 characteristicvalues 中设置分类特性
在 classallocations 中设置分类
在 documentfiles 中设置元件
2,修改文档的bapi
CALL FUNCTION 'BAPI_DOCUMENT_CHANGE2'
EXPORTING
documenttype = 'WOR'
documentnumber = it_tab-documentnumber1
documentpart = '000'
documentversion = it_tab-documentversion
documentdata = ls_doc
documentdatax = ls_docx
IMPORTING
return = ls_return
TABLES
characteristicvalues = lt_class
classallocations = lt_class1.
documentfiles = lt_files.
objectlinks = gt_drad.
在 documentdata,documentdatax 中定义 基础属性的修改
在documentdata 中 必须设定 documenttype documentnumber documentversion documentpart
documentdatax 中把需要修改的属性设置为 X。
在 documentfiles 中设定 元件
元件的正常操作方式为新增。将 deletevalue 的值设为 X 则删除该元件。
没有替换原件的功能,如果要替换元件,请先删除 元件,在新增。
在 characteristicvalues classallocations 中设定分类特性
分类特性的正常操作方式为新增。将deletevalue 的值设为 X 则删除该分类特性(需要注意的是,要把 charvalue 的值也要正确维护,才能删除成功)。
没有替换分类特性的功能,如果要替换分类特性,请先删除分类特性,再新增。
在 objectlinks 中定义连接对象
3, 删除文档 的bapi
BAPI_DOCUMENT_DELETE
4, 查看文档的bapi
CALL FUNCTION 'BAPI_DOCUMENT_GETDETAIL2'
EXPORTING
documenttype = gs_draw-dokar
documentnumber = gs_draw-doknr
documentpart = gs_draw-doktl
documentversion = gs_draw-dokvr
getactivefiles = 'X'
getdocdescriptions = 'X'
getdocfiles = 'X'
IMPORTING
return = return
TABLES
documentdescriptions = docdesc
documentfiles = docfiles.
5, 检出元件 的bapi
CALL FUNCTION 'BAPI_DOCUMENT_CHECKOUTVIEW2'
EXPORTING
documenttype = gs_draw-dokar
documentnumber = gs_draw-doknr
documentpart = gs_draw-doktl
documentversion = gs_draw-dokvr
documentfile = docfile1
getstructure = '1'
getcomponents = 'X'
getheader = 'X'
IMPORTING
return = return2
TABLES
documentstructure = docstrc
documentfiles = docfile
components = doccomp.
检出之前,我们通过 BAPI_DOCUMENT_GETDETAIL2先得到文档的元件列表到 documentfiles
然后在循环documentfiles的时候 逐一检出。
docfile1-docfile 是元件的原来路径
docfile-docfile 是元件的新路径
元件会根据同一个规则重新命名,一个执行作业内的程序名的编号都是从 1 开始 连续。并且会替换掉原有的重名文件。
6,文档操作的bapi 很多。通过 se37 进去,输入 bapi_document* 搜索,可以搜出很多文档操作的相关bapi。使用这些bapi可以对文档做几乎所有的操作:
创建文档,修改文档,删除文档,读取文档,检出元件,检入元件,文档的搜索等等
bapi 列表如下:
7,如果要修改的文档的状态为 发布状态的话,首先将文档的状态改为可修改的状态在进行修改,然后再改为发布状态。
- ABAP 文档处理的一点经验
- 对于SAP中ABAP国际化问题的一点经验
- 图像,log处理的一点经验
- 处理中文rss解析的一点经验
- python处理中文字符的一点经验
- 给开发处理office文档的经验
- Struts 2处理Dojo Ajax请求的一点经验
- 处理手势冲突和错乱的一点经验
- ABAP程序设计的一点建议
- GOOGLE的一点经验
- 的一点经验
- CGI的一点经验
- Hibernate的一点经验
- 爬虫的一点经验
- 程序员的一点经验
- Android 友盟分享的一点个人经验,建议严格按照文档操作
- ABAP 关于BAPI的EXTENSIONIN 一点解释
- 数据库设计的一点经验
- Ajax初学者--RSS源解析
- vc学习
- 存储过程输出参数:C#中调用输入输出参数的存储过程
- sql面试题
- java服务器端重定向
- ABAP 文档处理的一点经验
- 取map容器的前10大(根据每一个value排序)元素
- excel中导出flash
- 娃娃鸭《Delphi 6集成开发环境》笔记 IV
- 相对路径※绝对路径
- C++初学印象
- struts2标签库总结
- VMware linux 在2.4.20-8 中编译2.6.15.5 内核
- VC6.0中对消息的特殊处理--PreTranslateMessage说明