员工清单ABAP样例

上传人:ji****72 文档编号:33989286 上传时间:2018-02-19 格式:DOC 页数:9 大小:47KB
返回 下载 相关 举报
员工清单ABAP样例_第1页
第1页 / 共9页
员工清单ABAP样例_第2页
第2页 / 共9页
员工清单ABAP样例_第3页
第3页 / 共9页
员工清单ABAP样例_第4页
第4页 / 共9页
员工清单ABAP样例_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《员工清单ABAP样例》由会员分享,可在线阅读,更多相关《员工清单ABAP样例(9页珍藏版)》请在金锄头文库上搜索。

1、*&-*& Report ZHRPYM02*&*&-*&*&*&-*REPORT ZHRPYM02 NO STANDARD PAGE HEADING MESSAGE-ID zmhr.TYPE-POOLS slis. 用于声明类型组 Lsis中的数据类型和常量TABLES: pernr,zthrjob. tables用于声明可以使用它的表空间区域 zthrjob岗位与职系、序列、职等的关系NODES: person, NODES可以把数据从逻辑数据库考贝到可执行程序group, CEperas. CEINFOTYPES: 0001, 0002, 0022, 0032, 0041, 0185, 0

2、529, 0534, 0709.DATA: it_fieldcat TYPE lvc_s_fcat OCCURS 0, ALV格式 LVC_S_FCAT: ALV 控制: 字段目录wa_fieldcat TYPE lvc_s_fcat,wa_layout TYPE lvc_s_layo. lvc_s_layo 布局DATA: BEGIN OF itab OCCURS 0, 定义内表pernr LIKE pa0001-pernr, 人员编号sname LIKE pa0001-sname, 员工姓名gesch LIKE Pa0002-GESCH, 员工性别 IDSEX(4), 用于显示员工性别文本

3、age TYPE i, 员工年龄gbdat like pa0002-GBDAT, 出生日期pcode LIKE Pa0534-PCODE, 政治面貌werks LIKE pa0001-werks, 人事范围 IDname1 LIKE t500p-name1, 人事范围文本orgeh LIKE p0001-orgeh, 部门 IDorgtx LIKE t527x-orgtx, 部门名称plans LIKE pa0001-plans, 职位 IDplstx LIKE t528t-plstx, 职位文本stell LIKE pa0001-stell, 岗位 IDstltx like t513s-st

4、ltx, 岗位文本icnum LIKE p0185-icnum, 身份证号 zgwlb LIKE pa0001-zgwlb, 岗位类别,从域取值zzx LIKE pa0001-zzx, 职系 IDzzhixi LIKE zthrzx-zzhixi, 职系文本zxl LIKE pa0001-zxl, 序列 IDzxulie LIKE zthrxl-zxulie, 序列文本gl_t(40),sl_t(40),END OF itab.data: zbegda like pa0001-begda,zendda like pa0001-endda.DATA: BEGIN OF it_peras OCCU

5、RS 0,personid_ext LIKE pa0709-personid_ext,END OF it_peras.DATA: zperas_num TYPE i,用于最后报表输出时的人员统计zpernr_num TYPE i.DATA: l_dd07v_zgwlb LIKE STANDARD TABLE OF dd07v WITH HEADER LINE. 声明岗位类别域,以便取文本DATA: l_dd07v_gesch LIKE STANDARD TABLE OF dd07v WITH HEADER LINE. 声明性别域,以便取文本DATA: l_dd07v_zhklb LIKE ST

6、ANDARD TABLE OF dd07v WITH HEADER LINE. 声明户口类别域,以便取文本selection-screen begin of block b1 with frame title text-s01.定义附加条件select-options:Z_ZZX FOR zthrjob-ZZX MATCHCODE OBJECT zhhrzx, ZHHRZX 职系搜索帮助 如果是使用搜索帮助的,在 select-option for后面还要加上额外的 match objectZ_zxl FOR zthrjob-zxl MATCHCODE OBJECT zhhrxl, ZHHRX

7、L 序列搜索帮助Z_zzd FOR zthrjob-zzhideng, 职等Z_zgwlb FOR zthrjob-zgwlb. 岗位类别SELECTION-SCREEN END OF BLOCK b1.INITIALIZATION. 为屏幕选择字段的就业状态 STAT2设置默认值 3.CLEAR: pnpstat2, pnpstat2.pnpstat2-sign = I.pnpstat2-option = EQ.pnpstat2-low = 3.APPEND pnpstat2.AT SELECTION-SCREEN.START-OF-SELECTION.CLEAR: itab, itab.z

8、begda = pn-begda.zendda = pn-endda.GET PERAS.PERFORM frm_get_data .END-OF-SELECTION.IF itab IS INITIAL.MESSAGE s000(zmhr) WITH text-m01.EXIT.ENDIF.PERFORM FRM_DISPLAY_DATA .*&-*& Form frm_get_data*&-* 读取数据*-*FORM frm_get_data. 读取数据DATA: c_year(4) TYPE n, b_year(4) TYPE n. 系统日期年 ITAB日期年 用于计算员工年龄DATA:

9、 c_date(4) TYPE n, b_date(4) TYPE n. 系统日期月日 ITAB 日期月日rp_provide_from_last p0001 space zbegda zendda.CHECK pnp-sw-found = 1.CHECK p0001-zzx IN z_zzxAND p0001-zxl IN z_zxlAND p0001-zzhideng IN z_zzdAND p0001-zgwlb IN z_zgwlb.itab-orgeh = p0001-orgeh.* itab-persg = p0001-persg.itab-pernr = p0001-pernr.

10、itab-sname = p0001-sname.itab-plans = p0001-plans.itab-werks = p0001-werks.itab-gbdat = p0002-gbdat.itab-pcode = p0534-pcode.* itab-btrtl = p0001-btrtl.* itab-persg = p0001-persg.* itab-persk = p0001-persk.itab-plans = p0001-plans.itab-stell = p0001-stell.itab-zgwlb = p0001-zgwlb.* itab-zzhideng = p

11、0001-zzhideng.itab-zzx = p0001-zzx.itab-zxl = p0001-zxl.SELECT domvalue_l ddtext 岗位类别文本FROM dd07vINTO CORRESPONDING FIELDS OF TABLE l_dd07v_zgwlbWHERE domname = ZGWLBAND ddlanguage = 1.READ TABLE l_dd07v_zgwlb WITH KEY domvalue_l = itab-zgwlb.IF sy-subrc = 0.itab-zgwlb = l_dd07v_zgwlb-ddtext.ENDIF.S

12、ELECT SINGLE orgtx 组织单元文本FROM t527xINTO itab-orgtxWHERE orgeh = itab-orgehAND sprsl = sy-languAND endda = ALL ( SELECT endda FROM t527xWHERE orgeh = itab-orgehAND sprsl = sy-languAND ( endda = zbegda AND begda = ALL ( SELECT endda FROM t528t WHERE plans = itab-plansAND otype = SAND sprsl = sy-languA

13、ND ( endda = zbegda AND begda = ALL ( SELECT endda FROM t513sWHERE stell = itab-stellAND sprsl = sy-languAND ( endda = zbegda AND begda c_date.itab-age = c_year - b_year - 1.else.itab-age = c_year - b_year.endif.APPEND ITAB.ENDFORM .FORM FRM_DISPLAY_DATA.CLEAR: it_peras, it_peras.LOOP AT itab. 必须,否则 ITAB就是空表MOVE-CORRESPONDING itab TO it_peras.APPEND it_peras.ENDLOOP.DESCRIBE TABLE itab LINES zpernr_nu

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号