How to upload employee photo to SAP HR

1- Document type “HRICOLFOTO” must exist with document class JPG.

TC:OAC2 – table :TOAVE
IMG->Basis Components->Basis Services – >SAP Archive Link->System Settings ->Maintain document types.

2- Document type “HRICOLFOTO” must be linked to object type “PREL” and IT0002

IMG->Personnel Management ->Personnel Administration ->Tools->Optical Archiving->Setup Optical Archiving in HR.
VIEW:V_T585O ::In all three columns there are minuses,don’t put a flag in the check box.

3-Check which content repository (Archive) is linked to document type “HRICOLFOTO” and object type “PREL”.

IMG->Basis Component->Basis Services->SAP Archive Link -> Basic Settings->Maintain Links.
Table TOAOM_C,

4- Create this content repository
From TCode: OAC0
create A2 repository , keep the document area blank,storage type as system databse,Rep.sub-type will appear as Normal by default, version no.as0046 and in contents table put ‘SDOKCONT1’ as the table name.

5- Using ‘SICF’ tcode that displays a lot of services. Under SAP->bc , there’s a service called content server interface.Activate this service.

6- Now upload the picture using TCode: OAAD

7- Choose function ‘documents->create’

8-Choose as business object ‘PREL‘ and as document type ‘HRICOLFOTO

9-Push the create button

10-Fill in the appropriate personnel number.

if needed create number range for sap archive link
Create number range 01 from 00000001 to 999999999 without the external number flag.


Form class CEDT can only be displayed with this editor

Problem :

while i was copying an HR Forms from TC:PE50 , i got the following error :

Form class CEDT can only be displayed with this editor

Solution :
You have to copy using customization IMG activity ,Follow the following path :
Payroll International – > Forms – > Copy Form

1- Enter the Source client , Country Grouping , Language ,Form Class , and Form Name

2- Press Continue

3- Enter the target Country Grouping , Form Name .

4- Select the record and press Copy Button .


Division by zero not performed Calculation rule ZPPF*/810

Symptom :

While i was running the payroll driver for specific employees , i got the following error:

Division by zero not performed Calculation rule ZPPF*/810 RTE=TSDIVI RTE-TSDIVP RTE*KGENAU RTE

Reason :

The value SDIVP is the employee’s basic pay divisor (field DIVGV, infotype P0008) ,
so if you didn’t create a basic pay record for the employee ,
then the field Work hours/period (DIVGV) will equal to ZERO , and since division by zero is not permitted so the system gives an error .

Solution :

1- Create a Basic Pay Record if it doesn’t exist ,

2- If you have already a Basic Pay Record in (IT0008) , Check existence of value in the field “Work hours/period” (ie. make sure it’s not equal to ZERO).


How to Compensate Employee Overtime

I’ve spent a long period of time searching for this technique , and finally i decided to document it as i forget it once completing the project 😀 .

Here’s the steps needed to calculate overtime rules :
1- Define Generation Rules
2-Set Time Type Determination
3-Modify Feature MODT
4-Set Valuation bases , to compensate the overtime number of hours.