Sie sind auf Seite 1von 21

ABAP Technical Interview Questions & Answers

1. What information does the SAP data dictionary store? - Metadata 2. _____________ provides the interface between the ABAP dictionary and the underlying DBMS. Database Utility. 3. What are the basic objects of the ABAP Dictionary? tables, data elements and domains. 4. A field is not a dictionary object. True/False true 5. What are table fields defined by in SAP R/3? data elements and domains. 6. A domain specifies the _______________ and ________________ of a field. technical characteristics, allowed values 7. What represents the relationships between tables in the ABAP dictionary. Foreign keys 8. In order to have a foreign key relationship established in SAP, the fields involved must share the same ______________ and that ________________ must have a ___________________ specified. domain, domain, value table. 9. What is the difference between a value table and a check table? value table contains set of allowed values attached to a domain, check is that which is referenced by a foreign key. 10. When creating foreign key relationships you should always specify the ______________ cardinality of that relationship. 11. In the instance the primary of a check table has multiple values, what are the different types of assignments that may be made for each field while creating the foreign key relationship? field-by-field, assignment, partial foreign key, constant foreign key. 12. Name the 5 different table types in the SAP ABAP dictionary. transparent, structures, pool tables, cluster tables, views. 13. SAP stores __________ data and ____________ exclusively in transparent tables. master, transaction. 14. What type of data is stored by pool tables? control data e.g. screen sequences or program parameters. 15. Name the different data classes tables in the ABAP dictionary may be assigned to. master data (appl0), transaction data (appl1), organization and customizing data (appl2) and user data (user). 16. What are the different buffering types for tables? single record generic and full. 17. Groups of fields may be added to customer tables using ____________. substructures. 18. Groups of fields may be added to SAP delivered tables using ____________ and _____________. append structures and customizing includes. 19. In the case of nested structures upto how many nesting levels are allowed? 9 20. In a nested chain, TRANSP table types may exist a) once correct answer

b) twice c) thrice d) none of the above 21. What is the difference between an elementary search help and a collective search help? 22. Name the different points at which a search help might be attached in the exact order in which the system checks for them. field, table, data element. 23. The CLEAR <field> statement sets a field back to its default value True/False ans: false. 24. Explain in brief what happens if the logical outcome of a CHECK statement evaluates to false in case the CHECK statement is in a loop, outside a loop but within a subroutine and both outside a loop and outside a subroutine. 25. The ___________ statement unconditionally terminates a loop, subroutine or program. EXIT 26. An internal table type is defined using the ____________ statement wheras an internal table object is created using the _____________ statement. TYPES, DATA. 27. In case of internal tables, where user-defined key is used differentiate between unique and nonunique keys. additional records with the same key would be permitted in case of the latter. 28. If an internal table is created using the initial size addition then what problem is faced while using the statement APPEND <internal table> SORTED BY <field>? number of entries in the table exceeding the initial size clause are deleted. 29. Write the different variants of the READ TABLE clause. read table <internal table>, read table <internal table> with key <key>, read table <internal table> with key <key> binary search, read table <internal table> index <i>. 30. Differentiate between the CLEAR, REFRESH AND FREE internal table statements. clear initializes all fields in the header line, refresh deletes all table lines but the storage space is not released and header line remains unchanged and free releases the storage space for the table and the header line remains unchanged. 31. Name the three methods by which parameters may be passed to a subroutine. pass by value, pass by value and result and pass by reference. 32. ________ and ___________ are the two statements that can be used to define new variables within subroutines with type length and default values. data, statics 33. Name the 5 different types of work processes. dialog, update, enqueue, spool, background. 34. Name the different options available for scheduling jobs. immediate, date/time, after job, after event, at operation mode. 35. Which function module should be used for creating a local file when the user is not to be allowed to enter the file name and the file type. ws_download 36. When transferring data into the SAP system, we can refer to 2 types of transfers. Name them. conversions and interfaces. 37. Name the different fields of the BDCDATA structure along with their descriptions. 38. ABAP is an __________ programming language. event-driven

39. ________________________ event allows a programmer to display headers for detail lists. top-ofpage-during line-selection 40. Name the different events in ABAP reporting in the order in which they are triggered. 41. In all programs GUI refers to 5 components. Name them. Function key assignments, standard toolbar, application toolbar, menu bar and titlebar. 42. Which system field is automatically updated when the at line-selection event is triggered? Sy-lisel. 43. Which statement is used to store specific fields from the user s selected line? Hide 44. What syntax is used for storing the contents of a specified line number into the sy-lisel system field? read line 45. What check needs to be done in case of a read line statement to prevent endless looping? system field sy-subrc to be checked. 46. What syntax is used for retrieving both the field name and its value that the user selected on the report? get cursor field <variable 1> value <variable 2> 47. How can the default size of 132 columns be overridden in case a report? line-size command. 48. When you refer to any field in ABAP program component or flow logic it refers to the ___________ field and not the ___________ field. - program, screen. 49. All I/O templates are automatically checked by the system for _____________ and _____________ and I/O templates painted from the ABAP dictionary are checked for _____________ and _______________. required field, proper format, foreign key value, valid value. 50. Name the different types of messages. success, information, abend, exit, warning, error. 51. Which syntax is used for keeping screen fields open for input even after erroneous entries in case of dialog programming? chain endchain 52. Name the 2 types of locks as used in SAP. database locks and logical locks 53. Name the function module used for handling user-defined lock objects. enqueue dequeue 54. In the instance the dialog program leads from one screen to the next, the ___________ are carried forth while the ________________ are automatically released by the system. logical locks, database locks 55. Which two events are triggered by pressing the F1 and F4 keys respectively in Dialog Programming? POV and POH Requests

Question & Answers:


Ques 1 To execute a page break under the condition that less than a certain number of lines is left on a page is achieved by ? Ans RESERVE n lines. Ques2 In order to concatenate strings only for output purposes the command _________ can be used in conjunction with the 'Write' statement. Ans NO-GAP. Ques 3 Data can be moved from one field to another using a 'Write:' Statement and stored in the desired format. Ans TRUE. Write : Date_1 to Date_2 format DD/MM/YY. Ques 4 Background and foreground colors can be interchanged using the command Ans Format inverse. Ques5 How do I debug a program which is running in the background? Ans Go to SM51. Choose the server in which your background program is running. Place the cursor on the line which shows your program. Choose the menu option 'Debugging'. Depending on your version the menu option is in different places. If you have the correct authorizations, a window will pop up, with your program in the debugger Ques 6 What is Transaction name which can gives a count of the number of times a program has been executed ? Ans Transaction 'STAT' can provide the count Ques 7 In order to have boldfaced text as output the command used is Ans Write : <f> INTENSIFIED. Ques 8 What is the difference between Synchronous and Asynchronous updates ? Ans A program asks the system to perform a certain task, and then either waits or doesn't wait for the task to finish. In synchronous processing, the program waits: control returns to the program only when the task has been completed. In asynchronous processing, the program does not wait: the system returns control after merely logging the request for execution. Ques 9 How many lists can exist in parallel in an interactive reporting?

Ans An Interactive report can have 1 basic list and up to 20 Secondary lists. Ques 10 What are the main events an interactive report have? Ans 1.Top-of-page during line selection. 2. At line-selection. 3. At user-command. Ques 11 How can Symbols or R/3 icons be output on the screen? Ans WRITE <symbol-name> AS SYMBOL. WRITE <icon-name> AS ICON. Ques 12 How to specify a client for database table processing. Ans TABLES SPFLI. SELECT * FROM SPFLI CLIENT SPECIFIED WHERE MANDT BETWEEN '001' AND '003'. ... ENDSELECT. Ques 13 What is the difference between data elements and domain? Ans Data element A data element describes the contents of a field. For example, a data element contains the F1 help texts and the key word texts (field texts) for displaying the field on the screen. Several table fields with identical contents can refer to the same data element. Domain A domain describes the technical attributes of a table field. These technical attributes include the data type and the field length. Several fields with the same technical attributes can refer to the same domain. In this case, each of these fields has the technical attributes specified in this domain. Ques 14 Which data type cannot be used to define parameters. Ans Type F. Ques 15 When top of the page event is triggered? Ans After excuteing first write statement in start-of-selection event. Ques 16 What are the different types of programs? Ans I Include Program M Module Pool F Function Modules S External Subroutines 1 Online program Ques 17 What are presentation and application servers in SAP? Ans A presentation server is actually a program named Sapgui.exe. It is usually installed on a user s workstation. Application server is a set of executables that collectively interpret the ABAP/4 programs and manage the input & output for them. Ques 18 How do define a report Program? Ans A report program reads and analyzes data from one or more database tables without modifying the database. Usually, the result of such a report program is in the form of a list which is output to the screen or sent to a printer.

Ques 19 What are the events Usually used in a report program ? Ans: INITIALIZATION Triggered before the selection screen is displayed AT SELECTION-SCREEN Triggered after processing user input on the selection screen START-OF-SELECTION Triggered after processing the selection screen END-OF-SELECTION Triggered after processing all lines offered by the logical database. TOP-OF-PAGE Triggered during list processing when a new page is started END-OF-PAGE Triggered during list processing when a page is ended AT LINE-SELECTION Triggered at which the user selects a line AT USER-COMMAND Point at which the user presses a function key or enters a command in the command field. AT PF<nn> Point at which the user presses the function key with the function code PF<n> To execute a processing block before the selection screen is processed, the event INITIALIZATION is used. To execute a processing blocks while the system is processing selection screen, the event AT SELECTION-SCREEN is used. The main purpose of the selection screen is to enable the user to control the database selections of the report program. The selection screen is always processed directly after a report program is started. The user can enter field values defined with the PARAMETERS statement and selection criteria defined with the SELECT-OPTIONS statement on this screen. Ques 20 What are subroutines? Ans Subroutines are program modules which can be called from other ABAP/4 programs or within the same program. Ques 21 What are the different types of parameters a subroutine can have? Ans 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. Ques 22 What are the different methods of passing data? Ans Calling by reference: During a subroutine call, only the address of the actual parameter is transferred to the formal parameters. The formal parameter has no memory of its own, and we work with the field of the calling program within the subroutine. If we change the formal parameter, the field contents in the calling program also change. Calling by value: During a subroutine call, the formal parameters are created as copies of the actual

parameters. The formal parameters have memory of their own. Changes to the formal parameters have no effect on the actual parameters. The method by which internal tables are passed is By Reference. Ques 23 The Command that allows for vertical alignment of fields one below the other. Ans UNDER. Ques 24 Is ABAP/4 program client dependent or independent? Ans Independent. Ques 25 Is there a way to capture report output into one internal table? Ans Use SUBMIT ... EXPORTING LIST TO MEMORY. It saves the output of a report into memory. Use the function modules LIST_FROM_MEMORY, WRITE_LIST and DISPLAY_LIST. Does not display the output list of the called report, but saves it in ABAP memory and leaves the called report immediately. Since the calling program can read the list from memory and process it further, you need to use the addition ... AND RETURN . Also, since the called report cannot be requested for printing, the addition ... TO SAPSPOOL is not allowed here. You can read the saved list from SAP memory with the function module 'LIST_FROM_MEMORY' and then (for example) store it in the database with EXPORT. You can process this list further with the function modules 'WRITE_LIST', 'DISPLAY_LIST' ... of the function group "SLST". Ques 26 How can a radio button selection be based upon the value of another field on the report selection screen ? Ans Use the INITIALIZE event to set the initial defaults. Use AT SELECTION-SCREEN OUTPUT event to determine the value of the other field and based upon that set the radio button accordingly. Ques 27 How can a radio button selection be based upon the value of another field on the report selection screen ? Ans Use the INITIALIZE event to set the initial defaults. Use AT SELECTION-SCREEN OUTPUT event to determine the value of the other field and based upon that set the radio button accordingly. Ques 28 How a output only field can be changed to input enable depending upon the value in another screen field. Ans By using LOOP AT SCREEN and then MODIFY SCREEN Under PBO module of the flow logic of the screen, this can be achieved LOOP AT SCREEN. IF SCREEN-NAME EQ "<Name>". SCREEN-INPUT = 1. MODIFY SCREEN. ENDIF. ENDLOOP. Ques 29 What is the difference between the function module and a normal ABAP/4 subroutine? Ans In contrast to normal subroutines function modules have uniquely defined interface. Sub routines

do not return values. Sub routines do not return exceptions. Sub routines cannot be tested independently. Declaring data as common parts is not possible for function modules. Function modules are stored in a central library. Ques 30 What is a Spool request ? Ans Spool requests are generated during dialog or background processing and placed in the spool database with printer information.

Object Oriented ABAP Interview Questions:


1. Priniples of oops? 2. What is difference between procedural & OO Programming? 3. What is class? 4. What is object? 5. Can we instantiate a class within implementation of other class? 6. What is deferred key word ? 7. How we can refer to a class without defining it? 8. Can we put non declarative statement e.g. START-OF-SELECTION within a class 9. What is static attribute & method? 10. How to create a global class ? 11. How can we pass importing parameter ? pass by value/pass by reference 13. Can we changed pass by reference in any method ? 14. What is preferred parameter ? more than one optional & no mandatory 15. can we pass returing parameter by reference ? NO only pass by value 16. can static method use instance attribute ? 17. Can a method call itself? 18. What is me variable? 19. What is constructor ?What are type of constructor ?When it is called ? 20. Can we have export parameter in Instance constructor? 21. Can instance constructor raise exception ? 22. When static constructor is called? 23. Can we have interface for static class or constructor? 24. What is abstract class ? 25. Can we implement abstract method in abstract class ? if not then where it can be implemented? 26. What is final class & Method ? 27. Can subclass call super class constructor? 28. Can we call static constructor more than once in a program? 29. What is method redefinition? 30. What is interface ?

31. Can we implement interface in private section of any class ? 32. Is it mandatory to implement all the methods of interface ? 33. What is alias ? Instead of specifying full name of interface methods we can assign it a name which can directly trigger. 34. What is Friendship? 35. What is event handler method ? 36. Can we have more than one event handler method for same event ? 37. Can event have import parameter ? 38. How you handled exception during programming? 39. What is cleanup section ? 40. What is BADI? 41. What is check box for multiple use in BADI? 42. How to search a BADI ? 43. What is Value table and Check table, Difference between them? 44. What are secondary index s? 45. What is the draw back of secondary index s? 46. What are conversion routines? 47. At which level are they mantained? 48. what are Predeifined data types? 49. Which predefined data type uses conversion routines? 50. What are logical units of work? 51. When is difference btw native and open sql 52. Difference between Modify and Update 53. Which is more efficient for all entries or joins? 54. When is implicit commit triggered. 55. What are RFC? 56. How do u create a destination system? 57. What are different types of commits used? 58. What are search helps? 59. Types of tables? 60. Difference between pool tables and cluster tables? 61. What is a delivery class? 62. What are the types of delivery class? 63. Difference between System tables and control tables? 64. What is normalization? 65. What is BCNF? 66. What is persistant class?

CROSS APPLICATIONS INTERVIEW QUESTIONS & ANSWERS


RFC
1.What are the types of remote communications ? 2.communications between two independent SAP System 3.client-server communications between an SAP System acting as the client and an external server. 4. What is RFC? A remote function call is a call to a function module running in a system different from the caller's. The remote function can also be called from within the same system (as a remote call), but usually caller and callee will be in different systems.RFC is SAP's platform-independent core technology for all the three types of remote communications. 6. What is the statement used for calling RFC in ABAP/4 programs? Any ABAP/4 program can call a remote function using the CALL FUNCTION...DESTINATION statement. 7. RFC functions must be registered in SAP systems as _______________. Remote. 8. Destination parameter are defined in which table? Logical destinations are defined in the RFCDES table (or the TRFCD table in R/2 Systems) via transaction SM59 9. How to Call interfaces for non-SAP programs ? To help implement RFC partner programs in non-SAP Systems, SAP provides : The RFC Generator to create stub programs External Interfaces 10. What is RFC generator ? The function library in R/3 provides a facility for generating and then downloading RFC programs to a workstation or PC. This facility is the RFC Interface Generator. With this tool, you can create RFC stub programs (that call SAP function modules) and example programs (that show how to call stub programs). 11. What is RFC stub program? RFC stub programs contain all the parameter-handling and communications necessary to call SAP function modules from a non-SAP System. 12. What is RFC-API?

The RFC-API on OS/2, Windows, Windows NT and all R/3-based UNIX platforms makes it possible to use the RFC functionality between an SAP System (R/3 from Release 2.1 and R/2 from Release 5.0D onwards) and a C program on the above platforms. It is of no significance to the caller whether the remote function is provided in an SAP System or in a C program. 13. How does processing of RFC interface take place in ABAP/4? The RFC interface is effectively invisible to the ABAP/4 programmer. Processing for calling remote programs is built into the CALL FUNCTION statement. Processing for being called is generated automatically (in the form of an RFC stub) for every function module registered as remote. This stub serves as an interface between the calling program and the function module. 14. Distiningish between RFC client & RFC server. RFC client is the instance that calls up the Remote Function Call to execute the function that is provided by an RFC server. In the following, the functions that can be executed remotely will be called RFC functions and the functions provided via RFC API will be called RFC calls. All RFC functions available in a remote RFC server system, which are called by an RFC client, are processed transactionally. 15. When is RFC connection closed ? When the context of the calling ABAP/4 program has ended or explicitly by RfcAbort or RfcClose in the external program. 16. What is Transactional RFC? To make the execution of RFC functions reliable, safe and independent from the availability of the RFC server or RFC server system, the transactional RFC (tRFC) was introduced for R/3 systems from Release 3.0 onwards,data can be tranferred between two R/3 systems. This ensures that the called function module is executed only once in the RFC server system. 17. Where system logs the remote call request in DB tables? The system logs the remote call request in the database tables ARFCSSTATE and ARFCSDATA with all of its parameter values. You can display the log file using transaction SM58. When the calling program reaches a COMMIT WORK, the remote call is forwarded to the requested system for execution. Transactional RFC requests are transferred, with parameter data in byte-stream form, using TCP/IP or X400. 18. What are restrictions for Transactional calls? There are two restrictions on writing remote functions that are to be called transactionally: Transactional calls cannot return parameter values. As a result, the interface for these functions should not specify any EXPORT parameters. Functions that run transactionally may not perform call-backs: the caller's context does not necessarily

still exist when the call-back is relayed back to the original system. 19. What exceptions raise in a remote funcation? System raises COMMUNICATION_FAILURE and SYSTEM_FAILURE internally, there is no reason for you to raise them in your program. 20. How call-back mechanism used in RFC calls? You can trigger this call-back mechanism by using the special destination name "BACK". If this name is specified in an RFC call on the system acting as the server, the system uses the same RFC connection that was established when the server received the first call. Once an RFC connection is established, it is maintained until it is either explicitly closed or until the calling program terminates 21. What are technical requirements for RFC programming in ABAP/4? External Systems systems must support TCP/IP. OS/2: TCP/IP for OS/2 from IBM. Windows 3.1/3.11: All TCP/IP products that support the socket interface. Windows NT/95: Microsoft standard UNIX platforms: Manufacturer's standard The RFCSDK for the respective platforms contains the following libraries and includes: saprfc.h This include file contains all data types and structures required and the prototypes (declarations) of the RFC calls. sapitab.h This include file contains all the RFC calls required to manipulate internaltables librfc Depending on the platform, the following libraries are required: OS/2: librfc.dll and librfc.lib for Compile/Link Windows 3.1/3.11: librfc16.dll, librfc2.dll, librfc3.dll, librfc4.dll and librfc5.dll and librfc16.lib for Compile/Link Windows NT/95: librfc32.dll and librfc32.lib for Compile/Link UNIX-Platforms: librfc.a SAP R/3 Systems For RFC between external systems and R/3, there are no specific requirements in the R/3 System, except that the R/3 System has to be Release >= 2.1. 24: 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 is e1mbxyh and e1mbxyi. EDI/IDOC

ALE-IDOCS
25.What is the difference between Messages and Message Types? (IN EDI) Messages: display message to hel0p analyze errors that occurred during the allocation run. Message types: define the business document and also defines the logic of the selection and posting programs. Q:26 We created an EDI Vendor and created all required output conditions. However no IDOC is generated when PO is printed. Why? A: Go to Header->output for the PO. The output type shall be '6'. The status shall be '1'. If the status is '0' check the timing. If the status is 2 , go to 'GOTO->Processing Log' and the explanation for nongeneration of IDOC can be seen. Q:27 How can we create / upload IDOC's from legacy system to SAP? A: Third party tool Mercator may be used to convert Legacy files to Idoc format. Mercator provides an IDOC tree import facility, SAP provides the export facility. You can transfer the Idoc layouts from SAP to Mercator automatically and then map. Q:28 We want to receive an outbound EDI 855 IDOC only if E2EDP20 -scheduling confirmation segment is present. Else get an "error" status preventing triggering the EDI subsystem. A: User exit logic has to be added in function IDOC_INPUT_ORDRSP. # Set up a test flag and set it off when the IDOC header is read. # Turn the flag ON when the EDP20 segment is read. # Interrogate this flag when the next segment after EDP20 in the same IDOC comes in. If it is on, you have an EDP20 coming in. # Issue an error status 51 with suitable message for whichever condition you don't want the IDOC to be processed, this will stop the IDOC from posting. Q:29 Where ever PO is sent to the vendor via EDI, we want an acknowledgement of the PO by vendor. Which fields are updated and what should be my procedure? A: Execute Program: IDOC_INPUT_ORDRSP Process code: ORDR Message type: ORDRSP IDOC: ORDERS01 The confirmation process allows the supplier to return an acknowledgment. Only Dates and quantities can be changed The information is stored in the PO and can be viewed via Item->Confirmation>Overview. The PO can be flagged as 'confirmation required' so that Pos without acknowledgement receipt can be monitored. Control keys and tolerances (days and quantities) have to be customized.

ALE Q:30 Our IDOC remains in status 51 (not posted) while testing ALE setup by passing DEBMAS02 IDocs. The message 'Field KNA1-BRSCH is not an input field'. This is the Industry key. What are we missing? A: Go to IMG - menu path IMG->Logistics General-> Logistics Basic Data: Business partners->Customers> Control->Define Account groups and field selection for customer. Select sold-to or ship-to. Select General Data. Select control and double click. Industry key is found here. Change the option to 'Optional Entry'. Check OSS 5599. You may have to update view V_T078D also.

ALE is SAP proprietary technology that enables data communications between two or more SAP R/3 systems and/or R/3 and external systems. When a new enterprise resource planning (ERP) solution such as R/3 is implemented, companies have to interface the ERP system with legacy systems or other ERP systems. ALE provides intelligent mechanisms where by clients can achieve integration as well as distribution of applications and data. ALE technology facilitates rapid application prototyping and application interface development, thus reducing implementation time. The ALE components are inherently integrated with SAP applications and are robust, leading to a highly reliable system. ALE comes with application distribution/integration scenarios as well as a set of tools, programs, data definitions, and methodologies that you can easily configure to get an interface up and running.

ENHANCEMENTS 31. What are the different ways in which you can make changes to SAP standard software ? Customizing Enhancements to the SAP Standard Modifications to the SAP Standard Customer Development

32. What is customizing ? Customizing is the setting of system parameters via SAP's own interface. 33. Why do you need enhancements ? The standard applications do not offer some of the functionality you need. The R/3 enchancement concept allows you to add your own functionality to SAP's standard business applications. 34. What are the different types of enhancements ? Enhancements using customer exits Customers' potential requirements which are not included in the standard software are incorporated in the standard as empty modification 'shells'. Customers can then fill these with their own coding. Enhancements can relate to programs, menus and screens. Upward compatibility is assured. In other words, SAP guarantees that the jump from the standard software to the exit and the interface which call the exit will remain valid in future releases. Enhancements to ABAP/4 Dictionary elements These are ABAP/4 Dictionary enhancements (creation of table appends), text enhancements (customerspecific key words and documentation for data elements) and field exits (creation of additional coding for data elements). 35. What is customer development ? Creating customer-specific objects within the customer name range. 36. What is SSCR ? SSCR (SAP Software Change Registration) is a procedure, for registering all manual changes to SAP source coding and SAP Dictionary objects. 37.What is the difference between modifications and enhancements ? Modifications mean making changes to the SAP standard functionality. Enhancements mean adding some functionality to SAP standard functionality. 38. What are the disadvantages of modification ? Modifying standard code can lead to errors Modifications mean more work during software upgrades 39. What are the advantages of enhancements ? Do not affect standard SAP source code Do not affect software upgrades

40. when do you opt for modification ? Customer exits are not available for all programs and screens within the R/3 standard applications. You can only use exits if they already exist within the SAP R/3 System . Otherwise you have to opt for modifications . 41. What are the various types of customer exits ? Menu exits Screen exits Function module exits Keyword exits 42. What is a menu exit ? Adding items to the pulldown menus in standard R/3 applications . 43.What is a screen exit ? Adding fields to the screens within R/3 applications. SAP creates screen exits by placing special subscreen areas within a standard R/3 screen and calling a customer subscreen from within the standard dynpro's flow logic. 44. What is a function module exit ? Adding functionality to R/3 applications. Function module exits play a role in both menu and screen exits. 45. What is a keyword exit ? Add documentation to the data elements of key words defined in the ABAP/4 Dictionary. The system displays this documentation whenever a user presses F1 to get online help for a screen field. 46. How do SAP organizes its exits ? SAP organizes its exits in packages that are called SAP enhancements. Each SAP enhancement can contain many individual exits. 47. What is an add-on project ? To take advantage of the exits available within standard R/3 applications, you need to create an add-on project. This project lets you organize the enhancement packages and exits you want to use. The add-on project also allows you to hang add-on functionality onto the exit hooks contained with SAP enhancements. Q48: What is the difference between a user exit and a customer exit? Do I need to get some kind of access key from SAP to do a user exit? Ans:Strictly speaking a user exit is any place within standard SAP, where SAP have added a mechanism for client specific code to be executed.

Customer exits are maintained with transaction CMOD. They are constructed in such a way that all development is in the customer name range, so no access keys are required. Most other types of exits require an access key, as they are places where you can put your own code directly into standard SAP. For example, in Sales Order Processing, SAPMV45A, a number of user exits can be found in include MV45AFZZ. To modify this, however, you would need an access key from SAP for this include. If you wanted to utilize the screen exits available in Sales Order Processing, you would need an access key for SAPMV45A. VOFM transaction manages many user exits. When a VOFM exit is created, two access keys are required. One for the include in which the code will be, and one of the function group in which it sits.

BAPI
BAPIs provide a stable, standardized method for third-party applications and components to integrate into the Business Framework. These interfaces are being specified as part of SAP's initiative with customers, partners and leading standards organizations. Also, SAP has implemented the emerging Object Application Group (OAG) specifications with BAPIs.

Q50: what we have to take care of explicitly in BAPi s when you code directly in ABAP and make changes in the database and want to commit the database. Ans: commit work statement has to be added.

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. 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 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. 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 sesstion 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 seperate session will crate for errors. Calll 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 is 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.

Das könnte Ihnen auch gefallen