1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > SAP小技巧 添加附件功能

SAP小技巧 添加附件功能

时间:2022-09-02 06:23:28

相关推荐

SAP小技巧 添加附件功能

点击蓝字关注我们

前言

SAP标准附件服务(workflow BOX)是在单据的处理界面左上角的程序标题旁边添加的一组按钮,这组按钮能处理和单据相关的工作流/附件/URL链接/备注等功能.

本文介绍怎么在自定义程序中启用标准附件功能及相关注意事项

标准附件功能

标准附件功能是否显示,取决与用户是否为DIALOG用户, 如果登录用户类型不是A 对话. 标准附件功能可能无法显示. (图一)

用户参数SD_SWU_ACTIVE的设置会影响VA02/VA03的标准附件功能的显示

图三是采购订单中显示的标准附件功能

图四是标准附件功能包含的菜单项

图一

图二

图三

图四

使用标准附件功能

在自己开发的程序中使用标准附件功能有两种方式,需要根据实际情况判断一下使用哪种方式. 方式一和方式二的本质时一样的. 都是调用类 CL_GOS_MANAGER 实现

进入界面时已有单号使用方式一

进入界面时没有单号,使用方式二

(方式二其实也整合了方式一, 可以直接使用方式二)

01

方式一

通过标准函数实现附件功能

SWU_OBJECT_PUBLISH

SWU_OBJECT_REFRESH

在PBO 创建模块调用函数

在PAI创建模块调用函数

02

方式二

直接通过类CL_GOS_MANAGER启用附件功能

PBO 中

创建对象

根据是否存在单号确定参数ip_no_instance 的值. 该参数的值会影响是否能显示对象已经存在的附件. 如果为空, 无法显示单号已经存在的附件

所以该参数需要根据单据是否为空来设置.

PAI

获取单号,并调用对象的方法 set_id_of_published_object 更新已经创建的附件和单据的关系. 最后需要通过COMMIT WORK语句提交一下. 以确保单据和附件的关系能成功保存.(COMMIT WORK 不是必须的, 程序结束会隐式提交以下,也能保存).

相关表

SRGBTBREL存放了GOS中的关联信息. 可以通过它获取附件的类型及数量.

附件功能的增强

标准附件功能的对象 CL_GOS_MANAGER 是一个封装的非常完整的类.

但是比较遗憾的是,在这个类中没有提供一个简单的方法查询单据的附件清单(也可能是我没有找到,如果你知道怎么获取,不吝赐教一下).

实现如下增强会比较麻烦: 单据保存时需要检查附件是否存在,如果不存在报错.

常规思路: 在单据保存前检查单据是否存在附件清单 .找到标准单据通过类CL_GOS_MANAGER定义的对象. 尝试通过对象获取附件清单. (如下图是采购订单检查中尝试获取对象清单. ) 跟踪了一天也啥结果.

所以改变思路. 在CL_GOS_MANAGER 特定的服务的类 (比如 CL_GOS_SRV_URL_CREATE 时创建URL的类) 中隐式增强,并且通过全局变量传递附件创建的结果. 订单检查增强中获取这个结果. 作为判断保存的依据之一

总结

SAP标准附件服务(workflow BOX)是一个封装度很高的服务. 在相应的屏幕定义时简单调用即可完成自定义单据的附件服务. 使用很方便. 并且这个服务同时支持GUI客户端及网页客户端.

THE

END

约定

如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.

(如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程. 越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.)

公众号 : syjf1976_abap

ABAP开发技巧

微信号 : 392077

请微信联系管理员:

syjf1976

sharry_xlp

Yannick_Duan

申请进入公众号讨论群提问或者参与话题讨论

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。