Search This Blog

How to add/edit/delete table entry with no authorization

As a technical consultant, there may have been scenarios where you might want to maintain a desired entry in database table, but you do not have authorization to do it!! To add/edit/delete a table record when you have no authorization -

1) In t-code SE11 or SE16, select the entry you want to edit and click on 'Display' button (F7)









2) In the command editor, type /h and press ENTER















3) Again press ENTER and you will see the below code. You need to change the field code to edit/add/delete table entry.

































4) Change the value of field code to
a) EDIT to change existing records
b) INSR to create a new record
c) DELE to delete the record




5) Press F8. Now you can make changes to the table entry and SAVE.













How to find BADI used in the transaction or program




1.     Transaction Code: SE24

Object Type: CL_EXITHANDLER

Click ‘Display’ button


2.     In the ‘Method’ tab, Double click GET_INSTANCE which will open its source code


3.    Set Breakpoint at

CALL METHOD cl_exithandler=>get_class_name_by_interface

Run your transaction code. The debugger will stop at the breakpoint. Check the value for EXIT_NAME to get the BADI’s implemented for this transaction code.

Memory overflow in buffer synchronization in SM21


1.    Get the number of the process and go to SM50
2.    Select the PID (Process ID)
3.    From the menu bar select Process>>Trace>>Display File
4.    In the developer trace, there should be a list of tables showing up that the buffers are complaining about. Examples below are possible...

B Thu Apr 17 06:19:54 2008
B ***LOG BS0=> escalation level 2 for buffer synchronization reached [dbsync#3
@ 3557]
dbsync 3557
B Begin of notebook trace
B class = 7 table = /BI0/STCTSESUID
B class = 7 table = /BI0/STCTSTEPUID
B class = 7 table = /BI0/STCTSTEPUID
B class = 7 table = /BI0/STCTTIMSTMP
B class = 7 table = /BI0/STCTSTEPUID
B class = 7 table = /BI0/STCTTIMSTMP

5.    Look at the buffered tables and decide about which ones need to be changed from buffered to non-buffered. SE13 is the transaction to do that. The buffered tables need to be tables that have a large amount of reads, as compared to writes
OR
Contact SAP Basis guys to increase the tablespace.

ABAP Interview questions

1) In a SELECT query, when FOR ALL ENTRIES IN <itab> is used, and itab is empty, then what will be fetched by select query?
Ans: All the entries from the SELECT table as FOR ALL ENTRIES is disregarded if itab is empty.
i.e. For query, SELECT * from MARA FOR ALL ENTRIES IN i_tab WHERE matnr EQ i_tab-matnr -> If i_tab is empty, then all the records will be fetched from MARA 

2) How many Function Modules at max can be assigned to Function Group?
Ans: 99

3) How can READ statement be performance tuned?
Ans: First SORT the internal table and then use READ statement WITH KEY BINARY SEARCH

4) How can nested loops be performance tuned?
Ans: Parallel cursor method - The inner nested loops starts from index.
v_index = 1.
LOOP AT t_vbak ASSIGNING <fs_vbak>.
   LOOP AT t_vbap FROM v_index ASSIGNING <fs_vbap>.
       IF <fs_vbap>-vbeln NE <fs_vbak>-vbeln.
           v_index = sy-tabix.
           EXIT.
       ELSE.
           v_index - v_index + 1.
       ENDIF.
    ENDLOOP.

5) How do you define exceptions in function modules?

6) How do you generate interactive ALV report?

7) How would you upload logo in SAP Scripts?
Ans: Upload TIFF image using standard program RSTXLDMC or transaction code SE78 and use INCLUDE statement to upload the same in script
/: INCLUDE <logofileuploadedthruse78> OBJECT TEXT ID ST