Você está na página 1de 31

Data dictionary questions

Posted in May 17, 2009 5:27 pmh. Admin Q. Whats the full form of ECC? Ans: Enterprice Central Component. Q. Whats the full form of IDES? Ans: Internet Demonstration and Evaluation System. Q. Whats ABAP dictionary and its role in SAP? Ans: ABAP dictionary is the central information base for the developers. This manages all definitions(metadata) required for different applications in SAP. ABAP dictionary is completely integrated into ABAP development workbench. All other component of ABAP development workbench can access the data definitions(meta data) stored in the data dictionary. Role: ABAP data dictionary supports

definition of user-defined types (data elements, structures, table types). structure of database objects (tables, indexes and views) can also be defined. These user-defined types/objects are then automatically created in the underlying relational database using the above data definitions. The ABAP dictionary also provides tools for editing screen fields (e.g., for assigning a field an input help i.e. F4 help). Data dictionary ensures data integrity, consistency and security.

Q. What are the main object types of ABAP dictionary? Ans: The object types of ABAP dictionary can be of following type:

Tables: Tables are defined in the ABAP Dictionary independently of the database. A table having the same structure is then created from this table definition in the underlying database. Views: are logical views on more than one table. The structure of the view is defined in the ABAP Dictionary. A view on the database can then be created from this structure. Types (elements, structures, table types): Types are created in ABAP programs. The structure of a type can be defined globally in ABAP programs. Changes to a type automatically take effect in all the programs using the type.

Lock objects:are used to synchronize access to the same data by more than one user. Function modules that can be used in application programs are generated from the definition of a lock object in the ABAP Dictionary. Domains: Different fields having the same technical type can be combined in domains. Domain defines the value range of all table fields and structure components that refer to this domain. Data element: The ABAP Dictionary also contains the information displayed with the F1 and F4 help for a field in an input template. The documentation about the field is created for a data element. Input help: The list of possible input values that appears for the input help is created by a foreign key or a search help.

Q. Note on SAP tables(defining through ABAP dictionary). Ans: Tables are defined independently of the database in ABAP dictionary. The fields of the table are defined with their (Database-independent) data types and lengths. Using the table definitions stored in the ABAP dictionary, a table is automatically created in the physical database(when the table is activated). Q. What are the components of a table definition. Ans:

Table fields: For table fields, field names and data types are defined. Foreign keys: Relationship between the table and the other tables are defined. Technical settings: Data class and size category defines that what type of table to be created and how much space required. Indexes: Secondary indexes are created for a table for faster data selection.

Again following are defined for a table fields:


Field name can be of maximum 16 characters in a table and must start with a letter. Key flag determines if a field should be the table key. Field type depicts the data type of the field in the ABAP dictionary. Field length denotes the number of valid places in the field. Decimal places Number of places after decimal point for float type value. Short text describes the business meaning of the field.

Also fields from other structures can be added to the table definition as include. Q. How data Type, field Length and short Text of any field is assigned? Ans: i. Data type, field length (and if necessary decimal places) short text can be directly assigned to a field in the table definition. ii. Data element can be assigned to a field so that data type, field length (and decimal

places) are automatically determined from the domain of the data element. The short description of the data element is then assigned to the field as a short text. Q. What are the assignment options to the field? Ans: i. Direct assignment of data types, field length, short text to a field. ii. Data element assignment to a field. iii. An input check(check table) for a field can be defined with a foreign key. iv. A search help can be assigned to a field. v. Reference field or reference table must be specified for a table field that holds currency or quantity type value. Q. Whats reference table and reference field? Ans: Reference table is specified for fields containing quantities(data type QUAN) or currency(Data type CURR). This reference table must contain a field with the format for the currency key (data type CUKY) or unit of measure (data type UNIT). This field is called the reference field of the output field. The reference field can also reside in the table itself. E.g.: TAB1 contains the field PRICE which holds price values. Field UNIT contains currency key for PRICE. So,TAB1 is the reference table for field PRICE and UNIT is the reference field for field PRICE. Q. Whats table include? Ans: In addition to listing the individual fields in a table or structure, fields from another structure can be included as includes. Q. Whats named include? Ans: If an include is added to define a database table or database structure, a name can be assigned to that included (included substructure). The group of fields of that include can be addressed as a whole in ABAP application programs with a group name which is called as named include. E.g.:We can access field of a table/ structure in the ABAP application program in the following manner: 1. <TABLE / STRUCTURE NAME > - < FIELD NAME> 2. <TABLE / STRUCTURE NAME > - <GROUP NAME>-<FIELD NAME>

3. <TABLE / STRUCTURE NAME > - <GROUP NAME> Q. Give an example of nested include. Ans: Structure S1 may include structure S2 and again S2 may include S3. Q.Whats the maximum depth of nested includes in a table? Ans: Maximum depth is 9 i.e. maximum 9 structures can be included in a table/structure. Q. Whats the number of characters limit for field name? Ans: A field name may not have more than 16 characters in a table, but in a structure maximum 30 characters are allowed for a field name. Q. What are foreign keys? Ans: Relationships between tables are defined in the ABAP dictionary by creating foreign keys. Q. Whare are the uses of foreign keys in SAP? Ans:

Using foreign keys(as main table-field is linked with check table), input value check for any input field can be done. Foreign keys can also be used to link several tables.Explaination on foreign keys: Suppose, tab1(Foreign key table or dependent table) contains the following fields: fld1(primary key), fld2, fld3, fld4, fld5 and Tab2(Referenced table) contains the following fields: fld6(primary key), fld7(primary key), fld8, fld9 and tab1-fld2 is connected to tab2-fld5, tab1-fld4 is connected to tab2-fld6Therefore, fld2 and fld4 fields of the table tab1 are called as foreign key fields to the table tab2 and tab2 is called as check table or referenced table.

Q. What are foreign key fields? Ans: One field of the foreign key table corresponds to each key field of the check table. That field of the is called as foreign key field. Uses: A foreign key permits assigning data records in the foreign key table and check table. One record of the foreign key table uniquely identifies a record of the check table (using the value entries in the foreign key fields of the foreign key table). Q. Whats check table? Ans: Check table is maintained at field level for data validation. Q. Whats check field?

Ans: One of the foreign key field is marked as the check field. This depicts that the foreign key relationship is maintained for that field. When a value is entered for that check field in the table, input validation checking is done i.e. a checking is done that whether the inserted value exists in the check table or not. If doesnt exist then system rejects the entry else input validation check for that field is successful. Q. Whats generic and constant foreign keys? Q. Whats cardinality? Q. What are the types of foreign key fields? Q. What are text table? Q. What is technical settings of a table?What are the important parameters to be mentioned within it? Q. Whats data class? Ans: Data class is that which allows the table to get automatically assigned under specific tablespace/dbspace during table creation in the SAP database i.e. dataclass determines that under which table space/dbspace the table will be stored. Q. How many types of data classes are there in SAP? Data classes are mainly of three types(for application tables): i.Choose APPL0(master data) for data that is frequently accessed but rarely updated/changed. ii.Choose APPL1(transaction data) for data that is frequently changed. iii.Choose APPL2(organizational data) for customizing data that is defined/entered during system installation and rarely changed. The other two types of data classes are:USR and USR1(for customers own development purpose). Q. Whats size category? Ans: The Size category is used to defined the space requirement for the table in the database. Q. How many types of size category are there in SAP? Ans: There are five size categories. Size category from 0 to 4 can be choosen for the tables. A certain fixed memory size is assigned to each category in the SAP database.

Q. Whats the utility of size category? Ans: During table creation, the SAP system reserves an initial space i.e. an initial extent) in the database.If in any case more space is needed, then additional memory is added according to the mentioned size category for that table. correct size category prevents the creation of a large number of small extents for a table i.e. prevents memory wastage. Q. Whats buffering? Q. How buffers are filled up? Q. What are the different buffering types? Q. What are the different buffering permissions? Q. How database tables are buffered? Q. Whats logging? Q. How many tables are there in SAP? Ans: i. Transparent tables, ii. Pool tables, iii. Cluster tables. Q. What is transparent table? Ans: The tables which create 1-to-1 correspondence between the table definition in the ABAP data dictionary and the table definition in the physical database are called as transparent tables in SAP. Q. Give examples of transparent table. Ans: VBAK, VBAP, KNA1 etc. Q. What is table pool? Ans: Table pool is a table in the SAP database in which many pool tables are assigned. Q. What are pool tables? Ans: Tables assigned to a table pool are called as pool tables. Q. What are table clusters? Ans: Table cluster is a table in the SAP database in which many cluster tables are stored. Q. What are clustered tables?

Ans: Tables assigned to a Table cluster are called as clustered tables. Q. Uses of table pool or table cluster. Ans: Table pool or table cluster is used to store SAPs internal control information (screen sequences, program parameters, temporary data, continuous texts such as documentation). Q. Example of table cluster and cluster tables. Ans: i. The table cluster RFBLG holds data for five transparent tables i.e. BSEC, BSED, BSEG, BSES and BSET. ii. Other examples of table clusters are CDCLS, CDHDR, RFBLG, DOKCLU, DOKTL . Q. What are the differences between transparent and cluster/pool tables? Ans: i. A transparent table has 1-to-1 cardinality between the table definition in the data dictionary and in the table definition of sap database whereas cluster/pool tables have many-to-1 cardinality between the table definition in the data dictionary and in the table definition of sap database. ii. Transparent tables are accessible both by Open and native SQL statements whereas table pool/cluster tables are accessible only by open SQL but never by native SQL. iii. Transparent tables can store table relevant data whereas table pool or cluster tables can store only system data/ application data based on the transparent tables. Q. What are tabs under the maintenance screen of the ABAP data dictionary screen? Ans: There are five tabs under ABAP dictionary. i.Attributes, ii.Delivery & maintenance, iii. Fields, iv. Entry help/check, v. Currency/Quantity fields. Q. What is delivery class? Ans: We need to insert an delivery class value while creating customized table in SAP through the transaction code SE11. Delivery class is that which regulates the transport of the tables data records (during SAP installations, SAP software upgrade, client copies, and data transport to other SAP system). SAP and its customers have different write types

depending on the variety of delivery class. If Delivery class is A, it depicts that the application table for master and transaction data changes only rarely. Q. How many types of delivery classes are there in SAP? Ans: There are following delivery classes: i. A: Application table (master and transaction data) is maintained by the customers using application transaction. ii. C: Customer table. Data is maintained only by the customer. iii. L: Table for storing temporary data. iv. G: Customer table, new data records can be inserted but may not overwrite or delete existing ones. v. E: System table with its own namespaces for customer entries. vi. S: System table, data changes have the status of program changes i.e. System table for programs nature. Maintained only by SAP. E.g.: Codes for SAP transactions. vii. W: System table for system operation and maintenance. Table contents are maintained by maintenance transactions. E.g.: function module table. Q. What are the differences between domain and data element? Ans: i.Domain depicts the technical attributes of a field (its data type, field length, no. of decimal places, appreance on the sreen) of a SAP database table. Whereas data element denotes the semantic attributes(short description, label names) for a field. ii.Data elements are directly attaced to the fields of SAP database tables and each data element has an underlying domain within it. Whereas domains are not directly attached to the fields and a single domain can be under many data elements. iii.Within domain value range of a field can be described. Whereas within the data element parameter id and search help for a particular field can be assigned. Q. Whats value table? Ans: Value table is maintained at domain level in SAP. During domain creation, value range of the domain is defined by specifying value table. Suppose for a particular domain, its value table holds the values A, B, Z. So whenever the domain will be used, system will allow to use these values only.

Interview Question on BDC


What is BDC- its use, and how to use it? It is Batch Data conversion used for transferring some data other than sap into sap ... this is also a work of an ABAPer. What is "UTS" Or may be it is "UST", something called Unit test? Use: After developing any object we should write a test case proving that the object is working properly or not. This is done by the ABAPer. This is UNIT TEST CASE. In BDC how can we handle Table Controls? When you do your recording you will have a tab for Next line or Insert. You have to capture that in your recording. If your transaction code doesn't have that in the recording then you have to set up a page down (=P+) and loop it based on the line entries u c on teh screen. Suppose we are transfer data through BDC from leagacy to SAP and their is some duplicate data in legacy system but we don't want this in SAP system .So how can we check that this data is already exist? In BDC you would have all your legacy data in an internal table. Use Delete Adjacent dulpicates syntax to delete duplicate entries. Can we use two transaction code in one BDC like XK01 & XD01 if yes how? Yes, we can do that by combining the two bdc program codes together. Then you perform the program routine accordingly. However, it will make your BDC program very long and complex. How can we handle errors in Function Module? Exceptions is used to handle errors. Can we use Session method & Call transaction both in one BDC if yes please give me example and scenerio where we use this? You start your dataload using Call Transaction and if any errors occur push all those errors in a session so that your dataload takes place uninterrupted and you can processs ur errors later. 52 How do you find the information on the current screen ? Status command from any menu.The information on the current screen can be found by System

53 How do you save data in BDC tables ? The data in BDC tables is saved by using the field name BDC_OKCODE and field value of /11 54 What is the last entry in all BDC tables ? In all BDC tables, the last entry is to save the data by using the field name BDC_OKCODE and a field value of /11. 55 What is a multiple line field ? A multiple line field is a special kind of field which allows the user to enter multiple lines of data into it. 56 How do you populate data into a multiple line field ? To populate data into a multiple line field, an index is added to the field name to indicate which line is to be populated by the BDC session (Line index ). 57 Write the BDC table structure. BDC table structure FIELD TYPE Program CHAR(8) DynPro CHAR(4) DynBegin CHAR(1) Fnam CHAR(35) Fval CHAR(80)

DESCRIPTION Program name of transaction Screen number of transaction Indicator for new screen Name of database field from Screen Value to submit to field

58 Does the CALL TRANSACTION method allow multiple transactions to be processed by SAP ? No. The CALL TRANSACTION method allows only a single transaction to be processed by SAP. 59 Does the BDC_INSERT function allow multiple transactions to be processed by SAP ? Yes. 60 What is the syntax for CALL TRANSACTION ? CALL TRANSACTION trans [ using bdctab MODE mode ]. Three possible entries are there for MODE. A - show all screens E - show only screens with errors N - show no screens Which mode of CALL TRANSACTION method allows background processing ? N is the only mode that allows background processing. 61 Is it possible to use CALL TRANSACTION without a BDC table ? Yes, it is possible to use CALL TRANSACTION without a BDC table. In such case,

the current program is suspended, the transaction specified is brought up, and a user must enter the data into the screens. 62 What is TCODE ? TCODE is the transaction code for the transaction that should be used to process the data in the BDC table being inserted. 63 What are the function modules that need to be called from BDC program to submit the transactions for processing ? - BDC_OPEN_GROUP - BDC_INSERT - BDC_CLOSE_GROUP 64 How many sessions will be opened using BDC_OPEN_GROUP ? Only one session can be created using the BDC_OPEN_GROUP functon. 65 What is BATCH INPUT or BDC ? The SAP system offers two primary methods (BDC SESSION METHOD, CALL TRANSACTION METHOD) for transferring data into the system from other systems and Non-SAP systems. These two methods are collectively called as BATCH INPUT or Batch Data Communication (BDC). 66 What are the advantages in Batch Input ? The Batch Input ensures Data integrity. No manual interaction is required during Data transfer. 67 What is the functionality of Classical Batch Input ? In Classical Batch Input an ABAP/4 program reads the external data that is to be entered in the SAP system and stores the data in a Batch Input session. This session stores the actions that are required to enter your data using normal SAP transactions. 68 Which Function Modules are used in Classical Batch Input ? BDC_OPEN_GROUP , BDC_INSERT, BDC_CLOSE_GROUP. 69 What is Synchronous Database update ? During the processing no transaction is stored until the previous transaction has been written to the Database. This is called Synchronous Database update. 70 What are the differences between CALL TRANSACTION and BATCH INPUT SESSION ? - The most important aspects of the batch session interface are: - Asynchronous processing - Transfers data for multiple transactions - Synchronous database update During processing, no transaction is started until the previous transaction has been written to the database. - A batch input processing log is generated for each session

- Sessions cannot be generated in parallel The most important aspects of the CALL TRANSACTION USING interface are: - Synchronous processing - Transfers data for a single transaction - Synchronous and asynchronous database updating both possible The program specifies which kind of updating is desired. - Separate LUW for the transaction The system performs a database commit immediately before and after the CALL TRANSACTION USING statement. No batch input processing log is generated 71 What are the types of Batch Input ? Classical Batch Input Call Transaction Call Dialog 72 What is BDC_OKCODE ? The command field is identified by a special name in batch input called BDC_OKCODE. This name is constant and always identifies the command field. 73 How can we execute a function in a BDC session ? We can execute a function in a transaction by entering the function code or function key number in the command field of an SAP session. A function key number must be prefixed with the / (slash) character. A function code must be prefixed with the = character. Example: BDCDATA-FNAM = 'BDC_OKCODE' BDCDATA-FVAL = '=UPDA' 74 How can we position the cursor on a particular field ? BDCDATA-FNAM = BDC_CURSOR BDCDATA-FVAL = 75 Who are Dialog users and who are Background users ? Dialog users are normal interactive users in the SAP system. Background users are user master records that are specially defined for providing authorizations for background processing jobs. 76 What is the use of BDC_INSERT ? We add a transaction to a Batch Input Session by using this function. 77 What are the update modes in CALL TRANSACTION ? S : Synchronous A : Asynchrnous L : Local

78 What does the message parameter indicates ? The message parameter indicates there all system messages issued during a CALL TRANSACTION are written into the internal table . The internal table must have the structure of BDCMSGCOLL. 79 What is Direct Input ? To enhance the batch input procedure, the system offers the direct input technique especially for transferring large amount of data. This technique doesnt create sessions but stores the data directly. The direct input programs must be executed in the back ground only. To maintain and start these programs, use program RBMVSHOW or the transaction BMVO. 80 What are the features of Recording Function ? recording transaction runs creating batch input sessions from the recorded transaction runs. Generating a batch input program from the recorded data. 81 What is synchrnous database update ? During the processing, no transaction is stored until the previous transaction has been written to the database. This is called Synchronous database update. 82 How do you set up batch process? Data analysis: Analyze the data that is to be transferred to the SAP System. || Generate SAP structures: Generate SAP data structures for incorporation into your data export program. || Develop transfer program: You can write the program in ABAP/4 or as an external program. || Create sequential file: Export the data that is to be transferred, to a sequential file. || Create batch input program: ABAP/4 batch input program that will read the data to be transferred from the sequential file. || Process batch input data: Process the data and add it to the SAP System. You can do this either by: batch-input session method or Call transaction method. || Analyse results: Check that all data has been successfully processed. || Analyse Error session: Correct and re-process erroneous data. 83 Where do you use BDC? transferring data from another system when you install your SAP System regularly transferring data that is captured by a non-SAP system in your company into the

SAP System. Assume, for example, that data collection in some areas of your company is still performed by a non-SAP system. You can still consolidate all of your data in the SAP System by exporting the data from the other system and reading it into the SAP System with batch input. You can also use batch input to transfer data between two R/3 Systems. However, there are more direct methods for doing this, such as RFC (remote function calls). 84 What has to be done to the packed fields before submitting to a BDC session? Declare these fields in the internal table as characters and the length of the field should be same as the field length of the field's data element. This internal table is used to hold the data fetched from the sequential file using WS-upload function module What is LSMW The LSMW is a cross-application component (CA) of the SAP R/3 System. The tool has interfaces with the Data Transfer Center and with batch input and direct input processing as well as standard interfaces BAPI and IDoc in R/3. The LSMW comprises the following main functions: Read data (legacy data in spreadsheet tables and/or sequential files). Function Read data replaces and enhances functions Spreadsheet interface and Host interface of LSMW version 1.0. You can use any combination out of PC and server files now. Convert data (from the source into the target format). Import data (to the database used by the R/3 application).

Monday, September 3, 2007


Smart forms Frequently Asked Questions

Forcing a page break within table loop Create a loop around the table. Put a Command node before the table in the loop that forces a NEWPAGE on whatever condition you want. Then only loop through a subset of the internal table (based on the conditions in the Command node) of the elements in the Table node. Font style and Font size Goto Transaction There you can create Paragraph formats etc just like in sapscript. SMARTSTYLES.

Then in your window under OUTPUT OPTIONS you include this SMARTSTYLE and use the Paragraph and character formats. Line in Smartform Either you can use a window that takes up the width of your page and only has a height of 1 mm. Then you put a frame around it (in Thus you have drawn a box but it looks like a line. window output options).

Or you can just draw "__" accross the page and play with the fonts so that it joins each UNDER_SCORE. Difference between 'forminterface' and 'global definitions' in global settings of smart forms The Difference is as follows. To put it very simply: Form Interface is where you declare what must be passed in and out of the smartform (in from the print program to the smartform and out from the smartform to the print program).

Global defs. is where you declare data to be used within the smartform on a global scope. ie: anything you declare here can be used in any other node in the form. Smartforms function module name Once you have activated the smartform, go to the environment -> function module name. There you can get the name of funtion module name. The key thing is the program that calls it. for instance, the invoice SMARTFORM LB_BIL_INVOICE is ran by the program RLB_INVOICE. This program uses another FM to determine the name of the FM to use itself. The key thing is that when it calls this FM (using a variable to store the actual name), that the parameters match the paramters in your smartform. Another thing to note is that the FM name will change wherever the SF is transported to. So you need to use the FM to determine the name of the SF. Here is the code that can be use to determine the internal name of the function module: Code: if sf_label(1) <> '/'. " need to resolve by name move sf_label to externalname. call function 'SSF_FUNCTION_MODULE_NAME' exporting formname = externalname importing fm_name = internalname exceptions no_form = 1 no_function_module = 2 others = 3. if sy-subrc <> 0. message 'e427'. endif. move internalname to sf_label. endif. It checks to see if the sf_label starts with a '/', which is how the internal names start. if it does, the name has already been converted. If not, it calls the FM and converts the name. You would then CALL FUNCTION sf_label. Smartforms FAQ Part Two

Smartforms output difference Problem with Smartforms: in a certain form for two differently configured printers, there seem to be a difference in the output of characters per inch (the distance between characters which gives a layout problem - text in two lines instead of one. It happens when the two printers having different Printer Controls' if you go to SPAD Menu (Spool Administrator Menu) you can see the difference in the Printer Control and if you make the Printer control setting for both the printers as same. then it will be ok. and also u have to check what is the device type used for both the output devices. SmartForms Output to PDF There is a way to download smartform in PDF format. Please do the following: 1. Print the smartform to the spool. 2. Note the spool number. 3. Download a PDF file (Acrobat Reader) version of the spool by running Program RSTXPDFT4 and entering the noted spool number. SmartForm Doublesided printing question Your customer wants your PO SmartForm to be able to print "Terms and Conditinos" on the back side of each page. They don't want to purchase pre-printed forms with the company's logo on the front and terms & conditions on the back. Now this presents an interesting problem. Has anyone else ever had a request like this? If for example there was a 3 page PO to be printed, they want 3 pieces of paper, the front side of each to containe the PO information (page 1, 2, and 3) and the back side of each piece of paper to containg the static "Terms & Conditions" information. Anyone have a clue how to force this out? Easy - page FRONT lists page CONTACTS as next page and CONTACTS lists FRONT as next page. Since CONTACTS does not contain a MAIN window, it will print the contacts info and then continue on to FRONT for the rest of the main items. Additionally, set print mode on FRONT to D (duplex) and set CONTACTS to 'blank' (for both resource name and print mode - this is the only way to get to the back of the page). Transport Smart Forms How does one transport SMARTFORM? SE01? How do you make sure that both, the SMARTFORM & it's function module gets transported? Or does the FM with same name gets generated automatically in the transported client? A smartform is transported no differently than any other object. if it is assigned to a development class that is atteched to a transport layer, it will be transported. The definition is transported, and when called, the function module is regenerated. This leads to an interetsing situation. On the new machine, it is very likely the function

module name will be different than the name on the source system. Make sure, before you call the function module, you resolve the external name to the internal name using the 'SSF_FUNCTION_MODULE_NAME' function module. Typically, generate the SF, then use the pattern to being in the interface. Then change the call function to use the name you get back from the above function module. Smartforms: protect lines in main How to protect lines in the main window from splitting between pages? window.

It was easy with SAPscript, but how to do it with SF's. For 4.7 version if you are using tables, there are two options for protection against line break: You can protect a line type against page break. - You can protect several table lines against page break for output in the main area. Protection against page break for line types - Double-click on your table node and choose the Table tab page. - Switch to the detail view by choosing the Details pushbutton. - Set the Protection against page break checkbox in the table for the relevant line type. Table lines that use this line type are output on one page. Protection against page break for several table lines - Expand the main area of your table node in the navigation tree. - Insert a file node for the table lines to be protected in the main area. - If you have already created table lines in the main area, you can put the lines that you want to protect again page break under the file using Drag&Drop. Otherwise, create the table lines as subnodes of the file. - Choose the Output Options tab page of the file node and set the Page Protection option. All table lines that are in the file with the Page Protection option set are output on one page. In 4.6, Alternatively in a paragraph format use the Page protection attribute to determine whether or not to display a paragraph completely on one page. Mark it if you want to avoid that a paragraph is split up by a page break. If on the current page (only in the main window) there is not enough space left for the paragraph, the entire paragraph appears on the next page.

ABAP interview questions and answers


By admin | May 2, 2005 Thanks to the reader who sent in this question set: 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 viceversa. 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-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. 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.

Question
what are the differences between scripts & smart forms?

Question Submitted By :: E.bhanuprakash I also faced this Question!! Rank Answer Posted By Re: what are the differences between scripts & smart forms? Answer #1

Multiple Page format is available in smartforms whereas in sapscripts not possible. It is possible to a smartform without MAIN Window. Lables Cannot generated in smartforms. Smartform generate a fUNCTION Module when it getactivated
Is This Answer Correct ?

24 Yes 5 No 0 Guest Re: what are the differences between scripts & smart forms? Answer #2

1.Sapscript is Client dependent Smartform is Client independent. 2.Sapscript can uploaded/Downloaded whereas smartforms cannot. 3.protect/endprotect command in sapscript will not work in smartforms 4.Transaction for sapscript is SE71 For smartform - SMARTFORMS
Is This Answer Correct ?

20 Yes

8 No

0 Ajay

Re: what are the differences between scripts & smart forms? Answer #3

sapscripts are clinet dependent. smartforms r independent.

sapscripts allows only black and white texts. smartforms' texts can be written in various colors. Sapscripts has repeated transfer of control. There is no transfer of control b/w prg. and form in smartforms. There is an option to print a mixture of portrait and landscape format in smartforms. but this feature is not available in sapscript. Sapscripts allows more than one main window. Smartforms allows only one main widown on pagge. Text elements in sapscripts allow if..else, case..endcase, etc.. commands but not smartforms. pages and windows are defined separately and then combined to form pagewindows in sapscripts. all windows are automatically pagewindows in smartforms. Windows are: main, var, const windows in sapscripts. main, secondary, copies and final windows in smartforms.

Is This Answer Correct ?

21 Yes

3 No

0 Veena Re: what are the differences between scripts & smart forms? Answer #4

smartdorms we can upload and download using utilities upload/download . where as in scripts we cannot

SAP ABAP Smart forms Interview faqs


1)How can I insert symbols in Smartforms? Select the Text node. Change Editor (Click the button above Check near the Editor) Go to menu Include->Characters->SAP Symbols Choose the SAP symbol that you want to insert. 2)I have a smartform which works fine in DEV. After trasnsporting it to PROD, there is no Function module generated for this smartform. As a result my program dumps in PROD? The Smartform that is created in the Development may not have the same name in the Production server. So it is always advised to use the Function Module SSF_FUNCTION_MODULE_NAME to get the Function Module name by passing the Smartform name. DATA: fm_name TYPE rs38l_fnam. CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' EXPORTING formname = 'ZSMARTFORM' IMPORTING fm_name = fm_name EXCEPTIONS no_form = 1 no_function_module = 2 OTHERS = 3. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. CALL FUNCTION fm_name EXCEPTIONS formatting_error = 1 internal_error = 2 send_error = 3 user_canceled = 4 OTHERS = 5. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. 3)How can I make the Smartforms to choose a printer name by default? In the CALL FUNCTION of the Smartform Function Module, set the output options

parameter to set the printer name. The output options is of the type SSFCOMPOP which contains the field TDDEST. Set the TDDEST field to your default printer name. 4)How can I make the Smartforms to display a print preview by default without displaying the popup for print parameters? In the SSF_OPEN function module, Set the OUTPUT OPTIONS paramter TDDEST to your printer name. Set the CONTROL PARAMETERS and control parameters as shown below, control-preview = 'X'. control-no_open = 'X'. control-no_close = 'X'. control-no_dialog = 'X'. control-device = 'PRINTER'. control_parameters-no_dialog = 'X'. control_parameters-no_open = 'X'. control_parameters-no_close = 'X'. OUTPUT_OPTIONS-TDDEST = 'PRINTER NAME'. OUTPUT_OPTIONS-TDNOPRINT = 'X'. CALL FUNCTION 'SSF_OPEN' EXPORTING output_options = output_options control_parameters = control user_settings = ' ' EXCEPTIONS formatting_error = 1 internal_error = 2 send_error = 3 user_canceled = 4 OTHERS = 5. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. 5)How can I display the total number of pages in Smartforms? Use SFSY-FORMPAGES to display the total number of pages in the Smartforms &SFSY-PAGE& Current page number &SFSY-FORMPAGE& Total number of pages in the currently formatted layout set &SFSY-JOBPAGE& Total number of pages in the currently formatted print request &SFSY-COPYCOUNT& Original-1,1st copy-2 &SFSY-DATE& Date &SFSY-TIME&

Time &SFSY-USERNAME& Username 6)I'm using the variable SFSY-FORMPAGES, I get a star "*" instead of the total number of pages.? There may not be enough space in the window to display the variable, either increase the window dimensions or condense the spaces using &SFSY-FORMPAGES(C) 7)What are the various text formatting options in Smartforms? &symbol(Z)& Omit Leading Zeros &symbol(S)& Omit Leading Sign &symbol(<)& Display Leading Sign to the Left &symbol(>)& Display Leading Sign to the Right &symbol(C)& Compress Spaces &symbol(.N)& Display upto N decimal places &symbol(T)& Omit thousands separator &symbol(R)& Right justified &symbol(I)& Suppress output of the initial value 8)How can I provide a background shading to the table? In the Table Painter, you can specify the color and shading for the table lines. Where can I provide the input parameters to the smartform? The input parameters for the smartform can be defined in Global Settings->Form Interface. The Associated Type must be defined in the ABAP Dictionary. Where can I define my own global types for the smartform? The global types(within the smartform) can be defined in Global Settings->Global Definitions->Types The types defined here will be global through the entire smartform. Also the form routines can be defined Global Settings->Global Definitions->Form Routines I have defined my own Program Lines, where I have used a global variable G_TEXT. I get an error G_TEXT is not defined? Whenever using the global variables in the Program Lines, enter the variable name in Input Parameters if you are going to use(read) the variable. If you are going to both read/write the variable value enter the same in Output Parameters. I have created a table node for display. Where can I check the condition which must satisfy to display the table? The conditions can be defined in the Conditions tab. In smartforms all the nodes have a

condition tab where you can specify the condition to be satisfied to access the node. How can I define Page Protect in Smartforms? To define Page Protect for a node go to the Output options and check the Page Protection checkbox. What is the difference between Template and Table in Smartforms? The Template contains a fixed number of rows and columns, where the output is fixed. The Table can have variable number of rows Where can I define the paragraph and character format for the smartforms? The paragraph and character format for the smartforms can be defined in the transaction SMARTSTYLES How to add watermark to smartform output? Go to the properties of 'PAGE', tab 'Background Picture'. Add the grapic image name here.

ABAP Interview questions on ABAP reports


Posted in May 3, 2009 2:43 pmh. Admin Q.1) What are SAP reports? Ans: SAP Reports are event-driven programs using ABAP/4 programming langugage. These reports are used to fetch business-specific data from SAP standard databases under specified selection criteria, fetched data is processed to display result on output screen. User develop SAP report object on ABAP editor using the standard SAP transaction SE38. Q.2)What are types of reports? Ans: i.Simple report and ii.Interactive report. Q.3) What are ABAP report types? Ans: ABAP report types are of 7 types. ABAP report types are available in reports attributes screen. i.Executable program, ii.Function group (containing function modules) , iii. Include , iv. Interface pool , v. Class pool, vi. Module pool, vii. Subroutine pool. Q.4)What are the steps involved in interactive report? Ans: i. Basic list is displayed. ii.Case 1: User double clicks on any key figure to get more detailed data on it Case 2: User presses on any customized toolbar button so that another specified process is performed or corresponding event is trigerred. Q.5)How many lists can be displayed through an interactive report? Ans: Maximum 21 lists can be displayed(1 basic list+ 20 secondary lists). Q.6)What are the events in classical and interactive reports? Ans: EVENTS IN A CLASSICAL REPORT: 1. INITIALIZATION. 2. AT SELECTION-SCREEN OUTPUT.

3. AT SELECTION-SCREEN/<field>. 4. START-OF-SELECTION. OUTPUT EVENTS(5, 6): 5. TOP-OF-PAGE. 6. END-OF-PAGE. 7. END-OF-SELECTION. EVENTS IN AN INTERACTIVE REPORT: In addition of the above, the following events are possible in case of Interactive Reports. i.Top of page during line selection. ii.At line-selection. iii.At pF<key>. iv.At user-command. [P.N.: For detailed notes on events : http://www.abapguide.com/notes/events-in-report/] Q.7)what is the event that will be triggered first in an ABAP report? Ans: Initialization event is triggered first if user executes an ABAP report. But if the program is of type 1, M, F, or S; then LOAD-OF-PROGRAM is trigerred first and then INITIALIZATION event. ( Note: The purpose of load of program is to load the program into system memory so that the program can be executed.) Q.8)What are the events in dialog program? Ans: i.PBO : Process Before Output ii.PAI : Process After Input iii.POH : Process on Help iv.POV : Process on Value Request Q.9)What are the differences between simple and interactive ABAP reports? Ans: A simple ABAP report allows the user to interact with the whole business-result data. In case of interactive reports user can interact with specific result data at a time. Q.10)Mention the steps involved in case of displaying data of an interactive report? Ans: i. Execute the report ii. Click on the specific key field to display data of the secondary list. Or, click on application toolbar button or any screen button for required data display.

Você também pode gostar