Tuesday, May 8, 2018

SAP ABAP- DDIC OBJECT DETAILS ONE.



  SAP DDIC object details one.


1)    What are the technical properties of a table and explain about them?
Ans:-  There are 7 types of tech. properties .They are
a)    Delivery Class: - It is used to control the Transport of the table data.
                             It is used to specify the type of the table.
Ø  We mostly use the delivery class 'C'.
Ø  In case of delivery class 'A' the table can maintained in any system (development, quality, production systems) using SM30.
 b) Data Browser/table view maintenance: - This property is used to specify the whether the  table can be maintained or not.
Ø  We mostly use “Display/maintenance allowed “option.
Ø  In case of the option Display/maintenance allowed with restrictions & Display or maintenance not allowed, the custom table or Maintenance view can’t be maintained. 
 c) Data Class:- It is used to specify the type of the data to be maintained in the table.
Ø  We mostly use APPL0 or APPL1.
Ø  APPL0 – Master data – Access frequently & updated (changed) rarely. Ex: D.O.B
Ø  APPL1 – Transactional data – Access frequently & updated frequently. Ex: Sal
Ø  Organization & Customizing data – Updated rarely. Ex: Company Codes
 d) Size Category: - It is used to specify the initial space required for the table in the data base.
Ø  We mostly use '0' category. ( 0 – 7 ) -> [ 0 – 7100]
Ø  If the user tries to enter a record over that the selected range, the system will increase the size category into a next category (0 to 1).
 e) Buffering: - It is used to control (reduce) the traffic in the data base when the table accessed by the multiple users.
Ø  We mostly use the mode “Buffering not allowed " – Table Can’t be buffered
Ø  Buffering allowed but Switched Off – Buffering allowed but not activated
Ø  Buffering Switched on – The table can be buffered. In case of this option any one of the buffering types should be selected.
·         Single record buffering: In case of this buffering type, record by record is buffered from the database tables.
·         Generic Area buffer: It is used to buffer the table data based on the specified key fields. In case of this buffering type, the no. of key fields must be specified.
·         Fully buffer: The entire table is buffered.
 f) Enhancement category: - It is used to enhance the particular fields of the table.
Ø  We mostly use “Can be enhanced (DEEP)”.
g) Table Maintenance generator: - It is used to maintain multiple entries & validate the table data using the T-code SM30.

Q) What is table buffer? Which type of tables used this buffer?
Ans: 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. Transparent tables and pool tables are buffered, while cluster table  cannot be buffered.


Q: WHAT IS TABLE BUFFERING AND ADVANTAGE?
a:TABLE BUFFERING IS USED TO IMPROVE PERFORMANCE OF OPEN SQL STATEMENTS.
BUFFERING IS OF THREE TYPES.
1) SINGLE RECORD BUFFERING
2) GENERIC BUFFERING
3) FULL BUFFERING
The frequently retrieved data from the database can be stored in application server as buffer data, so it will not hit the database to get the data. So the execution of the program will be fast. These data can be defined as buffered data of table while creating a table.

2) What are the steps to create TMG?
Ans: -     a) Execute SE11
        b) Select the Radio button DB Table
         c) Provide the Table name & click on change
         d) Click on utilities menu item.
         e) Click on Table Maintenance Generator.
         f) Select the auth. group as &NC& (without authorization group)
Ø  Authorization group is used to control the user access.
        g)  Provide the function group as your table name
Ø  The function group must be specified. Since, the system generates the screen & the corresponding source code for the table maintenance under the function group.
        h) Select the one-step radio button.
Ø  In case of one step maintenance, the system generates ‘single’ overview screen to maintain & display the data.
Ø  In case of two step maintenance, the system generates 2 screens to create a single entry at a time & display to create a data in another screen. Two step maintenance is the default option.
          i) Enter overview screen number (could be any). [4 digit only]
          j) Click on create icon (F6) & Click on save icon (package: $TMP -> Save)
         k) Press Enter button & Click on Local Object & Click on Back icon.

3) What are the differences between Include structure and Append structure?
            .INCLUDE Structure
.APPEND Structure
1. It can be inserted at any position.
1. It can insert only at end of the table.
2. It is not possible with the standard tables
2. It is possible to insert structure for both  
    Standard & Custom tables
3. All the steps of Include structure must be    
    saved in either our own package or $TMP
3. All the steps of Append structure must be
    saved in our own package
4. The table must be in change mode
4. It can be inserted in Display mode also
5. It is possible to add the additional fields manually   after Include structure
5. It is not possible to add the additional fields  manually after Append structure
6. It can be used for multiple tables
6. It is specific to particular table/structure

4) What are the events in TMG?
Ans: Validation can be done by Table events using SM30. Totally 38 events are there in TMG.
         1. Before saving the data in the database.
         2. After saving the data in the database.
         3. Before deleting the data displayed.
         4. After deleting the data displayed.
         5. Creating a new entry.

5) What is the purpose of Table Maintenance Generator (TMG)?
Ans: - It is used to maintain (Change, create, modify) the custom tables using the standard T-Code--SM30.

q:If i have 6 fields in our ztables, But when i would like to  display the contents, then only 4 fields would be come up, HOW IT WILL Handle?
a:In se11 go to table -> select contents -> select settings-> select -> format list -> choose fields -> choose which fields you want to display(select check boxes)
By this we can display which fields we want to display remaining fields will hide.

6) What are the types of data base tables and differences between them?
Ans: - There are 3 types of data base tables.
      1) Transparent tables: - One to One relationship – Can be Join with Other Transparent tables
      2) Pooled tables: - Many to One relationship.
      3) Cluster tables: - Many to One relationship.
Ø  We mostly use transparent tables.
Transparent Tables (VBAK)
Pooled Tables (TTDTG)
Cluster tables (BSEG)
1. They have one-one
    Relationship with the data
    base tables
Many – One
Many – One
2. Secondary indexes can be       
    Created.
Not Possible
Not Possible
3. Both Open & native SQL
    Can be used.
Only Open SQL
Only Open SQL
4.The Table name ,fields name    and no .of fields are similar
    in DDIC and Data base
Table names and filed names are different in Data base
Table names and filed names are different in Data base
5.It Follows both Binary and
   linear Search
It follows Binary Search
 It follows  Linear Search
6. It is mirror image of DB Table
 
 It is stored with another set of        tables called table pool
It is stored with another set of
tables called  Cluster Pool
7. Foreign keys can be created
Foreign keys can’t be created since key field names are different in DDIC & Table pool
Foreign keys can’t be created since key field names are different in DDIC & Table pool
8. Can be joined with other Transparent tables
Can’t be used with Joins, Since they are already set of tables
Can’t be used with Joins
Open SQL: It is a set of statements which can interact with any kind of database.
Native SQL: It is specific to the particular database & it hits the database directly.

7) How data is stored in cluster table?
Ans: A cluster table contains data from multiple DDIC tables. It stores data as a name value pair (varkey, vardata).

8) Is it possible to create custom transaction code to maintain the table? If yes, how to create it?
Ans: - Yes, We can create by using the custom T-Code using SE93.

9) How to identify the standard tables? (Indications)
Ans:-     1) The tables which doesn't start with Z or Y.
             2) The tables which can't be seen in the CHANGE mode.

10) How to see the relationship between the tables?
Ans:-   1) Using SQVI T-Code.
           2)    While maintain data in the child table (Foreign key relationship).

11)  What is Where Used List?
Ans: It is used to list out all the dependent objects & know the usage of the particular object.
Ø  The T-code SQVI is used to check the relationships between the tables.

 12)  Can we add/Enhance additional customer specific field vales to standard domains?
Ans: Yes, the standard domains can be enhanced to add, additional customer specific fixed values  & intervals using the Menu path: Go to -> Fixed Value Append at Domain level.

13) How many types of Indexes are there and explain about them?
Ans:-  Indexes are used to avoid the duplicate data while accessing the table. Indexes can also be used for better performance while extracting the data the tables. There are 2 types of Indexes.
1)    Primary index: It is generated by the system using the key field of the tables.
 Key fields hold the unique data (Implicit Indexes).
2)    Secondary Index: These are created and maintained by the Technical Consultants/ABAP’er.
 We can create 9 secondary indexes per table. We can create the secondary indexes for both custom & standard tables. It can be defined by both key & non key filed combination.

Q) How to make SELECT statement to make use of any particular secondary index?
Ans:TABLES: spfli.
DATA : t_spfli LIKE spfli OCCURS 0 WITH HEADER LINE.
SELECT * FROM spfli
  INTO TABLE t_spfli
  %_HINTS ORACLE 'INDEX("SPFLI" "SPFLI~001")'.
LOOP AT t_spfli.
  WRITE :/ t_spfli.
ENDLOOP.


14) What are the differences between Check table and Value table?
 Check table
Value table
1. It is maintained at the TABLE level.
1. It is maintained at the DOMAIN level.
2. It can be used to extract the data in the     
    Programs.
2. It can't be used to extract data since it is linked
    With the domain.
3. The Search Help is displayed from the  
    Check  table on the foreign key field of a  
    Foreign key table.
3. The Search Help is displayed on each field  
     which is linked with the same domain of the  
     Value table.
4. It forces the user to select any one of the
    check table field entries
4. It does not force the user since it has empty   value by default.

15) What are the types of Views and explain about them?
Ans: - Views are the virtual/imaginary tables. It does not contain the data permanently.
           View contains the data at Run time only.                  
1)    Database View: - It is used to combine the multiple tabled data by joining them. It can be Used to extract the data in the programs.
2)    Maintenance View: - It is used to maintain multiple table’s data using the T-code SM30 (TMG).
3)    Help View: - It is used in the selection method in an Elementary Search Help to provide the List of possible entries from the multiple tables.                 
4)    Projection View: - It is used to HIDE the unwanted fields of the table. It can be 
                               Defined using one table only.

16) What are the Search Help, types and explain about them?
Ans: - It is used to provide all the possible entries to the input variable as search help.
     1) Elementary Search help: - It is created using one base table.
     2) Collective Search help: - It is the collection of Elementary Search help.
         Search Help Exit: It is a Function module to filter possible entries of a search help.
         It is used to modify the F4 values at run time. 
Ø  They are used to restrict the standard search help returned values according to user’s requirement.
Ex: when User 1 require only material type as finished goods & User 2 require only material type as Raw material. For this scenario we can use.
Ø  To restrict the values for material by material type search help name is : MAT1T_E

18) Is it possible to create a table/structure without creating any data element and domains?
Ans:-  Yes , we can create using the predefined types.
           It is used to create the table without using Data Elements/Domains.
Ø  If the table or structure is created using predefined types, the ‘+’ symbols are appeared while maintaining the table instead of field labels (Headings).
Ø  Reusability is not possible with the Predefined Types.      
Ø  Foreign key relationship is cannot be created since it doesn’t contains Domains.

19) What are the Lock objects and explain about the different lock modes?
Ans:- They are used to control the parallel access for the same data by the multiple users. It avoids  
          the concurrency access of multiple users on the same Database.
Ø  The custom lock object name should start with 'E' followed by the table name.
Ex: - E < ZB16_Student >.
Ø  It generates two function modules one start with ENQUEQE and other start with DEQUEQE.
Ø  ENQUEQE -  Request  for Lock
Ø  DEQUEQE -To Release the Lock
Types of Locks:
1)    Write/Exclusive: The locked data can be accessed by single user only. All other Lock requests are rejected.
2)    Read/Shared:  The multiple users can access the same data at the same time. If no user tries to edit the data, all other users cannot access this data.
3)    Exclusive but not Cumulative: It can be requested only once by the given transaction
      Codes. All other lock requests are rejected.
SM12: This T-code is used to list out the locked objects & to delete the locked objects.

20) What are the difference between Table and Structure?
                            Table
                     Structure
1.Table contains the data
1. Structure does not contain the data. It is 
   Filled with single record at Run time.
2. It must contains at least 1 field as   
    Primary Fields.   
2. It does not contain primary fields.
3.Database must contains Delivery class & 
   Technical settings.
3.It does not contains Delivery class &
   Technical settings.

21) Explain about Data element & Domain.
Ans:- Data Element :-  It is one of the data dictionary object which can be used to maintain the field labels (descriptions)  of the fields in the table or structure.
Ø  Parameter ID’s are maintained at Data Element level under Further Characteristics tab.

   Domain: - It is one of the data dictionary object which can be used to maintain the  technical properties of the fields in the table such are Data types (char, numc....etc), length of the data (10, 20...etc)
Ø  It can be used to maintain Value table to provide search help on the field.
Ø  Conversion Routines are maintained at Domain Level.

22) How to adjust the table/View?
Ans :- If there was any changes made at the table level the system will throw an error as
          ‘Structure change at field level '. The table must be adjusted to rectify this error.
·         The T-Code SE14 or the path: Utilities --->data base objects ---> data base utility can be used to adjust the table.
·         If the key field is changed as non-key field then the system throws an error ‘Convert Table’: structure changed at Table level.

23) I have a Z-Table, I wants to add one more field to the table without disturbing previous data, what should I do?
Ans: While adjusting database table in SE14, select 'Save Data' radio button.

24) What are the different ways to provide search helps?
Ans:- We can provide in 3 ways .
ü  Using value table at Domain level.
ü  Foreign key relationship.
ü  Elementary and collective search help.  

25) What is type group and explain?
Ans :- It is one of the data dictionary objects.
Ø  It is used to define the Global types, Internal tables and constants which can be referred anywhere in the system.
Ø  The ABAP statement TYPE-POOLS is used to call/define the type group.

26) What is table type and explain?
Ans:   It is one of the data dictionary object used to define the global internal table which can be referred across the system.

27) What is the Maximum No. of structures that can be included in a table or Structure?
Ans :-  9 ( Nine )

28) Can you use all the Views in the ABAP Program?
Ans :-  No . We can use only Projection view or Database view in the Program.

29) In which table are the programs, Tables, Development classes (packages) are stored in?
Ans:- The Programs details are stored in the table TRDIR, Data base tables in DD02L and DD02T and  the development class packages in TDEVC.

30) Explain about the tables TADIR and TRDIR?
Ans: TADIR is a table which holds the Data Dictionary objects. i.e; Data elements, Domains, Tables, T-codes etc & TRDIR stores all the client independent Programs details.

Q) What is the difference between package and development class??
a:We called development class in the version 4.6 . And that we called Package called in the 4.7E VERSION.There is no difference in between these 2 ones.

31) When you create new entries in the table the field values are always in Uppercase. How do you  get the data with mixed case?
Ans :- The reason for this is that the Domain for the Field in the table might have Lowercase   checkbox unchecked. Check the LOWERCASE CHECKBOX to preserve the case of your data.


  • The checkbox Lower case is checked to make character fields as a case sensitive to accept both Upper & Lower case letters. Since the system takes the ‘Character’ data type as Upper case letters by default.

33) What is Transaction code?
Ans: They are the commands/shortcuts to execute corresponding application. In SAP
          each screen is associated with T-Code.

a) Standard T code: They are the system provided to work with the pre-defined applications. The standard T-codes could only be the combination of any alphabets/alpha-numeric

    Ex: SQVI, SE11, SE38 (SE-System Engineering, SM – System Machine, SQ-System query)

b) Custom T code: They are created & maintained by ABAP Technical Consultant
    SE93 is used to work with custom T-code.

  •   TSTC –  It is the standard table which contains all the Transaction Codes in the system.
  •    TFDIR – Function Modules

34)  What is Data Dictionary/DDIC?
Ans: Data Dictionary is central & structured source of data. The data objects can be referred anywhere in the system & the data definitions are maintained in the DDIC.

A.What is the difference b/w data dictionary and database?
a:data dictionary is a central repository where the defined all the object related to database. A database is an organized collection of data.

B.What is the basic Difference between internal tables and database tables? How can we differentiate by looking at the tables? And how Handling of Internal Tables?
Ans :- The basic Difference is database tables are Stored in DB Server and the internal tables are virtual tables these are created run time only.

C.What is data consistency
a:Data Consistency means each user sees a consistent view of the data including changes made by the user own transactions & others transactions.

35) Explain about 3-Tier Architecture?
Ans: 1. Presentation Layer (GUI): It is an environment where all the users are sent for the services.
         2. Application Layer: It receives requests from the presentation layer to get them processed.                                                             It also sends back the services to the presentation layer. There are 4                                                  types of components in application layer.
a.    Dispatcher: It is a link between the presentation layer & the work process. It receives the request from the presentation layer & sends them to an appropriate work process to get them processed.
b.    Gateway/Layer: It is a communication protocol of the cross application components such are RFC, BAPI etc. It provides link between two SAP systems.
c.    Shared Memory: It is a common memory which can be shared by all the work process.
d.    Work Process: It is a component to execute the applications.
        3. Database Layer: It is central repository of the data. It provides data base services to group of  clients.


36) What is Command field?
Ans: It is used to execute the T-codes in SAP which is located on standard tool bar.
          /o: It is used to execute the T-code in another new session.

           /n: It is used to execute the T-code on the same session by closing current session.