[HR] salary of PERNR
Hi. How can I check the salary for some month for given PERNR? Greetings. P.
Hi Piotr,
<a href="http://www.sap-img.com/hr011.htm">http://www.sap-img.com/hr011.htm</a>
<a href="http://www.sapdev.co.uk/hr/hrhome.htm">http://www.sapdev.co.uk/hr/hrhome.htm</a>
Hope it helps.
Lokesh
pls. reward if the post helps.
Similar Messages
-
How to create workflow for this scenerio
HI Gurus,
I am new to workflow.
I have to create a workflow. But I have a problem what the object type I have to choose. It may be simple but i dont know do it.
Scenerio of the workflow given is...
This workflow gets pernr and benefit plan information from portal.
this workflow is a one step approval mail
In the workflow three steps are there.
In the first step i have to derive basic hourly salary of the person by using infotype --- 008 and company code for the pernr from the 0001 and benefit plan he enrolled
Second step ---
there are two company codes, I have to use condition step,
if one company code I have to send to one hr department mail for approval
and the other for another hr department step.
in the workitem i have to pass salary information, pernr information.
third step, after approval I have to update the respective infotype.
My question is for the above scenerio, what object type I have to use.
For the first step is there any method I have to create which calls function module.
if so for which object type i have to add method.
third how do I create the workflow container for this.
I am new to workflow. Please help me friends.
RaviI think you should create your own Business Object or you can refer to Business Object EMPSALPACK.
Now Company Code should be an Attribute that you should do the Coding For.
Use this attribute in the Condition Step of Workflow Template.
Workflow Container will contain the Business Object that you will be creating. The Business object should have Key Field Pernr and may be anything relevant that you will do for Coding. I think you might have to trigger the Event of the Business Object through code.
Check the Code below.
<b>Reward Appropriate Point if useful</b>
INCLUDE <cntn01> .
DATA:i_emp_details TYPE STANDARD TABLE OF p0001, "Employee Details
wa_request TYPE p0001, "Workarea for Employee details
v_country_grp TYPE molga, "Country SubGrouping
v_object_key TYPE sweinstcou-objkey. "Key for the buisness object ZWOBUSTRIP
CONSTANTS: c_bo_trip TYPE swo_objtyp VALUE 'ZWOBUSTRIP',
c_event_trip TYPE swo_event VALUE 'TripCreate',
c_infy_type_1 TYPE infty VALUE '0001'.
Event Container declaration
swc_container i_event_cont.
swc_create_container i_event_cont.
Reading the INFO TYPE 0001 to obtain the
Employee details
CALL FUNCTION 'HR_READ_INFOTYPE'
EXPORTING
pernr = i_emp_number
infty = c_infy_type_1
begda = sy-datum
endda = sy-datum
TABLES
infty_tab = i_emp_details
EXCEPTIONS
infty_not_found = 1
OTHERS = 2.
SY-SUBRC check is not required as the error
handelling will be done by WorkFlow rule
resolution.
CLEAR wa_request.
READ TABLE i_emp_details INTO wa_request INDEX 1.
IF sy-subrc = 0.
Retrieving the Country SubGrouping for the employee
SELECT SINGLE molga
FROM t001p
INTO v_country_grp
WHERE werks = wa_request-werks
AND btrtl = wa_request-persk.
ENDIF.
Sending the relevant data to event container
swc_set_element i_event_cont 'EmpId' i_emp_number.
IF sy-subrc <> 0.
No Processing needed.
ENDIF.
swc_set_element i_event_cont 'PersonnelArea' wa_request-werks.
IF sy-subrc <> 0.
No Processing needed.
ENDIF.
swc_set_element i_event_cont 'CountryGrouping' v_country_grp.
IF sy-subrc <> 0.
No Processing needed.
ENDIF.
swc_set_element i_event_cont 'EmpSubGrp' wa_request-persk.
IF sy-subrc <> 0.
No Processing needed.
ENDIF.
swc_set_element i_event_cont 'EmpTripId' i_emp_trip.
IF sy-subrc <> 0.
No Processing needed.
ENDIF.
Raising the event to trigger the workflow
v_object_key = i_emp_number.
CALL FUNCTION 'SWE_EVENT_CREATE'
EXPORTING
objtype = c_bo_trip
objkey = v_object_key
event = c_event_trip
TABLES
event_container = i_event_cont
EXCEPTIONS
objtype_not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
No Processing needed.
ENDIF.
COMMIT WORK.
ENDFUNCTION.
Thanks
Arghadip -
How to create workflow for this simple scienerio
HI Gurus,
I have to create a simple workflow. But I have a problem what the object type I have to choose.
Scenerio of the workflow is ..
This workflow gets pernr and benefit plan information from portal.
this workflow is a one step approval mail
In the workflow three steps are there.
In the first step i have to derive basic hourly salary of the person by using infotype --- 008 and company code for the pernr from the 0001 and benefit plan he enrolled
Second step ---
there are two company codes, I have to use condition step,
if one company code I have to send to one hr department mail for approval
and the other for another hr department step.
in the workitem i have to pass salary information, pernr information.
third step, after approval I have to update the respective infotype.
My question is for the above scenerio, what object type I have to use.
For the first step is there any method I have to create which calls function module.
if so for which object type i have to add method.
third how do I create the workflow container for this.
I am new to workflow. I know scenerio is simple but I dont know how to do it.
Please help me friends.
Ravithink you should create your own Business Object or you can refer to Business Object EMPSALPACK.
Now Company Code should be an Attribute that you should do the Coding For.
Use this attribute in the Condition Step of Workflow Template.
Workflow Container will contain the Business Object that you will be creating. The Business object should have Key Field Pernr and may be anything relevant that you will do for Coding. I think you might have to trigger the Event of the Business Object through code.
Check the Code below.
<b>Reward Appropriate Point if useful</b>
INCLUDE <cntn01> .
DATA:i_emp_details TYPE STANDARD TABLE OF p0001, "Employee Details
wa_request TYPE p0001, "Workarea for Employee details
v_country_grp TYPE molga, "Country SubGrouping
v_object_key TYPE sweinstcou-objkey. "Key for the buisness object ZWOBUSTRIP
CONSTANTS: c_bo_trip TYPE swo_objtyp VALUE 'ZWOBUSTRIP',
c_event_trip TYPE swo_event VALUE 'TripCreate',
c_infy_type_1 TYPE infty VALUE '0001'.
Event Container declaration
swc_container i_event_cont.
swc_create_container i_event_cont.
Reading the INFO TYPE 0001 to obtain the
Employee details
CALL FUNCTION 'HR_READ_INFOTYPE'
EXPORTING
pernr = i_emp_number
infty = c_infy_type_1
begda = sy-datum
endda = sy-datum
TABLES
infty_tab = i_emp_details
EXCEPTIONS
infty_not_found = 1
OTHERS = 2.
SY-SUBRC check is not required as the error
handelling will be done by WorkFlow rule
resolution.
CLEAR wa_request.
READ TABLE i_emp_details INTO wa_request INDEX 1.
IF sy-subrc = 0.
Retrieving the Country SubGrouping for the employee
SELECT SINGLE molga
FROM t001p
INTO v_country_grp
WHERE werks = wa_request-werks
AND btrtl = wa_request-persk.
ENDIF.
Sending the relevant data to event container
swc_set_element i_event_cont 'EmpId' i_emp_number.
IF sy-subrc <> 0.
No Processing needed.
ENDIF.
swc_set_element i_event_cont 'PersonnelArea' wa_request-werks.
IF sy-subrc <> 0.
No Processing needed.
ENDIF.
swc_set_element i_event_cont 'CountryGrouping' v_country_grp.
IF sy-subrc <> 0.
No Processing needed.
ENDIF.
swc_set_element i_event_cont 'EmpSubGrp' wa_request-persk.
IF sy-subrc <> 0.
No Processing needed.
ENDIF.
swc_set_element i_event_cont 'EmpTripId' i_emp_trip.
IF sy-subrc <> 0.
No Processing needed.
ENDIF.
Raising the event to trigger the workflow
v_object_key = i_emp_number.
CALL FUNCTION 'SWE_EVENT_CREATE'
EXPORTING
objtype = c_bo_trip
objkey = v_object_key
event = c_event_trip
TABLES
event_container = i_event_cont
EXCEPTIONS
objtype_not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
No Processing needed.
ENDIF.
COMMIT WORK.
ENDFUNCTION.
Thanks
Arghadip -
Income tax gross salary projection
Hi,
Income tax calculations upto Jan 2012, i.e 10th period gross salary calculations is calculating correctly, but the calculations for February 2012 shows the Gross salary only for three months ( i.e Jan 2012, feb 2012, Mar 2012).
Tax exemptions and all exemptions are taking the same.
Please help me in resolve this issue.
Regards,
MadhuHi Madhu,
Do you have any rehiring or company code change for the pernr? Please go through the explanation below:
/416 is calcualted with the following logic as mentioned:
/416 = /4VA + /4V1 + /4VJ + /4VK + /410/411/413-/414 + (S89-/616)
1. In normal cases, /410 is formed as follows:
/410 = /124 (CRT) + /124 (RT) + current /124 * projection factor
2. However, the logic does not remain same in case of company code changes. For company code changes scenarios, the calculation will happen as follows:
/410 = /124 (RT) + current /124 * projection factor.
/124 from CRT will not be considered in such a scenario. Instead once, /410 is formed and /416 is to be arrived, previous employment details would be considered (/4V* wagetypes).
Can you please review the SAP note 941288 projection of income,and check the settings as available in your system. Let me know if it still doesn't work.
Regards,
Nishtha -
How to Get Previous Month Salary for a particular employee?
Hi
I am developing a report to get the Net Pay Difference from Previous month.
I am using logical database pnp.
My question is how can we get the last month (Previous from current selected month) salary of perticular employee. I read the thread which is related to this but I can't understand the reply's. I think it is due to that I am new in ABAP and my experience in only 22 days. If someone reply with code example then it will more helpful for me.
Also If you can tell me the table name from where we can get the salary of particular month of particular employee then it will also helpful for me.
Regards
IftikharHi,
Payroll data is stored in cluster tables.
You can either use macro for retrieving the data or Function module.
1. Use FM -CU_READ_RGDIR for getting the RG directory values.Pass
employee Number and molga.You will get all the sequence Numbers from this
FM.
The last record will be the latest one.
2. Then Use FM - PYXX_READ_PAYROLL_RESULT for getting the payroll
results table.Pass cluster ID- 'IN' ,pernr ,sequence number for which period
you want (In your case ,current period minus 1) and
READ_ONLY_INTERNATIONAL = 'X',
3. You will get all the results from PAYROLL_RESULT = it_result
Then you can loop this internal table like LOOP at it_result-inter-rt into wa..
Get the net pay value(/560 wage type)
Reward points if helpful.
Regards,
Manoj. -
Get previous and latest salary from IT0008 Record
Hey guys, i am trying to develop a letter that needs to show an increment, i.e. grab the current and previous records from IT0008..
I have tried a few things:
CALL FUNCTION 'HR_READ_INFOTYPE'
>> this does not get the salary i need.. but gives me dates that i used in:
CALL FUNCTION 'RP_FILL_WAGE_TYPE_TABLE'
>> this is returning the current salary and future salarys (we have some postdated increments in the system) but does not get me the previous no matter what i put in for dates.
also tried:
CALL FUNCTION 'RP_FILL_WAGE_TYPE_TABLE_EXT'
>> same as above.
thoughts? i want to get the last two records as they appear in Pa20/30 for IT0008.
Thanks!
-JasonJason:
My suggestion
SELECT * FROM PA0008 WHERE INTO it_0008
PERNR EQ P_PERNR.
SORT it_0008 BY ENDDA DESCENDING.
READ TABLE it_0008 INDEX 1.
MOVE it_0008 TO WA_LAST.
READ TABLE it_0008 INDEX 2
MOVE it_0008 to WA_PREV.
Obvious, wa_last and wa_prev there are work area LIKE PA0008.
I think this can work fine.
Regards.
José Luis -
Report to show salary increase based on rating
Hi,
I want to get a report which will show the final rating of the appraisal for an employee and the salary increase which he has got for the given financial year. There will be only one appraisal cycle so there will be only one final rating which will be stored in the appraisal document only.
Can anyone please let me know how to go about with the report?
With Regards,
Kaustuv Goswami.You have to develop a custom program.. the salary incr part is straightforwrd.. you can get it from Infotype 0008.. the Appraisal Ratings for OSA are stored in HRHAP_FINAL table but cannot be accessed directly..you will firts have to get the appraisal id for the appraisee(pernr) for the relevant Apprasial Template.. you can use the the function modules HRHAP_DOCUMENT_GET_LIST & 'HRHAP_DOCUMENT_GET_DETAIL' for that..
For Old Appraisals, you can use the function modules 'RHPA_APPRAISALS_SEARCH_ENGINE' & 'RHPA_APPRAISAL_READ' and get the rating.
~Suresh -
ESS: java.lang.NullPointerException in Salary Statement
Hi All,
We have configured ESS salary stament but getting the following Exception when we click on Salary Statement,
Please help us out in this:-
java.lang.NullPointerException
at com.sap.pcuigp.tracking.BTrackingComp.isValuePackSystem(BTrackingComp.java:290)
at com.sap.pcuigp.tracking.BTrackingComp.onInit(BTrackingComp.java:206)
at com.sap.pcuigp.tracking.wdp.InternalBTrackingComp.onInit(InternalBTrackingComp.java:173)
at com.sap.pcuigp.tracking.BTrackingCompInterface.onInit(BTrackingCompInterface.java:115)
at com.sap.pcuigp.tracking.wdp.InternalBTrackingCompInterface.onInit(InternalBTrackingCompInterface.java:124)
at com.sap.pcuigp.tracking.wdp.InternalBTrackingCompInterface$External.onInit(InternalBTrackingCompInterface.java:198)
at com.sap.pcuigp.xssfpm.wd.FPMComponent$FPM.attachComponentToUsage(FPMComponent.java:922)
at com.sap.pcuigp.xssfpm.wd.FPMComponent$FPM.attachComponentToUsage(FPMComponent.java:891)
at com.sap.pcuigp.xssfpm.wd.FPMComponent$FPMProxy.attachComponentToUsage(FPMComponent.java:1084)
at com.sap.pcuigp.xssutils.pernr.FcEmployeeServices.onInit(FcEmployeeServices.java:219)
at com.sap.pcuigp.xssutils.pernr.wdp.InternalFcEmployeeServices.onInit(InternalFcEmployeeServices.java:249)
at com.sap.pcuigp.xssutils.pernr.FcEmployeeServicesInterface.onInit(FcEmployeeServicesInterface.java:135)
at com.sap.pcuigp.xssutils.pernr.wdp.InternalFcEmployeeServicesInterface.onInit(InternalFcEmployeeServicesInterface.java:183)
at com.sap.pcuigp.xssutils.pernr.wdp.InternalFcEmployeeServicesInterface$External.onInit(InternalFcEmployeeServicesInterface.java:243)
at com.sap.pcuigp.xssfpm.wd.FPMComponent$FPM.attachComponentToUsage(FPMComponent.java:922)
at com.sap.pcuigp.xssfpm.wd.FPMComponent$FPM.attachComponentToUsage(FPMComponent.java:891)
at com.sap.pcuigp.xssfpm.wd.FPMComponent$FPMProxy.attachComponentToUsage(FPMComponent.java:1084)
at com.sap.xss.hr.rem2.selection.VcRem2Selection.onInit(VcRem2Selection.java:228)
at com.sap.xss.hr.rem2.selection.wdp.InternalVcRem2Selection.onInit(InternalVcRem2Selection.java:249)
at com.sap.xss.hr.rem2.selection.VcRem2SelectionInterface.onInit(VcRem2SelectionInterface.java:161)
at com.sap.xss.hr.rem2.selection.wdp.InternalVcRem2SelectionInterface.onInit(InternalVcRem2SelectionInterface.java:144)
at com.sap.xss.hr.rem2.selection.wdp.InternalVcRem2SelectionInterface$External.onInit(InternalVcRem2SelectionInterface.java:220)
at com.sap.pcuigp.xssfpm.wd.FPMComponent.doProcessEvent(FPMComponent.java:564)
at com.sap.pcuigp.xssfpm.wd.FPMComponent.doEventLoop(FPMComponent.java:438)
at com.sap.pcuigp.xssfpm.wd.FPMComponent.wdDoInit(FPMComponent.java:196)
at com.sap.pcuigp.xssfpm.wd.wdp.InternalFPMComponent.wdDoInit(InternalFPMComponent.java:110)
at com.sap.tc.webdynpro.progmodel.generation.DelegatingComponent.doInit(DelegatingComponent.java:108)
at com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:215)
at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)
at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.init(ClientComponent.java:430)
at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:362)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.initApplication(ApplicationSession.java:756)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:291)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingPortal(ClientSession.java:733)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:668)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:250)
at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)
at com.sap.tc.webdynpro.clientserver.session.core.ApplicationHandle.doProcessing(ApplicationHandle.java:73)
at com.sap.tc.webdynpro.portal.pb.impl.AbstractApplicationProxy.sendDataAndProcessActionInternal(AbstractApplicationProxy.java:869)
at com.sap.tc.webdynpro.portal.pb.impl.AbstractApplicationProxy.create(AbstractApplicationProxy.java:229)
at com.sap.portal.pb.PageBuilder.updateApplications(PageBuilder.java:1344)
at com.sap.portal.pb.PageBuilder.createPage(PageBuilder.java:356)
at com.sap.portal.pb.PageBuilder.init(PageBuilder.java:549)
at com.sap.portal.pb.PageBuilder.wdDoRefresh(PageBuilder.java:593)
at com.sap.portal.pb.PageBuilder$1.doPhase(PageBuilder.java:865)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processPhaseListener(WindowPhaseModel.java:755)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doPortalDispatch(WindowPhaseModel.java:717)
at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:136)
at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)
at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:321)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:684)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:250)
at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:104)
at com.sap.engine
thanks & regards...
Gaurav Makin
Edited by: Gaurav Makin on Jan 6, 2010 9:19 AM
Edited by: Gaurav Makin on Jan 6, 2010 9:20 AMGaurav, the NullPointerException is common error, mostly caused by bad information in master data or any missing customizing.
I suggest you first check this application with another users to discard errors in master data.
Next, check the customizing for salary statement; are you maintaining HRFOR feature? If you're using HRFORM, check if Form is active in HRFORMS transaction.
Then please tell us if you solved the issue.
Regards -
Internal error in Salary Statement service
Hi
Someone can help with this issue. We are not able to get the payslip. In R3, we use a form created with PE51 and we have a variant for this. I already updated feature EDTIN with the variant name and HRFOR with $CEDT$ for C ESS.
Following error is showing when we request the payslip.
Not sure if it is a authorizat. problem
**com.sap.pcuigp.xssfpm.java.FPMRuntimeException: Internal error in Salary Statement service: PYXXREAD_PAYROLL_RESULT 00019354 00547**_
at com.sap.pcuigp.xssfpm.java.MessageManager.raiseException(MessageManager.java:111)
at com.sap.pcuigp.xssfpm.java.MessageManager.raiseException(MessageManager.java:121)
at com.sap.xss.hr.rep.fcrfw.FcRepFramework.reportBapiRet2Error(FcRepFramework.java:495)
at com.sap.xss.hr.rep.fcrfw.FcRepFramework.callRfcExecAction(FcRepFramework.java:346)
at com.sap.xss.hr.rep.fcrfw.FcRepFramework.execAction(FcRepFramework.java:274)
atcom.sap.xss.hr.rep.fcrfw.wdp.InternalFcRepFramework.execAction(InternalFcRepFramework.java:247
at com.sap.xss.hr.rep.fcrfw.FcRepFrameworkInterface.execAction(FcRepFrameworkInterface.java:146)
com.sap.xss.hr.rep.fcrfw.wdp.InternalFcRepFrameworkInterface.execAction(InternalFcRepFrameworkInterface.java:200)
at com.sap.xss.hr.rep.fcrfw.wdp.InternalFcRepFrameworkInterface$External.execAction(InternalFcRepFrameworkInterface.java:260)
at com.sap.xss.hr.rem2.selection.VcRem2Selection.execAction(VcRem2Selection.java:183)
at com.sap.xss.hr.rem2.selection.wdp.InternalVcRem2Selection.execAction(InternalVcRem2Selection.java:234)
at com.sap.xss.hr.rem2.selection.SelectionView.onActionToggleVisibility(SelectionView.java:169)
at com.sap.xss.hr.rem2.selection.wdp.InternalSelectionView.wdInvokeEventHandler(InternalSelectionView.java:247)
at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)
at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67)
at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.handleAction(WebDynproMainTask.java:101)
at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.handleActionEvent(WebDynproMainTask.java:304)
at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.execute(WebDynproMainTask.java:659)
at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:59)
at com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:251)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doWebDynproProcessing(DispatcherServlet.java:154)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:116)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:55)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)Hi,
Can you please check that in "pc00_m08_cedt" you can see the remuneration statement for the same PERNR. -
Authorizations with PNP and Get Pernr.
We have just noticed an issue with how our custom reports are working in regards to authorizations. Our users have authorization to see Basic Pay infotype information up to the point where an associate becomes an executive. When running our reports the latest salary shows up instead of the last one they are allowed to see or just leaving that field blank. We are using the PNP logical database and Get Pernr. Isn't that supposed to pick up whatever authorization is assigned to the person?
Thanks,
MaryI do not know how you come to this statement. Of course LDB checks ALL HR Authorization defined. This incoporates the personnel administration part as well as the combination to structural authorizations.
However PNP will skip a PERNR if the user has only partial authorization by default. To get also only the restricted data what the user can see you must use the switch PNP_SW_SKIP_PERNR = 'N' at INITIALIZATION point.
Please see the documentation available here:
http://service.sap.com/erp-hcm
On the left side follow the links:
Services for mySAP ERP HCM
Special Documentation
Regards,
Michael -
Require Salary packaging option in ESS portal for India
Dear All,
We need Flexi Benefit Pay option in ESS portal for India.
We tried a lot for the same but could not get any break through....
We found Salary Packaging option in R3 under the Tcode P16B_admin...this is wrking fine in R3 but we want this option in portal so that employees can choose their own salary structure.
We tried to pull this tcode thru Iview but the R3 screen is giving an option for employee to input pernr no. ...so now any employee can input anybodys pernr no. and modify the salary structure.
also please letme know if this is a standard feature or we have to go for standard development.
Thanks & Regards,
JJ.Dear Somanna/Andy,
Please see below screen shot, how my Portal screen looks like after the changes as suggested by you--
I am supposed to get Time option here. Please correct me if I miss anything
Regards,
Nayak -
HR Reports SALARY SURVEY SUBMISSION
Hi,
i new to ABAP HR i need to write a program for the
SALARY SURVEY SUBMISSION , can any one explain how to start my program and if possible can any one send me the related code for it ,
Please it is bit urgent.
Thanks
A LAxmiHi ,
Check this prog. if it helps u its an exp. program for HR ......
REPORT zp_postcode.
type-pools: slis. "ALV Declarations
NODES: pernr.
INFOTYPES: 0000, 0001, 0002, 0006, 0008, 0014, 0105, 0121.
SELECTION-SCREEN BEGIN OF BLOCK pcode WITH FRAME TITLE text-s01.
SELECT-OPTIONS: so_pcode FOR p0006-pstlz.
SELECTION-SCREEN END OF BLOCK pcode.
TYPES: BEGIN OF t_output,
pernr TYPE p0001-pernr, "personnel name
anredtxt TYPE t522t-atext, "title (based on p0002-anred)
fname TYPE p0002-vorna, "first name
lname TYPE p0002-nachn, "last name
orgtx TYPE t527x-orgtx, "dept
fte TYPE p0008-bsgrd, "fte
parking(20) TYPE c,
payslip TYPE t526-sachn, "payslip address
telno TYPE p0105-usrid_long, "tel number(p0105-usrty = 0020)
email TYPE p0105-usrid_long, "email (p0105-usrty = MAIL)
postcode type p0006-pstlz,
END OF t_output.
DATA: it_output TYPE STANDARD TABLE OF t_output INITIAL SIZE 0,
wa_output TYPE t_output.
*ALV data declarations
data: fieldcatalog type slis_t_fieldcat_alv with header line,
gd_tab_group type slis_t_sp_group_alv,
gd_layout type slis_layout_alv,
gd_repid like sy-repid,
gt_events type slis_t_event,
gd_prntparams type slis_print_alv,
gd_count(6) type n,
gd_outtext(70) type c,
gd_lines type i.
*START-OF-SELECTION.
START-OF-SELECTION.
clear: gd_count.
GET pernr.
Infotype 0121 is used to store multiple contracts for personnel.
Field p0121-hpern contains the personnel number for the main contract.
PROVIDE * from p0121 between pn-begda and pn-endda.
Check if main contract
if p0121-pernr ne p0121-hpern.
reject.
endif.
ENDPROVIDE.
add 1 to gd_count.
concatenate 'Processing personnel data'(m10) gd_count into gd_outtext
separated by ' '.
Display indicator for employee count
perform progress_indicator using gd_outtext.
Retrieve datd from infotypes
rp_provide_from_last p0000 space pn-begda pn-endda.
rp_provide_from_last p0001 space pn-begda pn-endda.
rp_provide_from_last p0002 space pn-begda pn-endda.
rp_provide_from_last p0006 space pn-begda pn-endda.
rp_provide_from_last p0008 space pn-begda pn-endda.
rp_provide_from_last p0014 space pn-begda pn-endda.
Check post code
CHECK p0006-pstlz IN so_pcode. "cp
Post code
wa_output-postcode = p0006-pstlz.
Personnel number
wa_output-pernr = pernr-pernr.
Personnel title
SELECT SINGLE atext
FROM t522t
INTO wa_output-anredtxt
WHERE sprsl EQ sy-langu AND
anred EQ p0002-anred.
First name
wa_output-fname = p0002-vorna.
Last name
wa_output-lname = p0002-nachn.
Organizational Unit text (dept)
SELECT SINGLE orgtx
FROM t527x
INTO wa_output-orgtx
WHERE sprsl EQ sy-langu AND
orgeh EQ p0001-orgeh AND
endda GE sy-datum.
FTE
wa_output-fte = p0008-bsgrd.
Parking / travel deducted?
CASE p0014-lgart.
WHEN '7180' OR '7181' OR '7182'.
wa_output-parking = text-002.
WHEN '7183'.
wa_output-parking = text-001.
WHEN '7171' OR '7172' or '7173' or '7174' or
'7175' or '7176' or '7177' or '7178'.
wa_output-parking = text-003.
ENDCASE.
Payslip Address
SELECT SINGLE sachn
FROM t526
INTO wa_output-payslip
WHERE werks EQ p0001-werks AND
sachx EQ p0001-sacha.
PROVIDE * from p0105 between pn-begda and pn-endda.
Telephone numbers
if p0105-usrty = '0020'.
wa_output-telno = p0105-usrid_long.
endif.
Email address
if p0105-usrty = 'MAIL'.
wa_output-email = p0105-usrid_long.
endif.
ENDPROVIDE.
append wa_output to it_output.
clear: wa_output.
*END-OF-SELECTION.
END-OF-SELECTION.
describe table it_output lines gd_lines.
if gd_lines gt 0.
perform build_fieldcatalog.
perform build_layout.
perform display_alv_report.
else.
message i003(zp) with 'No records found'.
endif.
*& Form PROGRESS_INDICATOR
Displays progress indicator on SAP screen
form progress_indicator using p_text.
call function 'SAPGUI_PROGRESS_INDICATOR'
exporting
PERCENTAGE = 0
text = p_text.
endform. " PROGRESS_INDICATOR
*& Form BUILD_FIELDCATALOG
Build Fieldcatalog for ALV Report
form build_fieldcatalog.
fieldcatalog-fieldname = 'PERNR'.
fieldcatalog-seltext_m = 'Personnel No.'.
fieldcatalog-col_pos = 0.
fieldcatalog-outputlen = 10.
fieldcatalog-emphasize = 'X'.
fieldcatalog-key = 'X'.
fieldcatalog-do_sum = 'X'.
fieldcatalog-no_zero = 'X'.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'ANREDTXT'.
fieldcatalog-seltext_m = 'Title'.
fieldcatalog-col_pos = 1.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'FNAME'.
fieldcatalog-seltext_m = 'First Name'.
fieldcatalog-col_pos = 2.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'LNAME'.
fieldcatalog-seltext_m = 'Last Name'.
fieldcatalog-col_pos = 3.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'ORGTX'.
fieldcatalog-seltext_m = 'Department'.
fieldcatalog-col_pos = 4.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'FTE'.
fieldcatalog-seltext_m = 'FTE'.
fieldcatalog-col_pos = 5.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'PARKING'.
fieldcatalog-seltext_m = 'Parking/Metrocard'.
fieldcatalog-col_pos = 6.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'PAYSLIP'.
fieldcatalog-seltext_m = 'Payslip Add.'.
fieldcatalog-col_pos = 7.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'TELNO'.
fieldcatalog-seltext_m = 'Telephone'.
fieldcatalog-col_pos = 8.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'EMAIL'.
fieldcatalog-seltext_m = 'E-mail'.
fieldcatalog-col_pos = 9.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'POSTCODE'.
fieldcatalog-seltext_m = 'Post code'.
fieldcatalog-col_pos = 10.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
endform. " BUILD_FIELDCATALOG
*& Form BUILD_LAYOUT
Build layout for ALV grid report
form build_layout.
gd_layout-no_input = 'X'.
gd_layout-colwidth_optimize = 'X'.
gd_layout-totals_text = 'Totals'(201).
gd_layout-zebra = 'X'.
endform. " BUILD_LAYOUT
*& Form DISPLAY_ALV_REPORT
Display report using ALV grid
form display_alv_report.
gd_repid = sy-repid.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = gd_repid
is_layout = gd_layout
it_fieldcat = fieldcatalog[]
i_save = 'X'
tables
t_outtab = it_output
exceptions
program_error = 1
others = 2.
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
endform. " DISPLAY_ALV_REPORT
Regards,
vind. -
"PERNR" is not defined for the current logical database.
Hi Experts,
I have developed a program for HR salary variance but when i execute i getting error in the line " get PERNR"
the "PERNR" is not defined for the current logical database. so plz suggest me to avoid this issue.
Thanks,
Rajeshthe codes are has below,
*& Report ZHRSAL_COMP
REPORT ZHRSAL_COMP.
tables: pernr,
t512t. "Wage type texts
infotypes: 0001. "Organizational Assignment
*Tables data containing directory to PCL2 payroll results file.
data: begin of rgdir occurs 100.
include structure pc261.
data: end of rgdir.
data: result type pay99_result.
data: rt_header type line of hrpay99_rt.
data: country like t001p-molga,
number like pc261-seqnr. "Number of last payroll result
types :begin of struc_p0001,
pernr type p0001-pernr,
ename type p0001-ename,
werks type p0001-werks,
btrtl type p0001-btrtl,
end of struc_p0001.
data : gtab_p0001 type table of struc_p0001,
gwa_p0001 type struc_p0001.
types : begin of struc_payroll,
text(10) type c,
date type dats,
month(2) type c,
year(4) type c,
abkrs(2) type c,
end of struc_payroll.
data : gtab_payroll type table of struc_payroll,
gwa_payroll type struc_payroll.
types : begin of struc_result,
lgart type lgart,
lgtxt type t512t-lgtxt,
betrg type betrg,
end of struc_result.
data : gtab_result type table of struc_result,
gwa_result type struc_result.
get pernr.
rp_provide_from_last p0001 space pn-begda pn-endda.
call function 'CU_READ_RGDIR'
exporting
pernr = p0001-pernr
importing
molga = country
tables
in_rgdir = rgdir
exceptions
no_record_found = 1
others = 2.
if sy-subrc = 1.
write: / 'No records found for '(001), pernr-pernr.
endif.
call function 'CD_READ_LAST'
exporting
begin_date = pn-begda
end_date = SY-DATUM
importing
out_seqnr = number
tables
rgdir = rgdir
exceptions
no_record_found = 1
others = 2.
if sy-subrc = 1.
write: / 'No payroll result found for'(002), pn-paper.
else.
call function 'PYXX_READ_PAYROLL_RESULT'
exporting
clusterid = 'RX'
employeenumber = p0001-pernr
sequencenumber = number
READ_ONLY_BUFFER = ' '
READ_ONLY_INTERNATIONAL = ' '
CHECK_READ_AUTHORITY = 'X'
IMPORTING
VERSION_NUMBER_PAYVN =
VERSION_NUMBER_PCL2 =
changing
payroll_result = result
exceptions
illegal_isocode_or_clusterid = 1
error_generating_import = 2
import_mismatch_error = 3
subpool_dir_full = 4
no_read_authority = 5
no_record_found = 6
versions_do_not_match = 7
others = 8.
if sy-subrc = 0.
perform print_rx.
else.
write: / 'Result could not be read (003)'.
endif.
endif.
FORM PRINT_RX *
Print Payroll Result *
form print_rx.
format intensified on.
write: / p0001-pernr,
p0001-ename(15),
p0001-werks,
p0001-btrtl.
format intensified off.
skip 1.
move p0001-pernr to gwa_p0001-pernr.
move p0001-ename(15) to gwa_p0001-ename.
move p0001-werks to gwa_p0001-werks.
move p0001-btrtl to gwa_p0001-btrtl.
append gwa_p0001 to gtab_p0001.
write: / 'For period/payroll area: '(004),
30 result-inter-versc-fpper+4(2),
result-inter-versc-fpper+0(4),
result-inter-versc-abkrs,
/ 'In-period/payroll area: '(005),
30 result-inter-versc-inper+4(2),
result-inter-versc-inper+0(4),
result-inter-versc-iabkrs.
skip 1.
gwa_payroll-text = 'For'.
move result-inter-versc-fpper to gwa_payroll-date.
move result-inter-versc-fpper+4(2) to gwa_payroll-month.
move result-inter-versc-fpper+0(4) to gwa_payroll-year.
move result-inter-versc-abkrs to gwa_payroll-abkrs.
append gwa_payroll to gtab_payroll.
gwa_payroll-text = 'In'.
move result-inter-versc-fpper to gwa_payroll-date.
move result-inter-versc-inper+4(2) to gwa_payroll-month.
move result-inter-versc-inper+0(4) to gwa_payroll-year.
move result-inter-versc-iabkrs to gwa_payroll-abkrs.
append gwa_payroll to gtab_payroll.
write: 'Results table: '(006).
skip 1.
loop at result-inter-rt into rt_header.
perform re512t using result-inter-versc-molga
rt_header-lgart.
write: / rt_header-lgart,
t512t-lgtxt,
rt_header-betrg currency rt_header-amt_curr.
move rt_header-lgart to gwa_result-lgart.
move t512t-lgtxt to gwa_result-lgtxt.
move rt_header-betrg to gwa_result-betrg.
append gwa_result to gtab_result.
endloop.
endform. "print_rx
FORM RE512T *
Read Wage Type Texts
form re512t using value(country_grouping)
value(wtype).
check t512t-sprsl ne sy-langu
or t512t-molga ne country_grouping
or t512t-lgart ne wtype.
select single * from t512t
where sprsl eq sy-langu
and molga eq country_grouping
and lgart eq wtype.
if sy-subrc ne 0.
clear t512t.
endif.
endform. "re512t -
Create employee vendor to post net salary
Hi Experts,
We have a client requirement where they want to post employee salary net salary to employee vendor. Currently i have configured employee salary to go to balance sheet account.
Can someone please tell me how to create employee vendor in HR and then post net salary to employee vendor account so the HR and finance can see employee wise ledger.
Really appreciate any help.
Regards,
JyotiJyoti,
If you will refer your message, it is cleared that vendor of this PERNR is not created, In FI end, for every pernr they create vendor, so you please coordiante with FI people to resolve the issue,
This is a very simply issue, dont know why your FI people is treating like.
1. No creditor with the search key 1000 LFB1 PERNR 00100005 has been found
2. No vendor found for this selection
3. Required field GL_ACCOUNT was not transferred in parameter ACCOUNTGL
4. Error in document: HRPAY 0000000102 CLNTAVD510
5. No data was transferred in parameter ACCOUNTPAYABLE
Further read the doc. of Vendor accuount, you will get more clarity, Please go thru the same and discuss with your FI people
There are two kinds of vendor accounts available:
Fixed vendor accounts: Employee grouping for account determination offers the most precise means of control for posting to fixed vendor accounts.
Employee vendor accounts: Posting to employee vendor accounts enables posting for a specific personnel number.
In this step, you make entries in table T030 for the assignment of vendor accounts to symbolic accounts.
Example
Fixed vendor account
You want to deduct dues to various unions from the employees in your enterprise. For each union, you have set up a specific wage type for dues and a specific symbolic account. In this step, you assign a fixed vendor account to each of these symbolic accounts.
Employee vendor account
You want to post dues to a different vendor account for each employee. To this effect, you have created a symbolic account for all employees. In this step, you specify how the corresponding employee vendor accounts are determined.
Requirements
You have created the required vendor accounts in Financial Accounting.
You have carried out the step Define Symbolic Accounts. In that step, you created symbolic accounts with the relevant account assignment types (KF for fixed vendor accounts, K for personal vendor accounts). In that same step, you flagged the indicator EG-depend for symbolic accounts to which you want to post in line with the Employee grouping for account determination.
If you want to post to employee vendor accounts, you have entered the relevant personnel number in one of the following fields in the vendor master data of Financial Accounting. We recommend that you use the Personnel number field. If you use another field, you must enter the personnel number with leading zeros.
Personnel number
Search term
Telephone 2
Data line
Teletext number
Standard settings
There are no standard settings for posting to vendor accounts. If, in the step Define Symbolic Accounts, you have not created any symbolic accounts with the account types KF or K, you do not have to carry out the step Assign Vendor Accounts.
Activities
1. Enter the required chart of accounts.
2. To make settings for the posting procedure Personnel posting to vendors (HRK), choose Rules
3. Choose Posting key. Enter the posting key for postings to vendor accounts or copy the default values (21 for debit posting and 31 for credit postings).
4. Choose Accounts. Make the corresponding entries in the table T030.
a) If you want to assign a fixed vendor account to a symbolic account, and if required, an employee grouping, enter the number of the vendor account in the Acco column.
b) If you want to assign an employee vendor account to a symbolic account, and, if required a employee grouping, enter the relevant key (see table below) in the Acco column.
Personnel number in field (Vendor master data) Entry in the Account column (T030)
Personnel number *0002
Search term *0001
Telephone 2 *0003
Data line *0004
Teletext number *0005 -
What is Field User for Annual Salary
Hi All,
I want to fetch data of Annual Salary of an employee. I can see them in PA20 but when I go to the table PA0008 to find the value of this ( Field - ANSAL ) its not stored all the time.
Where can i find the value of Annual Salary if its not present in PA0008 but its appearing in PA20 display.
Regards,
Vidya.....hi vidya,
if indirect valuation is being used, the annual salary field ANSAL also may not be populated. Again, there are some SAP function modules to help us out:
RP_ANSAL_FROM_PERNR - Use this one if all you have is PERNR
RP_ANSAL_FROM_INFOTYPE - Good if you have already data for infotypes 0001 & 0008
RP_ANSAL_FROM_WAGETYPES - It requires a list of wage types used in 8
Regards
Anup.
Maybe you are looking for
-
How can we relax the default validation errors ? where are the syntax rules defined ? We are seeing the following while sending an outbound txn If either of BPR12, BPR13 is present, then all must be present. The syntax rule P1213 of Segment BPR is vi
-
I want to know, why can't i connect my N6230 with the PC using bluetooth? I'm using bluesoleil and there is no problem while using the problem that goes with it, but the PC Suite does not recognize the device. I tried the PC Connectivity solution (us
-
i have some question regarding the PBTS : we can't configure more than 8 TE in the default class ,is this limitation will solved on the coming release can i have one forwarding class assigned to 32 TE tunnels and traffic loadbalance through all o
-
iPod software: 2.0.1 iTunes software:.10.5.1.42 Windows 7 Pro 64 bit SP 1 I'm a strong supporter of proper sorting. So much so that I add the year of release to the Sorting > Sort Album field to bypass the alphabetical sorting iTunes seems to prefer.
-
"This field name is not known" error when upgrading from VS 2003 to VS 2005
When we upgraded our web servers from VS 2003 to 2005, our crystal reports web viewer began having a problem with reports that contained sub-reports. We now are getting the following error on the web page. The reports were developed in Crystal 10,