轻量服务器_服务器拒绝_免费6个月

网站空间 虚拟云 浏览

小编:在本教程中,我们将了解如何在PA信息类型中使用BADI设置默认值。本教程将展示如何使用BADI设置默认值,我们将使用与前面在PA Infotypes教程中的用户退出设置默认值相同的业务场景,

轻量服务器_服务器拒绝_免费6个月

在本教程中,我们将了解如何在PA信息类型中使用BADI设置默认值。本教程将展示如何使用BADI设置默认值,我们将使用与前面在PA Infotypes教程中的用户退出设置默认值相同的业务场景,其中我们使用了PA Infotypes中的客户退出设置默认值。

在SAP HR中,我们有一个BADI HRPAD00INFTY,可用于PA Infotype中的默认值,以及在需要时执行附加检查(在执行任何操作时的PAI事件中)。

此BADI实现包含以下方法,可根据我们的要求实现。

我们可以使用上述BADI的前两种方法通过调用自定义函数模块或全局类方法。这将确保在首次呈现信息类型屏幕(PBO)以及用户执行某些操作时,值保持一致(PAI)。

我们现在将看到一个实时示例,其中我们需要根据当前系统日期将信息类型0015开始日期默认为工资单期间开始日期。

以下是需要执行的步骤将用户出口编码写入默认信息类型0015值:

1。转到事务SE19,云服务器产品,创建经典BADI HRPAD00INFTY的实现,并给出实现名称(名称应在SAP客户名称空间中,即应以"Y"或"Z"开头)。

按"创建实现"按钮,弹出窗口触发器,输入实现的名称(在客户名称空间中)并输入。

2.点击激活按钮保存并激活BADI实现。

成功激活后,视频云主机,运行时行为文本更改为"将调用实现"。

3。转到我们实现的"接口"页签,下面是BADI实现的编码方法。双击方法名在实现中编写自定义逻辑。在我们实现的BEFORE_OUTPUT和AFTER_INPUT方法中添加以下代码。

类ZCL_IM_DEF_由SAP创建,基于步骤1(ZDEF_0015)中实现的名称。

在代码中,重要的是要理解我们通过相关的标准程序直接获取IT0015记录的运行时值(MP001500)并将其存储在字段符号中,稍后更改字段符号,云服务器维护,以便更改也反映到infotype记录中。

这是必需的,因为与用户退出不同,网络数据存储,此方法可用的所有参数都是导入参数,没有如下所示的更改参数。

5。当我们尝试使用PA30在infotype 15中创建新条目时,输出符合我们的要求。

按创建按钮,原始日期(begda)值默认为正确值。[基于当前日期2015年4月13日,阿里服务器云,默认支付期开始日期2015年4月1日]。

6。此BADI触发PA20/PA30/PA40事务。但是对于现有的PA20记录,这里似乎遇到了一个问题。

激活BADI(PA20)前的输出:

激活BADI(PA20)后的输出:

这是不正确的,我们的系统应该显示与存储在后端表中相同的值(在第一个屏幕截图–2015年1月10日)。为了解决这个问题,我们需要添加一些逻辑,当执行任何更改操作时,这些逻辑只会更改infotype字段数据。

为了确定infotype中当前正在进行的操作,导入参数ipsys非常重要。此结构参数有一个名为IOPER的字段,用于确定Infotype操作。此字段预计有以下值

7。最终的代码逻辑如下。

现在,显示相同的pernr与BADI激活给出正确的结果。

伟大的工作vienet。

文章来源:www.vmchk.com

 
你可能喜欢的: