ABAP internal Tables interview questions Q1: What is the meaning of Data Clusters?

A1: Data clusters are the way in which every type of complex internal data objects from an application in ABAP/4 are grouped. They are also deposited in the memory of BAP/4 for a limited period of time or in databases for a longer time. The databases of this type have the name accordingly, they are named cluster databases and their construction is predefined. This type of depositing data clusters is a particular feature of ABAP/4. With the aid of SQL statements it is possible to enter cluster databases and the data clusters that have been deposited in ABAP/4 can be decoded only by ABAP/4. Q2: What is the meaning of these terms in SAP: application server and presentation server? A2: An application server manages the output /input of ABAP/4 programs and interprets them. Application servers are groups of executables. Presentation servers are programs from the workstations of users that are called like this: Sapgui.exe. Q3: In what way are Get and SET different? A3: GET PARAMETER IF FIELD: The value deposited in ID is met in the variable by the statement, if a value is not found in SAP memory, the system configures SY-SUBRC to 4, in a different case is 0. SET PARAMETER ID FIELD: The field contents from ID are stored in SAP memory in a code with up to 20 characters in length. If a value is found there already it will be overwritten, if there is no ID we have to make a new parameter object by doubleclicking the ABAP Editor. Q4: What is the meaning of Field group, extract data set? A4: Extract data sets are made of records sequences, we can have various structures for the records, record types are in fact a group of records that have the same structure. Every record type that an extract dataset has can be defined as a field group with the statement FIELD GROUPS. The FIELD GROUPS statement brings multiple fields together with providing one single name. Usually we should declare the field groups when the declaration part in a program is finished, this will make everything clearer.Field groupsdon tgenerate field space but they show the fields that already exist, they show us the records content if the records are met in the extract dataset. Q5:What is the way for accessing data that is found on an application server and on a presentation server in ABAP/4? A5: We will have to make use of these modules: UPLOAD or WS_UPLOAD for the presentation server and OPEN DATASET, CLOSE DATASET, READ DATASET for the application server. Q6: How can we process sequential file, through what commands and syntax? A7: For reading we use READ DATASET, for writing we use TRANSFER and for mode at POSITION MESSAGE, OPEN DATASET. READ DATASET INTO CLOSE DATASET DELETE DATASET TRANSFER

Q8: How do we separate these statements: assign and move? A8: Assign: at data object assigning, the data project s technical attributes are verified by the system for compatibility with every type specifications of the field symbol (ASSIGN TO). General attributes can be taken by the field symbol if they are not found in the field type specifications. If we go with the assignment it shows in the memory. Move: the MOVE statement is used for giving data object values to variables. It can be found as text symbol, literal, constant but it is not necessary to be found as a variable. No matter what the personal configurations the user has the decimal points always have to be stated with a period (,). Q9: How do we make a separation between these terms: appending, input and output? A9: Through appending we understand opening a file in order to write at its end. In the case the file is not found we have to make it. Through input we understand the opening a file to read it and through output we mean opening a file for the purpose of writing. The file in which we write will be overwritten if it is already there and made if it doesn t exist already. Q10: How do we proceed for a row in a table when we want to run a report? A10: In this case we will make use of the Graphics Multiplexer. We will have a procedure that resembles screen capture that allows us to capture just the data. With this data graphs can be designed 2D or 3D, a feature that we can always access from the Menu-generate Graphics. In this way the required data can be dragged and we can choose the data we need for making a graph. After selection we must hit Graphics and the Graphics Multiplexer will be opened. Q11: At the creation of internal tables what is the criteria configuration of the value of an occurs? A11: What we have to do for configuring the value of an occurs is to make optimizations and for this we have to keep in mind some things like: a) b) The default declared size will be maintained in the roll area faster program access. The whole data area of the application will be 64 kilobytes.

c) The data inserted that is bigger than the default size is deposited in the roll file- the program is accessed slow. More, prior to deciding to do an optimization we have to analyze the rates of access and the volume Q12: What is the syntax and function used for command AUTHORITY CHECK? A12: Syntax: AUTHORITY=CHECK OBJECT IF SY-SUBRC NE 0. The verification for authorization from the user part for starting a specific action is made by AUTHORITY CHECK. Q13: What are the details regarding the debugger screen functions? A13: Single step or F5 is an option that can be used to go through a program by every statement, in the function modules and subroutines that will run also step by step. After the processing of every function module or subroutine with the aid of the statements CALL FUNCTION and PERFORM the control can go back at the statement.Execute or F6 is an option for running a program with every line, so in a single line the statements will be processed all at once. When we use Execute and we are on a line invoking a subroutine , the entire

subroutine will be processed and it will go to the line with the subroutine invoking, and we can go from statement to statement inside the subroutine. Return or F7: When control is going back to the main program, also the debugger will go back there from the subroutine. Return is an option that is good for going back to the invoking program from a subroutine , invoked program or function module. Continue or F8 is an option good for processing the program up to the following dynamic or static breakpoint or the location of the cursor. When the breakpoints don t exist anymore and there is no cursor, the remaining part of the program will be processed normally and the system will go out of the debugging mode. Q14: What is the role of the following commands: IMPORT and EXPORT? When we use IMPORT what is the way for passing multiple data groups? A14: IMPORT: The statement used or reading the data objects from the memory into a program in ABAP/4 has this syntax: IMPORT FROM MEMORY ID. The data objects that are read are found in a memory cluster in the form of a list. Without the option TO the same name will be found at assigning the data object from the memory to the one from the application. In this case the data object will be read in the field from memory and the memory cluster will be seen by the name, which can be of a maximum of 32 characters in length. We don t really have to read every object that was deposited on a specific name, the object count can be restricted by the names of the objects. When on a specific name in the memory there are no objects then SYSUBRC will be four. In another case when the name from memory has a data cluster then SY-SUBRC will be 0 no matter if there is nor not a data object contained. EXPORT: The statement and syntax used for reading data objects from the program into memory in ABAP/4 is: EXPORT TO MEMORY ID. A cluster in the memory is where the data objects are deposited in form of a list, when FROM is not used the data object will be stored in the name of the data object, when FORM is used a name will be used for storage and it will represent the cluster from the memory, 32 maximum characters in length. If we have the same name already EXPORT will overwrite what it finds in the current data cluster. Q15: What types of Internal tables exist? A15: The Internal table type are: a) The standard table: for key access to this type of table linear search is used, so the duration needed for a search has a linear connection to how many table entries we have. For accessing standard tables it is best to use index operations. b) The hashed table: it is a table that will be handled using an internal hash procedureand it will only be available to access with the generic (key) operations like LOOP, SORT and others, so implicit/explicit index operations are forbidden. c) The sorted table: it is a table that is every time sorted in the right way and to access it we need to use binary keys. The index from the lower level is picked up by the system if we don t have a unique key. The table count determines directly in a logarithmic way the needed runtime for key access. d) The index table: is the table which is possible for us to access with the aid of an index. Its solely purpose if to say what kind of generic parameters we will have in a function or form.

Q16: How do we describe the Check statements and what is their mechanism? A16: The Check statement is used for finishing one loop pass conditionally, when the condition says true the rest of the statements from the actual statement block will be ignored and will begin the next loop.

Q17: How can we describe the following commands: MODIFY LINE and READ LINE? A17: The MODIFY LINE statement is meant for changing the lines of a full list from inside the program and the READ LINE statement is used for reading data found on the lines from the current levels. READ LINE is the same as READ CURRENT LINE and they are both related to HIDE. Q18: In what way is made the client specification regarding data processing? A18: TABLES SPFLI. SELECT * FROM SPFLI CLIENT SPECIFIED WHERE MANDT BETWEEN 001 and 003 . END SELECT. Q19: How do we describe Activation? A19: In the time of activation, the runtime object of aggregate object/tables is being made, it will be buffered for the purpose of faster access from the application program; it contains details regarding the following objects of table: domain, data elements, field definition, table definition. Q20: What is the best way for reading database table lines in an internal table in the form of packs of a known size? A20: SELECT *FROM SPFLI INTO TABLE ITAB PACKAGE SIZE N (N being the variable). We must give a name to the WILDCARD characters that are meant to be compared with numeric and character strings. Q21: What do we mean by Lock Mechanism? A21: The Lock Mechanism stops the beginning of a fresh database operation when another has been finished in the right way. At the end of a conversion the lock will be made automatically if the conversion is correct. Q22: What is the meaning of these terms: Switching changes, storing changes and cancelling changes? A22: The switching changes are the switches from active to revised version, the storing changes mean that active version will be deposited for a limited period of time in versions and cancelling changes will make a reset of the revised versions to be an active versions. A23: What is the significance of restart adjustment and cancel adjustment? A23: With restart adjustment will continue the conversion when it is at the finish point and with cancel adjustment the lock entry will be erased from table. Q24: What is the version catalog and what types of versions exist? A24: The version catalog is the list that contains very version of an object in existence. The version types are: a) b) The active version: is the version made at the program activation. The revised version: is the version made at the editing of the current project.

c) The temporary version: is the version made at the temporary copying of the active version in the database that has store version functions. d) The historical version: is the version made at the making of the correction and at the release of the correction. Q25: How do we show the internal table contents and how does a program run in background?

A25: We can push F9 from the selection screen but not before we fill the screen, then the display will show a request for the user to print Background Parameters. Then we write the output device, that can be for example HPLI/SAP2. Print has to be unchecked urgently from the spool options then we c also delete then new spool request. After we hit enter a screen will be displayed showing the start time of the heading , we may pres start now and save. In this way we have a background job started for the specific program, for displaying its status we will use this transaction code: SM37. Then from the screen that appears Job overview then we select our program then Spool in the toolbar of the application the Output Controller and List of Spool Requests. After this-we select our Spool request and we hit the Display icon that we see in the overview. The List should appear. We have to be careful because if the list exceeds 255 columns it will become truncated in background. Q26: Which are the buffering types? A26: Buffering can be full, generic or single record. In the first case the entire table or nothing will we found in the buffer while in the case of generic buffering the generic locations from the buffer are buffered entirely. Single record buffering is the third case in which the currently accessed records will be loaded into buffers. Q27: What is generic key and generic area? A27: The generic key is the left part of the first table key. The generic area repres ents every record that correspond to generic key fields. Q28: How do we separate these terms: invoking a program, transactions with or without return and what is the way to succeed? A28: When using AND RETURN the data of the invoking executable will be deposited by the system and the system will go back to the invoking once the invoked program was processed. The execution of the invoking program will be retaken when the statement is made. When we don t add AND RETURN the entire data and the stages of the list that the invoking program has or we can say the whole internal session will be erased. Once the executable program is terminated the control will go back to where that start of the invoking program was. When it comes to transaction we have: CALL TRANSACTION [AND SKIP FIRST SCREEN] [USING]. It is a statement that preserves the invoking program data and the transaction begins. When the transaction finishes , the system will go back to the statement from the invoking report that is following the invoking. This statement: LEAVE TO TRANSACTION [AND SKIP FIRST SCREEN] finishes the invoking program and the transaction begins. The invoking stack will be erased (or what we name internal sessions) for all the past programs. When the transaction finishes, the system will go back to the area menu where the original program from the invoking stack begun.

ABAP ALE interview questions Q1: What are the strong features of ALE and how do we benefit from the? A1: ALE is good because it gives the companies the possibility to enhance the performance of their business and to get solutions for technical and management problems. We can split businesses allowing operations at local level in an independent way. This splitting brings improved results to companies, better than the results that they may get at a bigger scale when they are centralized. This is because they are more flexible and this flexibility assures the adaptation of the information systems to the change speed that we find in the markets these days. Through distribution we gain a high freedom state, some of the companies that already have a good local management can make connections with the ALE businesses. Virtual connections can be made and partnerships between different companies in this way. Anyway, integration is not the best solution for all issues because many of the programs that a company uses could not be compatible with a system when we talk about complementary software and legacy systems. Companies can use a different SAP industry solution or a particular solution to a country that can t work on the same system. If these programs run on two or more separate systems, they can t be connected with a central database but they will use ALE as an integration method. ALE can connect SAP Core Systems to CRM, APO or Business Information Warehouse. Not only flexibility is an advantage but ALE has the great advantage of a low upgrade cost, along with other reduced costs. When the entire system works on a single integrated system the entire system has to be upgraded even in the case when just company component requires an upgrade. The Upgrade has an impact on the whole company and for this to be a success the users must be instructed with the new version. A distributed software with separate single interfaces like ALE we can concentrate to upgrade only the part of a company that is necessary to be updated while keeping the remaining parts the same with no update or instructions; the advantages of this procedure are obvious- saving big amounts of money and protecting the current investments. There is one more cost element that influences the communication cost, it is cheaper to have a 64k line connection to the central system than to have an overseas type of connection. Q2: What is the meaning of ALE? A2: ALE or Application Link Enabling is the totality of tools and business processes that can give the programs the possibility to connect from different computers. The computer can be two or multiple SAP systems or they can be SAP and non SAP. In one SAP system, through one database multiple applications can be incorporated. As example: sales, production, finances, human resources etc. The business that ALE is providing can connect programs from various platforms. Some of the ALE businesses are found in the SAP standard system, but with the aid of some utilities we can modify the current processes of ALE businesses or insert fresh processes. Along with the normal business processes there are specific ALE services needed for configuring the distributed environment control, services that contain business object synchronization, distribution model or utilities for error management and monitoring. Being a component of the SAP Business Architecture, ALE allows the cooperation of the framework parts, it works like a glue for the Business Framework. ABAP Enhancements interview questions Q1: What is the reason for using enhancements? A1: Normal programs don t give us all the functionalities we may need, so to fix this we can use the R/3 enhancements that will permit us to insert our particular functionality to any normal SAP program.

Q2: What is the meaning of customer development? A2: Customer development generates objects particular to the customers in their name range.

Q3: What weaknesses do we find when using modification? A3: One of the weaknesses is that we could have errors when standard code is modified. This automatically leads to a higher amount of work when software upgrades are made. Q4: Why should we choose to make modifications? A4: Customer exits don t exist in every screen and program from R/3, and because they can be used just if they are already existing in SAP R/3, sometimes we must choose to make modifications. Q5: What is the meaning of a screen exit? A5: Screen exits means to add fields to R/3 screens, SAP generates screen exits by deploying particular subscreen areas in a normal R/3 screen and then invoking customer subscreens from the normal flow logic of dynpro. Q6: What is the way in which exit organizing is made by SAP? A6: Organizing exit packages of SAP is also found under the name of SAP enhancements and every SAP enhancement can have several particular exits. Q7: What is the meaning of user exits, how are they written and which measures do we have to take for prevention? A7: In the default standards of SAP we can find the user defined functionalities, we can find a Sap program in which a customer personal program may be invoked. Unlike customer exits. user exits can permit the developers to enter and change the parts of the program and also the objects. When upgrade is made , every user exit has to be verified for conformation to the standard system. The user exits can use INCLUDES, case in which Customizing makes the management. We have to search for those customer enhancements from a specific development class. Q8: Can we classify the enhancements by type? A8: Yes they can be classified in: a) enhancements that use customer exits and b)enhancements of the elements in the ABAP/4 Dictionary. a) The standard software doesn t incorporate all the requirement of the customer, but they can be s contained as empty shells that can be changed by the customers by inserting their personal codes. The enhancements can refer to menus, screens or programs, the compatibility being assured. This means that in SAP guarantees that the compatibility will be maintained even when passing from standard software to exit and the interface invoking the exit (they will be kept for future versions too). b) These are enhancements like table appends or text enhancements or field exits (supplementary coding for data elements). Q9: What is the meaning of SSCR? A9: The SAP Software Change Registration or SSCR is the operational that makes possible the registration of every manual change of the SAP source coding and objects of SAP Dictionary. Q10: What are the strong features of enhancements? A10: They don t have an impact on the standard source code of SAP, they don t have an impact on software upgrades.

Q11: Which are the main types of customer exits? A11: The main types of customer exits are: the screen exits, the menu exits, the function module exits and the keyword exits. Q12: What is the meaning of function module exit? A12: The function module exit is meting supplementary functionality in R/3 programs having a big role in the menu exits and the screen exits. Q13: What is the meaning of an add-on project? A13: For using in the best way the exits we find in the standard R/3 programs we have to make an add -on project, that makes possible organizing the enhancement packs and the exits we desire to use. An add-on project makes possible to met add-on functionality on the texts from the SAP enhancements. Q14: What is the meaning of a keyword exit? A14: With a keyword exit we can give to the data elements of the keywords from the ABAP/4 dictionary some documentation. This documentation will be shown by the system every time users hit the F1 key for obtaining help online regarding a screen field. Q15: What is the meaning of a menu exit? A15: Menu exits mean when we add item on the pulldown menus. Q16: How can we separate enhancements from modifications? A16: When we create modifications on the functionality of the SAP standard we saymodifications. When we put supplementary functionality on the standard functionality of SAP we say enhancements. Q17: What is the meaning of customizing? A17: When we configure the system parameters through the SAP interface we mean custominzing. A18: How can we classify the methods in which we generate modifications in the standard software of SAP? A18: We can make: enhancements to the standard of SAP, modifications to the standard of SAP, customizing and customer development. SAP ABAP top 50 interview questions These are very very top sap abap interview questions for interviwers..

Q1: What is the way to combine SAP and CAD? A1: SAP interfaces are given by third party tools like those from Eigner or Fastlook Plus (from Kamel Software) which can allow us to display every format from Autocad. Q2:Is it possible to have a standard SAP report that will count how many times a program is running? A2: There is one report like that, transaction STAT.

Q3: We use SAPSCRIPT-FORMATPAGES for receiving the total page count that we expect, since our duplex case is every time Terms and Conditions , what should we do if we don t need the same page count like in duplex printing? A3: We have make modifications on the Page counter mode, putting it to HOLD to avoid the incrementation when printing the Terms and Conditions. Q4: At client creation the details get updated in the RF02d structure and also KNA1 tables get updated (some of them), where are the master data transaction tables to be found? A4: We have to hit Overview from the ABAP Workbench then application hierarchy then SAP and see the customizing tree of our program; we must choose the lowest hierarchy level in order to receive the right development class marking. Every table is found here, every view and every logical database of a system operation. Q5: How do we get an RFC to perform these transaction: MB1A, MB1C, >MB01? A5: We will need to invoke RFC INBOUND_IDOC_PROCESS using IDOC_CONTROL and IDOC_DATA. The IDOC_DATA structure fields are e1mbxyi e1mbxyh. Q6: When we state the logical database and we require a field that will not be found in the normal tables of the logical database , how do we do this, how do we add a field that is from a separate table? A6: Let s think that we poses this logical database: Table 1 Table 2 Table 3 We then will define fld as the supplementary field (initially it is the required field) of tables 1, 2 and 3, then: Perform get_fld(zxxxxxxx) with fld where form zxxxxxxx can be Form get_fld with f=table4-fld. Q7: We see that the ABAP program is running well in background, is it possible to schedule it to run this weekend in background? A7: We can do this, it is possible with the aid of RSBDCSUB, a normal SAP program but we have to make a version of RSBDCSUB using the name of the BDC session. Q8: How do we transport a change to a layout set in a Dev instance between two clients in a better way? A8: This can be done using transaction SE 71 from Utilities then Copy from Client and the transport will be made from client to client through the DEVKxxxxxx requests. Q9: What is the way to set parameters? A9: We have to setup the PS utilities from the SAPGUI setup CD and then from SE38 we have to start report RIACCESS, the SALE, Communication, Define RFC Destination, we have to intall 2 RFC destinations PS_ACCESS_1 and PS_ACCESS_2 and configure them to show wdpsatab.exe and wdpsastr.exe. After this we will run RIACCESS and select PS_ACCESS_1 for creating access tables, but just tables of 255 fields are compatible with Access. Q10: In what way is possible to move standard text?

A10: For a full tutorial follow note 3355 from OSS, the objects that need to be moved from SAP Script have to be met in a transport request, like below: R3TR FORM NAME (the layout set name) R3TRSTYL NAME(the style name ) R3TR TEXT OBJECT, NAME, ID, L. Here Object means the text object, NAME means the text name, ID means text ID, L is the text language. For moving multiple texts we should use report RSTXTRAN for entering particular text keys in a correction, the moving request has to be inserted and released through the transport system. Q11: Why can t we make stock order transports , even if we can make transports for delivery due list by invoking transaction VL01 in batch input? A11: Filling delivery due list can t be made as is not a dynpro, but a normal SAP report, which can be invoked with the use of the corresponding options, it is better to invoke a report instead of making a batch -input program. Q12: What is the best way to access SAP online? A12: There is a private Internet transaction server or ITS for SAP and there are also products like WebObjects, Haht, NetDynamics, every product comes with a different architecture. But for database access we have to use the following access paths: RFC Channel and SAP GUI.

Q13: What is the way for locking user defined transactions temporarily so that nobody has access to the same? A13: They way is by using the SM01 transaction. We have to look for transaction and make sure it is locked by checking, then when the maintenance is done we can uncheck SM01 for unlocking. Q14: What is the way to see which transactions were running for specific time for a specific user? A14: For this the way is using STAT. Q15: How can we announce a user for the completion in background of a BDC or report? A15: We can do this by using FUNCTIONS RS_SEND_MAILFOR_SPOOLLIST. In Unix a report has to be sent to the e-mail with this: REPORT ZSNDMAIL. DATA:COMND(299) type c. DATA:RESULT(200) type c occurs 100 with header line. PARAMETERS: FILE(60) type c lower case default '/sapdata/sd_outbound/testmail.dat'. PARAMETERS: SUBJECT(60) type c lower case. PARAMETERS: EMAIL(60) type c lower case. INITIALIZATION. TRANSLATE EMAIL TO LOWER CASE.

START-OF-SELECTION. TRANSLATE EMAIL TO LOWER CASE. CONCATENATE 'cat' FILE '| elm -s "' subject '"' email into comnd seperated by space. CALL 'SYSTEM' ID 'COMMAND' FIELD comnd 'TAB' FIELD UNIX_RESULTS-*SYS*. Loop at Results. write: /1 results. endloop end-of-selection.

Q16: Is there possible to print a logo in an invoice? A16: The Logo can be made and saved with Corel Draw or PaintshopPro under a tiff file, then with RSTXLDMC we must transform the logo into a standard text format in SAP Script. It is important to write the name of the file and the patch right at the execution of the program. It could look like this: Run RSTXLDMC Enter file name C:\MAIL\COMPLOGO.TIF Resolution for Tiff file Absolute X-position Absolute Y-position Absolute positioning Reserved height Shift to right UOM = CM Text title Line width for text = 132 Text name ZHEX-MACRO-COMPLOGO Text ID ST Text language = E Postscript scaling Width & Height according to PS scaling Number of Tiff gray levels (2,4,9) 2

We must make a new window COMP that has attributes; Window COMP description Company Logo Window type CONST Left margin 7.00 CH window width 10.00 CH Upper margin LN window height 8.00 LN In the end we have to say in the text element /: INCLUDE 'ZHEX-MACRO-COMPLOGO' OBJECT TEXT ID ST LANGUAGE 'E'. We have to be careful because if we don t indicate the name of the object as ZHEX it is possible that the logo will not be printed. Anyway we can t see the logo in a preview (test print). When we use 2 logos in a layout we have to put individual name to every logo. Example: ZHEX-MACRO-LOGO1 and ZHEX-MACRO-LOGO2 , if we don t do it like this, every detail will be overwritten. One more thing, the logo is not printed if it is not tiff 6.0. Q17: Can we monitor the transports which will go in other systems like DEV, TST, PRD or TRN? A17: For the management of the DEV and CTS systems we have SAPCRAFT, it monitors every transport at every level and we can allocate the import, authorization and export functions to a particular user. Q18: In what place can we deposit the last file number in the case when we have to download internal tables on the local workstation or Presentation Server, as we have to save each file in order like 0001.txt, 0002.text, 0003.text and so on? A18: For depositing these files in SAP we have the TVARV table in which we can make records for each program that needs this type of records. Example: we have this record 100Zmm10001 MM, the first part of the record is the code of the client and the current working record, the second part describes the role that the record will have, the whole string can be put in the Name field. We can have Parameter and Selection in the Type field (P and S) and we can have 0001 on first run in the Low field. A19:Can we have some examples of Direct input data transfer programs? A19: Material Master data, MM -RMDATIND, Accounting Document (FI) requirements(PP) RM06INN00, Classification data (CA) RCCLBI03. A20: What is the meaning of a field symbol? A20: Field symbols don t make space in the physical memory, instead they display fields that will be available at the program start. Usually it is enough to know just the field that we are about to process and the m ode in which it is processed at runtime. To accomplish this we can make field symbols in our program and real fields can then be assigned to the field symbols during runtime. The processes that we initiated with the field symbols will then be transported along with their assigned fields, after this it doesn t matter if we reference the fields or the field symbols. Q21: Which are the main standard programs that everyone who uses ABAP have to use and learn? A21: RSAVGL00 the configuration of tables between clients, RSBDCSUB makes the release of batch-input sessions automated, RSCLTCOP is copying tables between clients, RSINCL00 ExtendedProgramlist , RSORARELGettheOracleRelease, RSPARAM Displayallinstanceparameters ,RSTXSCRP TransportSAPscriptfilesacrosssystems, RFBIBL00, Independent

RGUGBR00 Substitution/Validationutility, RSUSR003 CheckthepasswordsofusersSAP*andDDICinallclients, RSUSR006 makes a list of last logins and RSTXLDMC is loading LOGO s on the application server. Q22: What is the way for using a grid list? A22: For using grid lists we will use Function Module Display_*LIST.We will put all the required data for output in the last format and then transport the internal table on the function module. There are 2 types of grid lists: a)in version 4.0b we have DISPLAY_GRID_LIST b)in version 4.6b we have DISPLAY_BASIC _LIST. Q23: What database integrities do we know? A23: The database integrities are classified like this: relational, foreign key, semantic, primary key, value set and operational. Q24: What types of lock modes exist? A24: The lock modes are: exclusive, shared and extended exclusive. Q25: When do we have to use GPA an SPA and what is their meaning? A25: To insert report data in the fields of the invoked transaction we have to use the SPA/GPA technique. SPA and GPA are parameters or values that are deposited in the global memory by the system. The memory of SAP is actually good for moving the values from a program to another. The values that are deposited can be accessed by the user in the SAP memory in the time of a single terminal session for every mode together in the same time. Q26: What message types exist and what is the way of displaying them? A26: The system is announced about errors that appear by the ABAP/4 module in the form of information, messages of warning or error, it can also issue messages of success when some action that have been made is a success. By pressing the ENTER key the process currently running will be terminated. The SAP main menu can be reached with the aid of the Abend message. Q27: Where is the Message class generated and how is this made? A27: 2 locations in the system can generate a Message class: a) b) The Object Broweser, where we will have an object list- Object class. The ABAP/4 Editor, where there is the ABAP/4 module.

Q28: What is the meaning of interactive reports and what separates them from HTML reports? A28: With interactive reporting users can be have an interactive participation at data presentations and recovery in the time of a session, interactive reporting is not making a very detailed list but a concentrated and simple list from where we can invoke more information and details by moving the cursor over it and inserting commands. It also lowers the recovery of information of the needed data. The secondary lis contains the t details, this list can be as a full overlay of the main list or it can be displayed on a supplementary dialog window from the main screen. We can also make the secondary list to be interactive as well. Q29: What do we have to define for Domain and for Data element?

A29: For Domain we define the Field Length, the Data Type and the data values that are permitted. For Data Element we define the FIELD TEXTS and COLUMN CAPTIONS represented as fields on the display. They the table contents output. Q30: What phases exist for generating tables in the data dictionary? A30: The first phase is choosing the table fields, second is keeping the foreign keys, third is making secondary indexes( is not mandatory), the fourth is keeping the technical settings and fifth is enabling the table. A31: What separates transparent tables from pool tables? A31: Pool tables is related multiple to single to the database table, this means that for a single database tables there are multiple tables corresponding to it in the dictionary. The dictionary table is named separately from the database table, also the field count and field names are different. The storage of pool tables is made at the stage of the database. A table pool is the same thing with a table in the database and its construction is specific for activating the data of multiple R3 tables for storage. Q32: What benefits do we get from structures and what is the way for using them in the applications of ABAP/4? A32: Structure can be defined like tables in the dictionary and the access to them is made from the applications of ABAP/4, when modifications are made in this structure every program receives the change in an automated way. The data in a structure is valid just in the time of the application runtime, unlike the data from tables which is deployed in the database forever. Structures are meant for moving the data from program to program at a global level in ABAP/4, at a private level they are good at defining the data from module pools to screens and for function module case in which they generate standard parameters.

Q33: What is the role of the EXEC SQL statement and what are the weak points of it in ABAP/4? A33: The EXEC SQL statement is used prior the Native SQL statement which will be finalized with ENDEXEC statement.databases. Q34: Can we describe what is happening when we enable tables in DD? A34: When we enable tables , in the ABAP/4 Dictionary a physical table definition will be linked and deposited and the single table definition from the database will be converted in a relevant database definition. Q35: What is the meaning of a matchcode? A35: Matchcodes are utilities that help us find data records in the system, being simple and efficient in the case we don t have the key of a record. It is made of 2 level: the Match code object which refers to the group of paths that a search item can have and the Match code ID which refers to a particular search patch that a search item has. Q36: What is the description of the SAP Client concept and also the Client independent? A36: When we speak in a technical, commercial or management language we can say that a client is a stand alone full unit in R3 that that has a particular group of Master data and its own Tables set. Every client from the system is affected if a client gets modified, in this case we say that we have Client independent objects. Q37: What is the meaning and usage of variants?

A37: When we have to start a report program with equal selections at some regular time intervals like for instance monthly or weekly statistics we will have to insert each time tha same values. There is an option in ABAP/4 that gives us the possibility to bring together all the selections and make one single selection group. These groups can be as many as we want each one for a particular report program( they will remain linked on that report). A group like that is named a variant. Q38: How can we transfer selection and parameter data in a report? A38: For transferring selection and parameter data in the report there are three ways: a) b) c) SUBMIT WITH Report variant RANGE table.

Q39: What is the best way to transfer data to the program Subroutine from forms? A39: This can be achieved by using the ITCSY structure. Q40: What is the way to use Variants Online or in Background Processing? A40: Beginning a report online through variant helps the user to save the work an avoid errors of input. When it comes to Background Processing there is no other option for transferring the values for selections than the variant. For filling those selections that have values which are modifying depending on the application we have to use variants because they pick up the values from the TABLE TVARV.

Q41: What is the meaning of Internal tables? A41: The table objects that are in existence just during the program runtime are the Internal tables. In order to work using Internal tables many ABAP statements exist like delete, insert, find or append lines. The line count that Internal tables has can be extended in a dynamic way according to our needs. Internal tables can be useful for to calculate the tables on subsets from the database tables. They are useful as well for content management for the purpose of accomplishing the program requirements.

Q42: What is the best way to validate a report s selection criteria and how can we display on the selection screen the default values? A42: In the processing block of the event named AT SELECTION SCREEN The criteria will become validated and the default values on the selection screen can be showed using: a) b) c) INITIALIZATION EVENT DEFAULT VALUE option of the PARAMETERS Statement SPA/GPA Parameters or PIDs.

Q43: What is the meaning of get and set parameter? A43: The SPA/GPA parameters are used for transferring data to an invoked program and they are values of fields stored in the memory globally. Every parameter can be found by a three -character code. To define

parameters we have to go in the object browser and choose Other objects in the next display. The saving of SPA.GPA is particular to users and in every session that a user has they are valid. The statements GET PARAMETER and SET PARAMETER are good for depositing and recovering the values of SPA.GPA in the ABAP/4 program. If the needed fields are not shared between the two selection screens of the transactions we can then use the statements for depositing the screen fields with names. Prior to invoking the new transaction we can deposit the transaction fields of the invoker with this name : SET PARAMETER ID RID FIELD. The value s from the SPA parameter RID will be deposited by the system. RID is the three-character identifier and we have to make its definition in table TPARA in SAP. When this parameter has a value already it will be overwritten by the statement SET PARAMETER with its details. To recover the fields with the other name for the invoked transaction in the PBO module: GET PARAMETER ID RID FIELD. Q44: What is the meaning of ranges and number ranges? A44: Many times it is required to make a direct access to personal records from data structures and we do this with unique keys. For linking numbers to personal databases we will use number ranges. Examples of this type of numbers: material master numbers and order number. Q45: What is the meaning of check tables and value tables? A45: In the relational data model we don t find just tables, we also find the relations of the tables with other tables and these relations are defined with the use of foreign keys in the dictionary of ABAP. Foreign keys have the role of maintaining the integrity of data in the relational data model. The foreign key fields can have just the values that the check table allows, meaning values that appear on the check table primary key. Two tables are connected through a foreign key as in this example: table T1 and table T2 with a primary key reference in T2. The foreign key fields of the primary key fields from T2 are contained by T2, T1 is the tables verified, T1 is named foreign key table and T2 check table, we can use as well the terms dependent (table) and referenced (table). When the check field domain contains a value table it will be seen as check tables by the system (in the routine of the foreign field). Now the value table key fields are the fields of the foreign key table and they have an equal domain, they can take just the values that the value tables allows. By specifying value table we may define the domain s value range and every field that has reference to the current domain may be verified for this field s value table. For making this verification we have to define a foreign key on the value table. Q46: What events are found in ABAP/4? A46: In ABAP/4 these are the events: INITIALIZATION, AT SELECTION-SCREEN, AT SELECTION-SCREEN ON, START-OF-SELECTION, TOP-OF-PAGE, TOP-OF-PAGE DURING LINE SELECTION, END-OF-PAGE, END-OFSELECTION, AT-USER-COMMAND, AT LINE-SELECTION, AT PF, GET, GET LATE, AT USER COMMAND. Q47: What is the difference between Native SQL and Open SQL? A47: With Open SQL we can enter in every database table from the SAP system no matter what manufacturer the database has. Many times we have to make use of Native SQL statements which are particular to databases in ABAP/4 programs. For having independent programs( regarding the current database system) in ABAP and for not having compatibility issues amongst tables in Sap we can find a group of differentiated SQL statements named Open SQL. Open SQL has standard SQL statements and many improvements that are found only in SAP. Open SQL statements can be converted in SQL commands by the database interface and they are particular o the current database. Native SQL statements are having the advantage of direct access to the database. Q48: How can we describe SAP locking and what is a lock object having? A48: Through Sap locking we understand implementing or defining logical locks on the objects of the database. The lock object can have a lock argument and tables.

Q49: What is the way for invoking a lock object in a transaction? A49: This can be done With the invoking in the transactionof Enqueue and Dequeue. Q50: What is the role of function modules and what types of parameters exist for them? A50: The function modules are library routines with a generic use and they are found everywhere in the system. Usually they have 4 types of parameters: a) b) c) d) EXPORTING- used to transfer data to the invoked function. TABLES-used to transfer by reference just internal tables. IMPORTING-used to get data that the function module returned. CHANGING-used for transferring parameters to a function and from the function.

Q51: What events allow us to program help texts and display possible values lists ? A51: The events are: PROCESS ON HELP-REQUEST (POH) and PROCESS ON VALUE (POV).

Q52: What is the way for, instead of displaying a report to print it? A52: We can print the report with the aid of the keywords TO SAP-SPOOL: SUBMIT RSFLIND TO SAP-SPOOL DESTINATION LT50 . Q53: How do we differentiate PARAMETERS from VARIANTS and SELE-OPTIONS? A53: For inserting values in the selection screen variables the variables have to be defined with the PARAMETER statement. For inserting range of values in the selection screen the statement SELECT -OPTIONS does the job. When we need to repeat the program at regular times using the same selections we can make combinations of the values we want in a single selection group, the selection is named VARIANTS. Q54: Through what way we can get data to reach external programs? A54: This can be made with the SPA/GPA parameters in the memory of SAP and with EXPORT/IMPORT data in the memory of ABAP.

Q55: What is the meaning of filed symbols and field groups and what is the usage of an idx structure component in relation to field groups? A55: Field symbols are not providing physical memory spaces for fields, instead they show a field that become known only at the program runtime. They can be compared to pointers at the level of concept (like in the C language). Extract datasets are made of record sequences, the records can be of various structures. The records that have an equal structure can be categorized together as a record type and every record type has to be defined as a filed group with the aid of this statement: FIELD-GROUPS. Q56: What is the meaning of the collect statement and in what way can we separate it from an append statement?

A56: Inserting lines in internal tables that have independent standard keys, the statement COLLECT is used. When we already have an entry with that key the COLLECT statement brings the numeric field contents from the place of work to the numeric field contents from the current entry instead of appending a new line (thing that is made by the APPEND statement). Q57: What is the role of the EXTRACT statement in ABAP/4? A57: Once the primary EXTRACT statement is used in a report the extract data set is generated by the system and the primary extract record is brought. Then at every EXTRACT statement a supplementary extract record is brought to the extract dataset. ABAP interview questions on SAP Scripts SAP Scripts: Q1: What is the meaning of a SAP Script and what is the role of it? A1: SAP Script is in fact the word processor of the SAP system, very similar to the most used text processors available for personal use on computers. Usually companies print the documents in their own layout like invoices, delivery notes and others. There is a standard layout (or predefined) but sometimes the standard layout has to be expanded according to the requirements with additional data like addresses or purchase orders. These details are inserted by employees or they are extracted from database tables. Companies use a high amount of these documents, so printing them has become a big requirement. Larger documents are printed like paychecks, reminders, order confirmations, payslips and others, for making this possible SAP Script is developed in such a way that it can make all the document types mentioned above, it has the IT tool that is used for text insertion and the printing of forms in the R/3 programs. Usually SAP can give us these document types in a standard form but each company can modify them or replace them at their desire and according to their needs. Q2: Which are the variables that we can utilize for data output in SAP Script? A2: &Tables name-fields& Q3: What is the meaning of a Compare Tool in SAP Script? A3: For object comparison between clients there are many utilities within SAP Script, for example for the comparison of these objects-Documents, Layout sets and Styles we have a Compare Tool. With the Compare Toolwe can make many things like: verifying if an object can be found in each of the two clients or showing why multiple versions of an object are different. For the page layout management or to format the text in a document we can use Layout Sets. The Standard styles and layout sets are found in Client 000 in the SAP system. Q4: How can we describe better the SAP Script ? A4: SAP Script is by definition the text handling system of SAP R/3, it has a high degree of integration in the SAP system, it is the standard and the most used tool for several tasks that involve the processing of text in the entire SAP system.

Q5: What is the meaning of Layout Sets? A5: In SAP Script Layout Sets are the tools that define the layout of pages (documents). A layout is constructed from many components, some of them even handle the layout itself for single pages or some are filled with

details about the text that is about to be printed on the pages. The Layout Set speaks about how a document will look and how it will be constructed, it will contain text blocks with areas for variables that can be useful for other programs, each SAP Script document has a Layout Set. When we want to modify our documents, for instance when we have to move text blocks, choose a different font, set a specific paragraph type, insert tabs all these can be made from the Layout Set. For text formatting we have two possibilities: We insert the text and output it in normal text maintenance or we can insert the text through the Layout Set. The text can be formatted through the ABAP/4 application and the Layout Set, the application will output single text blocks, elements of a text or a whole document. The formatting of our text is given by the use of Styles, they make the formatting by configuring the character formats and the paragraphs that we use in the document. Styles can be useful for highlighting strings of characters and even entire paragraphs, they can be attributed to every type of text but mainly they will be used in the basic windows of Layout Sets, where the text is inserted straight from the user in a document. An important element is the header data, which can be used on Styles for show valuable details( in this way an end user can choose a style in the simplest way) and Layout Sets as well, where it has the role of control and information. The Layout Set maintenance also contains windows, which are places in a page where the text will output in the near future, every Layout Set contains one or multiple windows, if the window is missing then text formatting will not be possible in SAP Script. Window types that are used in Layout Sets: a) MAIN-in this type of window the output of text is made continuously, it is a window type that is common to the dialog users, like the body text of letters. b) VAR- this type of window contains variable text in every page where the window is found, these windows will be formatted for every page. c) CONST-this type of window contains constant text so it will be formatted only one time.

W can classify the elements of a Layout Set like this: a) The header data- it contains data about the construction and the Layout Set like who made the document, what elements were used etc. This is the start page. b) The paragraph formats they are needed for text formatting exactly as in Styles but their usage extends to the processing of text like formatting the text elements as well. c) The character formats-these can be used for formatting paragraphs and text, they actually format the text from inside paragraphs d) e) f) The windows- they are placed only after their assigning to pages and attributing measurement units. The pages- They give us a beginning and a finish in the formatting of text. The page windows- They bring the pages and the windows together and their measurements are stated.

The management commands in SAP Script are meant for handling the output formatting and they are not read by the SAP Script Editor but processed by the SAP Script Composer which is an application that transforms the text from the editing form to the printing form.

Q6: Can we describe the way in which the Layout Sets are backed up, uploaded and downloaded in SAP Script? A6: For the SAP Script backup we have go to transaction SE71to select Utilities then Copy from client then Give source from name then source client (000 default) and Target from name. For downloading we must go to transaction SE71 the we must write the name of the form then we select Display, Utilities, form info, List and we hit Save to PC file. Fro Upload we have to create form with page then window, pagewindow with the downloaded PC file. From the PC file we will have the page window text elements. Q7: What is the way to count pages the SAP Script outputs? A7: &page&, &nextPage&. Q8: How can we classify the SAP Script components? A8: SAP Script can be classified in: SAP Script text, Layout Set, Symbols, ABAP print program and function modules such as read text, open/close form and others. Q9: What is the way to deposit the text in SAP Script? A9: For text storage SAO Script uses ITF or the Interchange Text Format but it also has the options to convert RTF or Rich Text Format and also ASCII which are formats for other text processors. Q10: How can we describe symbols and what are the main types with example? A10: The constant that may be entered into a document has the name of symbol and has the role of keeping the supplementary work if phrases or portions of the text get replaced, the symbol name is enclosed with &. Example: &variable name&, or system symbols like &Date&, &time& an others. Standard symbols are the ones that the user has defined and they are kept in the table TTDTG. Examples of standard symbols: &SGDH& for : dear sir/madam and &MFG& for: yours Faithfully . The program symbols show ABAP/4 program data that invoked a function for text processing, example: Itab-connid. The text symbols are good for every block type of text to define but it becomes valid just where it has been defined, example: Define &Symbol&= value . Q11: How can we implement the tab sets in Layout Sets? A11: We can do this by defining the paragraphs using defined tabs.

Q12: What is the role of the composer? A12: For getting a final look of our documents we will combine the Layout Set with the print program, the print program is being started by SAP Script so the process of printing begins, each of the commands inserted with the aid of the SAP Script interface is given to the composer. The print program specifies a Layout Set which contains the details that will be sent to the composer, and in this way the documents will be formatted base on the details provided. When there are variables in a document they are they will be replaced with R/3 data, for example the actual date or with data from the print program. In the end the document is finished with the use of the print program and the composer will put it in the spool.

Q13: What is the way to define the text symbols? A13: We can define the text symbols with the aid of the control command DEFINE &x1&= 56

Q14: What activity is the most time-consuming from all in SAP Script coding? A14: The most time-consuming is when we define Layout Sets. Q15: What commands are used in ABAP/4 for connecting a Layout Set? A15: We can use the following: the call functions OPEN-form, WRITE-form or CLOSE-form. Q16: How do we define the data tab space in SAP Script and where? A16: We may define the tabs after we define the text element paragraphs. Q17: Which are the commands mainly used for control? A17: The main control commands are PROTECT, ENDPROTECT, DEFINE, NEW-PAGE, INCLUDE, IF, ENDIF. Q18: How can we introduce a logo in our program and what is the name of the program for logo upload and also what syntax can be used for this in SAP Script? A18: We can use the RSTXLDMC report for uploading a logo and this statement: /:INCLUDE ZHEX-MACROXXX OBJECTTEXTID ST LANGUAGE E . The name of the object is represented by XXX . Q19: What purpose has an ABAP application in SAP Script? A19: The purpose of an ABAP application can include multiple parts like: a) It makes the definition of the processing logic of the Layout Set, or so to speak-what order the elements of text have and when are they used again. b) c) d) e) It takes the data from the R/3 program that is found in the database. It selects a Layout Set to print. Chooses printer, fax or monitor as the output device. It makes print configurations regarding the counting of pages that will be printed.

Q20: What is the correct syntax used for a box command? A20: The syntax looks like this one: BOX XPOS 2MM WIDTH 0 CM HEIGHT 9.5 CM FRAME 10 TW.

Q21: How do we define variables? A21: DEFINE &CUST&= 00000021 . Q22: How can we describe symbols more detailed? A22: The values that are entered in the time of print formatting are stored in symbols and these symbols can be found under names between & and they are not case sensitive.

System symbols are: DATE, DAY, NAME_OF_DAY, MONTH, YEAR, TIME, HOURS, MINUTES, SECONDS, PAGE, NEXTPAGE, DEVICE, SPACE, ULINE, VLINE. Standard symbols are the ones from table TTDG and are defined by the user. To show them or modify them we can use the transaction SM30. An example of standard symbol: &MFG&. The standard text is a normal text that can be found in one or multiple forms and they can be written , modified or shown with the aid of the transaction SO10. For text classification we have text ID. For putting standard texts in forms we can do this with the command INCLUDE like the following: INCLUDEZ_BC460_EX4_HF OBJECTTEXT ID SDVD. We can use the PARAGRAPH parameter to format standard texts, in the next example we will see how we can center the text: INCLUDEZ_BC460_EX4_HF OBJECTTEXT ID SDVD LANGUAGE EN PARAGRAPH C. Name:Z_BC460_EX4_HF Object: Text Text id: SDVD(TEXT id from SO10) Language EN Paragraph: C (Centered0. Program symbols are used for database content. For tables: kna1, in forms: &KNA1-NAME1&, for formatting: &SYMBOL& (it means there is no formatting), &SYMBOL(5)&Length(the data and length), &SYMBOL(Z)&Suppress leading zeros, &SYMBOL+4&Offset(the start of the output), &SYMBOL(I)&Suppress initial value, &SYMBOL(C)&Compress blank spaces(one space from the compression of consecutive spaces), &SYMBOL(S)&Operators are suppressed, &SYMBOL(R)&Right align output, &SYMBOL(8.2)&Decimal format(length), &SYMBOL(*)&Dictionary length(the ABAP dictionary), & text1 SYMBOL text2 &Text entered prior to and after the symbol.

Q23: Can we give a detailed description on the Control commands? A23: For the changing of text output we use control commands./: is the format key that can be used in the format column, there is the intensity (grey scale) in percents, the frame thickness is given by frame parameters with zero as the initial value. Every parameter such as width and height, xpos and ypos or frame will h a ave measurement unit like: CH-character, TW-twip, IN-inch, PT-point, MM-millimeter, LN-line, CM-centimeter; as an example we have: BOX XPOS 10.14 MM YPOS 5.79 MM HEIGHT 9 MMWIDTH 14 MM INTENSITY 8 FRAME 0 TW. This is making 2 lines and 2 rectangles for building a 3 column table and a highlighting heading section. POSITION and SIZE are commands used for configuring the initial box parameters, a very good thing when we have many boxes with equal parameters. With POSITION WINDOW we can configure the position in relation to the window (to the left or to the right), after that we can use POSITION for setting the coordinates related to the window start. + and - can be used for position configuration in ORIGIN. The Styles are utilized in forms for setting paragraphs or formats of characters and for this we have multiple standard Styles in SAP; we can also define personal styles. For the creation, finding and keeping of styles there is the transaction SE72. With the aid of the Format menu and then Style we will give the text a style and for non permanent modifications to the style we will use /: as a command.

Q24: How do we import or use graphics in Sap Script? Q24: For importing graphics in SAP there is the transaction SE78. We may include using Edit, Graphic, Create in the form painter or we can use the statement INCLUDE, case in which we will use the window script editorInclude, Graphic like in this example (with a bitmap): /:BITMAP MYLOGO OBJECT GRAPHIC ID BMAP TYPE BMON. Q25: How are the modifications made? A25: Changes to the normal SAP program have to be made only in the case when this is compulsory. When we require supplementary data , we should use the statement PERFORM and we don t have to modify the print program. He print program modification can take place due to reasons like these: modifications in structure or the requirement for fresh text elements. The print program the will print supplementary forms will be crucial to deciding what are the print programs and forms that we will use. They exist in the TNAPR table and they are specific for a particular output type; the programs used for output are: view V_TNAPR for entry modification from transaction SE30, for importing or exporting a SAP Script form from a PC file we will use RSTXSCRP, for getting the print application name we will use SD or the TNAPR table (for SD documents).

Q26: How can we define and enter a standard text? A26: The default text type that can be implemented in multiple forms is called a standard text. With the aid of the transaction SO10 we can make, modify or display a standard text. For classifying the texts we will use text ID. With the command INCLUDE we can introduce a standard texts in forms like in this example: /:INCLUDEZ_BC460_EX4_HF OBJECT TEXT ID SDVD. With the aid of the parameter PARAGRAPH we can format standard texts and for centering texts we can see the example: /:INCLUDEZ_BC460_EX4_HF OBJECT TEXT ID SVD LANGUAGE EN PARAGRAPH C. For address format we can use the command ADRESS-ENDADRESS which is determined by the country parameter from the postal standards that the country of the recipient has. Example: ADDRESS DELIVERY PARAGRAPH AD NAME &KNA1-NAME& STREET & KNA1-STRAS& POSTCODE&KNA1-PSTLZ& CITY&KNA1-ORT01& COUNTRY &KNA1-LAND1& FROMCOUNTRY de ENDADDRESS. For pagebreak avoiding in paragraphs : /:PROTECT : :

/:ENDPROTECT. The lines of text that are to be defended against pagebreaks will be met between the command IF and the command ENDIF, as in every ABAP program like this: /:IF condition : : /:ENDIF and /:IF condition : /:ELSE : /:ENDIF. An exact expression would be: /: &SPFLI-CITYTO&= BERLIN A27: What separates a Window from a Page Window? Q27: The Page Window is when we declare the parameters of a window that was declared be fore and the document look (width, height and the margins left and right). Window is when we talk about the type window, about the initial paragraph or the text components (SAP Scripts) that have to be included. The windows are those places stated from the start in the layout set , the text blocks that we find on a page are the windows. Q28: How do we load graphics like logos in SAP Script? A28: We can load graphics like files with the .tif extension in SAP Script in standard text with the aid of RSTXLDMC. Q29: Which are the most used programs from SAP Script? A29: For the transformation of the page format we have RSTXFCON, for downloading and uploading the layout sets we have RSTXSCRP, for the debugging of SAP Script we have RSTXDBUG, for moving script fil s from e system to system we can use RSTXSCRP, to modify development classes of different objects we will use RSWBO052, for table contents comparison between clients we have to use RSTBSERV. Q30: What are the steps and other details of debugging? A30: We will use Tools then Word Processing then Layout Set and we will write the layout name the we go to Utilities and Activate Debugger. It doesn t matter which layout set we choose we choose the debugger. The layout set will call the debugger. If we try to copy a form from client to client and we try to also modify the copied form we will have these error messages: a) Form not found. The solving of this problem is trying to copy again but with a language specification. text /:ENDIF.

b) Text file is inconsistent. From SE38 we have to run RSTXCHKO , the form name will be required and checking all the checkboxes (and running the program) fixes the problem.

Q31: How can we copy a table from client to client? A31: We can do this with the aid of RSCLTCOP. Q32: What is the way for making a script layout backup for future loading from the HDD? A32: This can be done with the EXPORT MODE, a script with a similar name to the initial script will be made, if this is already made we will receive an error. ABAP Interactive lists / reports Interview Questions: Q1: What is the significance of a stacked list? A1: The secondary list is also called the stacked list and it will be shown on the entire screen if we don t write its coordinates of the command window. Q2: When it s the right time to utilize the command GET CURSOR in interactive lists? A2: The command GET CURSOR will be utilized when the hidden information is not enough for tracing the selected line, this command will give us the field name where the cursor is positioned in field that will be specified subsequently to the addition field. The selected field value will be in a field specified subsequently to the value. Q3: How do we keep lists? A3: The return from a high level in the list on the immediate lower position (SY-LSIND) is made by using Back from the secondary list. In this way the actual list that is displayed will disappear and we will see the previously made list. The list that disappeared was released by the system and deleted. The SY -LSIND field must be configured for indicating the list level at which we want the output to be. Just the index values that are the same with the levels of the list are accepted by the system and the list levels that have a higher index than the one we indicate or equal with it will be erased by the system. For instance when we configure SY-LSIND to be 0, every secondary list will be erased by the system and the basic list will be replaced by the actual secondary list. Q4: What is the meaning of secondary lists? A4: With secondary lists the details from the basic list can be improved and if, for instance, we want to choose a line from the basic list and we want more details about it to be displayed we can do it. The secondary information will be shown on the secondary list , which can be as an overlay of the basic list or it can appear in a separate window and this secondary list can be dynamical as well. Q5: What is interactive reporting? A5: With the use of interactive reporting we can be present in an active mode at the data presentation in a session. Actually interactive reporting generates a simple list that encapsulates the details, it can be extended and we can see the details with the aid of the cursor or commands. Interactive reporting lowers the amount of retrieved details to the real requirement of data. Q6: Which are the event key words used in interactive reporting? A6:AT LINE-SELECTION-this is a time when we choose a line with a double-click on the line or by moving the cursor over the line and hitting F2. AT USER-COMMAND- this is a time when we hit a function key. TOP-OF-

PAGE DURING LINE-SELECTION-this is a time when, while the list is processing a secondary list, a new page is starting. Q7:Is it possible to invoke transactions or reports from the interactive reporting lists? A7: Yes, it is possible because with interactive reporting we can as well invoke transactions or different reports from the lists, in this way the programs will use the values that are shown in the list as their input information. As an example, a transaction can be invoked from a list and the database table that shows its data in the list can be modified. Q8: How can we make user interfaces for a list? A8: A graphical user interface or GUI is made automatically if we have a list with simple functions regarding list processing like list printing or saving, the GUI is made by the R/3 system. For more complicated functions like pushbuttons for example, we have to define our personal interface status and for making a new status we have the Menu Painter from the Development Workbench. In this way we can generate toolbars or menus for the program, we can also put shortcut keys for various functions. When the statement block of AT END_OF_SELECTION is started the status of the main list can be enabled with the SET PF -STATUS STATUS statement. Q9: What page headers do the secondary lists have? A9: There is no standard page header regarding secondary lists and also there is no event TOPOF-PAGE triggered by the system, so for making page headers for secondary lists we have to improve the TPP-OF-PAGE. When we use TOP-OF-PAGE DURING LINE-SELECTION this event will be invoked for every secondary list, when we want to make separate page headers for each specific list level, the processing block correspondent to this event has to be configured for this like for instance when we use SY-LSIND(system field) and SY-PFKEY. Q10: Which is the best way to choose valid lines for a secondary list? A10: There are many ways for us to avoid the use of invalid lines in ABAP/4 like the ones below. When the processing block END-OF-SELECTION finishes we have to erase the field content that we deposited in the past for valid lines with the aid of the HIDE statement. We must verify if the work place is the default one or if the HIDE statement deposited the content of the field in this place, this is done when the AT LINE-SELECTION event occurs. We can make a secondary list because we deposited the content of the field just for valid lines, we have to clean the work place one more time for avoiding the creation of other secondary lists by the user starting from the secondary list on the screen. Q11: When we make a new list, is it true that the main list will be erased? A11: No way, the main list will not be erased and we can access it with the aid of the standard navigation functions such as the back or cancel buttons. Q12: In what way should we transfer data from a list to a report? A12: In ABAP/4 this can be made in 3 ways: a) b) c) By fetching the data with the aid of statements. By making an automated data transfer with the aid of the system fields. By transferring the attributes of the list.

Q13: What is the standard construction of an ABAP application? A13: The basic construction of an ABAP program is made of these steps: a) b) c) d) e) f) g) h) i) The Reports are defined. The Data and tables are defined. The events are initialized. We have the Screen Select Options and Inputs. The selection screen events. The start of selection events. Performs and Events Statements. The End-of selection event The Initialization.

Q14: What is the significance of hotspots? A14: The list place that makes our mouse pointer looking like an upright hand is called a hotspot, when a hotspot is active, single clicking is equivalent to double-clicking. This feature is compatible with versions 3.0c and above of R/3. Q15: What is the system field that has the name of the actual GUI STATUS? A15: The System field SY-PFKEY contains the actual GUI STATUS name. Q16: What is the meaning of report transaction and how are programs called?? A16: The reports in ABAP can be called like transactions: for calling and returning- SUBMIT AND RETURN CALL TRANSACTION, for calling and not returning- SUBMIT LEAVE TO TRANSACTION. When we make an extensive application and we make one program, it will be very complicated and for reading the program in a simple way it is recommended to split the functions needed among the programs. Q17: What is the meaning of Form Event? A17: Form Event is just like PERFORM/SUBROUTINES, it STARTS by FORM and finishes by ENDFORM and the statements from ENDFORM to the finish of the application are not processed at all, every statement from ENDFORM to the event keyword will not be processed.

Q18: How do we describe START OF-SELECTION and END-OF-SELECTION? A18: The start and the finish of the main processing logic, which is default for every ABAP/4 application; the statements from START-OF-SELECTION to END-OF-SELECTION are executed automatically, there is no requirement for having END-OF-SELECTION. Every procedural statement in ABAP applications are dependent by default on the START-OF-SELECTION.

Q19: How do we transfer data by program statements?

A19: For transferring single output fields or supplementary details from lines to the processing blocks in the time of interactive events the following statements will be written: HIDE, READ LINE, GET CURSOR, SET CURSOR and others. Q20: What system fields do we use for interactive reporting? A20: The index of the actual list is found in the system field SY-LSIND , at the time of making the main list SYLSIND is 0. The system fields below are configured automatically by the system at every interactive event: the system field information, SY-LINCT the whole line number of a list, SY-LINNO the number of line where the cursor is found, SY-LSIND is the index of the presently made list( in the time of the actual event-0), SY-LISTI is the index of the level that invoked the event, SYLILLI is the line number that invoke the event, SY-LISEL d represents the content of the line that invoked the event, SY-CUROW represents the place in the window that the line which invoked the event has (beginning from 1), SY-CUCOL is the place in the window where the column that invoked the event is found (beginning from 2), SY-UCOMM represents the function code which invoked the event, SY-PFKEY has the actual list status. Q21: How do we describe the HIDE AREA? A21: With the aid of the HIDE command we can deploy the field content from actual line in a place that is named the HIDE AREA. This place a system controlled memory and the field content will be moved from the HIDE AREA when the interactive event occurs. If we invoke a secondary list from the HIDE AREA the values that were deposited will be moved in the program variables. When we write the program we have to use the HIDE statement in the present line after we use the WRITE statement.

Q22: What is the usage of GET CURSOR and SET CURSOR? A22: GET CURSOR LINE and GET CURSOR FIELD are statements that we use to transfer an output field and an output line where, in the time of the interactive event the cursor was placed. Example of syntax: GET CUROSR FIELD [OFFSET] [LINE] [VALUE] [LENGTH]. SET CURSOR is a statement used to set the cursor the latest list made which when we make a basic or main list, the latest will be exactly this one: the basic list. The basic list will become previous when we make a secondary list. The set cursor statement also places the cursor on the column that is on the output window s line.

Q23: How do we get data from the system fields of interactive lists? A23: The details that we get from the system fields are: the list index, the coordinates of the list in the output window and the place where the cursor is found. The system field which has the chosen line contents is SYLISEL only.

Q24: What is the role of the READ LINE and READ CURRENT LINE statements? A24: These statements are used for reading the current list level data lines explicitly and they are linked together with the technique named HIDE. The syntax looks like this: READ LINE [INDEX] [FIELD VALUE [INTO]] [OF CURRENT PAGE | OF PAGE]. We can see this example: READ LINE SY-INDEX FIELD VALUE BOX.

Sign up to vote on this title
UsefulNot useful