云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

负载均衡_oracle数据库服务名_试用

小七 141 0

负载均衡_oracle数据库服务名_试用

大家好,数据更新,

我的一位同事鼓励我分享这个方法,我终于有时间"写"(从我自己的内部文档复制)这个博客。在我以前的文档/博客中,我分享了这个想法/方法和一些代码片段,但不是每一个编码片段。所以,开始吧。阅读愉快!

关于本博客

本博客将展示一种方法,以保护最终用户/旅行者在WDA应用程序中的WDYN FITE\U VC\U收据中更改支付的收据。WDYN FITE\U收据未由计划子模块(FI-TV-PL)或信用卡清算(CCC)导入,而是由高级用户手动输入后端通过PR05或其他方式。此外,它同时防止最终用户/旅行者自己创建付费收据。所有这些都是通过相当"整洁"(你自己判断)的UI操作和一些通用代码片段来实现的,因此它非常直接,没有深入研究标准,数据分析,i、 e.打破东西的可能性非常低。

感谢Michael Zwickl,我在DSAG论坛上与他讨论了我的初始问题,他引导我朝着正确的方向实施了一个解决方案。

技术环境

NW AS 7.03 ABAP Stack 731 Level 13,ECC 606(EHP 6)与SAP\U HR 604 81级和EA\U HR 607(HR续费1)32级

特别是,博客涉及以下对象:

功能环境

我们已经使用FI-TV(请求和费用索赔),包括FI-TV-PL和CCC已经有相当一段时间了。在我们的流程周期内,公司自然会支付某些费用(部分提前到实际行程),其技术后果是收据"已由公司支付",即V_T706B1字段PTKXX-CTRLREC=2。例如:

这些收据是在FI、PY和CCC中用于旅行费用的整体计算和进一步处理所需的,但是它们不会对旅行者进行任何报销。

功能要求

在我公司,旅行者必须满足以下收据维护要求:

SAP标准中的设计缺陷(以我的拙见)

我将要描述的定制开发只是因为WDYN FITE\U VC\U收据的一个令人不安的技术行为而产生的。通常可以通过几种不同的方式限制费用类型(即收据类型)下拉框的值。因此,在查看需求时想到的第一个想法是"从值帮助中删除那些费用类型"。不幸的是,这是不可能的,因为在wdynvc中发布的每个接收都是根据这个下拉框的上下文表进行验证的。是的,你听得对:所有的收据,包括那些来自FI-TV-PL和CCC的收据都有相同的命运。

这意味着,如果你从价值帮助中删除了付费收据,它们就不能再在Webdynpro UI中使用了。更"有趣"的是,当从CCC缓冲区导入费用类型从用户下拉框中排除的付费收据时,收据会损坏并阻止FPM导航的所有方式。最重要的是,最终用户无法纠正损坏的收据,因为它是受保护的只读收据。所有这些都是SAP标准。

在随后问自己"如何限制价值帮助而不将整个应用程序炸成碎片?"你可能会这样:

原谅最终用户,因为他们不知道自己在做什么

因为在我创建自定义开发之前,我们就开始使用FI-TV,所以问题仍然存在。作为一种解决方法,我们以编辑的方式解决了这个问题。即使这样,最终用户的以下角色也进入了这个阶段:

角色1:无意中删除东西的人

"这些收据从哪里来?该死,现在我把它们删除了。哦,好吧,如果他们不应该被删除,那么我就不能这么做。"

人物2:故意删除东西的人

这些荒谬的收据是什么?去吧!"

人物角色3:一个不小心创建了付费收据而不是"正常"收据的人

"我的报销在哪里?!"

第四个角色:厌恶新系统并希望看到它被烧毁的人

"让我们稍微改变一下收据的金额,让开发者搜索系统中的错误……"

在看到编辑方法不现实之后,我们继续截获所有带付费收据的旅行,以便在批准和随后的结算之前进行人工审核。然而,由于这也意味着人工工作量的增加,这只能被视为一个临时的解决办法。

解决办法

直截了当地说:我试图做的第一件事是使所有付费收据都只读,无论其来源如何。为此,我使用了BAdI"TRIP\u WEB\u CHECK",并实现了一点通用编码,在字段控件中搜索"INPUT"——用于确定收据是否为只读的字段。有了这个,我希望即使SAP引入了新的字段,只要它们遵守命名约定,我也不必再碰这个了。用于此操作的方法有IF\u EX\u TRIP\u WEB\u CHECK~ USER\u CHECK\u LINE\u OF \u RECEIPTS和IF\u EX\u TRIP\u WEB\u CHECK~ USER\u CHECK\u RECEIPTS。请注意,必须不可避免地使用这两种方法,淘客app源码,因为"收据行"仅在视图和向下/向上FPM导航的每个操作和/或往返时执行,而"检查收据"仅在向前/向后FPM导航时执行。一、 e.尽管最初看起来同时使用这两种方法是多余的,企业应用开发平台,但实际上并非如此。

这还不够,因为最终用户仍然可以自己创建新的付费收据,并使用WDA操作,这些操作不受收据标题的字段控制的影响。因此,我在FITE\u VC\u收据中创建了一个增强功能。通过一些调整,我禁用了按钮(在选择已付款收据的情况下),并通过分别为ActionExpense类型选择方法创建出口,来阻止在下拉UI元素中选择已付款收据,OnAction选择查看收据视图的收据和WDDOMODIFYVIEW.