在HCM实施过程中可能会遇到特殊的需求,标准shcema很难通过配置实现,这时候我们需要使用增强function,在之前运维经验中会遇到很多顾问在function中没有使用输入表和输出表以及核算过程体现,这会导致核对薪酬差异以及运维过程中有很多问题;
下面用一个例子说下这个问题
一、关于增加function输入和输出
增加传入、传出表
点击输入参数,输入传入表名
填写国家分组表名和序号
注意:传入和传出表需要使用的是薪酬核算程序的内表;常见的内表如下:
表 | 描述 | 说明 |
WPBP | Work place/Baisc pay | 0000/0001/0008/0007信息 |
RT | Results table | 结果表 |
CRT | Cumulative results table | 累计表 |
C0 | Cost distribution | 成本中心 |
IT | Input table | 过程表 |
DT | Difference table | 差异表 |
DATUMSANGABE | 日期表 | 存储DATES函数生成的日期 |
VAR | Variable table | 变量表 |
二、添加日志
核心代码:在log_collect_custm form中添加变量
PERFORM log_collect_custm TABLES ptextUSING rt-lgart ls_t512t-lgtxt rt-betrg lv_betrg.
下面是form的具体处理逻辑
FORM log_collect_custm TABLES ptext STRUCTURE ptextUSING p_lgart
p_lgartt
p_betrg
pc_betrg.DATA lv_text TYPE char20.
ptext-tlevel = '1'. ”这里存放的是日志级别
ptext-text1 = '明细工资项目'. "日志标题
ptext-tlength1 = strlen( ptext-text1 ). "获取文本长度CLEAR lv_text.MOVE p_betrg TO lv_text+0(15).CONCATENATE p_lgart ':' p_lgartt '金额' lv_text INTO ptext-text2+0(40).
ptext-tlength2 = 40.
ptext-tintensiv1 = '0'.APPEND ptext.CLEAR ptext.
ptext-tlevel = '2'.
ptext-text1 = '合计值'.
ptext-tlength1 = strlen( ptext-text1 ).
ptext-text2+0(15) = pc_betrg .
ptext-tlength2 = 40.
ptext-tintensiv1 = '0'.APPEND ptext.CLEAR ptext.PERFORM alter_tlength TABLES ptext.ENDFORM
. " LOG_EXEMPTION_R