HR模块-组织信息类型创建-PP01
文章目录
- 前言
- 一、组织模块相关表
- 二、创建相关函数和使用
- 1.RH_READ_INFTY
- 2.RH_INSERT_INFTY_EXP
- 注意点
- 前面有个坑,在这里埋一下
- 首先
- 其次
前言
第一次上HR模块的项目,发现HR得表都很有意思,基本上靠一个模板创出来得表,刚刚接触到这个模块懂得还不是很多,还请多指教
一、组织模块相关表
组织模块得表以HRP开头,这里记录了组织相关信息得抬头,其具体得行项目信息以HRT开头为命名,在开发时创建相关的结构命名以P开头,这倒是跟正常的PA30的信息类型一致。
二、创建相关函数和使用
盲猜和HR_INFOTYPE_OPERATION一样底层使用的BDC录屏
1.RH_READ_INFTY
看函数名,就可以发现这个读取信息类型的函数,之所以先使用这个函数后面会说到
CALL FUNCTION 'RH_READ_INFTY'EXPORTINGPLVAR = LV_PLVAROTYPE = LV_OTYPEOBJID = LS_BZMB-ORGEHINFTY = '9510'ISTAT = LV_ISTATBEGDA = SY-DATUMENDDA = SY-DATUMTABLESINNNN = LT_P9510
* OBJECTS =EXCEPTIONSALL_INFTY_WITH_SUBTY = 1NOTHING_FOUND = 2NO_OBJECTS = 3WRONG_CONDITION = 4WRONG_PARAMETERS = 5OTHERS = 6.
2.RH_INSERT_INFTY_EXP
把函数名中的’INSERT’换成*号搜索一下,估计能查到相关的函数,大家自己试一下
CALL FUNCTION 'RH_INSERT_INFTY_EXP'EXPORTINGFCODE = 'INSE'VTASK = 'S'ORDER_FLG = ''COMMIT_FLG = 'X'TABLESINNNN = LT_WPLOG_INSTNNNN = LT_PT9510EXCEPTIONSNO_AUTHORIZATION = 1ERROR_DURING_INSERT = 2CORR_EXIT = 3BEGDA_GREATER_ENDDA = 4NO_INNNN_TNNNN = 5ADDITIONAL_INNNN_TNNNN = 6OTHERS = 7.
注意点
我们用P****结构时,通常会使用一个类的方法,转换成函数提供的结构
CALL METHOD CL_HR_PNNNN_TYPE_CAST=>PNNNN_TO_WPLOGEXPORTINGPNNNN = LS_P9510IMPORTINGWPLOG = LS_WPLOG.
前面有个坑,在这里埋一下
之前说到为什么要先read信息类型呢,而不是直接创建,这里我是观察组织结构信息类型表得出的结论。当然像HRP1001这种标准的可能不会出现这种情况,根据自己实际情况使用。
首先
9开头的表,有标准表一样的关键字外,最后面还挂了一个TABNR字段,这是关联他的T表(明细表),列如HRP9510对应的T表就是HRT9510
其次
T表,我关注了两个字段,其中TABNR是与P表做关联的,
那TABSEQNR字段,是作为序列号,这个字段是关键
如果我们不对这个字段进行赋值,INSTER函数会将T表进行覆盖而达不到我们想要的结果。
下面是我写的一段参考PEFROM,多多指点
FORM FRM_INS_INFTY TABLES PT_BZBM STRUCTURE ZTHRBG020USING PV_GUIDCHANGING PV_BZZQE_MESSAGE TYPE ZSHR_MESSAGE.DATA:LT_P9510 TYPE TABLE OF P9510,LS_P9510 TYPE P9510.DATA:LT_WPLOG_INS TYPE STANDARD TABLE OF WPLOG.DATA:LS_WPLOG TYPE WPLOG.DATA:LT_PT9510 TYPE TABLE OF HRT9510,LS_PT9510 TYPE HRT9510.CONSTANTS:LV_PLVAR TYPE PLOG-PLVAR VALUE '01',LV_ISTAT TYPE PLOG-ISTAT VALUE '1',LV_ENDDA TYPE PLOG-ENDDA VALUE '99991231',LV_OTYPE TYPE PLOG-OTYPE VALUE 'O',LV_TABNR TYPE HRTABNR VALUE '1',LV_LANGU TYPE SY-LANGU VALUE '1',LV_INFTY TYPE P9510-INFTY VALUE '9510'.DATA: LV_BEGDA TYPE SY-DATUM.DATA: LT_MESG TYPE TSMESG.DATA:LT_ZTHRBG020 TYPE TABLE OF ZTHRBG020,LS_ZTHRBG020 TYPE ZTHRBG020.DATA:IDENT LIKE SY-UZEIT.LV_BEGDA = SY-DATUM.SORT PT_BZBM BY ZGS ORGEH ZHR_BZLX ZHR_GWCJ.LOOP AT PT_BZBM INTO DATA(LS_BZMB).CLEAR:LS_P9510.MOVE-CORRESPONDING LS_BZMB TO LS_ZTHRBG020.LS_ZTHRBG020-GUID = PV_GUID.CALL FUNCTION 'MESSAGES_INITIALIZE' "消息初始化EXPORTINGI_IDENTIFICATION = IDENTIMPORTINGE_IDENTIFICATION = IDENTEXCEPTIONSOTHERS = 0.CALL FUNCTION 'MESSAGES_ACTIVE' "激活消息EXCEPTIONSOTHERS = 1."查询CALL FUNCTION 'RH_READ_INFTY'EXPORTINGPLVAR = LV_PLVAROTYPE = LV_OTYPEOBJID = LS_BZMB-ORGEHINFTY = '9510'ISTAT = LV_ISTATBEGDA = SY-DATUMENDDA = SY-DATUMTABLESINNNN = LT_P9510
* OBJECTS =EXCEPTIONSALL_INFTY_WITH_SUBTY = 1NOTHING_FOUND = 2NO_OBJECTS = 3WRONG_CONDITION = 4WRONG_PARAMETERS = 5OTHERS = 6.IF SY-SUBRC <> 0.
* Implement suitable error handling hereENDIF.READ TABLE LT_P9510 INTO DATA(IS_P9510) INDEX 1.IF SY-SUBRC = 0.LS_P9510-PLVAR = IS_P9510-PLVAR.LS_P9510-OTYPE = IS_P9510-OTYPE.LS_P9510-OBJID = IS_P9510-OBJID.LS_P9510-ISTAT = IS_P9510-ISTAT.LS_P9510-BEGDA = IS_P9510-BEGDA.LS_P9510-ENDDA = IS_P9510-ENDDA.LS_P9510-INFTY = IS_P9510-INFTY.LS_P9510-ZHR_BZZQ = IS_P9510-ZHR_BZZQ .LS_P9510-TABNR = IS_P9510-TABNR.LS_P9510-AEDTM = SY-DATUM.LS_P9510-UNAME = SY-UNAME.CLEAR:LS_WPLOG,LT_WPLOG_INS.CALL METHOD CL_HR_PNNNN_TYPE_CAST=>PNNNN_TO_WPLOGEXPORTINGPNNNN = LS_P9510IMPORTINGWPLOG = LS_WPLOG.APPEND LS_WPLOG TO LT_WPLOG_INS.CLEAR:LS_PT9510,LT_PT9510.SELECT * FROM HRT9510 INTO CORRESPONDING FIELDS OF TABLE LT_PT9510 WHERE TABNR = LS_P9510-TABNR."查看岗位层级的行号SORT LT_PT9510 DESCENDING BY TABNR.READ TABLE LT_PT9510 ASSIGNING FIELD-SYMBOL(<FS_PT9510>) WITH KEY ZHR_GWCJ = LS_BZMB-ZHR_GWCJ.IF SY-SUBRC = 0.<FS_PT9510>-ZHR_GWCJ = LS_BZMB-ZHR_GWCJ.<FS_PT9510>-ZHR_BZZS = LS_BZMB-ZSQBZS.<FS_PT9510>-ZHR_ZBZS01 = LS_BZMB-ZBZS01.<FS_PT9510>-ZHR_ZBZS02 = LS_BZMB-ZBZS02.<FS_PT9510>-ZHR_ZBZS03 = LS_BZMB-ZBZS03.<FS_PT9510>-ZHR_ZBZS04 = LS_BZMB-ZBZS04.<FS_PT9510>-ZHR_ZBZS05 = LS_BZMB-ZBZS05.<FS_PT9510>-ZHR_ZBZS06 = LS_BZMB-ZBZS06.<FS_PT9510>-ZHR_ZBZS07 = LS_BZMB-ZBZS07.<FS_PT9510>-ZHR_ZBZS08 = LS_BZMB-ZBZS08.<FS_PT9510>-ZHR_ZBZS09 = LS_BZMB-ZBZS09.<FS_PT9510>-ZHR_ZBZS10 = LS_BZMB-ZBZS10.<FS_PT9510>-ZHR_ZBZS11 = LS_BZMB-ZBZS11.<FS_PT9510>-ZHR_ZBZS12 = LS_BZMB-ZBZS12.ELSE.READ TABLE LT_PT9510 INTO DATA(IS_PT9510) INDEX 1.IF SY-SUBRC = 0.LS_PT9510-TABNR = LS_P9510-TABNR.LS_PT9510-TABSEQNR = IS_PT9510-TABSEQNR + 1.LS_PT9510-ZHR_GWCJ = LS_BZMB-ZHR_GWCJ.LS_PT9510-ZHR_BZZS = LS_BZMB-ZSQBZS.LS_PT9510-ZHR_ZBZS01 = LS_BZMB-ZBZS01.LS_PT9510-ZHR_ZBZS02 = LS_BZMB-ZBZS02.LS_PT9510-ZHR_ZBZS03 = LS_BZMB-ZBZS03.LS_PT9510-ZHR_ZBZS04 = LS_BZMB-ZBZS04.LS_PT9510-ZHR_ZBZS05 = LS_BZMB-ZBZS05.LS_PT9510-ZHR_ZBZS06 = LS_BZMB-ZBZS06.LS_PT9510-ZHR_ZBZS07 = LS_BZMB-ZBZS07.LS_PT9510-ZHR_ZBZS08 = LS_BZMB-ZBZS08.LS_PT9510-ZHR_ZBZS09 = LS_BZMB-ZBZS09.LS_PT9510-ZHR_ZBZS10 = LS_BZMB-ZBZS10.LS_PT9510-ZHR_ZBZS11 = LS_BZMB-ZBZS11.LS_PT9510-ZHR_ZBZS12 = LS_BZMB-ZBZS12.APPEND LS_PT9510 TO LT_PT9510.ENDIF.ENDIF.CALL FUNCTION 'RH_INSERT_INFTY_EXP'EXPORTINGFCODE = 'INSE'VTASK = 'S'ORDER_FLG = ''COMMIT_FLG = 'X'TABLESINNNN = LT_WPLOG_INSTNNNN = LT_PT9510EXCEPTIONSNO_AUTHORIZATION = 1ERROR_DURING_INSERT = 2CORR_EXIT = 3BEGDA_GREATER_ENDDA = 4NO_INNNN_TNNNN = 5ADDITIONAL_INNNN_TNNNN = 6OTHERS = 7.ELSE.LS_P9510-PLVAR = LV_PLVAR.LS_P9510-OTYPE = LV_OTYPE.LS_P9510-OBJID = LS_BZMB-ORGEH.LS_P9510-ISTAT = LV_ISTAT.LS_P9510-BEGDA = LV_BEGDA.LS_P9510-ENDDA = LV_ENDDA.LS_P9510-INFTY = LV_INFTY.LS_P9510-ZHR_BZZQ = PV_BZZQ.LS_P9510-AEDTM = SY-DATUM.LS_P9510-UNAME = SY-UNAME.CLEAR:LS_WPLOG,LT_WPLOG_INS.CALL METHOD CL_HR_PNNNN_TYPE_CAST=>PNNNN_TO_WPLOGEXPORTINGPNNNN = LS_P9510IMPORTINGWPLOG = LS_WPLOG.LS_PT9510-TABSEQNR = LS_PT9510-TABSEQNR + 1.LS_PT9510-ZHR_GWCJ = LS_BZMB-ZHR_GWCJ.LS_PT9510-ZHR_BZZS = LS_BZMB-ZSQBZS.LS_PT9510-ZHR_ZBZS01 = LS_BZMB-ZBZS01.LS_PT9510-ZHR_ZBZS02 = LS_BZMB-ZBZS02.LS_PT9510-ZHR_ZBZS03 = LS_BZMB-ZBZS03.LS_PT9510-ZHR_ZBZS04 = LS_BZMB-ZBZS04.LS_PT9510-ZHR_ZBZS05 = LS_BZMB-ZBZS05.LS_PT9510-ZHR_ZBZS06 = LS_BZMB-ZBZS06.LS_PT9510-ZHR_ZBZS07 = LS_BZMB-ZBZS07.LS_PT9510-ZHR_ZBZS08 = LS_BZMB-ZBZS08.LS_PT9510-ZHR_ZBZS09 = LS_BZMB-ZBZS09.LS_PT9510-ZHR_ZBZS10 = LS_BZMB-ZBZS10.LS_PT9510-ZHR_ZBZS11 = LS_BZMB-ZBZS11.LS_PT9510-ZHR_ZBZS12 = LS_BZMB-ZBZS12.APPEND LS_PT9510 TO LT_PT9510.AT END OF ORGEH.APPEND LS_WPLOG TO LT_WPLOG_INS.CALL FUNCTION 'RH_INSERT_INFTY_EXP'EXPORTINGFCODE = 'INSE'VTASK = 'S'ORDER_FLG = ''COMMIT_FLG = 'X'TABLESINNNN = LT_WPLOG_INSTNNNN = LT_PT9510EXCEPTIONSNO_AUTHORIZATION = 1ERROR_DURING_INSERT = 2CORR_EXIT = 3BEGDA_GREATER_ENDDA = 4NO_INNNN_TNNNN = 5ADDITIONAL_INNNN_TNNNN = 6OTHERS = 7.CLEAR:LS_PT9510,LT_PT9510.ENDAT.ENDIF.IF SY-SUBRC = 0.COMMIT WORK AND WAIT.LS_ZTHRBG020-MSGTY = 'S'.LS_ZTHRBG020-MSGTX = '更新成功'.E_MESSAGE-MSGTY = 'S'.E_MESSAGE-MSGTX = '更新成功'.ELSE.CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.CALL FUNCTION 'MESSAGES_GIVE' "获取消息TABLEST_MESG = LT_MESG.READ TABLE LT_MESG INTO DATA(LS_MESG) WITH KEY MSGTY = 'E'.IF SY-SUBRC = 0.LS_ZTHRBG020-MSGTY = LS_MESG-MSGTY.LS_ZTHRBG020-MSGTX = LS_MESG-TEXT.E_MESSAGE-MSGTY = LS_MESG-MSGTY.E_MESSAGE-MSGTX = LS_MESG-TEXT.ELSE.LS_ZTHRBG020-MSGTY = 'E'.LS_ZTHRBG020-MSGTX = '更新失败'.E_MESSAGE-MSGTY = 'E'.E_MESSAGE-MSGTX = '更新失败'.ENDIF.ENDIF.APPEND LS_ZTHRBG020 TO LT_ZTHRBG020.CLEAR:LS_BZMB,LS_ZTHRBG020.ENDLOOP.MODIFY ZTHRBG020 FROM TABLE LT_ZTHRBG020.IF SY-SUBRC = 0.COMMIT WORK AND WAIT.ELSE.ROLLBACK WORK.ENDIF.ENDFORM.
HR模块-组织信息类型创建-PP01相关推荐
- SAP HR模块的基础数据表和增强配置
信息类型是SAP HR模块数据单元,用于对人员数据的记录和维护,是HR的基础.信息类型按照其创建方式的不同可以分为:人事信息类型.组织信息类型.信息类型数据的维护主要在事物码PA30.PA40.po1 ...
- HR HRP1001创建更新信息类型1001数据,RH_INSERT_INFTY_1001_EXT
信息类型1001是维护组织机构与上级关系表,使用 RH_PNNNN_MAINTAIN创建更新时总是失败,换RH_INSERT_INFTY_1001_EXT去做,表(hrp1001) FORM SAVE ...
- HR HRP1000创建更新信息类型1000数据,RH_PNNNN_MAINTAIN
组织结构基本信息存储在信息类型1000中,插入和定界数据都是用函数:RH_PNNNN_MAINTAIN 插入,定界(更新)都是 ACT_FCODE = 'INSE' DATA: LS_RETURN ...
- SAP HR模块配置假期日历和缺勤类型
目录 一.配置假期日历 二.配置缺勤信息类型 2.1.定义缺勤类型 2.2.定义缺勤的计算规则 2.3.分配缺勤计算规则到缺勤类型 一.配置假期日历 SAP的HR模块中,业务顾问在实施的时候一般会配置 ...
- SAP HR信息类型
编号 名称 说明 0000 人事事件 Actions 对各种人事行为进行管理的信息类型 0001 组织分配 Organizational Assignment 0002 个人数据 Personal D ...
- web服务器未能创建类型,WEBSERVICE 分析器错误信息: 未能创建类型
我把SERVICE,放在我网站空间里面,我自己建了个目录,里面放我的WEBSERVICE,但是执行的时候不好用 提示如下 "/"应用程序中的服务器错误. ------------- ...
- HCM 初学 ( 二 ) - 信息类型
一.What is a Infotype? SAP 信息类型是一个信息单元,用于存储管理目的所需的员工相关数据. 它具有 4 位数字代码和相关名称. 它将相似的数据存储到一个屏幕中. 例如,个人数据( ...
- 【学习笔记】SAP CO模块概念信息(上)
Accounting Architecture : 会计模块架构 主要分为以下三个部分: Treasury:主要关注资金: Financial Accounting:FI-总账.应收.应付等等: Co ...
- 在模糊查询中怎样事先加载页面_8种信息类型,中后台产品功能自查清单
产品经理在梳理产品需求文档时需要把每一个功能的逻辑关系.交互方式都整理全面,为了避免疏漏,与开发评审前,建议每位产品都 Check 几遍文档.本文整理了一份中后台产品功能自查清单,供大家参考,如有不全 ...
- $.getjson异常信息提示_8种信息类型,中后台产品功能自查清单
点个赞 一起玩耍! 产品经理在梳理产品需求文档时需要把每一个功能的逻辑关系.交互方式都整理全面,为了避免疏漏,与开发评审前,建议每位产品都 Check 几遍文档.本文整理了一份中后台产品功能自查清单, ...
最新文章
- 转】windows下使用批处理脚本实现多个版本的JDK切换
- java独立承担,Java使用独立文件服务器
- python oop求三角形面积公式_python学习日记(OOP——类的内置方法)
- 【Python学习系列七】Windows下部署Python推荐系统recsys
- 从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
- linux中的软RAID实现,逻辑卷和btrfs文件系统
- android double转string_Java 数组转 List 的三种方式及对比
- java多线程阻塞队列_阻塞队列和多线程消费者,如何知道何时停止
- centos7 go yum 安装_超详细的centos7下载安装Postgresql11(yum安装)教程
- 具有相同模式的字符串,使用正则表达式组的提取和替换的案例
- java精确度_java的数值精度问题 | 学步园
- 淘宝京东卖家可以用到的小工具和素材资源网站
- 请教高手,如何取得Target属性
- 一键解决WinRAR的有关问题
- ros nh.parmam 用法
- 『TensorFlow』SSD源码学习_其五:TFR数据读取数据预处理
- 阿里云对象存储以及api
- sql server的缺陷 将截断字符串或二进制数据 哪个字段
- 【OpenCV 例程300篇】202. 查表快速替换(cv.LUT)
- 王者荣耀服务器什么时候增加人数,王者荣耀服务器连续两天崩!春节每人游戏时间暴涨75%,玩家要背锅?...