Вы находитесь на странице: 1из 107

C Interview Question on BAPI, RFC, ABAP Objects, Tables 1) What is the difference between RFC and BAPI ?

What are subclasses and super classes in BAPI and also what are the methods in BAPI ? 2) Is it possible to connect SAP to Non-SAP systems to retrieve data using RFC alone with out using BAPI ? 3) What is the difference between Function module and BAPI ? 4) What are the types of tables? 5) What are pooled table ? 6) What are Hashed Tables ? 7) What are advantages of using ABAP objects? 8) What is the advantage of using ABAP objects in Reports ? 1) BAPI are RFC enabled function modules. the difference between RFc and BAPI are business objects. You create business objects and those are then registered in your BOR (Business Object Repository) which can be accessed outside the SAP system by using some other applications (Non-SAP) such as VB or JAVA. in this case u only specify the business object and its method from external system in BAPI there is no direct system call. while RFC are direct system call Some BAPIs provide basic functions and can be used for most SAP business object types. These BAPIs should be implemented the same for all business object types. Standardized BAPIs are easier to use and prevent users having to deal with a number of different BAPIs. Whenever possible, a standardized BAPI must be used in preference to an individual BAPI. BAPI r indirect system calls where as RFCs are direct system call. The following standardized BAPIs are provided: Reading instances of SAP business objects GetList ( ) With the BAPI GetList you can select a range of object key values, for example, company codes and material numbers. The BAPI GetList() is a class method. GetDetail() With the BAPI GetDetail() the details of an instance of a business object type are retrieved and returned to the calling program. The instance is identified via its key. The BAPI GetDetail() is an instance method. BAPIs that can create, change or delete instances of a business object type The following BAPIs of the same object type have to be programmed so that they can be called several times within one transaction. For example, if, after sales order 1 has been created, a second sales order 2 is created in

the same transaction, the second BAPI call must not affect the consistency of the sales order 2. After completing the transaction with a COMMIT WORK, both the orders are saved consistently in the database. Create( ) and CreateFromData! ( ) The BAPIs Create() and CreateFromData() create an instance of an SAP business object type, for example, a purchase order. These BAPIs are class methods. Change( ) The BAPI Change() changes an existing instance of an SAP business object type, for example, a purchase order. The BAPI Change () is an instance method. Delete( ) and Undelete( ) The BAPI Delete() deletes an instance of an SAP business object type from the database or sets a deletion flag. The BAPI Undelete() removes a deletion flag. These BAPIs are instance methods. Cancel ( ) Unlike the BAPI Delete(), the BAPI Cancel() cancels an instance of a business object type. The instance to be cancelled remains in the database and an additional instance is created and this is the one that is actually canceled. The Cancel() BAPI is an instance method. Add<subobject> ( ) and Remove<subobject> ( ) The BAPI Add<subobject> adds a subobject to an existing object inst! ance and the BAPI and Remove<subobject> removes a subobject from an object instance. These BAPIs are instance methods. 2) No it is not possible to connect SAP to Non-SAP systems to retrieve data using RFC alone. RFC can acces the SAP from outside only through BAPI and same is for vice versa access. 3) Each Bapi Object has Interface, Key Fields, Attributes,Methods and Events. Bapi Function Modules can be attached to these Bapi objects .Function module has a single bound functionality while a BAPI object can contain many functionalities 4) Transparent table, Pool table and cluster table are data dictionary table objects sorted table, indexed table and hash table are internal tables.

5)Table pools (pools) and table clusters (clusters) are special table types in the ABAP Dictionary. The data from several different tables can be stored together in a table pool or table cluster. Tables assigned to a table pool or table cluster are referred to as pooled tables or cluster tables. A table in the database in which all records from the pooled tables assigned to the table pool are stored corresponds to a table pool. The definition of a pool consists essentially of two key fields (Tabname and Varkey) and a long argument field (Vardata). Table Clusters Several logical data records from different cluster tables can be stored together in one physical record in a table cluster. A cluster key consists of a series of freely definable key fields and a field (Pageno) for distinguishing continuation records. A cluster also contains a long field (Vardata) that contains the contents of the data fields of the cluster tables for this key. If the data does not fit into the long field, continuation records are created. Control information on the structure of the data string is still written at the beginning of the Vardata field. 6) Hashed tables This is the most appropriate type for any table where the main operation is key access. You cannot access a hashed table using its index. The response time for key access remains constant, regardless of the number of table entries. Like database tables, hashed tables always have a unique key. Hashed tables are useful if you want to construct and use an internal table which resembles a database table or for processing large amounts of data. Sample Prog: This does nothing. REPORT Z_1 . tables: mara. data: i type hashed table of mara with unique key matnr 7) and 8) ABAP objects are root for your program and reports. RFC Vs BAPI

BAPI are RFC enabled function modules. the difference between RFc and BAPI are business objects. You create business objects and those are then registered in your BOR (Business Object Repository) which can be accessed outside the SAP system by using some other applications (Non-SAP) such as VB or JAVA. In this case you only specify the business object and its method from external system in BAPI there is no direct system call. while RFC are direct system call Some BAPIs provide basic functions and can be used for most SAP business object types. These BAPIs should be implemented the same for all business object types. Standardized BAPIs are easier to use and prevent users having to deal with a number of different BAPIs. Whenever possible, a standardized BAPI must be used in preference to an individual BAPI. It is not possible to connect SAP to NonSAP systems to retrieve data using RFC alone. RFC can acces the SAP from outside only through BAPI and same is for vice versa access. RFC is the protocol used by SAP for remote communication, that is, for communications between remote (independent) systems. RFC is used for communications between two independent SAP systems, or for communications between an SAP system and a non-SAP system, such as an external application. It can also be used for communications between modules on the same system. Using the RFC interfaces you can extend the functionality of R/3 applications from an external program. What is the different btween clear and refresh? There are 2 types of clear statements we can use: Clear ITAB : This Statement will clear the Internal Table Header content. To clear the Intertal Table Hearder as well Body we can use Clear ITAB [ ] statement. Refresh will deletes the Internal Table content but still memory is not freed. What is the pick statment do? Pick Statemnt will captures the UserAction. Eg: if SY-UCOMM = 'X'. This type of user actions can be captured thru PICK Statement only.

What is the different between session method and call transaction method and suppose I used one method to transform the data next time suppose I want transform the data which method I can use. There are many difference between Session method and Call Transaction. Which method we have to use will be found based on Volume Of data and Accuracy of data given. Mainly Call Transaction used for small sets of data because in Call Transaction we have to Handle the Processing errors explicitly. We can do this by BDCMSGCOLL structure. In Session method separate session will create for errors. Call Transaction will update the Database fastly compare with Session Method. What is single and upto one row different? The Major difference between Select Single and Select UPTO 1 rows is The Usage Of Buffer for each. Select Single will search for all the satisfied data and bring all that data into Buffer and later it will give to that data to the program. Select UPTO 1 Rows will end the search after getting the 1st satisfied record and gives that record to the program. Thus Select Single will take much processing time when compare with Select UPTO 1 rows. What are the differences between selection screen and selection screen out? The difference between Selection Screen and Selection Screen Output is we use the Selection Screen Output Event before the Selection Screen will displayed. Eg: Suppose if we want to disable some fields and enable some fields in the Selection Screen then we can code that in Section-Screen Output event. Selection-Screen Event will trigger after section-screen is displayed and user action takes place on that. WHY WE USE CHAIN END CHAIN? Chain end chain is used when there is error message then the related fields between chain end chain are ready to input again. Example is like there are two fields in screen. FUND and FUND CENTERS. now after entereing fund you need to enter related fund center and if user enter wrong fund center then you need to display both fund and fund center to be enter again so the user can change the fund also on the screen.

1. What is the typical structure of an ABAP/4 program? ANS:HEADER ,BODY,FOOTER. 2. What are field symbols and field groups.? Have you used "component idx of structure" clause with field groups? ANS:Field symbols:Field groups :3. What should be the approach for writing a BDC program? ANS:STEP 1: CONVERTING THE LEGACY SYSTEM DATA TO A FLAT FILE to internal table CALLED "CONVERSION". STEP 2: TRANSFERING THE FLAT FILE INTO SAP SYSTEM CALLED "SAP DATA TRANSFER". STEP 3: DEPENDING UPON THE BDC TYPE i)call transaction(Write the program explicity) ii) Create sessions (sessions are created and processed. if success data will transfer). 4. What is a batch input session? ANS:BATCH INPUT SESSION is an intermediate step between internal table and database table. Data along with the action is stored in session ie data for screen fields, to which screen it is passed,program name behind it, and how next screen is processed. 5. What is the alternative to batch input session? ANS:Call transaction. 6. A situation: An ABAP program creates a batch input session. We need to submit the program and the batch session in back ground. How to do it?

ANS:go to SM36 and create background job by giving job name,job class and job steps (JOB SCHEDULING) 8. What are the problems in processing batch input sessions? How is batch input process different from processing online? ANS:PROBLEMS:i) If the user forgets to opt for keep session then the session will be automatically removed from the session queue(log remains). However if session is processed we may delete it manually. ii)if session processing fails data will not be transferred to SAP database table. 10. What are the different types of data dictionary objects? ans:tables, structures, views, domains, data elements, lock objects, Matchcode objects. 11. How many types of tables exists and what are they in data dictionary? ans :4 types of tables i)Transparent tables - Exists with the same structure both in dictionary as well as in database exactly with the same data and fields. Both Opensql and Nativesql can be used. ii)Pool tables & iii)Cluster tables These are logical tables that are arranged as records of transparent tables.one cannot use native sql on these tables (only opensql).They are not managable directly using database system tools. iv)Internal tables - . 12. What is the step by step process to create a table in data dictionary? ans:step 1: creating domains(data type,field length,range). step 2: creating data elements(properties and type for a table field).

step 3: creating tables(SE11). 13. Can a transparent table exist in data dictionary but not in the data base physically? ANS:- NO. TRANSPARENT TABLE DO EXIST WITH THE SAME STRUCTURE BOTH IN THE DICTIONARY AS WELL AS IN THE DATABASE,EXACTLY WITH THE SAME DATA AND FIELDS. 14. What are the domains and data elements? ANS:DOMAINS : FORMAL DEFINITION OF THE DATA TYPES.THEY SET ATTRIBUTES SUCH AS DATA TYPE,LENGTH,RANGE. DATA ELEMENT : A FIELD IN R/3 SYSTEM IS A DATA ELEMENT. 15. Can you create a table with fields not referring to data elements? ANS:YES. eg:- ITAB LIKE SPFLI .here we are referencing to a data object(SPFLI) not data element. 16. What is the advantage of structures? How do you use them in the ABAP programs? ANS:Adv:- GLOBAL EXISTANCE(these could be used by any other program without creating it again). 17. What does an extract statement do in the ABAP program? ANS:Once you have declared the possible record types as field groups and defined their structure, you can fill the extract dataset using the following statements: EXTRACT <fg>. When the first EXTRACT statement occurs in a program, the system creates the extract dataset and adds the first extract record to it. In each subsequent EXTRACT statement, the new extract record is added to the dataset EXTRACT HEADER. When you extract the data, the record is filled with the current values of the corresponding fields.

As soon as the system has processed the first EXTRACT statement for a field group <fg>, the structure of the corresponding extract record in the extract dataset is fixed. You can no longer insert new fields into the field groups <fg> and HEADER. If you try to modify one of the field groups afterwards and use it in another EXTRACT statement, a runtime error occurs. By processing EXTRACT statements several times using different field groups, you fill the extract dataset with records of different length and structure. Since you can modify field groups dynamically up to their first usage in an EXTRACT statement, extract datasets provide the advantage that you need not determine the structure at the beginning of the program. 18. What is a collect statement? How is it different from append? ANS:If an entry with the same key already exists, the COLLECT statement does not append a new line, but adds the contents of the numeric fields in the work area to the contents of the numeric fields in the existing entry. 19. What is open sql vs native sql? ANS:- by Madhukar Open SQL , native SQL are the interfaces to create the database applicatons. Open SQL is consistant across different types of existing Databases. Native SQL is the database language specific to database.Its API is specific to the databse. Open SQL API is consistent across all vendors 20. What does an EXEC SQL stmt do in ABAP? What is the disadvantage of using it? ANS:21. What is the meaning of ABAP/4 editor integrated with ABAP/4 data dictionary? ANS:22. What are the events in ABAP/4 language? ANS:Initialization, At selection-screen,Start-of-selection,end-of-selection,top-of-page,end-of-page, At line-selection,At user-command,At PF,Get,At New,At LAST,AT END, AT FIRST.

23. What is an interactive report? What is the obvious diff of such report compared with classical type reports? ANS:An Interactive report is a dynamic drill down report that produces the list on users choice. diff:a) THE LIST PRODUCED BY CLASSICAL REPORT DOESN'T allow user to interact with the system the list produced by interactive report allows the user to interact with the system. b) ONCE A CLASSICAL REPORT EXECUTED USER LOOSES CONTROL.IR USER HAS CONTROL. c) IN CLASSICAL REPORT DRILLING IS NOT POSSIBLE.IN INTERACTIVE DRILLING IS POSSIBLE. 24. What is a drill down report? ANS:Its an Interactive report where in the user can get more relavent data by selecting explicitly. 25. How do you write a function module in SAP? describe. ANS:creating function module:called program - se37-creating funcgrp,funcmodule by assigning attributes,importing,exporting,tables,exceptions. calling program - SE38-in pgm click pattern and write function name- provide export,import,tables,exception values. 26. What are the exceptions in function module? ANS:COMMUNICATION_FAILURE SYSTEM_FAILURE 27. What is a function group? ANS:GROUP OF ALL RELATED FUNCTIONS. 28. How are the date and time field values stored in SAP? ANS:-

DD.MM.YYYY. HH:MM:SS 30. Name a few data dictionary objects? //rep// ANS:TABLES,VIEWS,STRUCTURES,LOCK OBJECTS,MATCHCODE OBJECTS. 31. What happens when a table is activated in DD? ANS:It is available for any insertion,modification and updation of records by any user. 32. What is a check table and what is a value table? Check table will be at field level checking. Value table will be at domain level checking ex: scarr table is check table for carrid. 33. What are match codes? describe? ans:It is a similar to table index that gives list of possible values for either primary keys or non-primary keys. 34. What transactions do you use for data analysis? ANS:35. What is table maintenance generator? ANS:36. What are ranges? What are number ranges? ANS:max,min values provided in selection screens. 37. What are select options and what is the diff from parameters? ANS:select options provide ranges where as parameters do not. SELECT-OPTIONS declares an internal table which is automatically filled with values or ranges

of values entered by the end user. For each SELECT-OPTIONS , the system creates a selection table. SELECT-OPTIONS <SEL> FOR <field>. A selection table is an internal table with fields SIGN, OPTION, LOW and HIGH. The type of LOW and HIGH is the same as that of <field>. The SIGN field can take the following values: I Inclusive (should apply) E Exclusive (should not apply) The OPTION field can take the following values: EQ Equal GT Greater than NE Not equal BT Between LE Less than or equal NB Not between LT Less than CP Contains pattern GE Greater than or equal NP No pattern. diff:PARAMETERS allow users to enter a single value into an internal field within a report. SELECT-OPTIONS allow users to fill an internal table with a range of values. For each PARAMETERS or SELECT-OPTIONS statement you should define text elements by choosing Goto - Text elements - Selection texts - Change. Eg:- Parameters name(30). when the user executes the ABAP/4 program,an input field for 'name' will appear on the selection screen.You can change the comments on the left side of the input fields by using text elements as described in Selection Texts. 38. How do you validate the selection criteria of a report? And how do you display initial values in a selection screen? ANS:validate :- by using match code objects. display :- Parameters <name> default 'xxx'. select-options <name> for spfli-carrid. 39. What are selection texts? ANS:40. What is CTS and what do you know about it? ANS:-

The Change and Transport System (CTS) is a tool that helps you to organize development projects in the ABAP Workbench and in Customizing, and then transport the changes between the SAP Systems and clients in your system landscape. This documentation provides you with an overview of how to manage changes with the CTS and essential information on setting up your system and client landscape and deciding on a transport strategy. Read and follow this documentation when planning your development project. For practical information on working with the Change and Transport System, see Change and Transport Organizer and Transport Management System. 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? ANS:42. What is the client concept in SAP? What is the meaning of client independent? ANS:43. Are programs client dependent? ANS:Yes.Group of users can access these programs with a client no. 44. Name a few system global variables you can use in ABAP programs? ANS:SY-SUBRC,SY-DBCNT,SY-LILLI,SY-DATUM,SY-UZEIT,SY-UCOMM,SY-TABIX..... SY-LILLI IS ABSOLUTE NO OF LINES FROM WHICH THE EVENT WAS TRIGGERED. 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? ANS:i)It is a standard data type object which exists only during the runtime of the program. They are used to perform table calculations on subsets of database tables and for re-organising the contents of database tables according to users need. ii)using SY-DBCNT. iii)The number of memory allocations the system need to allocate for the next record population.

46. How do you take care of performance issues in your ABAP programs? Performance of ABAPs can be improved by minimizing the amount of data to be transferred. The data set must be transferred through the network to the applications, so reducing the amount OF time and also reduces the network traffic. Some measures that can be taken are: - Use views defined in the ABAP/4 DDIC (also has the advantage of better reusability). - Use field list (SELECT clause) rather than SELECT *. - Range tables should be avoided (IN operator) - Avoid nested SELECTS. i)system tools ii)field symbols and field groups. ans:Field Symbols : Field symbols are placeholders for existing fields. A Field Symbol does not physically reserve space for a field,but points to a field which is not known until runtime of the program. eg:- FIELD-SYMBOL <FS> [<TYPE>]. Field groups : A field group combines several fields under one name.At runtime,the INSERT command is used to define which data fields are assigned to which field group. There should always be a HEADER field group that defines how the extracted data will be sorted,the data is sorted by the fields grouped under the HEADER field group. 47. What are datasets? ANS:The sequential files(ON APPLICATION SERVER) are called datasets. They are used for file handling in SAP. 48. How to find the return code of a statement in ABAP programs? ANS:Using function modules.

49. What are interface/conversion programs in SAP? ANS : CONVERSION : LEGACY SYSTEM TO FLAT FILE. INTERFACE : FLAT FILE TO SAP SYSTEM. 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? ANS:To read data from a database tables we use logical database. A logical database provides read-only access to a group of related tables to an ABAP/4 program. adv:The programmer need not worry about the primary key for each table.Because Logical database knows how the different tables relate to each other,and can issue the SELECT command with proper where clause to retrieve the data. i)An easy-to-use standard user interface. ii)check functions which check that user input is complete,correct,and plausible. iii)meaningful data selection. iv)central authorization checks for database accesses. v)good read access performance while retaining the hierarchical data view determined by the application logic. disadv:i)If you donot specify a logical database in the program attributes,the GET events never occur. ii)There is no ENDGET command,so the code block associated with an event ends with the next event statement (such as another GET or an END-OF-SELECTION). 53. What specific statements do you using when writing a drill down report? ans:-

AT LINE-SELECTION,AT USER-COMMAND,AT PF. 54. What are different tools to report data in SAP? What all have you used? ans:55. What are the advantages and disadvantages of ABAP/4 query tool? 56. What are the functional areas? User groups? and how does ABAP/4 query work in relation to these? 57. Is a logical database a requirement/must to write an ABAP/4 query? 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? ans:we will look into the error log file (SM35). 61. What do you do with errors in BDC batch sessions? ANS:We look into the list of incorrect session and process it again. To correct incorrect session we analyize the session to determine which screen and value produced the error.For small errors in data we correct them interactively otherwise modify batch input program that has generated the session or many times even the datafile. 62. How do you set up background jobs in SAP? What are the steps? What are the event driven batch jobs? ans:go to SM36 and create background job by giving job name,job class and job steps(JOB SCHEDULING) 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 relavent table for that? 65. Does SAP handle multiple currencies? Multiple languages?

ans:Yes. 66. What is a currency factoring technique? 67. How do you document ABAP/4 programs? Do you use program documentation menu option? 68. What is SAPscript and layout set? ans:The tool which is used to create layout set is called SAPscript. Layout set is a design document. 69. What are the ABAP/4 commands that link to a layout set? ans:control commands,system commands, 70. What is output determination? 71. What are IDOCs? ans:IDOCs are intermediate documents to hold the messages as a container. 72. What are screen painter? menu painter? Gui status? ..etc. ans:dynpro - flow logic + screens. menu painter GUI Status - It is subset of the interface elements(title bar,menu bar,standard tool bar,push buttons) used for a certain screen. The status comprises those elements that are currently needed by the transaction. 73. What is screen flow logic? What are the sections in it? Explain PAI and PBO. ans:The control statements that control the screen flow. PBO - This event is triggered before the screen is displayed.

PAI - This event is responsible for processing of screen after the user enters the data and clicks the pushbutton. 74. Overall how do you write transaction programs in SAP? ans:Create program-SE93-create transcode-Run it from command field. 75. Does SAP has a GUI screen painter or not? If yes what operating systems is it available on? What is the other type of screen painter called? 76. What are step loops? How do you program pagedown pageup in step loops? ans:step loops are repeated blocks of field in a screen. 77. Is ABAP a GUI language? ANS:Yes. ABAP IS AN EVENT DRIVEN LANGUAGE. 78. Normally how many and what files get created when a transaction program is written? What is the XXXXXTOP program? ans:ABAP/4 program. DYNPRO 79. What are the include programs? ANS:When the same sequence of statements in several programs are to be written repeadly they are coded in include programs (External programs) and are included in ABAP/4 programs. 80. Can you call a subroutine of one program from another program? ans:- Yes- only external subroutines Using 'SUBMIT' statement. 81. What are user exits? What is involved in writing them? What precations are needed?

82. What are RFCs? How do you write RFCs on SAP side? 83. What are the general naming conventions of ABAP programs? ANS:Should start with Y or Z. 84. How do you find if a logical database exists for your program requrements? ans:SLDB-F4. 85. How do you find the tables to report from when the user just tell you the transaction he uses? And all the underlying data is from SAP structures? ans:Transcode is entered in command field to open the table.Utilities-Table contents-display. 86. How do you find the menu path for a given transaction in SAP? ans:87. What are the different modules of SAP? ans:FI,CO,SD,MM,PP,HR. 89. How do you get help in ABAP? ans:HELP-SAP LIBRARY,by pressing F1 on a keyword. 90. What are different ABAP/4 editors? What are the differences? ans:91. What are the different elements in layout sets? ans:PAGES,Page windows,Header,Paragraph,Character String,Windows.

92. Can you use if then else, perform ..etc statements in sap script? ans:yes. 93. What type of variables normally used in sap script to output data? 94. How do you number pages in sapscript layout outputs? 95. What takes most time in SAP script programming? ANS:LAYOUT DESIGN AND LOGO INSERTION. 96. How do you use tab sets in layout sets? 97. How do you backup sapscript layout sets? Can you download and upload? How? 98. What are presentation and application servers in SAP? ANS:The application layer of an R/3 System is made up of the application servers and the message server. Application programs in an R/3 System are run on application servers. The application servers communicate with the presentation components, the database, and also with each other, using the message server. 99. In an ABAP/4 program how do you access data that exists on a presentation server vs on an application server? ans:i)using loop statements. ii)flat 100. What are different data types in ABAP/4? ans:Elementary predefined C,D,F,I,N,P,T,X.

userdefined TYPES. ex: see in intel book page no 35/65 Structured predefined TABLES. userdefined Field Strings and internal tables. 101. What is difference between session method and Call Transaction? ans:102. Setting up a BDC program where you find information from? ans:103. What has to be done to the packed fields before submitting to a BDC session. ans:fields converted into character type. 104. What is the structure of a BDC sessions. ans:BDCDATA (standard structure). 105. What are the fields in a BDC_Tab Table. ans:program,dynpro,dynbegin,fnam,fval. 106. What do you define in the domain and data element. Technical details like 107. What is the difference between a pool table and a transparent table and how they are stored at the database level. ans:ii)Pool tables is a logical representation of transparent tables .Hence no existence at database level. Where as transparent tables are physical tables and exist at database level.

108. What is cardinality? For cardinality one out of two (domain or data element) should be the same for Ztest1 and Ztest2 tables. M:N Cardinality specifies the number of dependent(Target) and independent (source) entities which can be in a relationship.

1. What is an ABAP data dictionary?- ABAP 4 data dictionary describes the logical structures of the objects used in application development and shows how they are mapped to the underlying relational database in tables/views. 2. What are domains and data element?- Domains:Domain is the central object for describing the technical characteristics of an attribute of an business objects. It describes the value range of the field. Data Element: It is used to describe the semantic definition of the table fields like description the field. Data element describes how a field can be displayed to end-user. 3. What is foreign key relationship?- A relationship which can be defined between tables and must be explicitly defined at field level. Foreign keys are used to ensure the consistency of data. Data entered should be checked against existing data to ensure that there are now contradiction. While defining foreign key relationship cardinality has to be specified. Cardinality mentions how many dependent records or how referenced records are possible. 4. Describe data classes.- Master data: It is the data which is seldomly changed. Transaction data: It is the data which is often changed. Organization data: It is a customizing data which is entered in the system when the system is configured and is then rarely changed. System data:It is the data which R/3 system needs for itself. 5. What are indexes?- Indexes are described as a copy of a database table reduced to specific fields. This data exists in sorted form. This sorting form ease fast access to the field of the tables. In order that other fields are also read, a pointer to the associated record of the actual table are included in the index. Yhe indexes are activated along with the table and are created automatically with it in the database. 6. Difference between transparent tables and pooled tables.- Transparent tables: Transparent tables in the dictionary has a one-to-one relation with the table in database. Its structure corresponds to single database field. Table in the database has the same name as in the dictionary. Transparent table holds application data. Pooled tables. Pooled tables in the dictionary has a many-to-one relation with the table in database. Table in the database has the different name as in the dictionary. Pooled table are stored in table pool at the database level.

7. What is an ABAP/4 Query?- ABAP/4 Query is a powerful tool to generate simple reports without any coding. ABAP/4 Query can generate the following 3 simple reports: Basic List: It is the simple reports. Statistics: Reports with statistical functions like Average, Percentages. Ranked Lists: For analytical reports. - For creating a ABAP/4 Query, programmer has to create user group and a functional group. Functional group can be created using with or without logical database table. Finally, assign user group to functional group. Finally, create a query on the functional group generated. 8. What is BDC programming?- Transferring of large/external/legacy data into SAP system using Batch Input programming. Batch input is a automatic procedure referred to as BDC(Batch Data Communications).The central component of the transfer is a queue file which receives the data vie a batch input programs and groups associated data into sessions. 9. What are the functional modules used in sequence in BDC?- These are the 3 functional modules which are used in a sequence to perform a data transfer successfully using BDC programming: BDC_OPEN_GROUP Parameters like Name of the client, sessions and user name are specified in this functional modules. BDC_INSERT - It is used to insert the data for one transaction into a session. BDC_CLOSE_GROUP - This is used to close the batch input session. 10. What are internal tables?- Internal tables are a standard data type object which exists only during the runtime of the program. They are used to perform table calculations on subsets of database tables and for re-organising the contents of database tables according to users need. 11. What is ITS? What are the merits of ITS?- ITS is a Internet Transaction Server. ITS forms an interface between HTTP server and R/3 system, which converts screen provided data by the R/3 system into HTML documents and vice-versa. Merits of ITS: A complete web transaction can be developed and tested in R/3 system. All transaction components, including those used by the ITS outside the R/3 system at runtime, can be stored in the R/3 system. The advantage of automatic language processing in the R/3 system can be utilized to languagedependent HTML documents at runtime. 12. What is DynPro?- DynPro is a Dynamic Programming which is a combination of screen and the associated flow logic Screen is also called as DynPro. 13. What are screen painter and menu painter?- Screen painter: Screen painter is a tool to design and maintain screen and its elements. It allows user to create GUI screens for the transactions. Attributes, layout, filed attributes and flow logic are the elements of Screen painter. Menu painter: Menu painter is a tool to design the interface components. Status, menu bars, menu lists, F-key settings, functions and titles are the components of Menu painters. Screen painter and menu painter both are the graphical interface of an ABAP/4 applications. 14. What are the components of SAP scripts?- SAP scripts is a word processing tool of SAP which has the following components: Standard text. It is like a standard normal documents. Layout sets. - Layout set consists of

the following components: Windows and pages, Paragraph formats, Character formats. Creating forms in the R/3 system. Every layout set consists of Header, paragraph, and character string. ABAP/4 program. 15. What is ALV programming in ABAP? When is this grid used in ABAP?- ALV is Application List viewer. Sap provides a set of ALV (ABAP LIST VIEWER) function modules which can be put into use to embellish the output of a report. This set of ALV functions is used to enhance the readability and functionality of any report output. Cases arise in sap when the output of a report contains columns extending more than 255 characters in length. In such cases, this set of ALV functions can help choose selected columns and arrange the different columns from a report output and also save different variants for report display. This is a very efficient tool for dynamically sorting and arranging the columns from a report output. The report output can contain up to 90 columns in the display with the wide array of display options. 16. What are the events in ABAP/4 language?- Initialization, At selection-screen, Start-of-selection, end-ofselection, top-of-page, end-of-page, At line-selection, At user-command, At PF, Get, At New, At LAST, AT END, AT FIRST. 17. What is CTS and what do you know about it?- The Change and Transport System (CTS) is a tool that helps you to organize development projects in the ABAP Workbench and in Customizing, and then transport the changes between the SAP Systems and clients in your system landscape. This documentation provides you with an overview of how to manage changes with the CTS and essential information on setting up your system and client landscape and deciding on a transport strategy. Read and follow this documentation when planning your development project. 18. What are logical databases? What are the advantages/ dis-advantages of logical databases?- To read data from a database tables we use logical database. A logical database provides read-only access to a group of related tables to an ABAP/4 program. Advantages: i)check functions which check that user input is complete, correct,and plausible. ii)Meaningful data selection. iii)central authorization checks for database accesses. iv)good read access performance while retaining the hierarchical data view determined by the application logic. dis advantages: i)If you donot specify a logical database in the program attributes,the GET events never occur. ii)There is no ENDGET command,so the code block associated with an event ends with the next event statement (such as another GET or an END-OF-SELECTION). 19. What is a batch input session?- BATCH INPUT SESSION is an intermediate step between internal table and database table. Data along with the action is stored in session ie data for screen fields, to which screen it is passed, program name behind it, and how next screen is processed. 20. How to upload data using CATT ?- These are the steps to be followed to Upload data through CATT: Creation of the CATT test case & recording the sample data input. Download of the source file template. Modification of the source file. Upload of the data from the source file.

21. What is Smart Forms?- Smart Forms allows you to create forms using a graphical design tool with robust functionality, color, and more. Additionally, all new forms developed at SAP will be created with the new Smart Form solution. 22. How can I make a differentiation between dependent and independent data?- Client dependent or independent transfer requirements include client specific or cross client objects in the change requests. Workbench objects like SAPscripts are client specific, some entries in customizing are client independent. If you display the object list for one change request, and then for each object the object attributes, you will find the flag client specific. If one object in the task list has this flag on, then that transport will be client dependent. 23. What is the difference between macro and subroutine?- Macros can only be used in the program the are defined in and only after the definition are expanded at compilation / generation. Subroutines (FORM) can be called from both the program the are defined in and other programs . A MACRO is more or less an abbreviation for some lines of code that are used more than once or twice. A FORM is a local subroutine (which can be called external). A FUNCTION is (more or less) a subroutine that is called external. Since debugging a MACRO is not really possible, prevent the use of them (Ive never used them, but seen them in action). If the subroutine is used only local (called internal) use a FORM. If the subroutine is called external (used by more than one program) use a FUNCTION.

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. REPORTING GENERAL 1. The system field, which indicates success or failure of a SQL operation, is SY-SUBRC. 2. What is the syntax for specifying database table name at runtime in SELECT statement. NAME = SPFL1. SELECT * FROM (NAME). . . ENDSELECT. 3. How do you read selected lines of database table into an internal table in packages of predefined size. SELECT * FROM INTO TABLE PACKAGE SIZE. Where n is variable. 4. Name the WILDCARD characters which are used for comparisons with character strings & numeric strings. % and -. 5. In SELECT statements can you specify a variable in WHERE condition or a part of the condition, if so what is the syntax. SELECT * FROM WHERE . 6. Name the ABAP/4 key words, which are used to change the contents of database table. UPDATE or MODIFY. 7. How to specify a client for database table processing. TABLES SPFLI.

SELECT * FROM SPFLI CLIENT SPECIFIED WHERE MANDT BETWEEN 001 AND 003. .. ENDSELECT. 8. How do you write a DATA object from ABAP/4 program to ABAP/4 memory and restore the same from memory to program. EXPORT [FROM ][FROM ]. TO MEMORY ID . The ID , which can be up to 32 characters long, identifies the data in memory. 9. What are DATA CLUSTERS? You can group any complex internal data objects of an ABAP/4 program together in data clusters and store them temporarily in ABAP/4 memory or for longer periods in databases. You can store data clusters in special databases of the ABAP/4 Dictionary. These databases are known as ABAP/4 cluster databases and have a predefined structure. Storing a data cluster is specific to ABAP/4. Although you can also access cluster databases using SQL statements, only ABAP/4 statements are able to decode the structure of the stored data cluster. 10. Statements used to delete data objects in ABAP/4 memory FREE MEMORY [ID ]. 11. How will you create a file on application server. Open dataset for output. 12. ABAP/4 statement for opening a file on application server for reading Open dataset for input. 13. How will you transfer data into a file in application server? Data fname(60) value mYFILE. Data num type i. Open dataset fname for output. Do 10 times. Num = Num +1. Transfer num to fname. Enddo. .etc. 14. Name the function modules to write data from an Internal Table to the Presentation Server. DOWNLOAD and WS_DOWNLOAD. 15. Name the function module that can be used to give information about files on Presentation Server and about its Operating System. WS_QUERY. 16. Name the ABAP/4 key word, which is used to clear the Headerline of an Internal Table. CLEAR.

17. Name the function modules to read data from Presentation Server into an Internal Table. UPLOAD and WS_UPLOAD. 18. Name the ABAP/4 keywords to initialize an Internal Table with and without headerline. REFRESH . 19. How to determine the attributes of an internal table? DESCRIBE TABLE [LINES ] [OCCURS ]. 20. Name the ABAP/4 key word for searching a string in an Internal Table. SEARCH FOR . The different options () for the search in an internal table are: ABBREVIATED Searches tablefor a word containing the character string specified in , where other characters might separate the characters. The first letter of the word and the string must be the same. STARTING AT Searches table for , starting at line . can be a variable. ENDING AT Searches table for upto line. can be a variable. AND MARK If the search string is found, all the characters in the search string (and all the characters in between when using ABBREVIATED) are converted to upper case. 21. What are the different attributes that can be assigned to a variant? The different attributes that can be assigned to a variant are. Description Enter a short, meaningful description of the variant. This may be upto 30 characters long. Background only Specify whether you want to use the variant in background processing only, or in online environment as well. Protected variant. Mark the field if you want to protect your variant against being changed by other users. Do not display variant. Mark this field if you want the variant name to be displayed in the catalog only, but not in the F4 value list. For the selections you cover in a variant, you can enter the following attributes: Type The system displays whether the field is a parameter or a select option.

Protected Mark this field for each field on the selection screen you want to protect from being overwritten. Values that you mark this way are displayed to the users, but they cannot change them, that are they are not ready to accept input. Invisible If you mark this column, the system will not display the corresponding field on the selection screen the user sees when starting the report program. Variable Mark this column if you want to set the value for this field at runtime. 22. Is it possible to create new dynamic programs during runtime of an ABAP/4 program? If so how? To create new dynamic programs during the runtime of an ABAP/4 program, you must use an internal table. For this purpose, you should create this internal table with one character type column and a line width of 72. You can use any method you like from Filling Internal Tables to write the code of your new program into the internal table. Especially, you can use internal fields in which contents are dependent on the flow of the program that you use to create a new one, to influence the coding of the new program dynamically. The following example shows how to proceed in principal: DATA CODE (72) OCCURS 10. APPEND REPORT ZDYN1. TO CODE. APPEND WRITE/Hello, I am dynamically created!. TO CODE. Two lines of a very simple program are written into the internal table CODE. In the next step you have to put the new module, in the above example it is a report, into the library. For this purpose you can use the following statement: Syntax INSERT REPORT FROM . The program is inserted in your present development class in the R/3 Repository. If a program with this name does not already exists, it is newly created with the following attributes: Title: none, Type: 1 (Reporting), Application: S (Basis). You can specify the name of the program explicitly within single quotation marks or you can write the name of a character field, which contains the program name. The name of the program must not necessarily be the same as given in the coding, but it is recommended to do so. is the internal table containing the source code. For the above example you could write:

INSERT REPORT ZDYN1 FROM CODE. Or DATA REP (8). REP = ZDYN1 INSERT REPORT REP FROM CODE. 23. Data types can be elementary or structured (T/F). TRUE. 24. The amount of memory associated with a data type is ZERO. 25. Data objects are the physical units a program uses at runtime. (T/F). TRUE. 26. The data object does not occupy any space in memory. (T/F) FALSE. 27. What are the three hierarchical levels of data types and objects? Program-independent data, defined in the ABAP/4 Dictionary. Internal data used globally in one program. Data used locally in a procedure (subroutine, function module) 28. How would you find the attributes of a data type or data object? DESCRIBE FIELD [LENGTH [COMPONENTS ]] [OUTPUT-LENGTH ] [DECIMALS ] [EDIT MASK ]. 29. The components of a field string cannot have different data types. (T/F). FALSE. 30. Field strings are also called as Record or Structures. 31. If a field string is aligned (Left, centered, right justified etc.), the filler fields are also added to the length of the type C field. (T/F). TRUE. 32. You cannot assign a local data object defined in a subroutine or function module to a field group. (T/F) TRUE. 33. Field group reserves storage space for the fields, and does not contain pointers to existing fields (T/F). False. 34. Defining a field group as HEADER is optional (T/F) FALSE. 35. How would you define a field symbol?

FIELD-SYMBOLS. 36. Which function module would you use to check the users authorization to access files before opening a file? AUTHORITY_CHECK_DATASET 37. Name the function module used to convert logical file names to physical file names in ABAP/4 programs. FILE_GET_NAME. 38. Parameters, which are defined during the definition of a subroutine with the FORM statement, are called Formal Parameters. 39. Parameters which are specified during the call of a subroutine with the PERFORM statement are called Actual Parameters. 40. In subroutines internal tables that are passed by TABLES, are always called by value and result. (T/F) FALSE. They are called by reference. ________________________________________ INTERACTIVE REPORTING 1. What is interactive reporting? It helps you to create easy-to-read lists. You can display an overview list first that contains general information and provide the user with the possibility of choosing detailed information that you display on further lists. 2. What are the uses of interactive reporting? The user can actively control data retrieval and display during the session. Instead of an extensive and detailed list, you create a basic list with condensed information from which the user can switch to detailed displays by positioning the cursor and entering commands. The detailed information appears in secondary lists. 3. What are the event key words in interactive reporting? Event Keyword Event AT LINE-SELECTION Moment at which the user selects a line by double clicking on it or by positioning the cursor on it and pressing F2. AT USER-COMMAND Moment at which the user presses a function key. TOP-OF-PAGE DURING Moment during list processing of a LINE-SELECTION secondary list at which a new page starts. 4. What is secondary list? It allows you to enhance the information presented in the basic list. The user can, for example, select a line of the basic list for which he wants to see more detailed information. You display these details on a secondary list. Secondary lists may either overlay the basic list completely or you can display them in an extra window on the screen. The secondary lists can themselves be interactive again.

5. How to select valid lines for secondary list? To prevent the user from selecting invalid lines, ABAP/4 offers several possibilities. At the end of the processing block END-OF-SELECTION, delete the contents of one or more fields you previously stored for valid lines using the HIDE statement. At the event AT LINE-SELECTION, check whether the work area is initial or whether the HIDE statement stored field contents there. After processing the secondary list, clear the work area again. This prevents the user from trying to create further secondary lists from the secondary list displayed. 6. How to create user interfaces for lists? The R/3 system automatically, generates a graphical user interface (GUI) for your lists that offers the basic functions for list processing, such as saving or printing the list. If you want to include additional functionality, such as pushbuttons, you must define your own interface status. To create a new status, the Development Workbench offers the Menu Painter. With the Menu Painter, you can create menus and application toolbars. And you can assign Function Keys to certain functions. At the beginning of the statement block of AT END-OF-SELECTION, active the status of the basic list using the statement: SET PF-STATUS STATUS. 7. What is interactive reporting? A classical non-interactive report consists of one program that creates a single list. Instead of one extensive and detailed list, with interactive reporting you create basic list from which the user can call detailed information by positioning the cursor and entering commands. Interactive reporting thus reduces information retrieval to the data actually required. 8. Can we call reports and transactions from interactive reporting lists? Yes. It also allows you to call transactions or other reports from lists. These programs then use values displayed in the list as input values. The user can, for example, call a transaction from within a list of change the database table whose data is displayed in the list. 9. What are system fields for secondary lists? SY-LSIND Index of the list created during the current event (basic list = 0) SY-LISTI Index of the list level from which the event was triggered. SY-LILLI Absolute number of the line from which the event was triggered. SY-LISEL Contents of the line from which the event was triggered. SY-CUROW Position of the line in the window from which the event was triggered (counting starts with 1) SY-CUCOL Position of the column in the window from which the event was triggered (counting starts with 2). SY-CPAGE Page number of the first displayed page of the list from which the event was triggered. SY-STARO Number of the first line of the first page displayed of the list from which the event was triggered (counting starts with 1). Possibly, a page header occupies this line. SY-STACO Number of the first column displayed in the list from which the event was triggered (counting starts with 1). SY-UCOMM Function code that triggered the event.

SY-PFKEY Status of the displayed list. 10. How to maintain lists? To return from a high list level to the next-lower level (SY-LSIND), the user chooses Back on a secondary list. The system then releases the currently displayed list and activates the list created one step earlier. The system deletes the contents of the released list. To explicitly specify the list level, into which you want to place output, set the SY-lsind field. The system accepts only index values, which correspond to existing list levels. It then deletes all existing list levels whose index is greater or equal to the index specify. For example, if you set SY-LSIND to 0, the system deletes all secondary lists and overwrites the basic list with the current secondary list. 11. What are the page headers for secondary lists? On secondary lists, the system does not display a standard page header and it does not trigger the event. TOP-OF-PAGE. To create page headers for secondary list, you must enhance TOP-OF-PAGE: Syntax TOP-OF-PAGE DURING LINESELECTION. The system triggers this event for each secondary list. If you want to create different page headers for different list levels, you must program the processing block of this event accordingly, for example by using system fields such as SY-LSIND or SY-PFKEY in control statements (IF, CASE). 12. How to use messages in lists? ABAP/4 allows you to react to incorrect or doubtful user input by displaying messages that influence the program flow depending on how serious the error was. Handling messages is mainly a topic of dialog programming. You store and maintain messages in Table T100. Messages are sorted by language, by a two-character ID, and by a three-digit number. You can assign different message types to each message you output. The influence of a message on the program flow depends on the message type. In our program, use the MESSAGE statement to output messages statically or dynamically and to determine the message type. Syntax:REPORT MESSAGE-ID . 13. What are the types of messages? A message can have five different types. These message types have the following effects during list processing: .A (=Abend): .E (=Error) or W (=Warning): .I (=Information): .S (=Success): 14. What are the user interfaces of interactive lists? If you want the user to communicate with the system during list display, the list must be interactive. You can define specific interactive possibilities in the status of the lists user interface (GUI). To define the statuses of interfaces in the R/3 system, use the Menu Painter tool. In the Menu Painter, assign function codes to certain interactive functions. After an user action occurs on the completed interface, the ABAP/4 processor checks the function code and, if valid, triggers

the corresponding event. 15. What are the drill-down features provided by ABAP/4 in interactive lists? ABAP/4 provides some interactive events on lists such as AT LINE-SELECTION (double click) or AT USERCOMMAND (pressing a button). You can use these events to move through layers of information about individual items in a list. 16. What is meant by stacked list? A stacked list is nothing but secondary list and is displayed on a full-size screen unless you have specified its coordinates using the window command. 17. Is the basic list deleted when the new list is created? No. It is not deleted and you can return back to it using one of the standard navigation functions like clicking on the back button or the cancel button. 18. What is meant by hotspots? A Hotspot is a list area where the mouse pointer appears as an upright hand symbol. When a user points to that area (and the hand cursor is active), a single click does the same thing as a double-click. Hotspots are supported from R/3 release 3.0c. 19. What is the length of function code at user-command? Each menu function, push button, or function key has an associated function code of length FOUR (for example, FREE), which is available in the system field SYUCOMM after the user action. 20. Can we create a gui status in a program from the object browser? Yes. You can create a GUI STATUS in a program using SET PF-STATUS. 21. In which system field does the name of current gui status is there? The name of the current GUI STATUS is available in the system field SY-PFKEY. 22. Can we display a list in a pop-up screen other than full-size stacked list? Yes, we can display a list in a pop-up screen using the command WINDOW with the additions starting at X1 Y1 and ending at X2 Y2 to set the upper-left and the lower-right corners where x1 y1 and x2 y2 are the coordinates. 23. What is meant by hide area? The hide command temporarily stores the contents of the field at the current line in a system-controlled memory called the HIDE AREA. At an interactive event, the contents of the field are restored from the HIDE AREA. 24. When the get cursor command used in interactive lists? If the hidden information is not sufficient to uniquely identify the selected line, the command GET CURSOR is used. The GET CURSOR command returns the name of the field at the cursor position in a field specified after the addition field, and the value of the selected field in a field specified after value. 25. How can you display frames (horizontal and vertical lines) in lists?

You can display tabular lists with horizontal and vertical lines (FRAMES) using the ULINE command and the system field SY-VLINE. The corners arising at the intersection of horizontal and vertical lines are automatically drawn by the system. 26. What are the events used for page headers and footers? The events TOP-OF-PAGE and END-OF-PAGE are used for pager headers and footers. 27. How can you access the function code from menu painter? From within the program, you can use the SY-UCOMM system field to access the function code. You can define individual interfaces for your report and assign them in the report to any list level. If you do not specify self-defined interfaces in the report but use at least one of the three interactive event keywords. AT LINE-SELECTION, AT PF, OR AT USER-COMMAND in the program, the system automatically uses appropriate predefined standard interfaces. These standard interfaces provide the same functions as the standard list described under the standard list. 28. How the at-user command serves mainly in lists? The AT USER-COMMAND event serves mainly to handle own function codes. In this case, you should create an individual interface with the Menu Painter and define such function codes. 29. How to pass data from list to report? ABAP/4 provides three ways of passing data: Passing data automatically using system fields Using statements in the program to fetch data Passing list attributes 30. How can you manipulate the presentation and attributes of interactive lists? Scrolling through Interactive Lists. Setting the Cursor from within the Program. Modifying List Lines. 31. How to call other programs? Report Transaction Call and return SUBMIT AND RETURN CALL TRANSACTION Call without return SUBMIT LEAVE TO TRANSACTION You can use these statements in any ABAP/4 program. 32. What will exactly the hide statement do? For displaying the details on secondary lists requires that you have previously stored the contents of the selected line from within the program. To do this, ABAP/4 provides the HIDE statement. This statement stores the current field contents for the current list line. When calling a secondary list from a list line for which the HIDE fields are stored, the system fills the stored values back into the variables in the program. In the program code, insert the HIDE statement

directly after the WRITE statement for the current line. Interactive lists provide the user with the so-called INTERACTIVE REPORTING facility. For background processing the only possible method of picking the relevant data is through NON INTERACTIVE REPORT . After starting a background job, there is no way of influencing the program. But whereas for dialog sessions there are no such restrictions. 33. How many lists can a program can produce? Each program can produce up to 21 lists: one basic list and 20 secondary lists. If the user creates a list on the next level (that is, SY-LSIND increases), the system stores the previous list and displays the new one. Only one list is active, and that is always the most recently created list. FALSE. Check Table: The ABAP Dictionary allows you to define relationships between tables using foreign keys . A dependent table is called a foreign key table, and the referenced table is called the check table. Each key field of the check table corresponds to a field in the foreign key table. These fields are called foreign key fields. One of the foreign key fields is designated as the check field for checking the validity of values. The key fields of the check table can serve as input help for the check field. Value Table: Prior to Release 4.0, it was possible to use the value table of a domain to provide input help. This is no longer possible, primarily because unexpected results could occur if the value table had more than one key field. It was not possible to restrict the other key fields, which meant that the environment of the field was not considered, as is normal with check tables. In cases where this kind of value help was appropriate, you can reconstruct it by creating a search help for the data elements that use the domain in question, and using the value table as the selection method. Check table will be at field level checking. Value table will be at domain level checking 267 What are presentation and application servers in SAP? A presentation server is actually a program named Sapgui.exe. It is usually installed on a users workstation.

Application server is a set of executables that collectively interpret the ABAP/4 programs and manage the input & output for them. 128 3 The Command that allows for vertical alignment of fields one below the other. UNDER. 90 4 What are the different types of programs? I Include Program M Module Pool F Function Modules S External Subroutines 1 Online program 80 5 What would be the output, if you click on number 2. If you click on number 2, the output would be 3. If you click on 3 the output would be 4. However, If you click on 5, the output would be 5 only. 70 6 What is an instance? When you call a function module, an instance of its function group plus its data, is loaded into the memory area of the internal session. An ABAP program can load several instances by calling function modules from different function groups. 69 7 What is Transaction name which can gives a count of the number of times a program has been executed ? Transaction 'STAT' can provide the count 66 8 How many lists can exist in parallel in an interactive reporting?

An Interactive report can have 1 basic list and up to 20 Secondary lists. 64 9 What are subroutines? Subroutines are program modules which can be called from other ABAP/4 programs or within the same program. 63 10 What are the different types of parameters a subroutine can have? There are two types of parameters: Formal parameters: Parameters which are defined during the definition of subroutine with the FORM statement. Formal( Output) parameters are used to pass data from subroutines. Actual parameters: Parameters which are specified during the call of a subroutine with the PERFORM statement. Actual( input) parameters are used to pass data to subroutines.

Standard Programs That Every ABAP Developer Should Know


RCSBI010 (Create BOMs using Batch Input) Standard Batch Input program for creating/updating BOM (Bill of material) RFBIBL00 (Batch Input Documents) Standard Batch Input input program for creating/updating Financial Documents RMDATIND (Transfer Material Master Data by Direct Input) Standard Direct Input program for creating/updating Material Master Data RSBDCREO (Batch Input: Reorganize Sessions and Logs) - reorganizes the batch input log file. RSBDCSUB (Batch Input: Process All Sessions) - schedules batch input sessions for immediate execution in the background processing system. RSBPCOLL (CCMS: Collector for Background Job Run-time Statistics) RSBPSTDE (Delete Statistics Data from the Job Run-time Statistics) RSBTCDEL (Delete batch jobs) RSCOLL00 (Main program: Performance monitor (RFC) collector run)

RSDBTIME (Time diagnosis) RSM13002 (Update request analysis and processing tool) RSPARAM - shows which parameters are active for a particular SAP instance. RSPO0041 (Delete Old Spool Requests) RSSNAPDL (Reorganization Program for Table SNAP of Short Dumps) RSTRANSP (Select Report and Variants for Transport) RSTXLDMC (Upload TIFF files to SAPscript texts) RSTXSCRP (SAPscript Export to Dataset / SAPscript Import from Dataset) RSTXTRAN (This program is required move the STANDARD text to a change request..so that the standard text can be moved to the production)

RFC Transports

Tables Q: Is there any standard SAP report which gives a count of the number of times a program is executed ? A: Try transaction STAT 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 1st 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. BDC 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/BDC is completed 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: 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 Indexes ------------

HI YOU NEED TO CREAT SECONDARY INDEXES THE PROCEDURE IS AS FOLOWS reward if usefull Primary and secondary indexes Index: Technical key of a database table. Primary index: The primary index contains the key fields of the table and a pointer to the non-key fields of the table. The primary index is created automatically when the table is created in the database. Secondary index: Additional indexes could be created considering the most frequently accessed dimensions of the table. An index can be used to speed up the selection of data records from a table. An index can be considered to be a copy of a database table reduced to certain fields. The data is stored in sorted form in this copy. This sorting permits fast access to the records of the table (for example using a binary search). Not all of the fields of the table are contained in the index. The index also contains a pointer from the index entry to the corresponding table entry to permit all the field contents to be read. When creating indexes, please note that: An index can only be used up to the last specified field in the selection! The fields which are specified in the WHERE clause for a large number of selections should be in the first position. Only those fields whose values significantly restrict the amount of data are meaningful in an index. When you change a data record of a table, you must adjust the index sorting. Tables whose contents are frequently changed therefore should not have too many indexes. Make sure that the indexes on a table are as disjunctive as possible. (That is they should contain as few fields in common as possible. If two indexes on a table have a large number of common fields, this could make it more difficult for the optimizer to choose the most selective index.)

The database optimizer decides which index on the table should be used by the database to access data records. You must distinguish between the primary index and secondary indexes of a table. The primary index contains the key fields of the table. The primary index is automatically created in the database when the table is activated. If a large table is frequently accessed such that it is not possible to apply primary index sorting, you should create secondary indexes for the table. The indexes on a table have a three-character index ID. '0' is reserved for the primary index. Customers can create their own indexes on SAP tables; their IDs must begin with Y or Z. If the index fields have key function, i.e. they already uniquely identify each record of the table, an index can be called a unique index. This ensures that there are no duplicate index fields in the database. When you define a secondary index in the ABAP Dictionary, you can specify whether it should be created on the database when it is activated. Some indexes only result in a gain in performance for certain database systems. You can therefore specify a list of database systems when you define an index. The index is then only created on the specified database systems when activated

Difference Between Batch Input and Call Transaction in BDC


What is the difference between batch input and call transaction in BDC? Session method. 1) synchronous processing. 2) can tranfer large amount of data. 3) processing is slower. 4) error log is created 5) data is not updated until session is processed. Call transaction. 1) asynchronous processing 2) can transfer small amount of data

3) processing is faster. 4) errors need to be handled explicitly 5) data is updated automatically ABAP Tips by : Nagaraj Muniyappa Batch Data Communication (BDC) is the oldest batch interfacing technique that SAP provided since the early versions of R/3. BDC is not a typical integration tool, in the sense that, it can be only be used for uploading data into R/3 and so it is not bi-directional. BDC works on the principle of simulating user input for transactional screen, via an ABAP program. Typically the input comes in the form of a flat file. The ABAP program reads this file and formats the input data screen by screen into an internal table (BDCDATA). The transaction is then started using this internal table as the input and executed in the background. In Call Transaction, the transactions are triggered at the time of processing itself and so the ABAP program must do the error handling. It can also be used for real-time interfaces and custom error handling & logging features. Whereas in Batch Input Sessions, the ABAP program creates a session with all the transactional data, and this session can be viewed, scheduled and processed (using Transaction SM35) at a later time. The latter technique has a built-in error processing mechanism too. Batch Input (BI) programs still use the classical BDC approach but doesnt require an ABAP program to be written to format the BDCDATA. The user has to format the data using predefined structures and store it in a flat file. The BI program then reads this and invokes the transaction mentioned in the header record of the file. Direct Input (DI) programs work exactly similar to BI programs. But the only difference is, instead of processing screens they validate fields and directly load the data into tables using standard function modules. For this reason, DI programs are much faster (RMDATIND - Material Master DI program works at least 5 times faster) than the BDC counterpart and so ideally suited for loading large volume data. DI programs are not available for all application areas. SET PARAMETER ID pid FIELD f.

Effect
Writes the contents of the field f to the global SAP memory under the key pid . If the key already contains a value, it is overwritten. The key pid must consist of three characters. You can find a list of the keys (parameters) used in the SAP system description or in the ABAP/4 Development Workbench.

Notes

The global SAP memory remains available to the user during the entire terminal session. This means that set values are retained when you leave a program. You should not use the SAP memory for temporary storage of values because other modes use the same global memory. If you need a new key (parameter), you can create this in the ABAP/4 Development Workbench.

Example
DATA: REPID(8) VALUE 'RFSCHU01'. SET PARAMETER ID 'RID' FIELD REPID.

Sets the program name, e.g. for transfer to another program GET PARAMETER ID key FIELD f.

Effect
Transfers the value stored under the key pid from the global user-related SAP memory memory to the field f . The key pid must consist of three characters. For an overview of the keys (parameters) used, refer to the SAP system description or the appropriate function in the ABAP/4 Development Workbench.

The return code value is set as follows: SY-SUBRC = 0 A value was read from SAP memory. SY_SUBRC = 4 No value was found in SAP memory under the specified key

Notes

The global user-related SAP memory is available to each user for the entire duration of a terminal session. For this reason, set values are retained when you leave a program. The SAP memory should not be used for intermediate storage, since a user's parallel sessions use the same global memory.

Example
Read the program name from SAP memory: DATA : REPID(8). GET PARAMETER ID 'RID' FIELD REPID. 1. SAP memory is for cross-transaction Applications and ABAP/4 memory is transaction-specific. 2. The SAP memory, otherwise known as the global memory, is available to a user during the entire duration of a terminal session. Its contents are retained across transaction boundaries as well as external and internal sessions. The contents of the ABAP/4 memory are retained only during the lifetime of an external session. You can retain or pass data across internal sessions.

3. The SET PARAMETER and GET PARAMETER statements allow you to write to, or read from, the SAP memory. The EXPORT TO MEMORY and IMPORT FROM MEMORY statements allow you to write data to, or read data from, the ABAP memory.
External session: - when user logs on to R/3 system, the system creates a new terminal session called Create Session.external session. E.g. System Internal session: - created by calling a transaction (with CALL TRANSACTION), a dialog module (with CALL DIALOG) or a report (with SUBMIT or RETURN).

For External Sessions, Internal Sessions are available. SAP Memory is a global memory area which all sessions within a SAPgui have access to. This allows for passing data between sessions. The SET PARAMETER ID and GET PARAMETER ID statements are used to manipulate the SAP Memory. SET PARAMETER ID 'MAT' field p_matnr. GET PARAMETER ID 'MAT' field p_matnr. hide ----------- to hide a field or a work area or even a internal table in a buffer area. hide statement simply hides the given. hide is generally useful in interactive reports as when u click on particular field based on that filed the next list is displayed for you. in such cases we go for hide. get cursor-------- this command also useful in interactive reports only. get cursor field is used for getting the value of field where the user has clicked. by using this field we can get the value and based on that value and by using hide statement we can display the relevant list for the user. its also used for setting the focus on particular field in a list . if helpful reward some points.

Insert: Inserts a single record modify: Modify existing record or if no record is there inserts a fresh record. Update: updates the existing record. Difference between AT NEW and ON CHANGE OF???? when a new record comes at new triggers.
atnew only used inside loop and endloop. on change of works same like at-new but the diff is it can be used out side of a loop,like select and endselect,case

endcase.
The Major difference between the two is that AT NEW can be

used ONLY for INTERNAL TABLES, while on change of can be used for any loop processing i.e do..enddo, while..endwhile

and loop..endloop also.

RE: what is "VIEW" in SAP Terminology? In SAP terminology VIEW means restrictions given to the data, There are four types of views available are 1. Projection, 2. Database, 3. Maintenance and 4. Help view. The view which you said is not 'VIEW' but it is 'IVIEWS'. Hope it is useful, Need response from you... What is an ABAP? ABAP (Advanced Business Application Programming) is a high level programming language created by the German software company SAP. It is currently positioned as the language for programming SAP's Web Application Server, part of its NetWeaver platform for building business applications. Its syntax is somewhat similar to COBOL. What is an ABAP data dictionary? ABAP 4 data dictionary describes the logical structures of the objects used in application development and shows how they are mapped to the underlying relational database in tables/views. What are domains and data element? Domains:Domain is the central object for describing the technical characteristics of an attribute of an business objects. It describes the value range of the field. Data Element: It is used to describe the semantic definition of the table fields like description the field. Data element describes how a field can be displayed to end-user. What is foreign key relationship? A relationship which can be defined between tables and must be explicitly defined at field level. Foreign keys are used to ensure the consistency of data. Data entered should be checked against existing data to ensure that there are now

contradiction. While defining foreign key relationship cardinality has to be specified. Cardinality mentions how many dependent records or how referenced records are possible. Describe data classes. Master data: It is the data which is seldom changed. Transaction data: It is the data which is often changed. Organization data: It is a customizing data which is entered in the system when the system is configured and is then rarely changed. System data:It is the data which R/3 system needs for itself. What are indexes? Indexes are described as a copy of a database table reduced to specific fields. This data exists in sorted form. This sorting form ease fast access to the field of the tables. In order that other fields are also read, a pointer to the associated record of the actual table are included in the index. The indexes are activated along with the table and are created automatically with it in the database. Difference between transparent tables and pooled tables.

Transparent tables: Transparent tables in the dictionary has a one-to-one relation with the table in database. Its structure corresponds to single database field. Table in the database has the same name as in the dictionary. Transparent table holds application data. Pooled tables. Pooled tables in the dictionary has a many-to-one relation with the table in database. Table in the database has the different name as in the dictionary. Pooled table are stored in table pool at the database level. What is an ABAP/4 Query? ABAP/4 Query is a powerful tool to generate simple reports without any coding. ABAP/4 Query can generate the following 3 simple reports: Basic List: It is the simple reports. Statistics: Reports with statistical functions like Average, Percentages. Ranked Lists: For analytical reports. - For creating a ABAP/4 Query, programmer has to create user group and a functional group. Functional group can be created using with or without logical database table. Finally, assign user group to functional group. Finally, create a query on the functional group generated. What is BDC programming? Transferring of large/external/legacy data into SAP system using Batch Input programming. Batch input is a automatic

procedure referred to as BDC(Batch Data Communications). The central component of the transfer is a queue file which receives the data vie a batch input programs and groups associated data into sessions. What are the functional modules used in sequence in BDC? These are the 3 functional modules which are used in a sequence to perform a data transfer successfully using BDC programming: BDC_OPEN_GROUP - Parameters like Name of the client, sessions and user name are specified in this functional modules. BDC_INSERT - It is used to insert the data for one transaction into a session. BDC_CLOSE_GROUP - This is used to close the batch input session. What are internal tables? Internal tables are a standard data type object which exists only during the runtime of the program. They are used to perform table calculations on subsets of database tables and for re-organizing the contents of database tables according to users need. What is the differences between structure and table in data dictionary in ABAP? Structure and table both are 2/2 matrices but there are many differences between table and structure. 1. Table can store the data physically but a structure dose not store. 2. Table can have primary key but a structure dose not have. 3. Table can have the technical attribute but a structure dose not have. structure doesn't contain technical attributes. structure doesn't contain primary key. structure doesn't stores underline database level. What is the difference between collect and sum? SUM. When processing an internal table in a block starting with LOOP and concluded by ENDLOOP , SUM calculates the control totals of all fields of type I , F and P (see also ABAP/4 number types ) and places them in the LOOP output area (header line of the internal table or an explicitly specified work area). When you use SUM in a LOOP with an explicitly specified output area, this output area must be compatible with the line type of the internal table.When using LOOP to process a sorted extract (see SORT ), the control total of f at the end of the

group appears in the field SUM(f) - - if f is type I , F or P . COLLECT. COLLECT is used to create unique or compressed datsets. The key fields are the default key fields of the internal table itab . If you use only COLLECT to fill an internal table, COLLECT makes sure that the internal table does not contain two entries with the same default key fields. If, besides its default key fields, the internal table contains number fields,the contents of these number fields are added together if the internal table already contains an entry with the same key fields. If the default key of an internal table processed with COLLECT is blank, all the values are added up in the first table line. If you specify wa INTO , the entry to be processed is taken from the explicitly specified work area wa . If not, it comes from the header line of the internal table itab . After COLLECT , the system field SY-TABIX contains the index of the - existing or new - table entry with default key fields which match those of the entry to be processed. COLLECT can create unique or compressed datasets and should be used precisely for this purpose. If uniqueness or compression are unimportant, or two values with identical default key field values could not possibly occur in your particular task, you should use APPEND instead. However, for a unique or compressed dataset which is also efficient, COLLECT is the statement to use. If you process a table with COLLECT , you should also use COLLECT to fill it. Only by doing this can you guarantee that the internal table will actually be unique or compressed, as described above and COLLECT will run very efficiently. If you use COLLECT with an explicitly specified work area, it must be compatible with the line type of the internal table. How we format the data before before write statement in report ? We can format the reports output by using the loop events like:

1.at first 2.at new 3.at last etc check docu What is the difference between Table and Template? table is a dynamic and template is a static When do we use End-of-selection? End-of-selection event are mostly used when we are writing HR-ABAP code. In the HR-ABAP code, data is retrived in the Start-of-selection event and Printing on the list and all will be done in End-of-selection event. In events start-of-selection is default event. When we have to use this event explicitly? Why? The default event in the ABAP is Start-of-selection.We have to call explicitely this event when you are writing other than ths event , that is when you write AT SELECTION-SCREEN EVENTS OR INITIALIZATION EVENT etc,you have to explicitely mention the Start-of-selection event while you are writing the logic. Before these events called ,all the code you have written come into this default Start-of-selection screen event. What is the differences between ABAP and OOABAP. In which situation we use OOABAP? OOABAP is used to develop BSP/PCUI applications and also anthing involved object oriented like BADIs, SmartForms..etc.where as ABAP is used to develop traditional programs in R/3. What is table buffer? Which type of tables used this buffer? buffer is nothing but a memory area. table is buffered means that table information is available on application server. when you call data from database table it will come from application server. transperent and pooled tables are buffered. cluster tables can not buffered. What is the use of pretty printer ? Exactly where can we link the functional module to abap coding.

Pretty Printer is used to format the ABAP Code we write in ABAP Editor ,like KEY WORDS in Capitals and remaining are in small letters which is also depend on system settings. We can call the function module in the ABAP Code .Press the Pattern button on Appl. tool bar then u will get box where u write the function module NAME which u want to call in the code by selecting the radio button CALL FUNCTION. In this way we link function module to ABAP Code. What is the difference between SAP memory and ABAP memory? Answer1: data sending between main sessions using get parameter and set parameter is sap memory data sending between internal sessions using import or export parameters is abap memory Answer2: sap memory is a global memory whereas abap memory is local memory. For example, we have four programs in abap memory and assigned some varibles to a particular program in abap memory then those varibles can't be used by anyother program in abap memory i.e., the variables are only for that program and also local to that memory,whereas sap memory can access all the abap memory or else it can perform any kind of modifications. Answer3: SAP memory is available to the user during the entire terminal session. ABAP memory is available to the user during life time of external session. What is the difference between Type and Like? Answer1: TYPE, you assign datatype directly to the data object while declaring. LIKE,you assign the datatype of another object to the declaring data object. The datatype is referenced indirectly. Answer2: Type is a keyword used to refer to a data type whereas Like is a keyword used to copy the existing properties of already existing data object.

Answer3: type refers the existing data type like refers the existing data object What is Tcode SE16. For what is it used. Explain briefly? Answer1: SE16 is a T-code for object browser. Generally used to search the fields of SAP Tables . and respective data. Answer2: se16 is a data browse and it is used to view the contents of the table and we cannot change or append new fields to the existing structure of the table as we cannot view the structure level display using the se16 What are different ABAP/4 editors? What are the differences? The 2 editors are se38 and se80 both have the abap editor in place. In se38 you can go create programs and view online reports and basically do all thedevelopmet of objects in this editor. In se80 ( object navigator) there are additional features such as creating packages,module pool , function group ,classes, programs ( where you can create ur programs) and BSP applications . What is difference between dialog program and a report? Report is a excecutable program Dialog is a module pool program.It has to be executed via a transaction only. Dialog programming is used for customization ofscreens How do you connect to the remote server if you are working from the office for the client in remote place. WAS web application server or ITS are generally used for this purpose. If you are sitting at your office with a server which is in the system and the other server is at the clients place you can generate IDOC, intermidiate documents which carry the data you want to transfer or the documents you want to transfer, these IDOC are interpretted by the system at the recieving end with the message class with which it is bound with. If you want to logon a system which is very distant..then remote login can be used this depends on the internet speed. Explain about roll area , Dispatcher, ABAP-Processor. Answer1:

Roll area is nothing but memory allocated by work process. It holds the information needed by R/3 about programs execution such as value of the variables. Dispatcher :All the requests that come from presentation server will be directed first to dispatcher. Further dispatcher sends this requests to work process on FIFO(First In and First Out) basis. Answer2: Dispatcher recieves the request from client and assigns the request to one of the work process. Roll area: Each workprocess works in a particular memory that memory is known as Role Area, which consists of User context and session data. ABAP- Processor :is an interpretor which can execute logic Which one is not an exit comand ? (Exit, cencle, stop, back) STOP. Effect :The statement STOP is only to be used in executable programs EXIT. Effect :If the EXIT statement is executed outside of a loop, it will immediately terminate the current processing block. BACK. Effect : This statement positions the list cursor on the first position of the first line in a logical unit. So "Cancle" is not an exit command What is Field symbol ? Answer1: You can use field symbols to make the program more dynamic. In this example the name of a table control is substituted by a field symbol. Thus you cal call the form with any internal table, using the name of the table control as a parameter. Example form insert_row using p_tc_name. field-symbols <tc> type cxtab_control. "Table control

assign (p_tc_name) to <tc>. * insert 100 lines in table control <tc>-lines = 100. Answer2: fieldsymbol has the same concept as pointer in c, fieldsymbol don't point to a data type like char, num instead of that it points to the memory block. the syntax for fieldsymbol is FIELD-SYMBOL <N>. EG. FOR FIELD SYMBOL. DATA: DAT LIKE SY-DATUM, TIM LIKE SY-UZEIT, CHAR(3) TYPE C VALUE 'ADF'. FIELD-SYMBOL : <FS>. MOVE DAT TO <FS>. WRITE:/ <FS>. MOVE TIM TO <FS>. WRITE:/ <FS>. MOVE CHAR TO <FS>. WRITE:/ <FS>. The output will be Today's date current time What is lock object ? LockObjects used to synchornize access of several users using same data. Why BAPI need then BDC ? BAPI"S provide the standard interface to other applications apart from SAP and within differnt vesions of SAP too. Also it is OOD bases so dosen"t depends on screen flow. BDC gets failed if we make changes for screen changes through IMG customization

What are the advantages and disadvantages of using views in ABAP programming ? advantages: view is used to retrieve the data very fastly from the database tables *memory wastage is reduced *faster than joins to retrieve the data from database tables disadvantages: view is not a container,it will not hold the data *view memory is not permanent memory How data is stored in cluster table? A cluster table conatins data from mulitple DDIC tables. It stores data as a name value pair ( varkey, vardata) Have you used performance tuning? What major steps will you use for these? First of all tunning can be done In three ways: disk i/o ,sql tunning , memory tunning, Before tunning u have to get the status of your database using Oracle utility called statpack , tkprof, then you should go for tunning How to create client independent tables? client independent tables: the table in which the first field is not mandt is the client independent tables *mandt is the field with mandt as the data element *automatically client which we login is populated to mandt What type of user exits have you written? there are four types 1.function exit 2.menu ixit 3.screen exit. 4.field exit. these are the user exits

How can you debug a script form? SE71 -> give the form name -> utilities -> activate debugger How do we debug sapscript? First we need to put Break point in Print program where ever you want to stop the execution. After in SE71 give your form name and go to Utilities-->Active De-bugger. Then go to your transcation like VF03(for Invoice or Credit memo) etc to see the print preview or print the form execute it. When you execute it the the form Debugging will get activated and you can see your Form execution step by step. What are the different types of data dictionary objects? Answer1 Data Dictionary Objects * Tables * Views * Domain * Data Element * Type Groups * Search Helps/Matchcode Objects * Lock objects * Structures * Table Types Answer2 the dictionary objects are: domain dataelements tables views structures typegroups

search helps lock objects etc which are data base related objects in sap What is the step by step process to create a table in data dictionary? Answer1 steps to create database tables 1.go to se11 2.give name the database table 3.give short description for the table 4.Give delivery class name as A and data browser / table view maint as Display/maintenence allowed 5.select fields tab 6.give field name data type(user defined element type/built-in-type),short text 7.select technical settings tab ,give data class as appl0 and size category as 0 8.save it 9.go utillities menu click table contents select create and enter the field values then select display in table contents and u can view the table values with field lables Answer2 bottom to top approach: _________________________ step 1: creating a domain: *se11,select the object type as domain ,name it ,create,description,enter the datatype and length(size),save ,activate step2: creating a dataelement; se11,select the object type as :date element,name it ,create,desc,assign it with a domain what we created now,save,activate it. step3: creating a table; se11,select the object type as table,name it, create, enter the field name and assign it with the data element instead of assigning a datatype to it, like this create req fields: on behalf of this:

table maintainence: assign the type of the table ie.,A C G L S NEXT maintaince: allowed,not allowed ,allowed with restricions ______________________________________________ fields of a table:(as descripted above) ___________________________________________ techical settings: A0 OR A1 AND BUFFERED OR NON-BUFFERED Can a transparent table exist in data dictionary but not in the data base physically? Answer1 NO. TRANSPARENT TABLE DO EXIST WITH THE SAME STRUCTURE BOTH IN THE DICTIONARY AS WELL AS IN THE DATABASE,EXACTLY WITH THE SAME DATA AND FIELDS. No, at the point you will activate your table a same transparent table is going to be create in database Answer2 Yes, a transparent table(definition) can exist in the data dictionary and not in the database. In this case, it is not activated What are the domains and data elements? domains: ___________ domains are the dictionary objects that are assigned with constants and data types data elements: ______________

data elements are dictionary objects that are assigned with the domains. uses:' * data elements are used to create relation between tables. * data elements are used to transfer the data from one R/3 to another R/3. * to create search helps. What is a collect statement? How is it different from append? APPEND : IT IS USED TO GET THE RECORD FROM THE INTERNAL TABLE HEADER TO THE BODY AREA IT ALLOWS DUPLICATION COLLECT: IT IS USED TO A GET A RECORD FROM HEADER TO THE BODY AREA BUT IT WILL NOT ALLOW ANY DUPLICATION EXCEPT IF THERE IS ANY NUMERIC FIELS IT ADDS THAT FIELDS DATA BUT NOT AS A NEW RECORD On ABAP: Did you set up a workflow? Are you familiar with all steps for setting up a workflow? Yes. Execute the Txn SWDD(Creating a new Workflow). In the header of the Workflow, define the Business Object and Event you refer to for triggering the Wf. Create the Steps required for your workflow(Activity). Inside the Activity, Create the task and assign the Business Object and the related method for that business object. Activate the Workflow. In the select statement what is group by? Group by clause is used to fetch the data from the table by the specified field ex.select count (*) from emptable group by deptno where deptno = 1. It is used to find the number of employees present in the specified department no. How can I copy a standard table to make my own z_table? WE CAN CREATE A STRUCTURE LIKE THE SAME STRUCTURE AS DATABASE TABLE AND WE CAN USE SELECT* FROM DATABASE TABLE INTO TABLE ITAB

OR INSERT INTO ITAB VALUES DATABASE TABLE From Excel to ABAP - Is batch mode possible ? DATA w_file TYPE string. * Convert the file path into string w_file = p_input. * Internal Table should have same field sequence as EXL File. CLEAR t_upload. REFRESH t_upload. * Call function to upload the data into internal table CALL FUNCTION 'GUI_UPLOAD' EXPORTING filename = w_file filetype = 'ASC' has_field_separator = 'X' TABLES data_tab = t_upload EXCEPTIONS file_open_error = 1 file_read_error = 2 no_batch = 3 gui_refuse_filetransfer = 4 invalid_type = 5 no_authority = 6 unknown_error = 7 bad_data_format = 8 header_not_allowed = 9 separator_not_allowed = 10 header_too_long = 11

unknown_dp_error = 12 access_denied = 13 dp_out_of_memory = 14 disk_full = 15 dp_timeout = 16 OTHERS = 17. IF sy-subrc NE 0. * MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno * WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ELSE. * Delete the first row of heading from the uploaded table DELETE t_upload INDEX 1. ENDIF. " IF sy-subrc EQ 0.

Posted: Fri Jan 05, 2007 3:30 am

Post subject: ABAP Interview Question

Subject description: Is there any standard SAP report which gives a count of the number of times a program is executed ?

ABAP Interview Question

Q: Is there any standard SAP report which gives a count of the number of times a program is executed ?

A: Try transaction STAT

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 1st 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.

BDC

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/BDC is completed 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:

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

ABAP Interview Questions


1. What is an ABAP data dictionary?- ABAP 4 data dictionary describes the logical structures of the objects used in application development and shows how they are mapped to the underlying relational database in tables/views. 2. What are domains and data element?- Domains:Domain is the central object for describing the technical characteristics of an attribute of an business objects. It describes the value range of the field. Data Element: It is used to describe the semantic definition of the table fields like description the field. Data element describes how a field can be displayed to end-user. 3. What is foreign key relationship?- A relationship which can be defined between tables and must be explicitly defined at field level. Foreign keys are used to ensure the consistency of data. Data entered should be checked against existing data to ensure that there are now contradiction. While defining foreign key relationship cardinality has to be specified. Cardinality mentions how many dependent records or how referenced records are possible. 4. Describe data classes.- Master data: It is the data which is seldomly changed. Transaction data: It is the data which is often changed. Organization data: It is a customizing data which is entered in the system when the system is configured and is then rarely changed. System data:It is the data which R/3 system needs for itself. 5. What are indexes?- Indexes are described as a copy of a database table reduced to specific fields. This data exists in sorted form. This sorting form ease fast access to the field of the tables. In order that other fields are also read, a pointer to the associated record of the actual table are included in the index. Yhe indexes are activated along with the table and are created automatically with it in the database. 6. Difference between transparent tables and pooled tables.- Transparent tables: Transparent tables in the dictionary has a one-to-one relation with the table in database. Its structure corresponds to single database field. Table in the database has the same name as in the dictionary. Transparent table holds application data. Pooled tables. Pooled tables in the dictionary has a many-to-one relation with the table in database. Table in the database has the different name as in the dictionary. Pooled table are stored in table pool at the database level. 7. What is an ABAP/4 Query?- ABAP/4 Query is a powerful tool to generate simple reports without any coding. ABAP/4 Query can generate the following 3 simple reports: Basic List: It is the simple reports. Statistics: Reports with statistical functions like Average, Percentages. Ranked Lists: For analytical reports. - For creating a ABAP/4 Query, programmer has to create user group and a functional group. Functional group can be created using with or without logical database table. Finally, assign user group to functional group. Finally, create a query on the functional group generated. 8. What is BDC programming?- Transferring of large/external/legacy data into SAP system using Batch Input programming. Batch input is a automatic procedure referred to as BDC(Batch Data Communications).The central

component of the transfer is a queue file which receives the data vie a batch input programs and groups associated data into "sessions". 9. What are the functional modules used in sequence in BDC?- These are the 3 functional modules which are used in a sequence to perform a data transfer successfully using BDC programming: BDC_OPEN_GROUP Parameters like Name of the client, sessions and user name are specified in this functional modules. BDC_INSERT - It is used to insert the data for one transaction into a session. BDC_CLOSE_GROUP - This is used to close the batch input session. 10. What are internal tables?- Internal tables are a standard data type object which exists only during the runtime of the program. They are used to perform table calculations on subsets of database tables and for re-organising the contents of database tables according to users need. 11. What is ITS? What are the merits of ITS?- ITS is a Internet Transaction Server. ITS forms an interface between HTTP server and R/3 system, which converts screen provided data by the R/3 system into HTML documents and vice-versa. Merits of ITS: A complete web transaction can be developed and tested in R/3 system. All transaction components, including those used by the ITS outside the R/3 system at runtime, can be stored in the R/3 system. The advantage of automatic language processing in the R/3 system can be utilized to languagedependent HTML documents at runtime. 12. What is DynPro?- DynPro is a Dynamic Programming which is a combination of screen and the associated flow logic Screen is also called as DynPro. 13. What are screen painter and menu painter?- Screen painter: Screen painter is a tool to design and maintain screen and its elements. It allows user to create GUI screens for the transactions. Attributes, layout, filed attributes and flow logic are the elements of Screen painter. Menu painter: Menu painter is a tool to design the interface components. Status, menu bars, menu lists, F-key settings, functions and titles are the components of Menu painters. Screen painter and menu painter both are the graphical interface of an ABAP/4 applications. 14. What are the components of SAP scripts?- SAP scripts is a word processing tool of SAP which has the following components: Standard text. It is like a standard normal documents. Layout sets. - Layout set consists of the following components: Windows and pages, Paragraph formats, Character formats. Creating forms in the R/3 system. Every layout set consists of Header, paragraph, and character string. ABAP/4 program. 15. What is ALV programming in ABAP? When is this grid used in ABAP?- ALV is Application List viewer. Sap provides a set of ALV (ABAP LIST VIEWER) function modules which can be put into use to embellish the output of a report. This set of ALV functions is used to enhance the readability and functionality of any report output. Cases arise in sap when the output of a report contains columns extending more than 255 characters in length. In such cases, this set of ALV functions can help choose selected columns and arrange the different columns from a report output and also save different variants for report display. This is a very efficient tool for

dynamically sorting and arranging the columns from a report output. The report output can contain up to 90 columns in the display with the wide array of display options. 16. What are the events in ABAP/4 language?- Initialization, At selection-screen, Start-of-selection, end-ofselection, top-of-page, end-of-page, At line-selection, At user-command, At PF, Get, At New, At LAST, AT END, AT FIRST. 17. What is CTS and what do you know about it?- The Change and Transport System (CTS) is a tool that helps you to organize development projects in the ABAP Workbench and in Customizing, and then transport the changes between the SAP Systems and clients in your system landscape. This documentation provides you with an overview of how to manage changes with the CTS and essential information on setting up your system and client landscape and deciding on a transport strategy. Read and follow this documentation when planning your development project. 18. What are logical databases? What are the advantages/ dis-advantages of logical databases?- To read data from a database tables we use logical database. A logical database provides read-only access to a group of related tables to an ABAP/4 program. Advantages: i)check functions which check that user input is complete, correct,and plausible. ii)Meaningful data selection. iii)central authorization checks for database accesses. iv)good read access performance while retaining the hierarchical data view determined by the application logic. dis advantages: i)If you donot specify a logical database in the program attributes,the GET events never occur. ii)There is no ENDGET command,so the code block associated with an event ends with the next event statement (such as another GET or an END-OF-SELECTION). 19. What is a batch input session?- BATCH INPUT SESSION is an intermediate step between internal table and database table. Data along with the action is stored in session ie data for screen fields, to which screen it is passed, program name behind it, and how next screen is processed. 20. How to upload data using CATT ?- These are the steps to be followed to Upload data through CATT: Creation of the CATT test case & recording the sample data input. Download of the source file template. Modification of the source file. Upload of the data from the source file. 21. What is Smart Forms?- Smart Forms allows you to create forms using a graphical design tool with robust functionality, color, and more. Additionally, all new forms developed at SAP will be created with the new Smart Form solution. 22. How can I make a differentiation between dependent and independent data?- Client dependent or independent transfer requirements include client specific or cross client objects in the change requests. Workbench objects like SAPscripts are client specific, some entries in customizing are client independent. If you display the object list for one change request, and then for each object the object attributes, you will find the flag client specific. If one object in the task list has this flag on, then that transport will be client dependent.

23. What is the difference between macro and subroutine?- Macros can only be used in the program the are defined in and only after the definition are expanded at compilation / generation. Subroutines (FORM) can be called from both the program the are defined in and other programs . A MACRO is more or less an abbreviation for some lines of code that are used more than once or twice. A FORM is a local subroutine (which can be called external). A FUNCTION is (more or less) a subroutine that is called external. Since debugging a MACRO is not really possible, prevent the use of them (I've never used them, but seen them in action). If the subroutine is used only local (called internal) use a FORM. If the subroutine is called external (used by more than one program) use a FUNCTION. 24. What is a breakpoint ? Breakpoint is used to help the user scrutinize how the system behaves at a certain point in the ABAP code. At that point the system goes into debug mode. This breakpoint is useful in investigating how routines and requirements function. By accessing the routine source code and setting a breakpoint at its execution point, a user can follow the routine through each step. <!--[if !supportLists]-->25. <!--[endif]-->What is a CATT ? CATT means Computer Aided Test Tool. It is SAP's tool for processing transactions automatically. CATT is used in bringing in data, such as a mass maintenance of the material master in EXCEL, from an application to modify master data. <!--[if !supportLists]-->26. <!--[endif]-->What is a user exit ? User exit is a point in an SAP program at which a customer's own program can be called. User exits allow developers to access program components and data objects in the standard system. There are two types of user exits user exits that use includes (customer enhancements that are called from the program) and user exits that use tables, which are used and managed directly via customizing. <!--[if !supportLists]-->27. <!--[endif]-->What is a client ? Client in a SAP work environment is the highest organizational structure. Many clients can be found in each system. QA (quality analysis) and Development are clients in Training and Production system. <!--[if !supportLists]-->28. <!--[endif]-->What is an authorization ? Authorization gives an SAP user permission to perform a given set of transactions.

<!--[if !supportLists]-->29. <!--[endif]-->Who is a user ? Anyone who is given access to the SAP system by the system (basis) administrator is known as a user. <!--[if !supportLists]-->30. <!--[endif]-->What is a variant ? When executing a program, different selection parameters may be used. These selection parameters are stored in the SAP system as variants. <!--[if !supportLists]-->31. <!--[endif]-->What is a SQL trace ? SQL trace records all open, prepare, fetch, execute and actual SQL statements and the duration time for each step in a procedure. <!--[if !supportLists]-->32. <!--[endif]-->What is master data ? Master data is used in an SAP system to represent the basic components of a procedure and to ensure data integrity throughout the SAP business process. This gaurantees that one common record is accessed for different procedures. Example - a customer master record may be referenced by more than one functional module : FI (financial) and SD (sales and distribution). 33. What is the IMG ? IMG is Implementation Guide that SAP system developers use to customize the client they are working in. 34. What is ASAP ? ASAP is Accelerated SAP, a project management software tool that is used on SAP implementations to guide the project through different phases. ASAP can take a project from the designing of the "blueprint" through to "going live". Accelerated SAP is SAP's total process-oriented solution for accelerated implementation and continuous optimization of R/3. 35. What are the core modules of SAP ? The core functional modules in SAP R/3 are Financial Accounting (FI) usually in combination with Controlling (CO) or Treasury (TR) - Human Resources (HR), and logistic modules : Sales and Distribution (SD), Materials Management (MM), Quality Management (QM), Plant Maintenance (PM), and Production Planning (PP). 36. What is the ABAP Workbench? ABAP Workbench is SAP's graphical programming environment. It is used to write ABAP code, design screens, create user interfaces, obtain database information, debug and test applications for effeciency. 37. In the SD document, what are the three levels of a sales document? Each sales document comprises of three main levels and each level is represented by a table that holds the data for

that level. Data for the header level is stored in table VBAK, data for the item levels is stored in table VBAP, and data for the schedule line level is stored in table VBEP. 38. What is a user profile? User profile is a set of authorizations that enable user access to certain parts of the SAP system. 39. What is a sales area ? Sales area is a segment that combines the sales organization, the distribution channel, and the sales division. 40. What is a logical database ? Logical database is an ABAP program that combines the contents of database tables. It is linked to an ABAP report program as one of the program attributes. It supplies the report program with a set of hierarchically structured table entires derived from different database tables. This saves the developer from having to program the data retrieval. 41. What is a requirement ? Requirement is a portion of code that is used to determine if a function or formula should be executed. 42. What is an ABAP Query ? ABAP Query is a reporting tool that uses a logical database (LDB), individual table, or combined tables to form a report. 43. What is a functional area ? Functional area is assigned to the query. It is the representation of a logical database or tables with their respective table joins. This defines which tables and fields the query can reference. 44. What is a batch input ? Batch input facility in SAP is a convenient tool for capturing data into SAP or updating large amounts of information in SAP transactions. The simplest way to utilize batch input is by : 1) Record the batch input for the transaction used to enter the data in SAP; 2) Then export the batch input recording to a text file. From the recording, you know what data is required. Create a spreadsheet or word processor document containing all the data to be captured or changed. Then mail merge the exported text file with the data in a word processing program. Finally, import the merged file, upload the file into SAP, and execute the batch input in SAP. 45. What is LIS ? LIS is Logistics Information System. LIS consists of following information systems Sales Information System Purchasing Information System Inventory Controlling Shop Floor Information System Plant Maintenance Information System

Quality Management Information System These information systems can be used to plan, control, and monitor business events at different stages in the decision-making process. They are flexible tools for collecting, aggregating, and analyzing data from the operative applications. 46. What is OSS ? OSS is an Online Service System which can be used to access information about a module in a given release. OSS is a database of notes on known issues and their remedies. Any user with a logon name and password can access this information. OSS can be used to obtain quick responses from the SAP help desk representatives, administration and registration of new users. 47. What is an SAP GUI ? GUI means Graphical User Interface. It is responsible for the graphical layout of the SAP software. GUIs in SAP R/3 differ from version to version of SAP. 48. What is the typical structure of an ABAP/4 program? ANS:HEADER ,BODY,FOOTER. 49. What are field symbols and field groups.? Have you used "component idx of structure" clause with field groups? ANS:Field symbols:- Field groups :50. What should be the approach for writing a BDC program? ANS:STEP 1: CONVERTING THE LEGACY SYSTEM DATA TO A FLAT FILE to internal table CALLED "CONVERSION". STEP 2: TRANSFERING THE FLAT FILE INTO SAP SYSTEM CALLED "SAP DATA TRANSFER". STEP 3: DEPENDING UPON THE BDC TYPE i)call transaction(Write the program explicity) ii) create sessions (sessions are created and processed.if success data will transfer). 51. <!--[if !supportLists]-->What is a batch input session? ANS:BATCH INPUT SESSION is an intermediate step between internal table and database table. Data along with the action is stored in session ie data for screen fields, to which screen it is passed,program name behind it, and how next screen is processed.

52. <!--[if !supportLists]--><!--[endif]-->What is the alternative to batch input session? ANS:Call transaction. 53. <!--[if !supportLists]--><!--[endif]-->A situation: An ABAP program creates a batch input session. We need to submit the program and the batch session in back ground. How to do it? ANS:go to SM36 and create background job by giving job name,job class and job steps (JOB SCHEDULING) 54. <!--[if !supportLists]--><!--[endif]-->What are the problems in processing batch input sessions? How is batch input process different from processing online? ANS:PROBLEMS:i) If the user forgets to opt for keep session then the session will be automatically removed from the session queue(log remains). However if session is processed we may delete it manually. ii)if session processing fails data will not be transferred to SAP database table. 55. <!--[if !supportLists]--><!--[endif]-->What are the different types of data dictionary objects? ans:tables, structures, views, domains, data elements, lock objects, Matchcode objects. 56. <!--[if !supportLists]--><!--[endif]-->How many types of tables exists and what are they in data dictionary? ans :4 types of tables i)Transparent tables - Exists with the same structure both in dictionary as well as in database exactly with the same data and fields. Both Opensql and Nativesql can be used. ii)Pool tables & iii)Cluster tables These are logical tables that are arranged as records of transparent tables.one cannot use native sql on these tables (only opensql).They are not managable directly using database system tools. 57. iv)Internal tables - . 58. <!--[if !supportLists]--><!--[endif]-->What is the step by step process to create a table in data dictionary? ans:step 1: creating domains(data type,field length,range). step 2: creating data elements(properties and type for a table field). step 3: creating tables(SE11).

59. <!--[if !supportLists]--><!--[endif]-->Can a transparent table exist in data dictionary but not in the data base physically? ANS:- NO. TRANSPARENT TABLE DO EXIST WITH THE SAME STRUCTURE BOTH IN THE DICTIONARY AS WELL AS IN THE DATABASE,EXACTLY WITH THE SAME DATA AND FIELDS. 60. <!--[if !supportLists]--><!--[endif]-->What are the domains and data elements? ANS:DOMAINS : FORMAL DEFINITION OF THE DATA TYPES.THEY SET ATTRIBUTES SUCH AS DATA TYPE,LENGTH,RANGE. DATA ELEMENT : A FIELD IN R/3 SYSTEM IS A DATA ELEMENT. 61. <!--[if !supportLists]--><!--[endif]-->Can you create a table with fields not referring to data elements? ANS:YES. eg:- ITAB LIKE SPFLI.here we are referening to a data object(SPFLI) not data element. 62. <!--[if !supportLists]--><!--[endif]--> What is the advantage of structures? How do you use them in the ABAP programs? ANS:Adv:- GLOBAL EXISTANCE(these could be used by any other program without creating it again). 63. <!--[if !supportLists]--><!--[endif]-->What does an extract statement do in the ABAP program? ANS:Once you have declared the possible record types as field groups and defined their structure, you can fill the extract dataset using the following statements: EXTRACT . When the first EXTRACT statement occurs in a program, the system creates the extract dataset and adds the first extract record to it. In each subsequent EXTRACT statement, the new extract record is added to the dataset EXTRACT HEADER. When you extract the data, the record is filled with the current values of the corresponding fields. As soon as the system has processed the first EXTRACT statement for a field group , the structure of the corresponding extract record in the extract dataset is fixed. You can no longer insert new fields into the field groups and HEADER. If you try to modify one of the field groups afterwards and use it in another EXTRACT statement, a runtime error occurs. By processing EXTRACT statements several times using different field groups, you fill the extract dataset with records of different length and structure. Since you can modify field groups dynamically up to their first usage in an EXTRACT

statement, extract datasets provide the advantage that you need not determine the structure at the beginning of the program. 64. What is a collect statement? How is it different from append? ANS:If an entry with the same key already exists, the COLLECT statement does not append a new line, but adds the contents of the numeric fields in the work area to the contents of the numeric fields in the existing entry. 65. <!--[if !supportLists]-->What is open sql vs native sql? ANS:Open SQL , native SQL are the interfaces to create the database applicatons. Open SQL is consistant across different types of existing Databases. Native SQL is the database language specific to database.Its API is specific to the databse. Open SQL API is consistent across all vendors 66. <!--[if !supportLists]--><!--[endif]-->What does an EXEC SQL stmt do in ABAP? What is the disadvantage of using it? ANS:67. <!--[if !supportLists]--><!--[endif]-->What is the meaning of ABAP/4 editor integrated with ABAP/4 data dictionary? ANS:68. <!--[if !supportLists]--><!--[endif]-->What are the events in ABAP/4 language? ANS:Initialization, At selection-screen,Start-of-selection,end-of-selection,top-of-page,end-of-page, At line-selection,At user-command,At PF,Get,At New,At LAST,AT END, AT FIRST. 69. <!--[if !supportLists]--><!--[endif]-->What is an interactive report? What is the obvious diff of such report compared with classical type reports? ANS:An Interactive report is a dynamic drill down report that produces the list on users choice. diff:a) THE LIST PRODUCED BY CLASSICAL REPORT DOESN'T allow user to interact with the system the list produced by interactive report allows the user to interact with the system. b) ONCE A CLASSICAL REPORT EXECUTED USER LOOSES CONTROL.IR USER HAS CONTROL. c) IN CLASSICAL REPORT DRILLING IS NOT POSSIBLE.IN INTERACTIVE DRILLING IS POSSIBLE.

70. <!--[if !supportLists]--><!--[endif]-->What is a drill down report? ANS:Its an Interactive report where in the user can get more relavent data by selecting explicitly. 71. <!--[if !supportLists]--><!--[endif]-->How do you write a function module in SAP? describe. ANS:creating function module:called program - se37-creating funcgrp,funcmodule by assigning attributes,importing,exporting,tables,exceptions. calling program - SE38-in pgm click pattern and write function name- provide export,import,tables,exception values. 72. <!--[if !supportLists]--><!--[endif]-->What are the exceptions in function module? ANS:COMMUNICATION_FAILURE SYSTEM_FAILURE 73. <!--[if !supportLists]--><!--[endif]-->What is a function group? ANS:GROUP OF ALL RELATED FUNCTIONS. 74. <!--[if !supportLists]--><!--[endif]-->How are the date and time field values stored in SAP? ANS:DD.MM.YYYY. HH:MM:SS 75. <!--[if !supportLists]--><!--[endif]-->Name a few data dictionary objects? //rep// ANS:TABLES,VIEWS,STRUCTURES,LOCK OBJECTS,MATCHCODE OBJECTS. 76. <!--[if !supportLists]--><!--[endif]-->What happens when a table is activated in DD? ANS:It is available for any insertion,modification and updation of records by any user. 77. <!--[if !supportLists]--><!--[endif]-->What is a check table and what is a value table? Check table will be at field level checking. Value table will be at domain level checking ex: scarr table is check table for carrid. 78. <!--[if !supportLists]--><!--[endif]-->What are match codes? describe? ans:It is a similar to table index that gives list of possible values for either primary keys or non-primary keys. 79. <!--[if !supportLists]--><!--[endif]-->What transactions do you use for data analysis? ANS:-

80. <!--[if !supportLists]--><!--[endif]-->What is table maintenance generator? ANS:81. <!--[if !supportLists]--><!--[endif]-->What are ranges? What are number ranges? ANS:max,min values provided in selection screens. 82. What are select options and what is the diff from parameters? <!--[if !supportLists]--><!--[endif]-->ANS:select options provide ranges where as parameters do not. SELECT-OPTIONS declares an internal table which is automatically filled with values or ranges of values entered by the end user. For each SELECT-OPTIONS , the system creates a selection table. SELECT-OPTIONS FOR . A selection table is an internal table with fields SIGN, OPTION, LOW and HIGH. The type of LOW and HIGH is the same as that of . The SIGN field can take the following values: I Inclusive (should apply) E Exclusive (should not apply) The OPTION field can take the following values: EQ Equal GT Greater than NE Not equal BT Between LE Less than or equal NB Not between LT Less than CP Contains pattern GE Greater than or equal NP No pattern. diff:PARAMETERS allow users to enter a single value into an internal field within a report. SELECT-OPTIONS allow users to fill an internal table with a range of values. For each PARAMETERS or SELECT-OPTIONS statement you should define text elements by choosing Goto - Text elements - Selection texts - Change. Eg:- Parameters name(30). when the user executes the ABAP/4 program,an input field for 'name' will appear on the selection screen.You can change the comments on the left side of the input fields by using text elements as described in Selection Texts. 83. <!--[if !supportLists]-->How do you validate the selection criteria of a report? And how do you display initial values in a selection screen?

ANS:validate :- by using match code objects. display :- Parameters default 'xxx'. select-options for spfli-carrid. 84. <!--[if !supportLists]-->What are selection texts? <!--[if !supportLineBreakNewLine]--> <!--[endif]--> 85. <!--[if !supportLists]-->What is CTS and what do you know about it? <!--[if !supportLineBreakNewLine]--> <!--[endif]--> 86. The Change and Transport System (CTS) is a tool that helps you to organize development projects in the ABAP Workbench and in Customizing, and then transport the changes between the SAP Systems and clients in your system landscape. This documentation provides you with an overview of how to manage changes with the CTS and essential information on setting up your system and client landscape and deciding on a transport strategy. Read and follow this documentation when planning your development project. For practical information on working with the Change and Transport System, see Change and Transport Organizer and Transport Management System. 87. <!--[if !supportLists]-->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? ANS:88. <!--[if !supportLists]-->What is the client concept in SAP? What is the meaning of client independent? ANS:89. <!--[if !supportLists]-->Are programs client dependent? ANS:Yes.Group of users can access these programs with a client no. 90. <!--[if !supportLists]-->Name a few system global variables you can use in ABAP programs? ANS:SY-SUBRC,SY-DBCNT,SY-LILLI,SY-DATUM,SY-UZEIT,SY-UCOMM,SY-TABIX..... SY-LILLI IS ABSOLUTE NO OF LINES FROM WHICH THE EVENT WAS TRIGGERED. 91. <!--[if !supportLists]-->What are internal tables? How do you get the number of lines in an internal table? How to use a specific number occurs statement? ANS:-

i)It is a standard data type object which exists only during the runtime of the program. They are used to perform table calculations on subsets of database tables and for re-organising the contents of database tables according to users need. ii)using SY-DBCNT. iii)The number of memory allocations the system need to allocate for the next record population. 92. How do you take care of performance issues in your ABAP programs? <!--[if !supportLists]-->Performance of ABAPs can be improved by minimizing the amount of data to be transferred. The data set must be transferred through the network to the applications, so reducing the amount OF time and also reduces the network traffic. Some measures that can be taken are: Use views defined in the ABAP/4 DDIC (also has the advantage of better reusability). - Use field list (SELECT clause) rather than SELECT *. - Range tables should be avoided (IN operator) - Avoid nested SELECTS. i)system tools ii)field symbols and field groups. ans:Field Symbols : Field symbols are placeholders for existing fields. A Field Symbol does not physically reserve space for a field,but points to a field which is not known until runtime of the program. eg:- FIELD-SYMBOL []. Field groups : A field group combines several fields under one name.At runtime,the INSERT command is used to define which data fields are assigned to which field group. There should always be a HEADER field group that defines how the extracted data will be sorted,the data is sorted by the fields grouped under the HEADER field group.

93. What are datasets? ANS:The sequential files(ON APPLICATION SERVER) are called datasets. They are used for file handling in SAP. 94. <!--[if !supportLists]-->How to find the return code of a statement in ABAP programs? ANS:Using function modules. 95. <!--[if !supportLists]-->What are interface/conversion programs in SAP? ANS : CONVERSION : LEGACY SYSTEM TO FLAT FILE. INTERFACE : FLAT FILE TO SAP SYSTEM. 96. <!--[if !supportLists]-->Have you used SAP supplied programs to load master data? 97. <!--[if !supportLists]-->What are the techniques involved in using SAP supplied programs? Do you prefer to write your own programs to load master data? Why? 98. <!--[if !supportLists]-->What are logical databases? What are the advantages/disadvantages of logical databases? ANS:To read data from a database tables we use logical database. A logical database provides read-only access to a group of related tables to an ABAP/4 program. advantages:The programmer need not worry about the primary key for each table.Because Logical database knows how the different tables relate to each other,and can issue the SELECT command with proper where clause to retrieve the data. i)An easy-to-use standard user interface. ii)check functions which check that user input is complete,correct,and plausible. iii)meaningful data selection. iv)central authorization checks for database accesses. v)good read access performance while retaining the hierarchical data view determined by the application logic. disadvantages:i)If you donot specify a logical database in the program attributes,the GET events never occur. ii)There is no ENDGET command,so the code block associated with an event ends with the next event statement (such as another GET or an END-OF-SELECTION).

99. <!--[if !supportLists]-->What specific statements do you using when writing a drill down report? ans:AT LINE-SELECTION,AT USER-COMMAND,AT PF. 100. <!--[if !supportLists]-->What are different tools to report data in SAP? What all have you used? ans:101. <!--[if !supportLists]-->What are the advantages and disadvantages of ABAP/4 query tool? 102. <!--[if !supportLists]-->What are the functional areas? User groups? and how does ABAP/4 query work in relation to these? 103. <!--[if !supportLists]-->Is a logical database a requirement/must to write an ABAP/4 query? 104. <!--[if !supportLists]-->What are Change header/detail tables? Have you used them? 105. <!--[if !supportLists]-->What do you do when the system crashes in the middle of a BDC batch session? ans:we will look into the error log file (SM35). 106. <!--[if !supportLists]--><!--[endif]-->What do you do with errors in BDC batch sessions? ANS:We look into the list of incorrect session and process it again. To correct incorrect session we analyize the session to determine which screen and value produced the error.For small errors in data we correct them interactively otherwise modify batch input program that has generated the session or many times even the datafile. 107. <!--[if !supportLists]-->How do you set up background jobs in SAP? What are the steps? What are the event driven batch jobs? ans:go to SM36 and create background job by giving job name,job class and job steps(JOB SCHEDULING) 108. <!--[if !supportLists]-->Is it possible to run host command from SAP environment? How do you run? 109. <!--[if !supportLists]-->What kind of financial periods exist in SAP? What is the relavent table for that? 110. <!--[if !supportLists]-->Does SAP handle multiple currencies? Multiple languages? ans:-Yes. 111. <!--[if !supportLists]-->What is a currency factoring technique? 112. <!--[if !supportLists]-->How do you document ABAP/4 programs? Do you use program documentation menu option?

113. <!--[if !supportLists]-->What is SAPscript and layout set? ans:The tool which is used to create layout set is called SAPscript. Layout set is a design document. 114. <!--[if !supportLists]-->What are the ABAP/4 commands that link to a layout set? ans:control commands,system commands, 115. <!--[if !supportLists]-->What is output determination? 116. <!--[if !supportLists]-->What are IDOCs? ans:IDOCs are intermediate documents to hold the messages as a container. 117. What are screen painter? menu painter? Gui status? ..etc. <!--[if !supportLists]-->ans:dynpro - flow logic + screens. menu painter GUI Status - It is subset of the interface elements(title bar,menu bar,standard tool bar,push buttons) used for a certain screen. The status comprises those elements that are currently needed by the transaction. 118.What are screen painter? menu painter? Gui status? ans:dynpro - flow logic + screens. menu painter GUI Status - It is subset of the interface elements(title bar,menu bar,standard tool bar,push buttons) used for a certain screen. The status comprises those elements that are currently needed by the transaction. 119. What is screen flow logic? What are the sections in it? Explain PAI and PBO. ans:The control statements that control the screen flow. PBO - This event is triggered before the screen is displayed. PAI - This event is responsible for processing of screen after the user enters the data and clicks the pushbutton. 120. Overall how do you write transaction programs in SAP? ans:Create program-SE93-create transcode-Run it from command field.

121. Does SAP has a GUI screen painter or not? If yes what operating systems is it available on? What is the other type of screen painter called? 122. What are step loops? How do you program pagedown pageup in step loops? ans:step loops are repeated blocks of field in a screen. 123. Is ABAP a GUI language? ANS:Yes. ABAP IS AN EVENT DRIVEN LANGUAGE. 124. Normally how many and what files get created when a transaction program is written? What is the XXXXXTOP program? ans:ABAP/4 program. DYNPRO 125. What are the include programs? ANS:When the same sequence of statements in several programs are to be written repeadly they are coded in include programs (External programs) and are included in ABAP/4 programs. 126. Can you call a subroutine of one program from another program? ans:- Yes- only external subroutines Using 'SUBMIT' statement. 127. . What are user exits? What is involved in writing them? What precations are needed? 128. What are RFCs? How do you write RFCs on SAP side? 129. What are the general naming conventions of ABAP programs? ANS:Should start with Y or Z. 130. How do you find if a logical database exists for your program requrements? ans:SLDB-F4. 131. How do you find the tables to report from when the user just tell you the transaction he uses? And all the underlying data is from SAP structures? ans:Transcode is entered in command field to open the table.Utilities-Table contents-display. 132. How do you find the menu path for a given transaction in SAP?

ans:133. What are the different modules of SAP? ans:FI,CO,SD,MM,PP,HR. 134. How do you get help in ABAP? ans:HELP-SAP LIBRARY,by pressing F1 on a keyword. 135. What are different ABAP/4 editors? What are the differences? ans:136. What are the different elements in layout sets? ans:PAGES,Page windows,Header,Paragraph,Character String,Windows. 137. Can you use if then else, perform ..etc statements in sap script? ans:yes. 138. What type of variables normally used in sap script to output data? 139. How do you number pages in sapscript layout outputs? 140. What takes most time in SAP script programming? ANS:LAYOUT DESIGN AND LOGO INSERTION. 141. How do you use tab sets in layout sets? 142. How do you backup sapscript layout sets? Can you download and upload? How? 143. What are presentation and application servers in SAP? ANS:The application layer of an R/3 System is made up of the application servers and the message server. Application programs in an R/3 System are run on application servers. The application servers communicate with the presentation components, the database, and also with each other, using the message server. 144. <!--[if !supportLists]--> <!--[endif]-->In an ABAP/4 program how do you access data that exists on a presentation server vs on an application server? ans:i)using loop statements. ii)flat

145. <!--[if !supportLists]--> <!--[endif]-->What are different data types in ABAP/4? ans:Elementary predefined C,D,F,I,N,P,T,X. userdefined TYPES. ex: see in intel book page no 35/65 146. <!--[if !supportLists]--> <!--[endif]-->Structured predefined TABLES. userdefined Field Strings and internal tables. 147. <!--[if !supportLists]--> What is difference between session method and Call Transaction? 148. <!--[if !supportLists]--> Setting up a BDC program where you find information from?

149. <!--[if !supportLists]--> What has to be done to the packed fields before submitting to a BDC session. ans:fields converted into character type. 150. <!--[if !supportLists]--> What is the structure of a BDC sessions. ans:BDCDATA (standard structure). 151. <!--[if !supportLists]--> What are the fields in a BDC_Tab Table. ans:program,dynpro,dynbegin,fnam,fval. 152. <!--[if !supportLists]--> What do you define in the domain and data element. Technical details like 153. <!--[if !supportLists]--> What is the difference between a pool table and a transparent table and how they are stored at the database level. ans:ii)Pool tables is a logical representation of transparent tables .Hence no existence at database level. Where as transparent tables are physical tables and exist at database level. 154. What is cardinality? For cardinality one out of two (domain or data element) should be the same for Ztest1 and Ztest2 tables. M:N Cardinality specifies the number of dependent(Target) and independent (source) entities which can be in a relationship

How many types of reports are there in ABAP and what is the difference between them? There are 2 type of reports. They are: 1. Interactive report 2. Classic reports In classic reports,we can see the output in single list where as in interactive reports we can see the output in multiple list.

[Edit section] Answer


In ABAP, there are a total of 7 types of reports. They are:

Classical Interactive Logical Database ABAP query ALV Reports (ALV stands for ABAP List Viewer) Report Writer/Report Painter Views (There are different types of views also)

[Edit section] Classical Reports


These are the most simple reports. Programmers learn this one first. It is just an output of data using the Write statement inside a loop.

Classical reports are normal reports. These reports are not having any sub reports. IT IS HAVING ONLY ONE SCREEN/LIST FOR OUTPUT.

Events In Classical Reports.

INTIALIZATION: This event triggers before selection screen display.

AT-SELECTION-SCREEN: This event triggers after proccesing user input still selection screen is in active mode. START OF SELECTION: Start of selection screen triggers after proceesing selection screen. END-OF-SELECTION : It is for Logical Database Reporting.

[Edit section] Interactive Reports


As the name suggests, the user can Interact with the report. We can have a drill down into the report data. For example, Column one of the report displays the material numbers, and the user feels that he needs some more specific data about the vendor for that material, he can HIDE that data under those material numbers. And when the user clicks the material number, another report (actually sub report/secondary list) which displays the vendor details will be displayed. We can have a basic list (number starts from 0) and 20 secondary lists (1 to 21). Events associated with Interactive Reports are: 1. 2. 3. 4. AT LINE-SELECTION AT USER-COMMAND AT PF<key> TOP-OF-PAGE DURING LINE-SELECTION.

HIDE statement holds the data to be displayed in the secondary list. sy-lisel : contains data of the selected line. sy-lsind : contains the level of report (from 0 to 21) Interactive Report Events:

AT LINE-SELECTION : This Event triggers when we double click a line on the list, when the event is triggered a new sublist is going to be generated. Under this event what ever the statements that are been return will be displayed on newly generated sublist. AT PFn: For predefined function keys... AT USER-COMMAND : It provides user functions keys. TOP-OF-PAGE DURING LINE-SELECTION :top of page event for secondary list.

[Edit section] Logical Database Reports


Logical database is another tool for ABAP reports. Using LDB we can provide extra features for ABAP reports. While using LDB there is no need for us to declare Parameters. Selection-screen as they will be generated automatically. We have to use the statement NODES in ABAP report. If there are many tables the Performance will be slow as all the table data will be read from top node to bottom node .

[Edit section] ABAP Query Reports


ABAP query is another tool for ABAP. It provides efficency for ABAP reports. These reports are very accurate. Transaction Code : SQ01
The advantage with ABAP QUERY is logic required for classic & interactive reports system design automatically 80%.

For ABAP QUERY handle these


SQ01 ; QUERY SQ02 : INFOSET OR FUNCTIONAL AREA SQ03: USER GROUP.

[Edit section] Report Writer


Key Concept : Super users and end users can use Report Painter/Report Writer tools to write their own reports. Giving them the ability to report on additional fields at their discretion shifts the report maintenance burden to them, saving SAP support groups time and effort normally spent creating and maintaining the reports. Instead of using ABAP code to write a report in FI and CO, many users build a Report Painter/ Report Writer library using transaction MC27. However, this workaround has some drawbacks. Little known transaction GRCT solves these problems in most cases, and eliminates the need to use transaction MC27.

[Edit section] ABAP Report Types


ABAP report types are those ones available in some report's attributes screen, i.e. :

Executable program Function group (containing function modules) Include Interface pool Class pool Module pool Subroutine pool

Also ALV means ABAP List Viewer. Most convenient way to use it is through reuse library (cf. transaction se83) available from release 4.6 of SAP R/3. ALV is available in two modes: list and grid. List mode is good old list processing with standard functionnalities, and grid mode is using a new OCX object displaying grids.

Вам также может понравиться