SAP HR中时间有效性决定了某个infotype 内表中的数据只有最近时间的那条记录有效
2012-02-19 16:49
162 查看
SAP HR中时间有效性决定了某个infotype 内表中的数据只有最近时间的那条记录有效。
在实际的开发过程中,常常使用function : HR_READ_INFOTYPE ,来获得某个员工的某个infotype中的数据。
由于在指定的开始时间和结束时间内,该infotype对应的记录不一定只有一条,所以得到的结果是保存在内表中的。
但是,只有最近时间的那条记录才对我们有意义。这就需要我们获得内表中按时间倒序排列的第一条记录了。
实现代码如下所示:
以获得某个员工 Infotype 0001 中的数据为例
第一步:声明用于保存结果的内表lt_p0001 ,是个标准表。
DATA: lt_p0001
TYPE STANDARD TABLE
OF p0001,
ls_p0001 TYPE p0001.
第二步:调用函数'HR_READ_INFOTYPE',获得员工的infotype中的所有记录,保存在第一步声明的内表lt_p0001中。
最早开始时间结束时间,是用户在逻辑数据库标准选择屏幕上输入的开始时间和结束时间:pn-begda、pn-endda
CALL FUNCTION
'HR_READ_INFOTYPE'
EXPORTING
pernr = ls_alv_data-pernr
infty = '0001'
begda = pn-begda
endda = pn-endda
TABLES
infty_tab = lt_p0001
EXCEPTIONS
infty_not_found = 1
OTHERS = 2.
第三步:对内表进行倒序排列,取得排序后的第一条记录
IF sy-subrc
= 0.
SORT lt_p0001 BY endda
DESCENDING.
READ TABLE lt_p0001
INTO ls_p0001 INDEX 1.
ENDIF.
所以,最后lt_p0001中保存的数据,就是有效数据
在实际的开发过程中,常常使用function : HR_READ_INFOTYPE ,来获得某个员工的某个infotype中的数据。
由于在指定的开始时间和结束时间内,该infotype对应的记录不一定只有一条,所以得到的结果是保存在内表中的。
但是,只有最近时间的那条记录才对我们有意义。这就需要我们获得内表中按时间倒序排列的第一条记录了。
实现代码如下所示:
以获得某个员工 Infotype 0001 中的数据为例
第一步:声明用于保存结果的内表lt_p0001 ,是个标准表。
DATA: lt_p0001
TYPE STANDARD TABLE
OF p0001,
ls_p0001 TYPE p0001.
第二步:调用函数'HR_READ_INFOTYPE',获得员工的infotype中的所有记录,保存在第一步声明的内表lt_p0001中。
最早开始时间结束时间,是用户在逻辑数据库标准选择屏幕上输入的开始时间和结束时间:pn-begda、pn-endda
CALL FUNCTION
'HR_READ_INFOTYPE'
EXPORTING
pernr = ls_alv_data-pernr
infty = '0001'
begda = pn-begda
endda = pn-endda
TABLES
infty_tab = lt_p0001
EXCEPTIONS
infty_not_found = 1
OTHERS = 2.
第三步:对内表进行倒序排列,取得排序后的第一条记录
IF sy-subrc
= 0.
SORT lt_p0001 BY endda
DESCENDING.
READ TABLE lt_p0001
INTO ls_p0001 INDEX 1.
ENDIF.
所以,最后lt_p0001中保存的数据,就是有效数据
相关文章推荐
- 根据ajax从服务器获取数据的时间和ID,根据最近的时间,显示一个记录重复ID的数字
- 多条相同数据中,选根据选择最近时间一条记录
- 利用excel的数据有效性记录不随系统时间变化的时间
- 最近编写一个日历控件,对包含有日期及时间记录的数据查询很方便
- Oracle查询一批数据,某字段的内容有重复数据,怎样取相同的记录中时间最近的一条
- Mysql的timestamp类型,自动记录数据的更新时间
- 大数据早报:缺乏有效辟谣机制怎么办?人工智能狙击网络谣言 95后大数据报告出炉:兴趣决定一切(9.15)
- 全局变量数据有效时间
- Magento ver. 1.5.1.0—根据系统当天时间,Order导出最近俩天的ERP需求数据SQL语句
- 理论上每天有8.5到11.5小时的学习时间,可是为什么只有最多4小时是有效的?如何改善?
- 大规模的I/O流中有效识别大数据并增强时间局部性
- http post请求的content-type决定数据提取方式
- 如何有效合并两个文件:一个是1亿条的用户基本信息,另一个是用户每天看电影连续剧等的记录,5000万条。其中内存只有1G。
- 数据库中只有一个时间字段,查找一个时间段的数据问题(mybits)
- 记录Sqlserver2012附加Sqlserver2008的数据库出错的解决方案一、摘要 最近在实验里面用台式编写好了一个软件,想移植到家里的笔记本上。在附加数据的时候却出现了错误,具体也没有提示
- sql去重复保留距离时间最近的一条数据
- Flex进行数据类型判断:is typeof ObjectUtil.getClassInfo
- 处理出租车计价器数据,计算空驶时间,即相邻两条记录相减
- oracle取最近一个时间的记录
- 设计一个计算器类Claculator,它只有一个用于计数的数据成员count。该计算器的有效计数范围是0~65535,实现计数器的前自增、后自增、前自减、后自减、两个计算器相加减运算