【转自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. CMake 从文件路径中提取文件名

    FILE(GLOB_RECURSE SRC_FILES "*.c" "*.cc" "*.cpp" "*.h" " ...

  2. Django内建模版标签和过滤器

    第四章列出了许多的常用内建模板标签和过滤器.然而,Django自带了更多的内建模板标签及过滤器.这章附录列出了截止到编写本书时,Django所包含的各个内建模板标签和过滤器,但是,新的标签是会被定期地 ...

  3. JQuery DataTables学习

    1.Datatables简单介绍 DataTables是一个jQuery的表格插件.这是一个高度灵活的工具,根据的基础逐步增强,这将添加先进的互动控制.支持不论什么HTML表格. 主要特点: 自己主动 ...

  4. xcode几个常用的快捷键

    command + ctrl + e   修改变量的名称:选中某个变量,按下该快捷键,可以批量修改对应的变量名称 command + shift + j 定位到文档导航界面,然后通过上下方向键,可以快 ...

  5. Extjs4 Combobox 联动始终出现loading错误的解决的方法

    当反复选者combobox 联动时,下级的Combobox 会出现loading的错误表现形式,尽管Store数据已载入完也是一样. 废话少说贴代码就知道怎样处理了:(注意红色部分的关键语句) }, ...

  6. 解决H5在微信浏览器或QQ浏览器修改title的问题

    传送门:http://blog.csdn.net/code_for_free/article/details/51195468 如果是Android,使用 document.title = ‘1231 ...

  7. 细说Redirect重定向请求(情节分享)

         前些日子在开发公司项目接口的时候,由于需要与第三方平台对接,由于接口之前的层层封装,不断的需要转发,把人差点搞糊涂了.本来以为之前对Redirect的认识足够清楚,可是到实际开发之前我还是没 ...

  8. es6/es7 对象数组的合并拷贝

    方法一: let o1 = { a: 1, b: 2, c: 3 }; let o2 = {...o1, d: 4}; // o2 = { a: 1, b: 2, c: 3, d: 4 } let a ...

  9. windows下python安装Numpy、Scipy、matplotlib模块(转载)

    python下载链接     Numpy下载链接 python中Numpy包的安装及使用 Numpy包的安装 准备工作 Python安装 pip安装 将pip所在的文件夹添加到环境变量path路径中 ...

  10. MapReduce源码分析之JobSplitWriter

    JobSplitWriter被作业客户端用于写分片相关文件,包括分片数据文件job.split和分片元数据信息文件job.splitmetainfo.它有两个静态成员变量,如下: // 分片版本,当前 ...