【转自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. Win7提示1970-01-01 000000 is not a valid data怎么办.

    1 单击屏幕右下角的时间按钮   2 选个更改日期和时间,更改日历设置   3 把短日期改成"yyyy-m-d"   4 确定即可.发现日期的表示形式变了.

  2. vue笔记三(组件)

    十.组件 1.组件中的data为函数 2.props: 父组件向子组件传递数据 子组件:Child.vue <template> <span>{{ myMsg }}</s ...

  3. SharedPreferences具体解释(一)——基础知识

    我们在开发软件的时候,常须要向用户提供软件參数设置功能,比如我们经常使用的微信,用户能够设置是否同意陌生人加入自己为好友.对于软件配置參数的保存,假设是在window下通常我们会採用ini文件进行保存 ...

  4. MySQL 系列教程(二) 你不知道的数据库操作

    本章内容: 查看\创建\使用\删除 数据库 用户管理及授权实战 局域网远程连接法 查看\创建\使用\删除\清空\修改 数据库表(是否可空,默认值,主键,自增,外键) 表内容的增删改查 where条件. ...

  5. springboot jpa | mybaits

    一.jpa: 1.jpa可以使用jpaRepository,@query的查询, 当然如果方法命名规范,可以不写sql代码 2.jpa可也使用EntityManager,通过@PersistenceC ...

  6. jquery ui widget 源代码分析

    jquery ui 的全部组件都是基于一个简单,可重用的widget. 这个widget是jquery ui的核心部分,有用它能实现一致的API.创建有状态的插件,而无需关心插件的内部转换. $.wi ...

  7. Mysql:使用workbeanch导出数据库

    MySQL Workbench导出数据库   步骤: 1. 打开mysql workbench,进入需要导出的数据库,点击左侧栏的[Management]tab键. 2. 点选要输出的数据库 点击[D ...

  8. 在 Linux 系统下使用 PhotoRec & TestDisk 工具来恢复文件

    当你在系统中有意或无意地使用 shift + delete 组合键.删除选项,或是清空回收站的方式来删除一个文件时,该文件的内容并没有从硬盘(或是其它存储设备)上直接销毁. 它仅仅是从系统的目录结构中 ...

  9. 安装java运行环境

    1.查看java安装版本 执行命令java -version查看已安装java运行环境信息. 2.下载JDK 到sun官网下载需要的jdk版本,地址为:http://www.oracle.com/te ...

  10. performSelector 方法的自己主动俘获特性

    局部变量自己主动俘获 偶然在调试中发现,performSelector 方法具有自己主动俘获变量的特性.试看例如以下代码: CGFloat c = _addViewShowing ? 0 : 80; ...