We offer H1B transfers and Green Card application

Thinking of better rates. How about 90-10?

If you are working as a contractor in the US for as an SAP consultant, consider us. We provide 90% of billing every month. No questions on long vacations, extra hours or relocations. If the client accept to your conditions, we accept. It is that simple. We just take 10% as administrative charges and give you the remaining.
Thinking of change… Send in your resume and current clients contact details to [email protected]
Applying for green card?
We help you apply for green card as soon as you join our company. No delays. We also go to expert lawyers (it costs more, but you can be sure). How about getting 90% of your billing rate and your GC processed?
Send in your details to [email protected]

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.

Some end-users assign wrong personnel numbers by mistake. In case this is noticed before payroll is run for this personnel number, then this can be easily deleted and created again. But if payroll has already been generated for this personnel number, it is a long process. Another thing to keep in mind is that PERNR cannot be changed. Though the start date and end date can be changed using PA41.
To delete after payroll has been generated
  1. Delete all payroll results using PU01. (If posting has been done, then this will not be allowed – you need to reverse the posting)
  2. Delete all infotypes of PERNR using PU00 (or use PA30 if you more comfortable there).
  3. In the menu select Utilities and delete the personnel number
  4. 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.

Integration Settings

In Table T7770S, please check the integration settings.
PLOGI APPRA -> Integration switch for appraisal
PLOGI QUALI -> Integration switch for qualifications (In your test system set this to “1 A032 Q”)
PLOGI PLOGI -> 01 to activate integration between: the Organizational Management, Personnel Development, Personnel Cost Planning, Personnel Shift Planning, and Training and Event Management components.

Configuration Path

IMG > Personnel Management > Personnel Administration > Payroll Data > Appraisals

IMG > Personnel Management > Enterprise Compensation Management > Compensation Administration > Eligibility > Define Appraisal Rules

Define Matrix Dimensions

Using Matrix dimensions segments, the values for that dimension can be defined. For example if the value falls between 2.00 and 2.99 the performance appraisal can be set as “C”