ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SAP HR ABAP(1)(中日双语)

2021-06-18 12:31:26  阅读:258  来源: 互联网

标签:10 HR 区分 PERNR 2019.1 ABAP P0002 SAP 情報


HR的所有数据都以infotype保存。

每个infotype都和时间紧密相连。

一般使用sap提供的Logic database pnp. 在新建程序时,加上pnp

然后在程序里加上Tables: PERNR. 再加上需要用到的infotype

如個人情報:

TABLES:PERNR.

INFOTYPE:PA0002.

GET PERNR.

PROVIDE*FROM P0001

BETWEENT PN-BEGDA AND PN-ENDDA.

WRITE...

ENDPROVIDE.

 

HR的数据有一个共同点,所有记录都有开始日和终了日。

可以用Join把多个Infotype放在一起来取数。

履歴管理区分:

1.数据不允许日期存在间隔或重叠。(履歴管理区分1:個人データ情報、氏名や年齢などある時点で空白も重複もあり得ず、すべてを削除することもできないため、履歴管理区分1の情報となります)

2.数据允许存在间隔,但是不允许重叠。(履歴管理区分2: 家族情報(配偶者サブタイプ、重複はしませんが、空白はあり、途中でなくなることもあります。存在しないこともありえるため全削除も可能となり履歴管理区分2の情報となります)

3.数据既允许有间隔也允许有重叠。(履歴管理区分3:資格情報、複数重複することも空白期間もあり、途中でなくなることもあります。存在しないこともありえるため全削除も可能となり管理区分3の情報となります)

A:データとして常に1レコードしかないものです。通常使用しないので知っているのみで良いです。全削除不可。

B:としてデータとして常に1レコードしかないものです。通常使用しないので知っているのみで良いです。全削除可。

T: サブタイプごとに履歴管理区分を管理するためのものになります。(家族情報のように配偶者サブタイプは管理区分2,子どもは管理区分3で重複が許可されないサブタイプと重複があるサブタイプが併存するインフォタイプの場合、サブタイプごとに管理します)

对于取数的时候,某个特定的时间段如果有重复的数据实际是没有意义的,所以用Join的时候只允许针对前两种情况。

如(1)需同时取所属情报和個人情報, 

TABLES: PERNR.

INFOTYPE: 0001,0002.

GET PERNR.

PROVIDE* FROM P0001

*FROM P0002

BETWEEN PN-BEGDA AND PN-ENDDA.

WRITE...

ENDPROVIDE.

 

(2)如果两个数据的时间段不是完全一致

如,入职日2019.1.1

       录入系统是2019.1.10 

需要输出员工的姓名和地址,那么必须取P0002和P0006两个信息。

在Join的时候,系统会自动按照每个时间点分为多条记录。所以系统会分成

2019.1.1-2018.1.9 和2019.1.10-9999.12.31

如果某个信息记录在某个时间段有数的话,自动生成的变量Pxxxx_VALID 就被赋值'X'.

如果用户屏幕上输入查询日期 2019.1.10-2019.1.31 *BEGDA2019.1.10- ENDDA2019.1.31

那么程序输出的就是2019.1.10-2019.1.31, 姓名,住址

因为在2019.1.10以前没有地址,在2019.1.1-2019.1.10这个时间段p0006_valid为空。

TABLES:PERNR.

INFOTYPE:0002,0006.

GET PERNR.

PROVIDE * FROM P0002

                 *FROM P0006

                 BETWEEN PN-BEGDA  AND PN-ENDDA.

IF P0006_VALID = 'X'.

WRITE:P0002-BEGDA , P0002-ENDDA, P0002-NACHN, P0002-VORNA , P0006-ORT01.

ENDIF.

ENDPROVIDE.

若要将infotype里的所有数据都取出来用Join,

若只是个别字段用Projection.

如所属情报里员工有两条记录,分别是2019.1.1-1.31,2019.2.1-9999.12.31

这两条记录只有job发生了变化,position没有变化。

如果根据Projection来只取job,会分为两个时间段。

若只取position,由于没有发生变化,系统会将它们合并。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

标签:10,HR,区分,PERNR,2019.1,ABAP,P0002,SAP,情報
来源: https://blog.csdn.net/m0_46267956/article/details/118017960

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有