【转自http://www.512test.com/home/space.php?uid=19&do=blog&id=2381】

很多顾问测试HR的程序时都为录入人员头痛,下面的程序提供了快速复制人员的方法。
代码如下:

*&---------------------------------------------------------------------*
*& Report  ZPPA_CLONE_PERNR
*&
*&---------------------------------------------------------------------*
*& CLONE
*&                                                                     *
*&---------------------------------------------------------------------*
report  zppa_clone_pernr line-size 255.
*
*----------------------------------------------------------------------*
* T A B L E S
*----------------------------------------------------------------------*
tables: pa0000.
*----------------------------------------------------------------------*
* C O N S T A N T S
*----------------------------------------------------------------------*
*constants: .

**----------------------------------------------------------------------*
** D A T A
**----------------------------------------------------------------------*
data: i_dd02l like dd02l occurs 0 with header line.

* Objects for variable structure assignment
data dref type ref to data.

field-symbols: <table> type any table,
              <wa>    type any,
              <field>  type any,
              <field_nachn>  type any,
              <field_vorna>  type any.
field-symbols  <pnnnn> type c.

**----------------------------------------------------------------------*
** P A R A M E T E R S
**----------------------------------------------------------------------*
*### Input
selection-screen: begin of block frm1 with frame title text-010.
parameters: p_pernr like prelp-pernr default '30001' obligatory.
parameters: p_per2 like  prelp-pernr default '30071' obligatory.
selection-screen: end of block frm1.

selection-screen: begin of block frm2 with frame title text-011.
select-options: pr_tnam for i_dd02l-tabname default 'PA0000' to
'PA9999' no-display.
selection-screen: end of block frm2.

selection-screen: begin of block frm3 with frame title text-012.
parameters: p_nachn like pa0002-nachn default 'Hubert'.
parameters: p_vorna like pa0002-vorna default 'Peter'.
selection-screen: end of block frm3.

parameters: p_pwd(3).
parameters: p_detail as checkbox.
parameters: p_test as checkbox default 'X'.

**----------------------------------------------------------------------*
** I N I T I A L I Z A T I O N
**----------------------------------------------------------------------*
*initialization.

*************************************************************************
** S T A R T   O F   P R O G R A M
*************************************************************************
**----------------------------------------------------------------------*
** S T A R T   O F   S E L E C T I O N
**----------------------------------------------------------------------*
start-of-selection.

if p_pwd ne '555'.
   message s398(00) with '密码错误!应该为555'.
   exit.
 endif.

select single * from pa0000 where pernr = p_per2.
 if sy-subrc = 0.
   message s398(00) with '该人员号已经存在,请输入新的人员号!'.
   exit.
 endif.

select * from dd02l into table i_dd02l where tabname in pr_tnam.

loop at i_dd02l.

create data dref type standard table of (i_dd02l-tabname)
                         with non-unique default key.
   assign dref->* to <table>.

select *
          from (i_dd02l-tabname)
          into table <table>
          where pernr = p_pernr.

if sy-subrc = 0.
     format color col_key intensified on.
     write:/ i_dd02l.
   endif.

loop at <table> assigning <wa>.
     format color col_normal intensified off.
     if p_detail = 'X'.
       write:/3 space.
     endif.
     do 30 times.
       assign component sy-index
          of structure <wa> to <field>.
       if sy-subrc = 0.
         if p_detail = 'X'.
           write: <field>.
         endif.
       endif.
     enddo.

if i_dd02l-tabname = 'PA0001'.
       assign component 'ENAME'
  of structure <wa> to <field>.
       if sy-subrc = 0.
         concatenate p_vorna p_nachn into <field> separated by space.
       endif.

endif.

if i_dd02l-tabname = 'PA0002'.
       assign component 'NACHN'
          of structure <wa> to <field>.
       if sy-subrc = 0.
         <field> = p_nachn.
       endif.
       assign component 'VORNA'
          of structure <wa> to <field>.
       if sy-subrc = 0.
         <field> = p_vorna.
       endif.

endif.

* Tab update
     if p_test is initial.
       assign component 'PERNR'
          of structure <wa> to <field>.
       <field> = p_per2.
       check i_dd02l-tabname(2) = 'PA'.
       modify (i_dd02l-tabname) from <wa>.
     endif.

endloop.

endloop.
**----------------------------------------------------------------------*
** E N D   O F   S E L E C T I O N
**----------------------------------------------------------------------*

SAP HR 复制PA30的人员的更多相关文章

  1. SAP HR模块的基础数据表和增强配置

    信息类型是SAP HR模块数据单元,用于对人员数据的记录和维护,是HR的基础.信息类型按照其创建方式的不同可以分为:人事信息类型.组织信息类型.信息类型数据的维护主要在事物码PA30.PA40.po1 ...

  2. 评点SAP HR功能及人力资源管理软件

    评点SAP HR功能及人力资源管理软件   本文导航 第1页:my SAP 人力资源软件 第2页:my SAP HR协同功能 第3页:组织结构管理 第4页:mySAPTM HR的战略功能 第5页:集成 ...

  3. 【HR系列】SAP HR PA信息类型的创建与增强

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HR系列]SAP HR PA信息类型的创建与增 ...

  4. SAP HR工资配置项1---工资计算周期配置

    对于工资计算,三个方面需要配置:工资计算期.工资类型.工资. 下面是工资期内的配置: 1.在定义参数 在参数指示工资的频率. 主题 设置期间參数 菜单路径 SAP 用户化实施指南→工资核算→工资核算: ...

  5. SAP HR宏 rp-provide-from-last

    运行se11 Database table: 输入 TRMAC 点击display 查看其内容:第14个按钮(ctrl + shift +F10) 再Name 输入:rp-provide-from-l ...

  6. HR 常用事务代码

    HR的键值权限查看:  oosb 删除人员 : pu01 查看人员主数据:PA30 对人员进行入职.离职.调岗等基本操作:PA40 查看HR中的公式的意思:PE04 查看HR中的工资项:PE02 创建 ...

  7. SAP CRM 项目笔记(一) SOW(工作说明书)讨论

    前记 前两天在搜索资料时,看到一个网友在博客里面记录下了自己参于项目中的所有笔记.我觉得这个想法很不错,所以决定开笔记录下SAP CRM整个项目的实施和开发过程. 之前参加集团的SAP ERP(FI/ ...

  8. SAP一句话入门 .

    SD是Sales and Distribution的简称.在SAP系统中,销售与分销模块处在供应链下游,关注从客户订单到向客户收款的全过程. SD模块中的Sales好理解,而Distribution却 ...

  9. SAP ERP SD模块中维护销售人员

    SAP ERP SD模块中维护销售人员信息并分配销售组织   分类: SAPHCM用户指南   在SAP ERP系统,销售和分销(SD)模块中需要创建销售人员(Sales Personnels)消息, ...

随机推荐

  1. PS PNG导出的时候是否交错有什么影响

    已解决 导出png格式交错什么意思 我百度的答案一律说png支持交错,可是交错两个字的意思是什么啊,那位专家请指教.谢谢啦!! 问题补充: 我用photoshop或者coreldraw制作按钮时候不是 ...

  2. Android学习(十一) File文件操作

    File类 1.获取当前应用程序的目录: this.getFilesDir();                                             //获取当前应用程序的数据目录 ...

  3. Linux shell快捷键

    Ctrl + a 可以快速切换到命令行开始处Ctrl + e 切换到命令行末尾Ctrl + r 在历史命令中查找 ctrl + u      删除光标前面所有字符相当于VIM里d shift+^ ct ...

  4. Oracle 隐式游标 存储过程

    --隐式游标 注意变量赋值用(:=) 连接符用(||)而不是加号(+) DECLARE v_pk T_PLAT_KEYWORD.ID%TYPE; --主键 v_amount_message T_PLA ...

  5. Mongodb基本操作入门,增删改查和索引

    主要进程 mongod.exe为启动数据库实例的进程. mongo是一个与mongod进程进行交互的JavaScript shell进程,它提供了一些交互的接口函数用户对数据库的管理. 基本命令 sh ...

  6. linux把某个文件拷贝到不同的目录下面

    find -name '7*' -type d|xargs -n 1 cp PBClassname.properties

  7. bzoj3174【TJOI2013】解救小矮人

    3174: [Tjoi2013]解救小矮人 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 573  Solved: 293 [Submit][Stat ...

  8. git学习之创建版本库(三)

    创建版本库 什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以 ...

  9. 【demo练习二】:WPF依赖属性的练习

    2016-10-11 依赖属性demo小样: 要求:在窗口中点击按钮,利用设置“依赖属性”把Label和TextBox控件里的属性值进行改变. ============================ ...

  10. NYOJ-欧几里得

    欧几里得 时间限制:1000 ms  |  内存限制:65535 KB 难度:0 描写叙述 已知gcd(a,b)表示a,b的最大公约数. 如今给你一个整数n,你的任务是在区间[1,n)里面找到一个最大 ...