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.

These BAPIs are class methods. Tables assigned to a table pool or table cluster are referred to as pooled tables or cluster tables. The Cancel() BAPI is an instance method. for example. a purchase order. indexed table and hash table are internal tables. The data from several different tables can be stored together in a table pool or table cluster. the BAPI Cancel() cancels an instance of a business object type.Methods and Events.Create( ) and CreateFromData! ( ) The BAPIs Create() and CreateFromData() create an instance of an SAP business object type. Cancel ( ) Unlike the BAPI Delete(). 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. These BAPIs are instance methods. Table Clusters Several logical data records from different cluster tables can be stored together in one physical record in a table cluster. The instance to be cancelled remains in the database and an additional instance is created and this is the one that is actually canceled. a purchase order. 5)Table pools (pools) and table clusters (clusters) are special table types in the ABAP Dictionary. . for example.Function module has a single bound functionality while a BAPI object can contain many functionalities 4) Transparent table. Attributes. Pool table and cluster table are data dictionary table objects sorted table. Key Fields. Bapi Function Modules can be attached to these Bapi objects . The definition of a pool consists essentially of two key fields (Tabname and Varkey) and a long argument field (Vardata). Delete( ) and Undelete( ) The BAPI Delete() deletes an instance of an SAP business object type from the database or sets a deletion flag. 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. Change( ) The BAPI Change() changes an existing instance of an SAP business object type. The BAPI Undelete() removes a deletion flag. RFC can acces the SAP from outside only through BAPI and same is for vice versa access. The BAPI Change () is an instance method. 2) No it is not possible to connect SAP to Non-SAP systems to retrieve data using RFC alone. 3) Each Bapi Object has Interface. These BAPIs are instance methods.

Control information on the structure of the data string is still written at the beginning of the Vardata field. It can also be used for communications between modules on the same system. a standardized BAPI must be used in preference to an individual BAPI. RFC can acces the SAP from outside only through BAPI and same is for vice versa access. RFC is used for communications between two independent SAP systems. REPORT Z_1 . Whenever possible. 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. that is. Sample Prog: This does nothing. If the data does not fit into the long field. You cannot access a hashed table using its index. The response time for key access remains constant. It is not possible to connect SAP to NonSAP systems to retrieve data using RFC alone. continuation records are created. RFC is the protocol used by SAP for remote communication. 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. A cluster also contains a long field (Vardata) that contains the contents of the data fields of the cluster tables for this key. hashed tables always have a unique key. regardless of the number of table entries. such as an external application. These BAPIs should be implemented the same for all business object types. while RFC are direct system call Some BAPIs provide basic functions and can be used for most SAP business object types. tables: mara. Like database tables. data: i type hashed table of mara with unique key matnr 7) and 8) ABAP objects are root for your program and reports. Standardized BAPIs are easier to use and prevent users having to deal with a number of different BAPIs. Using . In this case you only specify the business object and its method from external system in BAPI there is no direct system call. or for communications between an SAP system and a non-SAP system. RFC Vs BAPI BAPI are RFC enabled function modules. for communications between remote (independent) systems. the difference between RFc and BAPI are business objects. 6) Hashed tables This is the most appropriate type for any table where the main operation is key access.A cluster key consists of a series of freely definable key fields and a field (Pageno) for distinguishing continuation records.

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. 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. Calll Transaction will update the Database fastly compare with Session Method. There are many difference between Session method and Call Transaction. Eg: if SY-UCOMM = 'X'. Thus Select Single will take much processing time when compare with Select UPTO 1 rows. Refresh will deletes the Internal Table content but still memory is not freed. We can do this by BDCMSGCOLL structure. This type of user actions can be captured thru PICK Statement only. In Session method seperate session will crate for errors. Select UPTO 1 Rows will end the search after getting the 1st satisfied record and gives that record to the program.the RFC interfaces you can extend the functionality of R/3 applications from an external program. 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. . To clear the Intertal Table Hearder as well Body we can use Clear ITAB [ ] statement. 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. Mainly Call Transaction used for small sets of data because in Call Transaction we have to Handle the Processing errors explicitly. What is the pick statment do? Pick Statemnt will captures the UserAction. Which method we have to use will be found based on Volume Of data and Accuracy of data given.

9.%7..2  .0.425.97.0 1:11071470.59:70/97:!$9.3/$00.38.3/.90147077478 .94381742.709$00.3/. -0.943  1$ &    %895041:807.-0.9810//.943 :5/.9890/1107039-9003.3.0.0-09003$00.7/07.088307747805.3:80  %070.%.3/8:55480:80/4302094/9497.3/-73.$9.394:1107 .  $00.9.2  $00.9810/70.804/0.801.-..3/090!74.3-0.7.9/..38147290/.9./07.3997..%.38.9890/1107039-0900380889432094/.9079.3:800.89.089.439039  %4.9  0.:803.9430.90808843.7%( 89..9$3080.90203943  .094.38147290/.0.9/..9$309.088392003.9.2  %:8$00.03 .9$30.9&!% 7488%0&8.:7.47/.2094/0.9.%...0949.79039079.3/ ..59:70890&807..9.902039.9432094/ ..98905..147.7.9090.3/:59443074/1107039 %0.94905747.9438.-00.425.789.902039  #01708/009089039073.943  ...47/94905747.0-09003$088432094/..38.02:..9.1907099390898..0.90203980.%7.7%%8$9.439039-:9892024783491700/  ..908.47/110703.98830.9..%7..3/110703.7.702.9..79039073.9:70  3$088432094/80507.9 &!% 748   .3 09073.574..70950841.094:80-014:3/-.943:80/14782..970.809841/.2094/.709$08843094/  .41/.9&!% #4803/9080..3/.3/498-$ 897:.3/701708 %070.80/43'4:20 1/.89.38.3:80 0.9.90239.7.%7.-00.3/ .92039/4 !..3099208:55480 .5747.55...38.

Sign up to vote on this title
UsefulNot useful