Q: When we create a customer the information is updated in structure RF02D and the some tables like KNA1 are updated. How can we find the tables for master data transactions? A: Go to ABAP Workbench -> Overview -> application hierarchy - SAP -> follow the customizing based tree for your application. Double click on a lowest hierarchy level to get for the correct marked development class. Here you can find all the tables, views, logical databases etc. used for a system operation.
Q: How can we use CAD with SAP ? A: Third party tools from Eigner + Partner provide interfaces to SAP. Another third party software - Fastlook Plus from Kamel Software enables you to view all of the Autocad formats.
Q: How can I access SAP through Internet? A: SAP has its own Internet transaction Server (ITS) . Other products include Haht, WebObjects, NetDynamics etc. Each product has its' own architecture. However to access the database, access paths SAP GUI or RFC Channel have to be used.
Q: How can we transport the standard text? A: Refer note 3355 in OSS for a complete explanation. The SAPscript objects that should be transported must be written in a transport request. The entries are as follows: R3TR FORM NAME (NAME = Name of the layout set) R3TR STYL NAME (NAME = Name of the style) R3TR TEXT OBJECT,NAME,ID,L (OBJECT = Text object, NAME = Text name, ID = Text ID, L = Text language) If you want to transport a number of texts, you can use report RSTXTRAN to insert the individual text keys into a correction. The transport request must be entered and released via the transport system.
Q: How to find what transactions a particular user was running for a given period in the past (Eg: from 1 st of a month ) A: You may use the transaction - STAT.
Q: We want protect/lock a field so that only selected people can change the value while others can only read. How to set the authorizations? A: Create an authorization object for change mode. Loop at screen in the user exit and set input to 0. Check the user based on sy- uname and the authorization. Decide whether input should be 0 or 1.
Q: How to lock an user defined transaction for some time during which no user can access the same? A: Use transaction SM01. Scroll through the transactions and check against the transaction to be locked. And after the maintenance is over, go back to SM01 and uncheck the same to unlock.
B D C Q: Our ABAP program is working properly in Foreground. Can I schedule
it for background processing on the weekend?
A: SAP standard program RSBDCSUB helps you to schedule the job.
Create a variant for RSBDCSUB with the BDC session name.
Q: How can we send a mail to the user intimating him that his
report/BDCcompleted in background?
A: You can use FUNCTION RS_SEND_MAIL_FOR_SPOOLLIST
If Unix is being used, you may send a report to any internet mail with
the following: is
REPORT ZSNDMAIL .
DATA: COMND(200) type c.
DATA: RESULT(200) type c occurs 100 with header line.
PARAMETERS: FILE(60) type c lower case default
'/sapdata/sd_outbound/testmail.dat'.
PARAMETERS: SUBJECT(60) type c lower case.
PARAMETERS: EMAIL(60) type c lower case.
INITIALIZATION.
TRANSLATE EMAIL TO LOWER CASE.
START-OF-SELECTION.
TRANSLATE EMAIL TO LOWER CASE.
CONCATENATE 'cat' FILE '| elm -s "' subject '"' email into comnd
seperated by space.
CALL 'SYSTEM' ID 'COMMAND' FIELD comnd 'TAB' FIELD
UNIX_RESULTS-*SYS*.
Loop at Results.
write: /1 results.
endloop
end-of-selection.
SAPScript
Q: We get the total number of pages as expected by using
'SAPSCRIPT-FORMPAGES' in a duplex layout. In our case duplex case is
always 'Terms & Conditions'. We do not want the number of pages as
in duplex printing. What is the best possible solution?
A: On the Terms & Conditions page, Change the Page counter mode to
'HOLD' to keep the page counter from incrementing when you print the
Term & Conditions.
Q: Can I Print a logo on an Invoice?
A: Save a Logo using Paintshop Pro or Corel Draw as Tiff file. Use
RSTXLDMC to convert the logo to standard text in SapScript. When
the program is executed, the path and file name have to be correctly
specified.
Process could be like the following:
Run RSTXLDMC
Enter file name C:\MAIL\COMPLOGO.TIF
Resolution for Tiff file
Absolute X-position
Absolute Y-position
Absolute positioning
Reserved height
Shift to right
UOM = CM
Text title
Line width for text = 132
Text name ZHEX-MACRO-COMPLOGO
Text ID ST
Text language = E
Postscript scaling
Width & Height according to PS scaling
Number of Tiff gray levels (2,4,9) 2
Then Create a new window 'COMP' with attributes;
Window COMP description Company Logo
Window type CONST
Left margin 7.00 CH window width 10.00 CH
Upper margin LN window height 8.00 LN
Finally in the text element , mention
/: INCLUDE 'ZHEX-MACRO-COMPLOGO' OBJECT TEXT ID ST LANGUAGE
'E'.
Please note that if object name is not indicated as 'ZHEX...', the logo
may not be printed!
You will not be able to see the logo in a test print. The same will be
printed in actual printout.
If you are using two logos in the same layout, the names of the logos
should be unique. Say 'ZHEX-MACRO- LOGO1' and
'ZHEX-MACRO-LOGO2'. Else all the information will be overwritten.
If the logo is not EXACTLY TIFF 6.0 , the same will not be printed.
See OSS notes 5995, 18045, 39031 for some inputs.
RFC
Q: We want to move a SAP table to an Access table using
TABLE_EXPORT_TO_MSACCESS_RFC
Importing parameters are
DBNAME
DEST
FLG_APPEND
FLG_POPUP
LANGU
The table has three columns:
TABNAM
MANDT
SDATA
We have no Exporting parameters.
How shall we set the parameters?
A: Install the PS utilities, which are part of SAPGUI install CD. You may
run report RIACCESS from SE38. Go to SALE -> Communication ->
Define RFC Destination. Setup two RFC destinations PS_ACCESS_1 and
PS_ACCESS_2 and will have to get them to point to wdpsastr.exe and
wdpsatab.exe respectively. Then execute RIACCESS and choose
PS_ACCESS_1 to generate access tables. Please note that Access
only supports tables with up 255 fields.
Q: We want an RFC do the following transactions - MB1A,
MB1C,>MB01 (goods receipt/issue).
A: Call the RFC INBOUND_IDOC_PROCESS with IDOC_CONTROL and
IDOC_DATA. The structure in the field sdata in the IDOC_DATA are
e1mbxyh and e1mbxyi.
Transports Q: In a Dev instance, we want to transport a modification to a layout set from one client to another. What is the best way? A: use transaction SE71. Choose Utilities- >Copy from Client. Layout sets need not be transported between clients , via transport requests DEVKxxxxxx.
Q: We need to keep track of the transports that need to flow through to other systems (ie, DEV, TST, TRN, PRD etc). Is there a way do this? A: SAPCRAFT enables you to control the CTS from DEV system. This keeps track of all transports at all stages and enables you to allocate Import, export and Authorization functions to specific user.
Tables Q: We specify the logical database. And we want a field that is not present in any of the tables defaulted in logical database. How can we want to add this additional field from a different table? A: . Presume you have a logical database table 1 table 2 table 3 Define the required field as additional field say fld of table 1, table 2 or table 3
and then in the code section define.
Perform get_f1d(zxxxxxxx) using f1d.
Form zxxxxxxx could be like;
Form get_f1d using f.
Select * from where 'conditions'
f = table4 - f1d.
Q: We need to download an internal table to the Presentation Server(local workstation). Whenever we run the program, the same file has to be saved as a separate file in sequential order. Ex: 0001.txt, 0002.txt etc. Where can we store the last file number? A: SAP has a table TVARV for storing the variants. A record may be created in TVARV for all the programs that require this kind of incremental records. For Ex: the record could be 100Zmm10001 MM sequence rec where first part consists of client code and the program being run. Client code is required because TVARV does not has a field for client code. The second part is the description indicating the purpose what the record is created. This entire string may be posted in the Name field (char - 30). The Type field ( char- 1) may be populated with P or S (Parameter or Selection) Low field (char- 45) may be populated with '0001' when run first time and increment it by one in your program for downloading of the internal table.
Batch input / Direct input Q: We are calling transaction VL01 in batch input to create deliveries using a program for delivery due list. How ever we are unable to create deliveries for transport stock orders. Why? A: Batch-inputs can not be used to fill the "delivery due list" screen because it is not a dynpro. This is a standard SAP report. A SAP report (check with "System -> Status") may be called using SUBMIT sentence with the appropriate options . It is preferred to call a report than create a Batch-input program.
Q: What are some sample Direct input data transfer programs? A: In MM for Material Master data - RMDATIND FI - for Accounting Documents - RFBIBL00 PP - for Independent requirements - RM06IN00 CA - for Classification data - RCCLBI03
****Type of tables? Ans: There are three thypes of tables exists in abap. They are-: 1. Transparent Tables.It maintains one to one relation with database tables. 2. Pooled tables and It maintains many to one relation with database tables. 3. Cluster tables.It maintains many to one relation with database tables. ****Events of module pool? There are four events in mpp:They are 1. PBO: Process Before Output. 2. PAI: Process after Input. 3. POH: Process on help. 4. POV: Process on Value. ****Events of interactive report? Ans: AT LINE-SELECTION. AT USERCOMMAND. AT PF. TOP-OF-PAGE DURING LINE SELECTION. ****Filters & idoc and segments? ans: Filters are used in idocs to filter the data of segments. Segment is the actual data which resides in the idoc. Types of enhancements? Two Types: 1. UserExits. 2. Badis. ****Type of partner profile? It is used to mention the logical system name of the remote system while transferring data through ALE or EDI. What is RFC? What is its purpose? RFC: It is a function module with remote enabled property. It is used to fetch the data from remote system to current system. ****Steps of LSMW? Ans: There are 14 steps in LSMW. ****Types of BDC? How u proceed BDC(call transaction)without recording? ans: Types of bdc are two types: 1. SESSION METHOD. 2. CALL TRANSACTION METHOD. ****What is message type in idoc? Ans: It specifies what kind of data is residing in IDOC. Ex: MATMAS, DEBMAS,CREMAS. ****What is a dialog program? Ans: Dialog programming is nothing but module pool programming which is used to create screens or tansactions. ****What is debugging? How do you proceed the steps in your reports? Degugging is step by steps execution of a program. It can be done by setting break points. ****What are the parameters passed to fieldcatalog? What are all the tools used for debugging and run time analysis? For Debugging we can directly do it by setting break points. Run time analysis means perofrmance tuning; T-Code for runtime analysis is SE30.
Get answers: 1) What is runtime analysis? Have you used this? 2) What is meant by performance analysis? Have done anything to improve the performance? 3) How to transfer the objects? Have to transferred any objects? 4) How did you test the developed objects? 5) What is the difference between SAP Memory and ABAP Memory? 6) In order to upload Purchase order details, how you handle multiple values for a single field? Eg: Item field may contain no. of values for a record 7) What is the procedure you followed to upload the data? 8) How did you handle errors in Call Transaction? 9) Among the Call Transaction and Session Method, which is faster? 10) What are the difference between Interactive and Drill Down Reports? 11) How to pass the variables to forms? 12) How to create a link between modified form and modified print program? 13) What is the table, which contain the details of all the name of the programs and forms? 14) How did you test the form u developed? How did you taken print? 15) What are Standard Texts? 16) What is the difference between Clustered Tables and Pooled Tables? 17) What is pf-status? 18) Among "Move" and "Move Corresponding", which is efficient one? 19) What are the output type and Tcodes? 20) Where we use Chain and Endchain? 21) Do you use select statement in loop endloop, how will be the performance? To improve the performance? 22) In select-options, how to get the default values as current month first date and last date by default? Eg: 1/12/2004 and 31/12/2004 Go thru these answers: 1) What is runtime analysis? Have you used this? It's checks program execution time in microseconds. When you go to se30.if you give desired program name in performance file. It will take you to below screen. You can get how much past is your program. 2) What is meant by performance analysis? Have done 3) How to transfer the objects? Have you transferred any objects? 4) How did you test the developed objects? I was testing a developed object. There are two types of testing - Negative testing - Positive testing In negative testing we will give negative data in input and we check any errors occurs. In positive testing we will give positive data in input for checking errors. 8) How did you handle errors in Call Transaction? We can create a internal table like 'bsgmcgcoll'. All the messages will go to internal table. We can get errors in this internal table. Below messages are go to internal table. when you run the call transaction. - Message type - Message id - Message Number - Variable1 - Variable2 - Variable3 9) Among the Call Transaction and Session Method, which is faster? Call transaction is faster then session method. But usually we use session method in real time...because we can transfer large amount of data from internal table to database and if any errors in a session. Process will not complete until session get correct. 10) What are the difference between Interactive and Drill Down Reports? ABAP/4 provides some interactive events on lists such as AT LINE-SELECTION (double click) or AT USER-COMMAND (pressing a button). You can use these events to move through layers of information about individual items in a list. Drill down report is nothing but interactive report...drilldown means above paragraph only. 11) How to pass the variables to forms? 12) What is the table, which contain the details of all the name of the programs and forms? Table contains vertical and horizontal lines. We can store the data in table as blocks. We can scroll depends upon your wish. And these all are stored in database (data dictionary). Which contain the details of all the name of the programs and forms? (I don't know). 13) How did you test the form u developed? How did you taken print? 14) What are Standard Texts? 16) What is the difference between Clustered Tables and Pooled Tables? A pooled table is used to combine several logical tables in the ABAP/4 dictionary. Pooled tables are logical tables that must be assigned to a table pool when they are defined. Cluster table are logical tables that must be assigned to a table cluster when they are defined. Cluster table can be used to store control data they can also used to store temporary data or text such as documentation. 17) What is pf-status? Pf status is used in interactive report for enhancing the functionality. If we go to se41, we can get menus, items and different function keys, which we are using for secondary list in interactive report. 18) Among "Move" and "Move Corresponding", which is efficient one? I guess, 'move corresponding' is very efficient then 'move' statement. Because usually we use this stamtent for internal table fields only...so if we give move corresponding. Those fields only moving to other place (what ever you want). 19) What are the output type and Tcodes? 20) Where we use Chain and End chain? 21) Do you use select statement in loop end loop, how will be the performance? To improve the performance? 22) In select-options, how to get the default values as current month first date and last date by default?
ABAP Technical Interview Questions:
1. What is the typical structure of an ABAP program? 2. What are field symbols and field groups.? Have you used "component idx of structure" clause with field groups? 3. What should be the approach for writing a BDC program? 4. What is a batch input session? 5. What is the alternative to batch input session? 6. A situation: An ABAP program creates a batch input session. We need to submit the program and the batch session in background. How to do it? 7. What is the difference between a pool table and a transparent table and how they are stored at the database level? 8. What are the problems in processing batch input sessions? How is batch input process different from processing on line? 9. What do you define in the domain and data element? 10. What are the different types of data dictionary objects? 11. How many types of tables exist and what are they in data dictionary? 12. What is the step-by-step process to create a table in data dictionary? 13. Can a transparent table exist in data dictionary but not in the database physically? 14. What are the domains and data elements? 15. Can you create a table with fields not referring to data elements? 16. What is the advantage of structures? How do you use them in the ABAP programs? 17. What does an extract statement do in the ABAP program? 18. What is a collect statement? How is it different from append? 19. What is open sql vs native sql? 20. What does an EXEC SQL stmt do in ABAP? What is the disadvantage of using it? 21. What is the meaning of ABAP editor integrated with ABAP data dictionary? 22. What are the events in ABAP language? 23. What is an interactive report? What is the obvious diff of such report compared with classical type reports? 24. What is a drill down report? 25. How do you write a function module in SAP? Describe. 26. What are the exceptions in function module? 27. What is a function group? 28. How are the date abd time field values stored in SAP? 29. What are the fields in a BDC_Tab Table? 30. Name a few data dictionary objects? 31. What happens when a table is activated in DD? 32. What is a check table and what is a value table? 33. What are match codes? Describe? 34. What transactions do you use for data analysis? 35. What is table maintenance generator? 36. What are ranges? What are number ranges? 37. What are select options and what is the diff from parameters? 38. How do you validate the selection criteria of a report? And how do you display initial values in a selection screen? 39. What are selection texts? 40. What is CTS and what do you know about it? 41. When a program is created and need to be transported to prodn does selection texts always go with it? if not how do you make sure? Can you change the CTS entries? How do you do it? 42. What is the client concept in SAP? What is the meaning of client independent? 43. Are programs client dependent? 44. Name a few system global variables you can use in ABAP programs? 45. What are internal tables? How do you get the number of lines in an internal table? How to use a specific number occurs statement? 46. How do you take care of performance issues in your ABAP programs? 47. What are datasets? 48. How to find the return code of a stmt in ABAP programs? 49. What are interface/conversion programs in SAP? 50. Have you used SAP supplied programs to load master data?
51. What are the techniques involved in using SAP supplied programs? Do you prefer to write your own programs to load master data? Why? 52. What are logical databases? What are the advantages/disadvantages of logical databases? 53. What specific statements do you using when writing a drill down report? 54. What are different tools to report data in SAP? What all have you used? 55. What are the advantages and disadvantages of ABAP query tool? 56. What are the functional areas? User groups? How does ABAP query work in relation to these? 57. Is a logical database a requirement/must to write an ABAP query? 58. What is the structure of a BDC sessions. 59. What are Change header/detail tables? Have you used them? 60. What do you do when the system crashes in the middle of a BDC batch session? 61. What do you do with errors in BDC batch sessions? 62. How do you set up background jobs in SAP? What are the steps? What are the event driven batch jobs? 63. Is it possible to run host command from SAP environment? How do you run? 64. What kind of financial periods exist in SAP? What is the relevant table for that? 65. Does SAP handle multiple currencies? Multiple languages? 66. What is a currency factoring technique? 67. How do you document ABAP programs? Do you use program documentation menu option? 68. What is SAPscript and layout set? 69. What are the ABAP commands that link to a layout set? 70. What is output determination?
ABAP Interview Questions 1. How data is stored in cluster table? Each field of cluster table behaves as tables which contains the no. of entries. 2. What are client dependant objects in abap/sap? SAP Script layout, text element, and some DDIC objects. 3. On which even we can validate the input fields in module progams? In PAI (Write field statement on field you want to validate, if you want to validate group of fields put in chain and End chain statement.) 4. In selection screen I have three fields, plant mat no and material group. If I input plant how do I get the mat no and material group based on plant dynamically? AT SELECTION-SCREEN ON VALUE- REQUEST FOR MATERIAL. CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' to get material and material group for the plant. 5. How do you get output from IDOC? Data in IDOc is stored in segments, the output from Idoc is obtained by reading the data stored in its respective segments. 6. When top of the page event is triggered? After excuteing first write statement in start-of-selection event. 7. Can we create field without data element and how? In SE11 one option is available above the fields strip. Data element/ direct type. 8. How do we debug sapscript? Go to SE71 give lay set name , go to utilities select debugger mode on. 9. Which transaction code can I used to analyze the performance of ABAP program. TCode AL21. 10. How can I copy a standard table to make my own z_table. Go to transaction SE11. Then there is one option to copy table. Press that button. Enter the name of the standard table and in the Target table enter Z table name and press enter. Following are some of the answers which I gave upto my knowledge. 1. What is the use of 'outerjoin' Ans. With the use of outer join you can join the tables even there is no entry in all the tables used in the view. In case of inner join there should be an entry in al the tables use in the view. 2. When to use logical database? Ans. Advantage of Logical databases: less coding s required to retrieve data compared to normal internel tables. Tables used LDB are in hierarchial structure. 3. What is the use of 'table index'? Ans .Index is used for faster access of data base tables. 4. What is the use of 'FOR ALL ENTRIES'? Ans. To avoid nested select statements we use SELECT FOR ALL ENTRIES statement. If there r more than 10000 records SELECT FOR ALL ENTRIES is used. Performance wise SELECT FOR ALL ENTRIES is better to use. 5. Can you set up background processing using CALL TRANSACTION? Yes,Using No Screen Mode. 6. What are table buffers? Table buffers reside locally on each application server in the system. The data of buffered tables can thus be accessed directly from the buffer of the application server. This avoids the time- consuming process of accessing the database. Buffering is useful if table needs to be accessed more no. of times in a program.
1. How do I set a flag for a field in any table? Create a char field of length 1. for example field STAS-LKENZ is Deletion Indicator. It means that if the value in the field is 'X' then that record has been deleted. 2. Can I execute user exits? If yes, how? Yes you can. after finding the user exit, you need to use, goto CMOD add ur user-exit to your project. Then activate the FM which you require. Now go into that function module there will be a Include program wit name ZX* . Double click on it, it will ask to create an object, answer it Yes and then write your code in it. 3. How do I find the output type of a table or a program? Table TNAPR / NAST
ABAP Questions: 1.Elementary search helps, Collective search help. 2.Difference between Search Helps and Match Codes 3.Have you created database tables? 4.Difference between client dependent and client independent tables? 5.How to create client independent tables 6.Have you created Maintenance dialog or Table Maintenance? 7.On ABAP: Did you set up a workflow? Are you familiar with all steps for setting up a workflow? 8.Have you used performance tuning? What major steps will you use for these?