SAP ABAP Realtime (Scenario based) Interview Questions (51 - 55)
51. In a custom report, the same data is shown differently for two users even though they entered the same selection criteria. How would you troubleshoot this issue?
First, I would check authorizations, user-specific parameters, report variants, and ALV layouts, because the input may be same but the backend filtering or display settings can still differ from user to user.
Then I would debug the program for both users and check whether the code uses things like SY-UNAME, plant/company restrictions, or AUTHORITY-CHECK, since these are very common reasons for mismatched output.
52. A production support ticket says that a custom ABAP program updated wrong records in the database. How would you analyze the root cause and prevent it from happening again?
First, I would identify which records were wrongly updated, check the input data, recent code changes, and especially the UPDATE statement to see whether the program missed key fields in the WHERE condition.
After finding the root cause, I would fix the validation, use full primary keys, add logging or a test-run option, and make sure the program does not update records broadly by mistake.
53. You need to develop a custom transaction where users can create, change, and display records with validations. How would you design the program flow?
I would design the transaction with clear modes like Create, Change, and Display, where create checks for duplicates, change fetches and locks the record before update, and display shows the data in read-only mode.
I would also add mandatory field checks, authorization checks, and proper success or error messages so that users cannot save bad data and the process stays safe and easy to use.
54. A report is working correctly in foreground, but in background job the output is incomplete or different. How would you investigate and fix it?
I would first compare the foreground and background execution using the same variant, then check SM37 job log, spool output, authorizations, and any frontend-dependent logic like popup screens or local file downloads.
In projects, background issues often happen because the program uses GUI-based statements that work in foreground but fail in background,
so I would separate the logic using SY-BATCH.
55. A business user asks you to add a new field in an existing interface output file without breaking the current downstream system. How would you handle this change safely?
I would first assess the impact of the new field on the downstream system, ensuring compatibility. I would then modify the interface output file to include the new field, maintaining the existing structure and data types. Finally, I would test the change thoroughly to ensure it does not break any existing functionality.