SAP HR开发总结(1)

时间:2023.3.27

一、系统中提供了标准的报表

某些报表无法通过菜单路径或常规报告选择来访问。而是必须通过选择菜单:系统 → 服务 → 报告 来进行访问。

在初始屏幕中,您可以输入 RP* 并使用后续报告来显示所有报表的概览。可通过使用以下命名约定来输入更多特定的通用搜索标准:

SAPHR开发总结1

SAPHR开发总结1

EXAMPLE_PNP_GET_PAYROLL , 如果没有写过Payroll resport的人,参考这个Report。 PAY99_RESULT: Structure for payroll result,其中的EVP在设计工资单的Rule时可能就用到。

二、 PHF、SI、TAX相关的报表,可以在 pc28 中找到

PC28 – SAP menu – Subsequent Activities – Per payroll period –Reporting

SAPHR开发总结1

通过 中国的TAX 报表,看看如何处理payroll result.

(1) LDB

(2) Report catalog ,使用后可以自动带出选择屏幕的一部分

(3) Unicode checks active ,要激活

(4) 使用了get pernr,这样的event.,get pernr 是一个循环操作,界面上选择

的所有员工,都会依次循环。每一次的循环,都会找到当前员工的infotype数据,找哪些infotype 中的数据,是在infotypes中的声明中决定的。

(5) 取得payroll result的 function : CU_READ_RGDIR,将payroll result

从cluster表中取出来。

SAPHR开发总结1

(6) 对于Cluster 表,可以如下使用

TABLES: PERNR, PCL1, PCL2, PC260.

(7)

三、标准报表举例

(1) HTWLINF0

可以看到员工的所有维护过的信息类型,包括几条记录,分别的起止时间,最后修改的时间、修改人等,如果有子类型,还会按照子类型来区分;更方便的是,双击每条记录,都可以跳到PA20中查看详细的信息。

SAPHR开发总结1

(2) EXAMPLE_PNP_GET_PAYROLL

如果没有写过Payroll resport的人,参考这个Report

REPORT ZEXAMPLE_PNP_GET_PAYROLL.

tables : pernr , pyorgscreen , pytimescreen.

nodes : payroll type pay99_result.

tables : t512t.

data : wa_rt like line of payroll-inter-rt.

data : wa_crt like line of payroll-inter-crt.

data : wa_wpbp like line of payroll-inter-wpbp.

data : g_result_counter type i .

data : mylist like pc261 OCCURS 0 .

data : wa_mylist like line of mylist.

data : pay type ref to cl_pay. "这个类有两个方法READ_RESULT,和WRITE_RESULT initialization.

get pernr.

write : / '正在处理的人员编号为 : ' ,pernr-pernr.

g_result_counter = 0 .

create object pay.

call method pay->read_result importing list = mylist. "将结果输出到pc261结构中。Cluster directory

"CALL METHOD pay->write_result EXPORTING list = mylist.

"感觉这一句可有可无?

loop at mylist into wa_mylist . "循环访问获得的结果。

write : / wa_mylist.

endloop.

get payroll .

g_result_counter = g_result_counter + 1 .

write : / 'sequence number = ' , payroll-evp-seqnr.

write : 'In period = ' , payroll-inter-versc-inper.

write : 'for period = ' , payroll-inter-versc-fpper.

write : 'Pay date = ' , payroll-inter-versc-paydt.

write : / 'WBPB 拆分 ---begin '.

loop at payroll-inter-wpbp into wa_wpbp.

write : / 'Personel Area = ' , wa_wpbp-werks,

'Sub area = ' , wa_wpbp-btrtl.

endloop.

write : / 'WBPB 拆分 ---end'.

skip 1.

write : / 'RT表中的数据--begin'.

loop at payroll-inter-rt into wa_rt.

select single * from t512t where sprsl = sy-langu and molga = payroll-inter-versc-molga and lgart = wa_rt-lgart.

write : / wa_rt-lgart , t512t-lgtxt , wa_rt-betrg currency payroll-inter-versc-waers, payroll-inter-versc-waers.

endloop.

write : / 'RT表中的数据--end'.

write : / 'CRT表中的数据--begin'.

loop at payroll-inter-crt into wa_crt.

select single * from t512t where sprsl = sy-langu and molga = payroll-inter-versc-molga and lgart = wa_crt-lgart.

write : / wa_crt-lgart , t512t-lgtxt , wa_crt-betrg currency payroll-inter-versc-waers, payroll-inter-versc-waers.

endloop.

write : / 'CRT表中的数据--end'.

get pernr late.

skip .

if g_result_counter = 0 .

write : / '未找到结果 for ' ,pernr-pernr.

else.

write : / '共找到:', g_result_counter ,'条结果for ', pernr-pernr.

endif.

(3) PAY99_RESULT 结构

Structure for payroll result,其中的EVP在设计工资单的Rule时可能就用到。

(4) 2

四、自定义报表举例

五、获得员工的雇佣日期

data : hire_date like p0001-ENDDA.

CALL FUNCTION 'RP_GET_HIRE_DATE' EXPORTING

PERSNR = '28000021' CHECK_INFOTYPES = '0000'

IMPORTING HIREDATE = hire_date .

write : / hire_date.

SAPHR开发总结1

SAPHR开发总结1

http://kemiya.net/thread-4556-1-1.html

HR信息类型创建

锁定人员编号

CALL FUNCTION 'BAPI_EMPLOYEE_DEQUEUE'

EXPORTING

NUMBER =

IMPORTING

RETURN =

EXCEPTIONS

OTHERS = 01.

创建信息类型

CALL FUNCTION 'HR_INFOTYPE_OPERATION'

EXPORTING

INFTY =

SUBTYPE =

NUMBER =

VALIDITYBEGIN =

RECORD =

OPERATION = 'INS'

NOCOMMIT = 'X'

DIALOG_MODE = '0'

IMPORTING

RETURN =

KEY =

EXCEPTIONS

OTHERS = 0.

IF L_RETURN IS INITIAL.

P_TYPE = 'S'.

S_MSG = '信息类型创建成功'.

COMMIT WORK.

解除锁定

CALL FUNCTION 'BAPI_EMPLOYEE_DEQUEUE'

EXPORTING

NUMBER =

IMPORTING

RETURN =

EXCEPTIONS

OTHERS = 01.


第二篇:JAVASCRIPT弹出窗口大总结


//关闭,父窗口弹出对话框,子窗口直接关闭

this.Response.Write("<script

language=javascript>window.close();</script>");

//关闭,父窗口和子窗口都不弹出对话框,直接关闭

this.Response.Write("<script>");

this.Response.Write("{top.opener =null;top.close();}");

this.Response.Write("</script>");

//弹出窗口刷新当前页面width=200 height=200菜单。菜单栏,工具条,地址栏,状态栏全没有

this.Response.Write("<script

language=Javascript>window.open('rows.aspx','newwindow','width=200,height=200')</script>");

//弹出窗口刷新当前页面

this.Response.Write("<script

language=javascript>window.open('rows.aspx')</script>");

this.Response.Write("<script>window.open('WebForm2.aspx','_blank');</script>");

//弹出提示窗口跳到webform2.aspx页(在一个IE窗口中)

this.Response.Write(" <script language=javascript>alert('注册成功');window.window.location.href='WebForm2.aspx';</script> ");

//关闭当前子窗口,刷新父窗口

this.Response.Write("<script>window.opener.location.href=window.opener.location.href;window.close();</script>");

this.Response.Write("<script>window.opener.location.replace(window.opener.document.referrer);window.close();</script>");

//子窗口刷新父窗口

this.Response.Write("<script>window.opener.location.href=window.opener.location.href;</script>");

this.Response.Write("<script>window.opener.location.href='WebForm1.aspx';</script>");

//弹出提示窗口.确定后弹出子窗口(WebForm2.aspx)

this.Response.Write("<script language='javascript'>alert('发表成功!');window.open('WebForm2.aspx')</script>");

//弹出提示窗口,确定后,刷新父窗口

this.Response.Write("<script>alert('发表成功!');window.opener.location.href=window.opener.location.href;</script>"

);

//弹出相同的一页

<INPUT type="button" value="Button" onclick="javascript:window.open(window.location.href)">

//

Response.Write("parent.mainFrameBottom.location.href='yourwebform.aspx?temp=" +str+"';");

<SCRIPT LANGUAGE="javascript">

<!--

window.open ('page.html', 'newwindow', 'height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=n o, status=no') //这句要写成一行

-->

</SCRIPT>

参数解释:

<SCRIPT LANGUAGE="javascript"> js脚本开始;

window.open 弹出新窗口的命令;

'page.html' 弹出窗口的文件名;

'newwindow' 弹出窗口的名字(不是文件名),非必须,可用空''代替; height=100 窗口高度;

width=400 窗口宽度;

top=0 窗口距离屏幕上方的象素值;

left=0 窗口距离屏幕左侧的象素值;

toolbar=no 是否显示工具栏,yes为显示;

menubar,scrollbars 表示菜单栏和滚动栏。

resizable=no 是否允许改变窗口大小,yes为允许;

location=no 是否显示地址栏,yes为允许;

status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许; </SCRIPT> js脚本结束

'newwin':隐藏菜单栏地址栏工具条

width=50:宽度

height=50:高度

scrollbars=yes/n滚动条

top=50:窗口距离屏幕上方

left=50:窗口距离屏幕左侧

例:window.open('detail.aspx?ID="+e.Item.Cells[1].Text+"','newwin','width=750,height=600,scrollbars=yes,top=50,left=50');");

this.Response.Write("<Script>window.open('WebForm2.aspx','','toolbar=

no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,width=750,height=470,left=80,top=40');</script>");

例:

this.Response.Write("<script>alert('发表成功!');window.opener.location.href=window.opener.location.href;</script>");

this.Response.Write("<script>");

this.Response.Write("{top.opener =null;top.close();}");

this.Response.Write("</script>");

例: linkcolumn1.DataNavigateUrlFormatString="javascript:varwin=window.open('edit_usr.aspx?actid={0}','newwin','width=750,height=600,scrollbars=yes,top=50,left=50');window.close()";

window.open

<a href="#" onClick="javascrpt:window.open('adminlove_edituser.asp?user_id=<%=rs("user_id")%>','','toolbar=no,location=no,width=540,height=360')">编审</a>

window.open 的各个属性参数

具体总结 window.open 的各个属性参数如下:

windowobj = window.open([URL ][, name ][, features ][, replace]]]]) URL:新窗口的URL地址

name:新窗口的名称,可以为空

featurse:属性控制字符串,在此控制窗口的各种属性,属性之间以逗号隔开。 fullscreen= { yes/no/1/0 } 是否全屏,默认no

channelmode= { yes/no/1/0 } 是否显示频道栏,默认no

toolbar= { yes/no/1/0 } 是否显示工具条,默认no

location= { yes/no/1/0 } 是否显示地址栏,默认no

directories = { yes/no/1/0 } 是否显示转向按钮,默认no

status= { yes/no/1/0 } 是否显示窗口状态条,默认no

menubar= { yes/no/1/0 } 是否显示菜单,默认no

scrollbars= { yes/no/1/0 } 是否显示滚动条,默认yes

resizable= { yes/no/1/0 } 是否窗口可调整大小,默认no

width=number 窗口宽度(像素单位)

height=number 窗口高度(像素单位)

top=number 窗口离屏幕顶部距离(像素单位)

left=number 窗口离屏幕左边距离(像素单位)

更多相关推荐:
小学校本课程开发总结

(20xx-20xx年度)洪濑第二小学校本课程总结课程建设是学校教学基本建设的重要内容之一。加强课程建设是有效落实教学计划,提高教学水平和人才培养质量的重要保证。因此,我校结合实际情况对校本课程进行了研究与开发…

软件工程实训 期刊管理系统 项目开发总结报告(PDSR)

项目开发总结报告(PDSR)目录项目开发总结报告(PDSR)...........................................................................…

物理校本课程开发总结

三、《》校本课程总结近一年来,我校开展了《》校本课程的开发。我们组织全体教师认真学习并作周密部署,使这一活动的开展做到学校有方案、年级有计划、学生有保证,在思想上重视,在认识上提高,在做法上统一。通过收集、整理…

校本课程开发总结

校本课程不仅仅是新课程改革中一门新兴的课程,而是一种教育观,更是一种学习观,这种观念对各门学科课改的推进,对素质教育的促动有着深远影响。我校的校本课程在不断的调整中日趋完善,以便能更好的展示“爱心建构民主教育,…

项目开发总结报告

10、项目开发总结10.1引言10.1.1编写目的银行ATM自动取款机系统的开发已经基本完成。写此项目开发总结报告,以方便我们在以后的项目开发中来更好的实施项目的订制开发;让我们在今后的项目开发中有更多的有据的…

项目开发总结报告

I引言1.1编写目的说明编写这份项目开发总结报告的目的,指出预期的阅读范围。1.2背景说明:a.本项目的名称和所开发出来的软件系统的名称;b.此软件的任务提出者、开发者、用户及安装此软件的计算中心。I.3定义列…

项目开发总结报告(PDSR)4Y

项目开发总结报告(PDSR)说明:项目开发总结报告的编制是为了总结本项目开发工作的经验,说明实际取得的开发结果以及对整个开发工作的各个方面的评价。1引言1.1标识本条应包含本文档适用的系统和软件的完整标识,(若…

Android开发总结

出来工作半年多了没啥好交代的就说说自己半年来的Android开发经历1IDE这半年来从Eclipse到AndroidStudio经历了两个IDE在这里做一下简单的评价如果真要说AndroidStudio是基本上...

Web开发经验总结

1不要认为Struts已经过时了也不要盲目的去追随JSF以及更新的MVC框架在目前Struts仍旧是最为优秀的MVC框架尤其是后来与SpringHibernate或者Ibatis的结合使得Struts的应用得到...

网上书城项目开发总结报告

目录1引言111编写目的112背景113定义114参考资料12实际开发结果121产品122主要功能和性能323基本流程324进度425费用43开发工作评价531对生产效率的评价532对产品质量的评价533对技术...

项目开发总结报告

第七届齐鲁大学生软件设计大赛智我团队手机游戏长征手机游戏开发长征项目开发总结报告团队名称智我团队所属学校山东海天软件工程专修学院团队成员李运强邹乐华路丛磊刘鸿媛宋慧指导老师岳茂顺发扬长征精神强我中华1第七届齐鲁...

项目开发总结报告

数字音频信息系统AudioMIS项目开发总结报告作者完成日期签收人签收日期修改情况记录目录项目开发总结报告I1引言111编写目的112背景113定义114参考资料12实际开发结果221产品222主要功能和性能3...

开发总结(145篇)