ZHR_EMP_INQUIRY-人员信息查询
1.HR_INFOTYPE_OPERATION DEMO
2.ZHR_EMP_INQUIRY-人员信息查询
*&---------------------------------------------------------------------* *& Report ZHR_EMP_INQUIRY *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT ZHR_EMP_INQUIRY. INCLUDE OLE2INCL. INCLUDE <CTLDEF> . INCLUDE OFFICEINTEGRATIONINCLUDE . *-----------------------------------声明类型池---------- TYPE-POOLS: SLIS. *----------------------------数据显示内容------------------ "声明结构 *--------------ALV显示变量----------------------------* DATA:gs_layout TYPE slis_layout_alv, gt_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE, g_repid LIKE sy-repid, fieldcatalog LIKE gt_fieldcat. DATA:col_pos TYPE i. DATA: gref_alv TYPE REF TO cl_gui_alv_grid. DATA: BEGIN OF ITAB , PERNR TYPE PERSNO , ENAME TYPE EMNAM, DEPT TYPE STEXT, POSITION TYPE STEXT, IN_DATE TYPE DATS, PROVINCE_WORK TYPE ZKHSFT, CITY_WORK TYPE ZKHCST, DIRECT_SUPERIOR TYPE EMNAM, GENDER(2) TYPE C, BLOOD_TYPE TYPE WTFLD , NATION TYPE TEXT50, GBDAT TYPE DATS, PROVINCE_JG TYPE ZTEXT, CITY_JG TYPE ZTEXT1, MARITAL_STATUS TYPE FATXT, FERTILITY(4) TYPE C, CHILD_NUM TYPE ANZKD, QUALIFICATION TYPE SLTXT, ID_PHOTO TYPE SAEURI, LIFE_PHOTO TYPE SAEURI, HOUSE_TYPE(10) TYPE C, HOUSE_LOAN(2) TYPE C, LOAN_AMOUNT(13) TYPE C, IS_MOVE(2) TYPE C, MOVE_DATE TYPE DATS, REMARK(100) TYPE C, PHONE TYPE ZSYSID, WECHAT TYPE ZSYSID, OEMAIL TYPE ZSYSID, PEMAIL TYPE ZSYSID, END OF ITAB . DATA:itab_2 LIKE ITAB OCCURS 0 WITH HEADER LINE. DATA: BEGIN OF LT_PA0000 OCCURS 0 , PERNR TYPE P0001-PERNR , END OF LT_PA0000 . DATA: BEGIN OF LT_ITAB OCCURS 0, PERNR LIKE P0001-PERNR, END OF LT_ITAB. DATA: BEGIN OF LT_PIC OCCURS 0, OBJECT_ID TYPE SAEOBJID, END OF LT_PIC. TYPES:BEGIN OF TYP_TAB. INCLUDE STRUCTURE P9090. TYPES:STEXT LIKE HRP1000-STEXT. TYPES:END OF TYP_TAB. TYPES:BEGIN OF TYP_TAB2. INCLUDE STRUCTURE SWHACTOR. TYPES: B1 LIKE HRP9090-OBJID, STEXT1 LIKE HRP1000-STEXT. TYPES:END OF TYP_TAB2. DATA: LT_P9090 TYPE TABLE OF TYP_TAB WITH HEADER LINE. DATA: LT_ORGEH TYPE TABLE OF TYP_TAB2 WITH HEADER LINE. DATA: LT_ORGEH_B1 LIKE TABLE OF SWHACTOR WITH HEADER LINE. * DATA: LS_EMP_INFO TYPE ZHR_EMP_INFO_04 . TYPES:BEGIN OF ITAB2. INCLUDE STRUCTURE ZHR_EMP_INFO_04. TYPES: ID1 TYPE SAEURI, ID2 TYPE SAEURI, ID3 TYPE SAEURI, LIFE1 TYPE SAEURI, LIFE2 TYPE SAEURI, LIFE3 TYPE SAEURI. TYPES:END OF ITAB2. DATA: LS_EMP_INFO TYPE ITAB2 . DATA: L_ID TYPE SAEURI . DATA: LEN_ID TYPE I . DATA: ET_EMP_INFO TYPE TABLE OF ITAB2 . DATA: LS_EMP_LEAVE TYPE ZHR_EMP_INFO . SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE text-001. parameter IV_DATE type SY-DATUM obligatory ."日期 SELECTION-SCREEN END OF BLOCK B1. START-OF-SELECTION. perform frm_get_data. perform frm_dis_data. END-OF-SELECTION. *&---------------------------------------------------------------------* *& Form FRM_GET_DATA *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM FRM_GET_DATA . "部门 SELECT HRP9090~OBJID HRP9090~ZZ_BZ HRP1000~STEXT INTO CORRESPONDING FIELDS OF TABLE LT_P9090 FROM HRP9090 JOIN HRP1000 ON HRP1000~OBJID = HRP9090~OBJID WHERE HRP9090~BEGDA <= IV_DATE AND HRP9090~ENDDA >= IV_DATE AND HRP1000~BEGDA <= IV_DATE AND HRP1000~ENDDA >= IV_DATE AND HRP1000~OTYPE = 'O' AND HRP9090~ZZ_BZ = 'D1'. LOOP AT LT_P9090. CALL FUNCTION 'RH_STRUC_GET' EXPORTING ACT_OTYPE = 'O' ACT_OBJID = LT_P9090-OBJID ACT_WEGID = 'ORGEH' ACT_BEGDA = IV_DATE ACT_ENDDA = IV_DATE TABLES RESULT_TAB = LT_ORGEH_B1 EXCEPTIONS NO_ENTRY_FOUND = 1. CHECK SY-SUBRC = 0. APPEND LT_ORGEH_B1. SORT LT_ORGEH_B1 BY OBJID. DELETE ADJACENT DUPLICATES FROM LT_ORGEH_B1. LOOP AT LT_ORGEH_B1. MOVE-CORRESPONDING LT_ORGEH_B1 TO LT_ORGEH. LT_ORGEH-B1 = LT_P9090-OBJID. LT_ORGEH-STEXT1 = LT_P9090-STEXT. APPEND LT_ORGEH. ENDLOOP. LT_ORGEH-B1 = LT_P9090-OBJID. LT_ORGEH-OBJID = LT_P9090-OBJID. LT_ORGEH-STEXT1 = LT_P9090-STEXT. APPEND LT_ORGEH. ENDLOOP. SORT LT_ORGEH BY OBJID. SELECT PA0000~PERNR INTO CORRESPONDING FIELDS OF TABLE LT_ITAB FROM PA0000 WHERE BEGDA <= IV_DATE AND ENDDA >= IV_DATE AND STAT2 = '3' . * SELECT PA0000~PERNR INTO CORRESPONDING FIELDS OF TABLE LT_ITAB FROM PA0000 WHERE AEDTM = IV_DATE . * * SELECT PA0001~PERNR APPENDING CORRESPONDING FIELDS OF TABLE LT_ITAB FROM PA0001 WHERE AEDTM = IV_DATE . * * SELECT PA0041~PERNR APPENDING CORRESPONDING FIELDS OF TABLE LT_ITAB FROM PA0041 WHERE AEDTM = IV_DATE . * * SELECT PA0002~PERNR APPENDING CORRESPONDING FIELDS OF TABLE LT_ITAB FROM PA0002 WHERE AEDTM = IV_DATE . * * SELECT PA0028~PERNR APPENDING CORRESPONDING FIELDS OF TABLE LT_ITAB FROM PA0028 WHERE AEDTM = IV_DATE . * * SELECT PA0185~PERNR APPENDING CORRESPONDING FIELDS OF TABLE LT_ITAB FROM PA0185 WHERE AEDTM = IV_DATE . * * SELECT PA0529~PERNR APPENDING CORRESPONDING FIELDS OF TABLE LT_ITAB FROM PA0529 WHERE AEDTM = IV_DATE . * * SELECT PA0105~PERNR APPENDING CORRESPONDING FIELDS OF TABLE LT_ITAB FROM PA0105 * WHERE PA0105~USRTY IN ('0050','CELL','MAIL','0055') AND AEDTM = IV_DATE . * * SELECT PA0022~PERNR APPENDING CORRESPONDING FIELDS OF TABLE LT_ITAB FROM PA0022 WHERE AEDTM = IV_DATE . * * SELECT PA9050~PERNR APPENDING CORRESPONDING FIELDS OF TABLE LT_ITAB FROM PA9050 WHERE AEDTM = IV_DATE . "图片更新检查: SELECT TOAHR~OBJECT_ID INTO CORRESPONDING FIELDS OF TABLE LT_PIC FROM TOAHR WHERE AR_DATE = IV_DATE . LOOP AT LT_PIC . LT_ITAB-PERNR = LT_PIC-OBJECT_ID+0(8). APPEND LT_ITAB . ENDLOOP . SORT LT_ITAB BY PERNR . DELETE ADJACENT DUPLICATES FROM LT_ITAB . LOOP AT LT_ITAB . LS_EMP_INFO-PERNR = LT_ITAB-PERNR . CALL FUNCTION 'ZHR_EMP_INFO_03' EXPORTING PERNR = LT_ITAB-PERNR IMPORTING ENAME = LS_EMP_INFO-ENAME POSITION = LS_EMP_INFO-POSITION IN_DATE = LS_EMP_INFO-IN_DATE PROVINCE_WORK = LS_EMP_INFO-PROVINCE_WORK CITY_WORK = LS_EMP_INFO-CITY_WORK DIRECT_SUPERIOR = LS_EMP_INFO-DIRECT_SUPERIOR GENDER = LS_EMP_INFO-GENDER BLOOD_TYPE = LS_EMP_INFO-BLOOD_TYPE NATION = LS_EMP_INFO-NATION GBDAT = LS_EMP_INFO-GBDAT PROVINCE_JG = LS_EMP_INFO-PROVINCE_JG CITY_JG = LS_EMP_INFO-CITY_JG MARITAL_STATUS = LS_EMP_INFO-MARITAL_STATUS FERTILITY = LS_EMP_INFO-FERTILITY CHILD_NUM = LS_EMP_INFO-CHILD_NUM QUALIFICATION = LS_EMP_INFO-QUALIFICATION ID_PHOTO = LS_EMP_INFO-ID_PHOTO LIFE_PHOTO = LS_EMP_INFO-LIFE_PHOTO HOUSE_TYPE = LS_EMP_INFO-HOUSE_TYPE HOUSE_LOAN = LS_EMP_INFO-HOUSE_LOAN LOAN_AMOUNT = LS_EMP_INFO-LOAN_AMOUNT IS_MOVE = LS_EMP_INFO-IS_MOVE MOVE_DATE = LS_EMP_INFO-MOVE_DATE REMARK = LS_EMP_INFO-REMARK WECHAT = LS_EMP_INFO-WECHAT OEMAIL = LS_EMP_INFO-OEMAIL PEMAIL = LS_EMP_INFO-PEMAIL PHONE = LS_EMP_INFO-PHONE ORGEH = LS_EMP_INFO-DEPT . READ TABLE LT_ORGEH WITH KEY OBJID = LS_EMP_INFO-DEPT BINARY SEARCH . IF SY-SUBRC = 0 . LS_EMP_INFO-DEPT = LT_ORGEH-STEXT1. ELSE. CLEAR LS_EMP_INFO-DEPT . ENDIF. * L_ID = LS_EMP_INFO-ID_PHOTO . * LEN_ID = STRLEN( L_ID ) . IF LS_EMP_INFO-PEMAIL IS NOT INITIAL . CONCATENATE '''' LS_EMP_INFO-PEMAIL INTO LS_EMP_INFO-PEMAIL . ENDIF. LS_EMP_INFO-ID1 = LS_EMP_INFO-ID_PHOTO+0(250) . LS_EMP_INFO-ID2 = LS_EMP_INFO-ID_PHOTO+250(250) . LS_EMP_INFO-ID3 = LS_EMP_INFO-ID_PHOTO+500(250) . LS_EMP_INFO-LIFE1 = LS_EMP_INFO-LIFE_PHOTO+0(250) . LS_EMP_INFO-LIFE2 = LS_EMP_INFO-LIFE_PHOTO+250(250) . LS_EMP_INFO-LIFE3 = LS_EMP_INFO-LIFE_PHOTO+500(250) . APPEND LS_EMP_INFO TO ET_EMP_INFO[] . CLEAR: LS_EMP_INFO . ENDLOOP . ENDFORM. " FRM_GET_DATA FORM frm_dis_data . *--------------------------组织ALV字段----------------------------------* PERFORM frm_build_field. gs_layout-info_fieldname = 'LINE_COL'. gs_layout-zebra = 'X'. gs_layout-header_text = 'alv test'. gs_layout-info_fieldname = 'COLR'. g_repid = sy-repid. ************************去零****************** * LOOP AT itab_2. ** DEFINE alpha_minus. * CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' * EXPORTING * input = itab_2-matnr * IMPORTING * output = itab_2-matnr. ** END-OF-DEFINITION. * MODIFY itab_2. "CLEAR ITAB_COL. * ENDLOOP. * ******************************************** CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING i_callback_program = g_repid is_layout = gs_layout it_fieldcat = gt_fieldcat[] i_save = 'A' i_callback_user_command = 'FRM_UCOMM' "实现d/双击事件 i_callback_html_top_of_page = 'HTML_TOP_OF_PAGE' * i_callback_pf_status_set = 'FRM_SET_STATUS' i_html_height_top = 7 "控制表头栏目的初始高度 TABLES * t_outtab = itab_2 t_outtab = ET_EMP_INFO EXCEPTIONS program_error = 1 OTHERS = 2. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. ENDFORM. " frm_dis_data *&---------------------------------------------------------------------* *& Form frm_build_field *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM frm_build_field . PERFORM e01_fieldcat_init USING : 'PERNR' '人员编号' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'ENAME' '姓名' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'DEPT' '部门' 9 '' '' 'X' '' '' ' ' '' '' '' '', 'POSITION' '职位' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'IN_DATE' '入职日期' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'PROVINCE_WORK' '工作省份' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'DIRECT_SUPERIOR' '直接上级' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'GENDER' '性别' 24 '' '' 'X' '' '' ' ' '' '' '' '', 'BLOOD_TYPE' '血型' 27 '' '' 'X' '' '' ' ' '' '' '' '', 'NATION' '民族' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'GBDAT' '出生日期' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'PROVINCE_JG' '籍贯省份' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'CITY_JG' '籍贯城市' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'MARITAL_STATUS' '婚姻状态' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'FERTILITY' '生育情况' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'CHILD_NUM' '子女数目' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'QUALIFICATION' '学历' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'ID_PHOTO' '证件照' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'ID1' '证件照1' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'ID2' '证件照2' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'ID3' '证件照3' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'LIFE_PHOTO' '生活照' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'LIFE_PHOTO1' '生活照1' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'LIFE_PHOTO2' '生活照2' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'LIFE_PHOTO3' '生活照3' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'HOUSE_TYPE' '房屋类型' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'HOUSE_LOAN' '是否有房贷' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'LOAN_AMOUNT' '房贷金额' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'IS_MOVE' '是否计划搬迁' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'MOVE_DATE' '搬迁日期' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'REMARK' '备注' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'PHONE' '手机号码' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'WECHAT' '微信号' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'OEMAIL' '公司邮箱' 14 '' '' 'X' '' '' ' ' '' '' '' '', 'PEMAIL' '个人邮箱' 14 '' '' 'X' '' '' ' ' '' '' '' ''. ENDFORM. " frm_build_field *&---------------------------------------------------------------------* *& Form e01_fieldcat_init *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM e01_fieldcat_init USING field_name TYPE c field_text TYPE c field_lenth TYPE i field_edit TYPE c field_type TYPE c field_key TYPE c field_hotspot TYPE c field_checkbox TYPE c field_no_zero TYPE c field_ref_tabname TYPE c field_emphasize TYPE c field_input TYPE c field_sum TYPE c . col_pos = col_pos + 1. fieldcatalog-col_pos = col_pos. fieldcatalog-fieldname = field_name. fieldcatalog-seltext_l = field_text. fieldcatalog-seltext_m = field_text. fieldcatalog-seltext_s = field_text. fieldcatalog-checkbox = field_checkbox. fieldcatalog-input = field_input. fieldcatalog-edit = field_edit. IF field_type = 'Q'. fieldcatalog-just = 'R'. ELSE. fieldcatalog-just = 'L'. ENDIF. fieldcatalog-key = field_key. fieldcatalog-hotspot = field_hotspot . fieldcatalog-outputlen = field_lenth. fieldcatalog-no_zero = field_no_zero. fieldcatalog-emphasize = field_emphasize . fieldcatalog-ref_tabname = field_ref_tabname. fieldcatalog-do_sum = field_sum. APPEND fieldcatalog TO gt_fieldcat. ENDFORM. " e01_fieldcat_init *&---------------------------------------------------------------------* *& Form FRM_UCOMM *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->F_UCOMM text * -->F_SELFIELD text *----------------------------------------------------------------------* FORM frm_ucomm USING f_ucomm LIKE sy-ucomm f_selfield TYPE slis_selfield. * READ TABLE ITAB INDEX F_SELFIELD-TABINDEX. IF f_ucomm = '&IC1'. IF f_selfield-fieldname = 'MATNR'. SET PARAMETER ID 'MAT' FIELD f_selfield-value . SET PARAMETER ID 'MM5' FIELD ' '. SET PARAMETER ID 'MXX' FIELD 'K'. CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN. ENDIF. ENDIF. CALL METHOD gref_alv->check_changed_data. f_selfield-refresh = 'X'. ENDFORM. "FRM_UCOMM *&---------------------------------------------------------------------* *& Form html_TOP_of_page *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->DOCUMENT text *----------------------------------------------------------------------* FORM html_top_of_page USING document TYPE REF TO cl_dd_document. DATA: text TYPE sdydo_text_element. IF gref_alv IS INITIAL. CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR' IMPORTING e_grid = gref_alv. ENDIF. text = '人员信息: '. CALL METHOD document->add_icon EXPORTING sap_icon = 'ICON_SUM'. CALL METHOD document->add_text EXPORTING text = text sap_emphasis = 'Strong'. CALL METHOD document->add_gap EXPORTING width = 2. * CALL METHOD document->add_text * EXPORTING * text = text * sap_color = cl_dd_document=>list_total_int * sap_fontsize = cl_dd_document=>large * sap_fontstyle = cl_dd_document=>serif * sap_emphasis = cl_dd_document=>emphasis. "加粗还是斜体 STRONG是加粗 CALL METHOD document->new_line. CALL METHOD document->new_line. ENDFORM. "html_TOP_of_page
本人常年接收SAP运维和远程项目,ECC,S/4HANA,CRM,WDA.
远程人天可谈,终身售后,有活请联系V信:18925782767(问问题免费,欢迎交流!)
!!请关注本人技术分享公众号:SAP翔子(可扫头像二维码)
每天分享新知识,博客文章也会陆续整理并迁移至公众号,与您一起共同学习
合集:
HCM程序
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
2021-07-08 解决SMARTFORMS 中table 控件单行跨页的问题
2021-07-08 成本分析报表