Difference between SAP Memory and ABAP Memory? 1. SAP memory is for cross-transaction Applications and ABAP/4 memory is transaction-specific. 2. The SAP memory, otherwise known as the global memory, is available to a user during the entire duration of a terminal session. Its contents are retained across transaction boundaries as well as external and internal sessions. The contents of the ABAP/4 memory are retained only during the lifetime of an external session. You can retain or pass data across internal sessions. 3. The SET PARAMETER and GET PARAMETER statements allow you to write to, or read from, the SAP memory. The EXPORT TO MEMORY and IMPORT FROM MEMORY statements allow you to write data to, or read data from, the ABAP memory. External session: - when user logs on to R/3 system, the system creates a new terminal session called external session. E.g. System Create Session. Internal session: - created by calling a transaction (with CALL TRANSACTION), a dialog module (with CALL DIALOG) or a report (with SUBMIT or RETURN). For External Sessions, Internal Sessions are available. Different types of ABAP memory? Typical Structure of an ABAP Program? An ABAP Program has Modular Structure, meaning the source text always consists of a collection of program modules or the sequential set of statements. It also has Declarative Elements; it is Operational; has controls and events. Client? A client is a group of users having similar rights. It can b group of users in a business entity or a whole business entity or a whole company. What is the Order of classical report events? INITIALIZATION AT SELECTION-SCREEN AT SELECTION-SCREEN ON START-OF-SELECTION TOP-OF-PAGE END-OF-PAGE END-OF-SELECTION Interactive report events? AT LINE-SELECTION AT USERCOMMAND When is At Line-Selection generated? This event is processed whenever the user chooses a valid line in the list (i.e. a line generated by statements such as WRITE, ULINE or SKIP) with the cursor and presses the function key, which has the function PICK in the interface definition. This should normally be the function key F2, because it has the same effect as double-clicking the mouse, or single clicking in the case of a hotspot.
What is a Hotspot? How do you get the Entire Selected Line at Line Selection? The system Field Sy-Lisel contains the Entire Line as a String.
Difference between Parameters and Select-Options? 1. With the Select-Options, the User can enter both a discrete value and ranges whereas in a Parameter, only a discrete value can be entered. 2. Also, if we leave a Select-Option empty without any values, it is inclusive. It does not take as Blank Value. But, if we leave a Parameter empty, its value is Blank. This feature is helpful when there are some fields in the Selection Screen, which are not mandatory. 3. Select-Options generate a line on the screen and cannot be formatted on the Screen Design where as all the Parameters between Begin-of-line and End-of-line comes in a single line. What is a Variant? A Variant can be defined as a group of values used for Selection Screen when executing a Report. Occurs class in ITAB? Occurs . n will give the initial size of the Internal Table. But n can change at run time according to the total size of the Internal Table Select statements without EndSelect and with EndSelect? 1. Select Statement with EndSelect is a loop, which in a single run retrieves a single Record. This Record has to be stored in a Work Area and then appended into an Internal Table. 2. Select Statements without EndSelect is not a loop and it retrieves the whole Record set matching the Criteria in a single shot and has to be Stored in an Internal Table Directly. Where do you check for the Success of Select EndSelect Statement? Inside the loop, we can check for the Sy-dbCnt and Sy-Index. Based on the values, we can decide the status. Outside the loop, The Final Sy-dbCnt and Sy-Subrc are returned. Sy-Subrc tells the Status. Also, if Sy-dbcnt > 0, then it’s a success. What is open SQL v/s Native SQL? Native SQL – used to include SQL stmt of RDBMS in ABAP/4 programs Open SQL - subset of standard SQL with enhancements that are specific to SAP. Different types of data dictionary elements? Table View Data Type Domain Search Help
Lock Object Advantages of Data Dictionary? Advantage of using data dictionary is avoiding inconsistencies when defining data type that will later be used in different applications thus avoiding redundancies. When a type is defined in the dictionary, it is available to any program in the application. Data Dictionary is a fast and Data Elements and Domains? Data Element is the Definition of the Properties and type for a Table Field. It is an intermediate object between the object type domain and the table field. A Field in R/3 system is always associated with a data element, which at the same time is related to domain. Domains are formal Definitions of the Data Types from a technical point of view. They set attributes such as Data Type, Length, possible value range and so on. Domain describes Technical Characteristics of a table fields e.g. value range Elements describe role played by a fields in technical contains e.g. Form of field text. What is a View? A view is a "virtual table" containing data, which are really stored in one or more other tables. The contents of the View are dynamically generated when called from a program. Types: 1. Maintenance View – used to realize commercially relevant views on data customizing views business oriented approach to looking at data 2. Projection View - used to suppress the display of table fields (all operations possible) 3. Database View - created in database (read only) 4. Help View – Display information in online help system 5. Structure View – to generate a structure from several logically connected tables 6. Entity View – used to represent entity type of Data Modular on tables of Dictionary Difference between Structure and Table? Table: Table is a two-dimensional data matrix containing rows and columns. The rows contain the data and the columns indicate fields. There can be 0 or multiple rows. Structure: Structure refers to the Definition of an Object, mostly Table or a View, and doesn’t have any contents. Structure doesn’t exist at the underlying database system level. It exists as a definition in the dictionary. Diff: Difference between structure and a Table – Using tables, data can be stored permanently in Database, and Structures contain data only during the runtime of a program. Search helps? Search help is an ABAP Dictionary object used to define possible values (F4) help. How do you create Search Help?
Field Strings, Field Groups and Field Symbols? Field String: Field Group: An extract dataset consists of a sequence of records. These records may have different structures. All records with the same structure form a record type. You must define each record type of an extract dataset as a field group. A field group combines several existing fields together under one name. It does not reserve storage space for the fields, but contains pointers to existing fields Field Symbol: Field symbols are placeholders or symbolic names for other fields. They do not physically reserve space for a field, but point to its contents. A field symbol can point to any data object. The data object to which a field symbol points is assigned to it after it has been declared in the program. Types of locking? Exclusive (E) Shared (S) Exclusive not cumulating (X) How are lock objects Activated? We use ENQUEUE-EZN to activate and DEQUEUE-EZN to deactivate the lock object EZN. Types of TABLES and the differences? Transparent tables Pool tables Cluster Tables From the user point of view, all tables are used to store data and there is no difference in behavior or operation of these tables. All of them can be managed by using the standard OPEN SQL. However from the administrator point of view, transparent tables do exists with the same structure both in the directory as well as the database, exactly with the same data and fields. While other two are not transparent in the sense that they are not manageable directly using database system tools. We cannot use Native SQL statements on these tables. These are logical tables, which are arranged as records of transparent tables. Types of Programs? Dialog Programs (Dialog Processor) to execute transactions, which usually read and change databases. These are not stand-alone. Report Programs (List Processor) to read databases and represent the results in a list. These are stand-alone. Difference between Subroutines and Function Modules? 1. Functions are stored in central library and have global presence while subroutines are confined to particular program. 2. Functions can return values while subroutines cannot return values. 3. Functions can handle exceptions while subroutines cannot.
Different ways of passing data to a subroutine? There are two types of Parameters. 1. Formal Parameter, which is defined during the definition of the subroutine. 2. Actual Parameter, which is defined during the call of the subroutine. Parameters are passed to the form in 3 ways. 1. By Value: Changes made to the formal parameter have no effect to the actual parameter Perform Using a Form Using Value(p_a) 2. By Reference: (Default) Changes made to the formal parameter reflects in the actual parameter while in the form itself Perform Using a Form Using(p_a) 3. By value and Return: Changes made to the formal parameter reflects in the actual parameter only after returning from the form Perform Changing a Form Changing Value(p_a) Keywords used in FLOWLOGIC? Process Module Chain EndChain Loop Endloop Field At exit command in Transactions? At Exit-command is used when automatic field checks are to be avoided when exiting from a screen. Chain and Endchain in Transactions? In case of a wrong entry for a field , if the user has to be given a chance to input a set of related fields, these validations for this fields should be grouped together under Chain – EndChain. Else, only the field which violated the validation will be enabled and the rest all will be disabled for user input. How to call Report from Transaction? Using the Statement, Leave to List Processing. To exit from the list to the Screen, Leave List-processing. What are the AUTOMATIC field checks? Required Input Proper Data Format Valid Value for a Field What is a check table and what is a value table?
• •
When we define a foreign key in a table (A), if this key refers to primary key of another table (B). Table B is check table Fields referring to a domain may assume values contained in the corresponding fields of the value table. Field referring to the domain should have a foreign key
Validations in flow-logic and Module pool? Flow Logic Validations: Field Values ([not] v1, v2…vn) Field Values ([not] between v1 and v2) Chain. Field Values ([not] between v1 and v2) Field module <module> EndChain. Module Pool Program Validations: Field module <module> Difference between Table control and Step loops? Limitations in SUBSCREENS? 1. GUI Status cannot be set to the Sub screens. 2. OKCODE is not applicable. 3. Cannot contain AT EXIT-Command. Difference between MACRO and SUBROUTINE? Difference between Local files and Sequential files? 1. Local Files are stored in Presentation Server while Sequential Files are stored in Application Server 2. Upload or Download of Local files is done in a single shot while for the Sequential Files, the data has to read or Transferred, Line by Line or character by character depending upon the mode. What should be the approach for writing a BDC program? 1. Analysis the Data 2. Generate SAP structure. 3. Develop transfer program 4. Create sequential file. 5. Create batch input program. 6. Process batch input data What is a Session? Session is the Intermediate step between internal table and the database table. It stores the actions that are required to enter data using the normal SAP transaction. What has to be done to the packed fields before submitting to a BDC session? Difference between Call Transaction and Session method? Modes in Session and Call transaction Method?
Difference between Synchronous and Asynchronous update in call transaction? What is BDC table? Structure of BDC DATA? Program set this field only for the first record for the screen DynPro length 4 DynBegin length 1 FNAM length 35, case in sensitive FVAL length 132, case sensitive Difference between UPLOAD and WS-UPLOAD? UPLOAD does not require the Filename and Filetype to be exported to the function; instead it will ask for the same at the runtime. However for WS_UPLOAD, these two parameters need to be passed. Handling messages in Call transaction? Difference between Reports, Transactions and Scripts? Copying standard layout set to the defined layoutset? Importing logos in Scripts? What is an User exit? Types of User exits? Components in Layout set?