Thinking of better rates. How about 90-10?
Useful function modules in ABAP-HR
RS_PROGRAM_CHECK_NAME: To check program names if you are generating them.
RS_CORR_INSERT: To insert the correction request in the repository.
REPS_OBJECT_ACTIVATE: To activate repository objects, for example – to activate a newly generated program.
RS_DELETE_PROGRAM: To delete the program.
RS_ACCESS_PERMISSION: To lock or unlock a program.
Function Modules related to Date and Time Calculations
CALCULATE_DATE: Calculates the future date based on the input .
DATE_TO_DAY: Returns the Day for the entered date.
DATE_COMPUTE_DAY: Returns weekday for a date
DATE_GET_WEEK: Returns week for a date
RP_CALC_DATE_IN_INTERVAL: Add days / months to a date
Function Modules related to (ALV) ADVANCED LIST VIEWER
REUSE_ALV_LIST_DISPLAY: ABAP List viewer (LIST DISPLAY)
REUSE_ALV_GRID_DISPLAY: ALV GridControl full screen
REUSE_ALV_FIELDCATALOG_MERGE: Create field catalog from dictionary structure or internal table
Function Module related to Change Tracking
CHANGEDOCUMENT_READ_HEADERS: Read and format change documents
DAY_ATTRIBUTES_GET: Returns attributes for a range of dates specified
MONTHS_BETWEEN_TWO_DATES: To get the number of months between the two dates.
END_OF_MONTH_DETERMINE_2: Determines the End of a Month.
HR_HK_DIFF_BT_2_DATES: Find the difference between two dates in years, months and days.
FIMA_DAYS_AND_MONTHS_AND_YEARS: Find the difference between two dates in years, months and days.
MONTH_NAMES_GET: Get the names of the month
IDWT_READ_MONTH_TEXT: Get the MONTH TextWEEK_GET_FIRST_DAY : Get the first day of the week
HRGPBS_HESA_DATE_FORMAT: Format the date in dd/mm/yyyy format
SD_CALC_DURATION_FROM_DATETIME: Find the difference between two date/time and report the difference in hours
L_MC_TIME_DIFFERENCE: Find the time difference between two date/time
HR_99S_INTERVAL_BETWEEN_DATES: Difference between two dates in days, weeks, months
LAST_DAY_OF_MONTHS: Returns the last day of the month
DATE_CHECK_PLAUSIBILITY: Check for the invalid date.
DATE_2D_TO_4D_CONVERSION: Year entry: 2-character to 4-character.
DAY_IN_WEEK: Input date and will give the name of the day 1-monday,2-Tuesday….
SD_DATETIME_DIFFERENCE: Give the difference in Days and Time for 2 dates
Function Modules Related To Formatting
CLOI_PUT_SIGN_IN_FRONT: Displays the negative sign in front of the numeral.
RKD_WORD_WRAP: Wrap text into several lines
CONVERSION_EXIT_ALPHA_INPUT: Pad zeros to the number at the left
CONVERSION_EXIT_ALPHA_OUTPUT: Eliminate zeros to the number at the left
READ_EXCHANGE_RATE: Exchange Conversion
SPELL_AMOUNT: Transforms numeric values into text
Function Modules Related To Dialog Prompts
POPUP_TO_CONFIRM: Displays a popup dialog with a user defined message for confirmation
POPUP_TO_GET_VALUE: Displays a popup dialog requesting a value for a particular table-fieldname
SAPGUI_PROGRESS_INDICATOR: Displays a progress bar with text to denote the percentage of completion and status
FILENAME_GET: Displays a popup dialog to get the presentation server filename
F4_DATE: Displays a popup dialog to choose date
POPUP_TO_SELECT_MONTH: Display a pop-up to select a month
GET_PRINT_PARAMETERS: Printer parameters
Function modules related to RFC communication
RFC_CONNECTION_CLOSE: Close a RFC connection
RFC_GET_SYSTEM_INFO: Give system’s information of a remote system
Function modules related to reading/writing files
FILE_READ_AND_CONVERT_SAP_DATA: Uploads the file from either presentation or application server into an internal table
SUBST_GET_FILE_LIST: To get the list of files from Application Server.
ALSM_EXCEL_TO_INTERNAL_TABLE: Legacy Data Transfer w/ Excel
WS_FILE_DELETE: Delete files on UNIX server
PFL_COPY_OS_FILE: Copy UNIX files
EPS_GET_DIRECTORY_LISTING: Returns all files from a Server directory
Function Modules related to sending emails
SO_NEW_DOCUMENT_ATT_SEND_API1– Sends emails with texts and attachments
SO_NEW_DOCUMENT_SEND_API1– Sends emails with texts.
Function Modules related to F4 Help
F4IF_INT_TABLE_VALUE_REQUEST – F4help also returning the value to be displayed in internal table
Function Modules related to data maintenance
VIEW_MAINTENANCE_CALL– To maintain data from a table
Function Modules related to FI, CO and SD Modules
FOR_ALL_SKC1A: Account subtotal
VC_I_GET_CONFIGURATION: Sales Purchase details configuration
SD_PRINT_TERMS_OF_PAYMENT: Print terms for unique payment
SD_PRINT_TERMS_OF_PAYMENT_SPLI: Print terms for some parcels payment
J_1B_NF_DOCUMENT_READ: Read NF details
J_1B_NF_VALUE_DETERMINATION: Read values from NF returned combined with J_1B_NF_DOCUMENT_READ using.
Garnishment in SAP HR
Q1. What is a garnishment?
A1. Garnishments are payroll deductions which differ from other types of deductions in that they are governed by goverment and judicial rules. They are compulsory for both the employee and employer. The employer generally is liable for 100% of the amount it fails to withhold pursuant to a garnishment order and penalties and punitive damages can be imposed for failure to properly comply with the terms and conditions of an order.
Q2. How is a garnishment initiated and what is the process?
A2. Generally, an employee experiences financial trouble and a court mandates an order that stipulates the deduction amount and frequency which is received by the employee’s HR department, the information is then entered into R/3, the amount is deducted when processing RPCALCU0, the vendor is paid via Third Party Remittance and the employee and vendors are notified of these deductions through automatically generated letters.
Q3. What types are garnishments are there?
A3. R/3 handles 5 main categories:
Support (child, spousal, and medical)
Creditor
Federal debts (student loans and administrative wage
garnishments (AWG))
Federal and State Tax Levies
Voluntary Garnishments
Q4. What is the difference between Exempt and Non-Exempt amounts?
A4. The exempt amount is the amount which cannot be taken to satisfy a
garnishment and the non-exempt amount is the amount that can be taken.
Q5. How is the exempt and non-exempt amounts calculated?
A5. Various rules apply based on the type and priority of the garnishment. There are Federal and State rules and the state rules will vary from state to state.
Q6. What if an employee has multiple garnishments?
A6. Garnishments are processed based on priority rules. Generally, child support orders have the highest priority, Federal Tax Levies have the second highest priority and then other types of garnishments are on a first come, first serve basis.
Infotypes –
Q7. What infotypes are used within R/3?
A7. There are three infotypes designated for garnishment processing.
IT0194 – Garnishment Document
IT0195 – Garnishment Order
IT0216 – Adjustments
The document information is entered on IT0194 and the actual deduction amount and frequency is entered on IT0195. The two infotypes are linked via a system generated internal number and you can have multiple orders (IT0195) for one document (IT0194) and these are linked via a system generated sequence number. Infotypes 0195 and 0216 can only be created once an IT0194 record has been created and saved. For processing purposes, RPCALCU0 reads IT0195.
Q8. How do I make changes to an existing Garnishment Order (IT0195)?
A8. With Edit -> Copy, you can make changes to the Order, but keep the same sequence number and maintain a history in the system. With selecting Change, you can make changes but no history is maintained. Also, a change can be made through creating a new IT0195 which maintains history, however a new sequence number is generated and the order is now processed as a separate order in R/3 and does not cumulate as part of the original order. IT0195 should always be accessed via IT0194 when making changes.
Q9. When should I use the Adjustment IT0216?
A9. IT0216 should be used to correct errors in RPCALCU0; additional deductions are required; to enter a new balance; refund from vendor; exceptional payments; separate calculation; calculate end date;
or stopped vendor payment.
Customizing
Q10. What are the relevant tables for Garnishment Processing?
A10. T5UG0 – Garnishment Order Types
T5UG1 – Garnishment Categories
T5UG2 – Adjustments to the Disposable Net
T5UG3 – Model for the Non-exempt amount
T5UG4 – Rules for calculation of Non-exempt amount
T5UG5 – Model Key and Text for Adjustments to the Disposable Net
T5UG6 – Government Rules for Service Charges
T5UG7 – Government Rules for 3PR
T5UG8 – Company Rules for 3PR
T5UG9 – Garnishment Default Values
T5UGA & T5UGB – Special Rules for the Calculation of the
Non-exempt amount
T5UGA – Rule Key/Names & Texts for special variables to
display on IT0195 screen
T5UGB – Sequence of Operations to be performed
T5UGC – Service Chg Rule Key and Text for Country/State/Document
category combination
T5UGD – Levy Form – Filing Status listed
T5UGE & T5UGF – Levy Form – Exempt amount and additional
exempt amount for each filing status
T5UGG – Company Rules for Service Charges
T5UGH – Levy Form – Forms Defined
T5UGI – Letters – Select Form & User exit for letter type
T5UGJ & T5UGK – Not Customizing Tables, used for the Printing
Request for the Notice and Answer Letters
T5UGL – Letters – Definition & location of user exit
T5UGM – Garnishment Originator on IT0194
Payroll Processing –
Q11. What are the wage types associated with Garnishments?
A11. /G00 – Disposable Net
/G01 – Gross for Garnishment
/G02 – Completely Non-exempt
/G03 – Garnishment Total Amount Deducted
MG10 trough MG70 delivered templates for Garnishments to be taken
Q12. What are the Garnishment Cluster Tables and what do they represent?
A12. GRDOC – corresponds to garnishment document (IT0194)
GRORD – corresponds to garnishment order (IT0195) or garnishment
adjustment (IT0216)
GRREC – actual deductions and wage types and also used to carry
forward results
Q13. Where are garnishments calculated in RPCALCU0?
A13. Garnishments are processed via the schema UGRN following the calculation of taxes (UTX0). The actual amount to be taken is
calculated with the function UGARN.
Q14. What is the main garnishment Include?
A14. The main garnishment include is RPCPIUU0 – forms called by
UGARN. Also of importance is RPCPIUF0 – function UGARN.
Quick Tips for Troubleshooting Garnishment Processing
Q1. What are some items to check when troubleshooting Garnishment Processing in R/3?
A1: Review the following:
o On IT0194, check the validity dates, determine what kind of garnishment, how many are involved and the status of the garnishment (e.g. active, pending).
o Check the IT0195 validity dates and note the Remit Rule, deduction amount, frequency and how many IT0195’s are involved.
o Review RPCLSTRU and the payroll dates in question, keep in mind the information found on IT0195 and the Garnishable period is from the beginning of the pay period to the actual check date. Garnishments are deducted based on the check date.
o Within the EE’s results, also check for wage types /G00, /G01, /G02 and /G03 and the wage type for the garnishment to see how much was deducted.
o Still within the EE’s results, review the GRORD record and check the limit, disposable net, month to date, deduction to vendor (DEVEN) and the deduction from infotype (DEINF).
o Multiple garnishment processing, be sure the system can legally take all the garnishments.
o Check schema UGRN for any customer modifications.
o Double check that Notes have been applied correctly and completely.
o Review the Garnishment History either via IT0194 or IT0195 which lists the actual deductions taken with the check date.
o Also via IT0194 or IT0195, you can view Customizing details (Environment -> Customizing details; 4.6C Extras -> Customizing Review)
o Both the Disposable Net and calculated Net Pay should be the same.
Q2. Why was an IT0216 record not processed?
A2. IT0216 can be edited/deleted before running payroll. If payroll is run and there is no wage type listed on IT0216, this record will not be read nor will it be posted to FI.
Q3. Why does a deduction occur after the initial balance has been met?
A3. It is most likely misconfiguration of the Ordre Category (table T5UG0). Usually, it is a State Levy that has been given the Order Category of a Federal Levy. A State Levy should have the Order Category ‘3? for Generic in table T5UG0. The order category ‘2? Levy only applies to a Federal Levy. Also, a Federal Levy will not stop when an initial balance is reached because by law, it can only be manually stopped by changing the status of IT0194 to ‘4? Released, once the company has received Form 668-D from the IRS. (Please Review Related Note 521735.)
Q4. How is General Disposable Net calculated?
A4. There are two ways to calculate general Disposable Net (/G00).Either start with the gross amount (/101) and subtract exempt amount or start with 0 and add up all the earning wage types to be included (e.g. M003). This is configured via PRCL 59, double check the values for the wage types in question for this PRCL. A useful tool for checking Processing Classes for wage types is program RPDLGA20 (choose the Output radio button ‘Tree Structure’).
Q5. How are garnishments and Arrears handled?
A5. Garnishments do not follow the same Arrears principles as other deductions. The arrears functionality for garnishments only refers to deductions within a particular month. If the total amount of a garnishment cannot be taken for the month, the remaining amount does not carry forward to the next month. The values for Arrears processing are set in table T51P6 and for all garnishment wage types, the value for Arrears should be a ‘4? and the Retro column should be blank in this table.(Please see Note 338841.)
Q6. Can Garnishment wage types be entered on a NAMC (IT0221)?
A6. No, Garnishment wage types cannot be entered on IT0221.There is a V0 split indicator that connects garnishment Wage types to garnishment tables and there is no V0 split on IT0221.
Q7. How are garnishmnents handled during Retroactive Accounting?
A7. Garnishments will not recalculate in a retrocalculation. The amount originally deducted continues to be carried forward. Consequently, no retroactive changes should be performed for garnishments. If changes need to be made, perform an EDIT – >COPY operation that will result in delimiting the IT0195 record.
Q8. What do I check for priority issues; double, incorrect or missing deductions?
A8. First check IT0194 and IT0195 and their validity dates and priority. Make sure the Rule in IT0195 was customized to do what is expected. Look at the Disposable Net and Non-exempt models.
Q9. What should I check if Payroll Abends within UGARN?
A9. Check the payroll results GRREC for a record without a wage type.
Q10. Is it possible to specify a percentage or portion of a wage type?
A10. At this time, the garnishment module does not offer a functionality that would allow specifying a percentage and/or portion of a wage type to be deducted other than from gross and net. The workaround is to create a special rule with the garnishment orders having different priorities and different IT0194 records.
Macros in HR-ABAP
Macro contains some part of source code which it will be useful for number of applications.( Like function modules )
Generally we use two macros in HR ABAP
RP-PROVIDE-FROM-LAST
RP-PROVIDE-FROM-FRST
The macro RP-PROVIDE-FROM-LAST retrieves the last(latest) data record which is valid in the data selection period.
The macro RP-PROVIDE-FROM-FRST retrieves the first(start)data record which is valid in the data selection period.
For every macro, whether the operation was successful or not will be checked with PNP-SW-FOUND.
If PNP-SW-FOUND = 1 , then the operation is successful. ( same as sy-subrc but the value is in reverse case)
The macro RP-READ-INFOTYPE retrieves all the data record(s) which is valid in the data selection period.
If SY-SUBRC = 0 , then the process is successful.
All the Macros are stored in table TRMAC
Whenever you are using the macros like
RP-PROVIDE-FROM-LAST or
RP-PROVIDE-FROM-FRST,
check whether you have included logical database PNP in program attributes.
It is not necessary to include logical database PNP/PNPCE in your program when you are using the macro like
RP-READ-INFOTYPE A B C D E , where
A corresponds to PERNR which describes for which personnel number you require records.
B corresponds to INFOTYPE which describes from which infotype you require records.
C corresponds to data structure of the declared infotype (internal table like P0000 for infotype 0000) where all the records of the particular personnel number will be stored.
D corresponds to Start date.
E corresponds to End date.
G/L account Configuration
Find the below path to General Ledger account creation in SAP:
SPRO Path:
Financial Accounting –> General Ledger Accounting–>GL Accounts–>Master Records–>GL Accounts Creation and Processing–> Edit GL Accounts(Individual Processing)–>(Centrally/`/Co Code) (FS00 /FSP0/ FSS0)
The GL accounts can either be created centrally or for a company specific or for a chart of account specific. By creating the GL Account centrally the GL account will get created in the company code as well as in a centralized COA and the GL accounts so crated in the COA can also be extended to other Company Codes. When GL accounts are created under a COA the same has to be extended to a company code for which the GL Account to be used.
Creation of GL account using FS00 (Centrally)
In this activity, you can edit the master record of a G/L account centrally in both the chart of accounts and company code specific areas.
You can process G/L account master records as follows:
• Edit
• Change
• Create
• Create with reference
• Block
• Delete, that is, set the deletion indicator
The account group determines the fields for the entry screens if you create or change a master record in the company code.
Open item management
Determines that open items are managed for this account.
Set up accounts with open item management if offsetting entries are to be assigned to the postings made to these accounts. Postings to these accounts represent incomplete transactions.
Creation of GL account using FSP0
Creation of GL account using FSS0
In case the option of copy Chart of Account is used (OBY7) is used then the GL accounts of source COA will be copied to the target COA.
Payroll results – Infotype 402
Payroll results can be held in infotype 402, for this we need to do some configuration.
IMG Menu path – Personnel Admin –> Personnel Management –> HRIS –> Payroll Results.
Define Evaluation Results: The evaluation wage type is the name of the field – note it is not the actual wage type. The cumulation can be either M (Monthly cumulation), Q (Quarterly cumulation) and Y (Annual cumulation). If results have to be saved on IT 0402 this should be left blank. These 3 values relate to infotypes 0458 (Accounting infotype), 0459 (Quarterly Cumulation) and 0460 (Annual cumulation). The text entered in the field “Evaluation WTT Text” will be seen on the infotype. Choose either an amount or a number for the wage type.
Assign Wage Types: In this screen you do much the same as in the first step. In addition you need to link the different wage types to your evaluation wage type. You can also tick the checkbox to indicate that the wage type’s sign should change.
Set Up Payroll Accounting Infotypes: Highlight the wage type where you would like the results to appear – usually 402 to start with. Click on the evaluation assignment icon. Create your entry in the table that appears. Go back to the previous screen, select the infotype and click on the generate icon. You will notice the tick on the “generated” column once this has been done. The infotype should also be active. If you are doing this for the first time, you will need to tick the “acitve” box once you have generated the infotype.
Set Up Assignment for Payroll: Ensure your infotype exists in this table if you wish to have the infotype updated during the course of a payroll run. If you don’t have any data in this table, you can still run the report RPABRI00 to manually populate the infotypes.
So there are to ways to save the payroll results in 402 a) Maintain entries in T521F to automatically update infotype 402 after the payroll run. b) Run the RPABRI00 program to move the payroll data into infotype 402.
Wage Type Configuration – OH11
Step1: Create Wage Type using Transaction: OH11
Select Copy and then enter the Country.
Enter the existing Wage Type in the left column and the new WT number. Before this we need to check the last WT number associated to an Infotype.
The following tables are updated when we create the WT.
T511 Wage Type Characteristics
T512T Wage Type Text
T512W Wage Type Valuation
T512Z Wage Type Permissibility
T52DZ Assign Customization Wage type to model wage type
T52EL Wage Type Posting
T52EZ Time Dependency of Wage Type Posting
T591B Wage Type Dependent retroactive accounting trigger.
Step2: Enter the description for the WT using transaction “PDSY”
Step3: Check the WT Characteristics: Go to Transaction code SM30: V_T511
Step 4: Permissibility of Wage Type: V_511_B (T511)
Step 5: PCE V_512W_D (T512T, T512W): Select the Wage Type:
Step6: Wage Type Text – V_512W_T (T512T, T512W)
Step7: Wage Type Permissibility V_T512Z (T512Z, T591B)
That’s it. You are all set
Latest SAP HR Interview Questions
1) What is the difference between ABAP and HR ABAP
2) What is logical data base
3) What are logical data bases used in hr module
4) What is the difference between PNP and PNPCE
5) Explain GET PERNR concept when we use logical data base
6) Explain the program flow when we use logical database PNP or PNPCE
7) What are the program names for logical database PNP and PNPCE
8) What is report category and for what purpose do we use report category
9) What is Infotype and how it is different from tables
10) Why do we require Infotypes for HR module
11) What are the transaction codes to create the Infotypes
12) What is the process to enhance the Infotype
13) Importance of PA20, PA30 and PA40
14) How can we decide weather we can enhance the standard Infotype or not
15) What is PAKEY structure, PSHD1 structure and what type of fields it contains
16) What is PS structure
17) What are the payroll related Infotypes
18) What are the time related Infotypes
19) What are the personnel administration related Infotypes
20) What are the organizational related Infotypes
21) What is Macro
22) What are the standard macros do we use in HR ABAP
23) What is PNP-SW-FOUND
24) What is the difference between select statement and provide statement
25) Which function module reads the data for particular Infotype
26) What is repetitive structure and for which Infotype do we have
27) How do you retrieve the data for repetitive structures
28) Can we develop program without logical database for hr module data retrieval
29) By using which FM we can upload data into Infotype
30) If yes then why do we require logical database
31) What are advantages and disadvantages of logical data base
32) What is the transaction code to display the payroll results
33) What is payroll driver
34) Where the payroll results are stored
35) Explain the concept of clusters in payroll
36) How do you read the data from clusters
37) What is retro active accounting
38) In which cluster time results are stored
39) What is wage type
40) What is personnel area
41) What is personnel sub are
42) What is payroll area
43) What is the difference between semi-monthly and Bi-weekly payroll area
44) What is sequence number
45) What is For-period and In-period
46) What is off cycle payroll run
47) How do you execute the payroll
48) What is schema and transaction code
49) What is functions and transaction code
50) What is features and transaction code
51) What is the transaction code to modify the hr form
52) What are the FM do we use in OM
53) What is object in OM
54) Which FM do you use to find out who is reporting to whom
55) What all are the differences did you find in hr module between 4.7 and ECC6 versions
please feel free to add the questions you had faced as comments or send a email to [email protected]
Delete or Change a Personnel Number
There are a lot of questions which we are asked in interviews about PERNR. We are also confused at times about these concepts. So, let us use to post to talk about some of them. Please correct or add to this post by commenting on this.
- Delete all payroll results using PU01. (If posting has been done, then this will not be allowed – you need to reverse the posting)
- Delete all infotypes of PERNR using PU00 (or use PA30 if you more comfortable there).
- In the menu select Utilities and delete the personnel number
- Alternatively use the standard report (RPL*DEL*0*) to delete the PERNR
Appraisal Configuration
You can either use the new template or the old template. In this post, I will explain how to configure using the old template. The old template uses infotype 0025.
PLOGI PLOGI -> 01 to activate integration between: the Organizational Management, Personnel Development, Personnel Cost Planning, Personnel Shift Planning, and Training and Event Management components.