106 Real Time Abap Interview Questions
106 Real Time Abap Interview Questions
106 Real Time Abap Interview Questions
COM/)
HOME (http://interviewquestionsanswerspdf.com/) Sap ABAP Interview Questions (http://interviewquestionsanswerspdf.com/category/sap-abap-interviewquestions/) 106 REAL TIME SAP ABAP interview Questions and Answers
Ads by Google
List of top 106 sap abap/4 interview questions and answers,abap tutorials for freshers beginners and experienced pdf free download.
15. How is conversion of data types done between ABAP/4 & DB layer?
Conversion between ABAP/4 data types and the database layer is done within the database interface.
16. How is conversion of data types done between ABAP/4 & external level?
Conversion between the external layer and the ABAP/4 layer is done in the SAP dialog manager DYNP.
17. What are the Data types of the external layer?
ACCP, CHAR, CLNT, CUKY, CURR, DATS, DEC, FLTP, INT1, INT2, INT4, LANG, LCHR, LRAW, NUMC, PREC, QUAN, RAW, TIMS,UNIT, VARC.
18. What are the Data types of the ABAP/4 layer?
Possible ABAP/4 data types:
C: Character.
D: Date, format YYYYMMDD.
F: Floating-point number in DOUBLE PRECISION (8 bytes).
I: Integer.
N: Numerical character string of arbitrary length.
P: Amount or counter field (packed; implementation depends on hardware platform).
S: Time stamp YYYYMMDDHHMMSS.
T: Time of day HHMMSS.
V: Character string of variable length, length is given in the first two bytes.
X: Hexadecimal (binary) storage.
19.How can we set the tablespaces and extent sizes ?
You can specify the extent sizes and the tablespace (physical storage area in the database) in which a transparent table is to be stored by setting the size category
and data class.
containing currency amounts to the reference field is made at runtime. The value in the reference field determines
the currency of the amount.
31. A field containing quantity amounts (data type QUAN) must be assigned to a reference table and a reference field. Explain.
As a reference table, a system table containing all the valid quantity units is assigned or any other table which
contains a field with the format for quantity units (data type UNIT). This field is called as reference field. The
assignment of the field containing quantity amounts to the reference field is made at runtime. The value in the
reference field determines the quantity unit of the amount.
32. What is the significance of Technical settings (specified while creating a table in the data dictionary) ?
By specifying technical settings we can control how database tables are created in the database. The technical
settings allows us to
optimize storage space requiremnets
table access behaviour
buffering required
changes to entries logged
33.What is a Table attribute ?
The table attributes determine who is responsible for maintaining a table and which types of access are allowed for
the table. The most important table attributes are:
a. Delivery class
b. Table maintenance allowed
c. Activation type.
34. What is the significance of Delivery Class ?
The delivery class controls the degree to which the SAP or the customer is responsible for table maintenance
whether SAP provides the table with or without contents.
determines the table type.
determines how the table behaves when it is first installed, at upgrade, when it is transported, and when a client
copy is performed.
35. What is the maximum number of structures that can be included in a table or structure
Nine.
36. What are the two methods of modifying Sap standard tables ?
Append Structures and
Customizing Includes.
39. What is the difference between a Substructure and an Append Structure ?
In case of a substructure, the reference originates in the table itself, in the forma of a statement .include .
In case of an append structure, the table itself remains unchanged and the refrence originates in the append
structure.
40. To how many tables can an append structure be assigned ?
One.
Typical SAP ABAP DATA DICTIONARY Interview Questions :
41. If a table that is to be extended contains a long field, we cannot use append structures. Why?
Long fields in a table must always be located in the end, as the last field of the table. If a table has an append
structure the append line must also be on the last field of the table.
42.Can we include customizing include or an append structure with Pooled or Cluster tables ?
No.
43. What are the two ways for restricting the value range for a domain ?
57.What are the differences between a Database index and a match code ?
Match Code can contain fields from severeal tables whereas an index can contain fields from only one table.
Match code objects can be built on transparent tables and pooled and cluster tables.
58.What is the function of a Domain?
A domian describes the technical settings of a table field.
A domain defines a value range, which sets the permissible data values for the fields, which refers to this
domain.
A single domain can be used as basis for any number of fields that are identical in structure.
59.Can you delete a domain which is being used by data elements ?
-No.
60.What are conversion routines ?
Non standard conversions from display format to sap internal format and vice-versa are implemented with so called conversion routines.
61.What is the function of a data element ?
A data element describes the role played by a domain in a technical context. A data element contains semantic
information.
62.Can a domain, assigned to a data element be changed ?
Yes. We can do so by just overwriting the entry in the field domain).
63.Can you delete data element which is being used by table fields .
No.
64.Can you define a field without a data element ?
Yes. If you want to specify no data element and therefore no domain for a field, you can enter data type and field
length and a ashort text directly in the table maintenance.
65.What are null values ?
If the value of a field in a table is undefined or unknown, it is called a null value.
66.What is the difference between a structure and a table ?
Structures are constructed the almost the same way as tables, the only difference using that no database table is
generated from them.
67.What is a View ?
A view is a logical view on one or more tables. A view on one or more tables i.e, the data from a view is not
actually physically stored instead being derived from one or more tables.
68.How many types of Views are there ?
-Database View
-Help View
-Projection View
-Maintenance View
69.What is Locking ?
When two users simultaneously attempt to access the same data record, this is synchronised by a lock mechanism.
70.What is database utility ?
Database utility is the interface betweenn the ABAP/4 Dictionary and the underlying the SAP system.
71.What are the basic fucntions of Database utility ?
The basic functions of database utility are :
-Create database objects
-Delete database objects
-Adjust database objects to changed ABAP/4 dictionary definition.
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 cant work on the same system. If these programs run on two or more
separate systems, they cant 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.
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.
Interview Questions on BDC programs :
1.What should be the approach for writing a BDC program?
1. Analysis the Data.
Analysis and correct input file format and entries in internal table BDCDATA.
6.WHAT are the commands that allow you to process sequential file? And what is their syntax?
READ DATASET (reading) and TRANSFER (writing)
OPEN DTASET for in mode at POSITION MESSAGE
READ DATASET INTO
CLOSE DATASET
DELETE DATASET
TRANSFER to
7.What is the process for transferring data from legacy system to SAP?
FTP file transfer, Manufacturer specific field transfer NFS(network file system)/BDC.
8.Explain the process to transfer a record to a dataset?
TRANSFER to
No, only after the data has been entered via transaction.
11.Explain at high level, the batch input process?
Ans :- Batch data is placed into queues called batch input sessions , then placed into the application programs for maintenance into the database.
12.What are the function modules associated with batch input?
Ans :- BDC_OPEN_GROUP , BDC_CLOSE_GROUP , BDC_INSERT
13.What is the structure of the BDC table?
Ans :- Program/Dynpro/start/field name/ field content.
14.Write out a coding example for filling a BDC Table.
Ans :FORM
REFEESH
CLEAR
MOVE to -PROGRAM
TO -DYNPRO
X TO -DYNBEGIN
APPEND
CLEAR
MOVE: TO -FNAM
TO -FVAL
APPEND
15.How do you find the transaction number, program number and field names?
Ans : Transaction no.,program no. System -> status
Field names F1, Technical help
16.What are the processing modes for Batch Input?
Ans :- Process on screen(foreground) , Display errors only and process in the background
17.What are the available OK Codes that can be utilized during batch input processing?
Ans : /n terminates current batch input transaction and marks as incorrect.
/bdel delete current batch input transaction from session.
/bend terminate batch input processing and mark session as incorrect.
/bda change display mode to process the session on screen instead of displaying only errors.
/bde change display mode to display only errors instead of processing the session on the screen.
18.What is the effect of the BDC_CURSOR field name in the BDC table?
Ans :- You can set the cursor and enter as a corresponding field value the name of the field on which the cursor is to be positioned .
19.Why you choose Call transaction and/or session method?
Call transaction is mainly used when you want to update the database using a single transaction , you can also update the database in asynchronous mode, where as
session is used to perform huge database updations using more than one transaction and which will last for a long time.
20.How you trap errors in call Transaction
Errors while updating the database using call transaction technique are trapped using a structure bdcmsgcall, whose field msgtyp become e when an error record
is encountered. Those records are formatted using format_message function call in the desired format and stored in an internal table for listing of all error records
in one shot.
Example: If data for some departments in your company is input using a system other than the R/3 System, you can still integrate this data in the R/3 System. To
do this, you export the data from the external system and use a data transfer method to import it into the R/3 System.
Batch input with batch input sessions : Data consistency check with the help of screen logic.
With the batch input method, an ABAP program reads the external data that is to be entered in the R/3 System and stores the data in a batch input session. The
session records the actions that are required to transfer data into the system using normal SAP transactions.
When the program has generated the session, you can run the session to execute the SAP transactions in it. You can explicitly start and monitor a session with the
batch input management function (by choosing System Services Batch input), or have the session run in the background processing system.
Use the BDC_OPEN_GROUP function module to create a new session. Once you have created a session, then you can insert batch input data into it with
BDC_INSERT. Use the BDC_INSERT function module to add a transaction to a batch input session. Use the BDC_CLOSE_GROUP function module to close a
session after you have inserted all of your batch input data into it.
25.What are the steps in a BDC session ?
The first step in a BDC session is to identify the screens of the transaction that the program will process. Next step is to write a program to build the BDC table that
will be used to submit the data to SAP. The final step is to submit the BDC table to the system in the batch mode or as a single transaction by the CALL
TRANSACTION command.
Screen exits
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 double-clicking 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 groupsdontgenerate 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.
Q7: 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
A8: Assign: at data object assigning, the data projects 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 doesnt 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) The default declared size will be maintained in the roll area faster program access.
b) 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 dont 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 dont 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 procedure and 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 dont 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.
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.
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.
Q23: 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) The active version: is the version made at the program activation.
b) 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.
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 represents 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 dont 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 SAP SCRIPTS Interview Questions and Answers :
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&
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 Tool we 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.
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.
We 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) The windows- they are placed only after their assigning to pages and attributing measurement units.
e) The pages- They give us a beginning and a finish in the formatting of text.
f) 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&.
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?
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
A18: We can use the RSTXLDMC report for uploading a logo and this statement: /:INCLUDEZHEX-MACRO-XXXOBJECTTEXTID ST LANGUAGEE. The
name of the object is represented by XXX.
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) It takes the data from the R/3 program that is found in the database.
c) It selects a Layout Set to print.
e) 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.
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:
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), &text1SYMBOLtext2&Text
entered prior to and after the symbol.
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
have a 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 editor-Include, 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 dont 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 ADRESSENDADRESS 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&
POSTCODE&KNA1-PSTLZ&
CITY&KNA1-ORT01&
COUNTRY &KNA1-LAND1&
FROMCOUNTRY de
ENDADDRESS.
/: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
:
A27: The Page Window is when we declare the parameters of a window that was declared before 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 files from 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 doesnt 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.
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.
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.
SAP ABAP SMARTFORMS Interview Questions and Answers :
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.
2.Font style and Font size
There you can create Paragraph formats etc just like in sapscript.
Then in your window under OUTPUT OPTIONS you include this SMARTSTYLE and use the Paragraph and character formats.
3.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 window output options).
Thus you have drawn a box but it looks like a line.
Or you can just draw __ accross the page and play with the fonts so that it joins each UNDER_SCORE.
4.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.
5.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:
formname = externalname
importing
fm_name = internalname
exceptions
no_form = 1
no_function_module = 2
others = 3.
if sy-subrc <> 0.
message e427.
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.
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.
3. Download a PDF file (Acrobat Reader) version of the spool by running Program RSTXPDFT4 and entering the
noted spool number.
Your customer wants your PO SmartForm to be able to print Terms and Conditinos on the back side of each page. They dont want to purchase pre-printed forms
with the companys 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 do you make sure that both, the SMARTFORM & its 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.
It was easy with SAPscript, but how to do it with SFs. 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.
11. 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.
12.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.
iqapdf (http://interviewquestionsanswerspdf.com/author/iqapdf/)
(http://interviewquestionsanswerspdf.com/2014/03/sap-abap-interview-questions-and-answers/#respond)
Leave a Comment