Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
10 views26 pages

Interview Questions On Core ABAP

The document provides a comprehensive overview of SAP ABAP terminology, including definitions and explanations of key concepts such as type groups, transaction codes, and various programming operations. It also covers events associated with classical and interactive reports, differences between report types, and the Correction and Transportation System (CTS). Additionally, it discusses table maintenance, indexes, views, and lock objects in the context of database management within SAP ABAP.

Uploaded by

JAYDEV HARANESHA
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views26 pages

Interview Questions On Core ABAP

The document provides a comprehensive overview of SAP ABAP terminology, including definitions and explanations of key concepts such as type groups, transaction codes, and various programming operations. It also covers events associated with classical and interactive reports, differences between report types, and the Correction and Transportation System (CTS). Additionally, it discusses table maintenance, indexes, views, and lock objects in the context of database management within SAP ABAP.

Uploaded by

JAYDEV HARANESHA
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

Terminology in SAP ABAP Q&A

1. What is type group and explain about it?

ANS-• It is one of the data dictionary objects.

• It is used to define the Global types and constants which can be referred anywhere in
the system.
• The ABAP statement TYPE-POOLS is used to call/define the type group.

2. What is a Transaction code / T-code?

ANS-They are the commands through which the corresponding application is executed. In SAP
each screen is associated with T-Code.

a) Standard T code: They are the system provided to work with the predefined applications.

The standard T-codes could only be the combination of any alphabet/alpha-numeric

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

b) Custom T code: They are created & maintained by ABAP Technical Consultant

SE93 is used to work with custom T-code.

3. Elaborate Append, Insert and Collect which are regularly used in programming.

ANS- Append: Transfers the data from work area to last record of the internal table.

Insert: A keyword, to transfer the data from work area to internal table based on the key-

field.

Collect: It first checks the internal table whether the record is available or not. If not, it acts like
append otherwise it adds the numeric field from work area to numeric fields in the internal
table.

4. What is the difference between clear, free and refresh?

ANS- Clear: It clears the contents of the work area & internal table with header line. (ITAB[])

Refresh: It clears the contents of the internal table only.

Free: it clears the contents of internal table as well as memory which is allocated for that.
5. What is the difference between lines and occurs?

ANS- Lines: It is the keyword which returns number of records available in the internal table.

Occurs: It is the keyword which allocates 8KB of memory for the internal table by default. If the
data in the Internal table exceeds 8KB then it will allot another 8KB of memory up to 2GB.

6. Explain about constants and Text Symbols.

ANS-Constants: They are used to avoid the hard coded text and improve the reusability in the
program.

Text Symbols: The ABAP Statement TEXT followed by the symbol number (XXX) can used to

define or call the text symbol.

7. Explain about Selection Texts and Variants.

ANS-Selection texts: They are used to maintain the Field labels (descriptions) of the input fields
in the selection screen.

Variants: They are used to save the input values to avoid the data entry errors to save the data
entry time.

8. What are the differences between Subroutines and Function Modules?

ANS-

9. What are the differences between Templates and Tables?

ANS-A Template has fixed number of Rows and Columns whereas a Table can have variable rows

& columns i.e. you can have a internal table with contents associated to a Table element unlike
a Template.
10. What is the different Customer Exits and differences between them?

ANS- Field Exits: They are used to change the field labels of the standard data elements without
breaking them.

Function Exits: They are used to provide the additional functionality to standard programs.

Menu Exits: They are used to add the additional custom menu item and provide additional
required functionality.

Screen Exits: They are used to adding some additional sub screen areas to the standard

-Applications/transaction.

REPORTS Q&A

1. Explain about the events associated with Classical Reports?

ANS- Following are the EVENTS associated with the Classical Reports.

LOAD-OF-PROGRAM: This event triggers at the time of loading the program into a memory.

INITIALIZATION: This event is triggered before the selection screen is displayed. It is used to
provide the default values to the selection screen.

AT SELECTION-SCREEN: This event is triggered after providing the input to the screen & before
leaving the screen. It is used to validate the given input.

START-OF-SELECTION: This event is triggered after leaving the selection screen & before the
selection screen. It is used to fetch the data from the DB.

END-OF-SELECTION: This event is triggered after completion of the logic. It is used to display the
output.

TOP-OF-PAGE: This event is triggered at the top of each page. It is used to display the header
information.

END-OF-PAGE: This event is triggered at the end of each page. It is used to dis Full screenthe
footer information.
2. What are the differences between Classical Reports and ABAP Queries?

ANS-

3. What are the events associated with Interactive Reports?

ANS- Following are the EVENTS associated with the Interactive Reports.

AT LINE-SELECTION: This event is triggered at the time when user clicks on any record of any list.

AT USER-COMMAND: This event is triggered at the time when user clicks on any menu item.

TOP-OF-PAGE DURING LINE-SELECTION: This event is triggered at the top of each secondary list.

AT PF-STATUS: This event is triggered at the time when user clicks on F1 to F12 function keys.
This event is not triggered along with AT LINE-SELECTION. Hence it can be ignored & used SET
PF-STATUS statement.

SET PF-STATUS: This event is triggered while attaching our own GUI to the list.
4. What are the System Fields associated with Interactive Reports?

ANS- System fields associated with Interactive reports.

5. How to provide custom Function (Push) Button along with System generated Functions in
ALV?

ANS- Using the T-Code 'SE41' we copy the standard status 'standard' and standard program
'sapisalv' into custom menu status and then change the custom menu status as per
requirement.

6. What are the Function Modules associated with ALV Reports?

ANS- * The standard ALV display Function module REUSE_AIV_LIST_DISPLAY is used to display
the output in LIST Display.

* The standard ALV display Function module REUSE ALV _GRID DISPLAY is used to display the
output in GRID format.

* The standard ALV display Function modules REUSE_ ALV_BLOCK LIST_INIT" is used to initialize
the blocked ALV & REUSE_ALV_BLOCK LIST_ APPEND' is used to append the data internal table
to the blocked AIN & REUSE AIV_BLOCK LIST_DISPLAY is used to display the output.

• The standard ALV display Function module REUSE_ ALV_ HIERSEQ_LIST DISPLAY is used to
display the header & item details in HIERARICHAL manner.

7. Explain about the Message classes.

ANS- This tool is used to maintain the Messages in the message pool.
The Messages from the message pool can be reused anywhere in the system (Programs-
codes....etc).

The standard T-Code SE91l us used to work with the message pool.

8. What are the differences between Normal Reports and ALV Reports?

ANS-

9. What are the different types of execution modes?

ANS- The programs or the transaction codes can be executed in 2 modes.

1. Foreground: In this mode the programs or the transaction codes are executed directly by
providing the input values. It requires user interaction.

2. Background: The programs or the transaction codes can be scheduled to get them executed
periodically. It doesn't require any user interaction. The T-code SM36 is used to define the
background jobs & SM37 is used to monitor the background jobs.

The standard function modules JOB_OPEN, JOB_SUBMIT, JOB_CLOSE are used to work with the
background jobs in the program.

The background jobs can be debugged using the command JDBG.


10. Explain about Correction and Transportation System (CTS)?

ANS- This tool is used to record the changes made in the system. It is also used to release the
Transport Request (TR) from one system to another system

(DEV→Quality→Production)

The T-Code | SE01 / SE09/SE10 Is Used to work with this tool (CTS)

Interview Questions on ALV report

1. How to make use of "EDIT" option in ALV?

ANS-EDIT field is used to edit data at output screen. This is generally declared in Feildcat Level.

for ex: EDIT = 'X'.

2. What are the uses of ALV reports?

ANS-

Sorting of records

Filtering of records

Totals and Sub-totals

Download the report output to Excel/HTML

Changing the order of the columns in the report

Hide the unwanted columns from the report

3. What are standard function modules used to create ALV?

ANS-REUSE_ALV_LIST_DISPLAY - Display an ALV list

REUSE ALV_GRID DISPLAY - Display an ALV grid

REUSE_ALV_COMMENTARY_WRITE - Output List header information

REUSE_ALV_VARIANT_F4 - Display variant selection dialog box

REUSE_ALV_VARIANT_ EXISTENCE - Checks whether a variant exists

REUSE_ALV_FIELDCATALOG_MERGE - Create field catalog from dictionary structure or internal


table
4. How do you define default variant for ALV?

ANS-The user can programmatically set the initial (default) variant for list display.

The default variant can be found using the function module

'REUSE_ALV_VARIANT_DEFAULT_GET'.

5. What is the Main Function module of ALV Report?

ANS-REUSE_ALV_GRID_DISPLAY

6. What are types of report?

ANS-There are 2 type of reports.

Interactive report and Classic reports

In classic reports, we can see the output in single list where a we can see the output in multiple
lists.

7. What are Classical Reports?

ANS-These are the simplest reports. Programmers learn this one first. It is just an output of data

using the Write statement inside a loop.

Classical reports are normal reports. These reports are not having any sub reports. IT IS

HAVING ONLY ONE SCREEN/LIST FOR OUTPUT.

8. What is the difference between at selection screen and at selection screen output?

ANS-AT SELECTION-SCREEN OUTPUT is like Process Before Output Event. This would get

triggered before screen is displayed. This can be used to make fields invisible/visible based on

selection.

AT SELECTION-SCREEN: This would be triggered if you hit anything (Enter, Drop-Down,

Help, Execute) after the selection screen is displayed.

9. Which one of the events will be triggered first?

ANS-AT SELECTION-SCREPN OUTPOT


10. What are the steps to create custom table?

ANS-Create all the Domains and Data elements as needed using T-code SE11.

Start creating the table using T-code SE11.

Maintain Delivery Class (A-Application Table, C-Customizing, etc)

Enter all the fields (MANDT must be the first field) and appropriate data elements or built in

Types for each field.

Make sure you select the Primary Key for this table.

Maintain the Technical Settings (Data class, Size, Buffering info)

Create Secondary indexes as needed

Full screen

Activate the Table

DDIC QA-

1. What are the technical properties of a table and explain about them?

ANS-There are 7 types of technical properties. They are

a) Delivery Class: - It is used to control the Transport of the table data. In Real time we

mostly use the delivery class 'C'. In case of delivery class 'A' the table can maintained

in any system (development, quality, production systems).

b) Data Browser/table view maintenance: - This property is used to specify whether

the table can be maintained or not. In real time we mostly use "Display/maintenance

allowed" option.

c) Data Class: - It is used to specify the type of the data to be maintained in the table. In

Real time we mostly use APPL0 or APPL1.

• APPL0 - Master data - Access frequently & updated rarely

• APPL1 - Transactional data - Access frequently & updated frequently

d) Size Category: - It is used to specify the initial space required for the table in the data

base. In real time we mostly use 'o' category.


e) Buffering: - it is used to control the traffic in the data base when the table accessed by the

lots of users. In Real time we mostly use the mode "Buffering not allowed".

f) Enhancement category: - It is used to enhance the particular fields of the table. In Real time
we mostly use "Can be Enhanced (DEEP)".

g) Table Maintenance generator: - It is used to maintain the table using SM30.

2. What is the purpose of Table Maintenance Generator (TMG)?

ANS-It is used to maintain (Change, create, modify) the custom tables using the standard

T-Code SM30.

3. What are the events in TMG?

ANS-1. Before saving the data in the database.

2. After saving the data in the database.

3. Before deleting the data display.

4. After deleting the data display.

5. Creating a new entry.

4. Is it possible to create custom transaction code to maintain the table? Explain How?

ANS- Yes, you can create a custom transaction code to maintain a table using SE93 (Transaction
Code Maintenance). Follow these steps:

1. Open SE93, enter a name for your transaction (e.g., ZMM_MYTABLE), and click Create.

2. Select "Transaction with parameters" (parameter transaction).

3. In Default Values:

o Enter SM30 (Table Maintenance) as the target transaction.

4. In GUI Support, choose SAP GUI for Windows.

5. Under Default Values for Parameters:

o Set VIEWNAME = <your_table_name>.

o Set UPDATE = X (enables edit mode).

6. Save and assign to a package.

Now, executing your custom T-code will directly open SM30 for your specified table.
5. What are the steps to create TMG?

ANS-Following steps can be used to create the TMG.

a) Execute SE11

b) Select the Radio button DB Table

c) Provide the Table name & click on change

d) Click on utilities.

e) Click on TMG.

f) Select the auth. group as &NC& and provide the function group as your table name

g) Select the one-step radio button.

HOPE YOU HAVE

h) Enter overview screen number (could be any). [4 digit only]

i) Click on save.

6. How to see the relationship between the tables?

ANS-•Using SQVI T-Code.

•While maintain data in the child table (Foreign key relationship).

6. How many types of Indexes are there and explain about them?

ANS-Indexes are used to avoid the duplicate data while accessing the table. They are 2

types of Indexes:

1) Primary index: It is generated by the system using the key field of the tables. Key fields hold
the unique data. We can create 16 primary indexes per table. We can create the primary
indexes for custom tables (Z tables)

2) Secondary Index: These are created and maintained by the ABAPers. We can create 9

secondary indexes per table. We can create the secondary indexes for both custom &

standard tables.
7. How to identify the standard tables? (Indications)

ANS-• The tables which doesn't start with Z or Y.

• The tables which can't be seen in the CHANGE mode.

8. What are the types of Views and explain about them?

ANS-Views are the imaginary tables. Views can be created using one or more tables. Views

are logical Database. It does not contain the data permanently. At Run time Views, contains the
data.

1) Database View: - It is used to combine the multiple tabled data by joining them. Fetch the

Data from more than one table & display it.

2) Projection View: - It is used to suppress / HIDE the unwanted fields of the table. Displays the

Part of data from a single Database.

3) Maintenance View: - It is used to combine the multiple tables data and maintained them by

SM30 (TMG) or SAP system itself.

4) Help View: - It is used in the search help methods by SAP. Pick the data from L.H.S. table

Even though there is no matching record found in R.H.S table

9. What are the Search Help types and explain about them?

ANS-It is used to provide all the possible entries to the input variable as search he

1) Elementary Search help: - It is created based on the particular

2) Collective Search help: - It is the collection of Elementary Search help.

10. What are the difference between Table and Structure?

ANS-
1. What are the Lock objects and explain about the different lock modes?

ANS-The parallel access to the same data by the multiple users can be controlled using LOCK

OBJECTS. Avoids the concurrency access of multiple users on the same Database.

The custom lock object name should start with 'E' followed by the table name.

Ex: - E < ZB16_Student>.

It generates two function modules one start with ENQUEQE and other start with DEQUEQE.

ENQUEQE - To LOCK the table or object.

DEQUEQE - To UNLOCK the table or object.

Types of Locks: Write/Exclusive: The locked data can be read by one user only.

Read Shared: Several users can read the same data at the same t

User edits the data.

Exclusive but not Cumulative: The locked data can be read by more than one

2. What is the Max. No. of structures that can be included in a table or structure?

ANS-Maximum.

2. How to adjust the table/View?

ANS-If there was any changes made at the table level the system will throw an error as structure
change at field level. The table must be adjusted to rectify this error.

The T-Code SE14 or the path:

Utilities →data base objects > data base utility can be used to adjust the table.

4. What is table type and explain?

ANS- It is one of the data dictionary object used to define the global internal table & which
starts with LVC are used instead of TYPES SLIS.

5. What is System Landscape?

ANS-Landscape is an arrangement of servers

Development system: It is an environment where all the developments configurations &


changes are done.

Quality system: It is an environment where all the developments, configurations & changes

are tested without any errors by the functional, technical consultants & End Users

Production system: It is an environment where all the end users work. It is the live system

Where all the original data is maintained.

6. Can you use all the Views in the ABAP Program?

ANS-No, we can use only Projection view and database view in the Program.

7. Explain about the tables TADIR and TRDIR?

ANS-TADIR is a table that can hold the data dictionary tables & TRDIR can stores the programs.

TRDIR is not a table; it is a view of transparent table REPOSRC.

TRDIR --All client independent programs are stored

8. What are the different ways to provide search helps?

ANS-We can provide in 3 ways.

• Using value table.

•Foreign key relationship.

•Elementary and collective search help.

9) When you create new entries in the table the field values are always in Uppercase. How

do you get the data with mixed case?

ANS-The reason for this is that the Domain for the Field in the table might have Lowercase
checkbox unchecked. Check the LOWERCASE CHECKBOX to preserve the case of your data.

10) Explain about data element and domain.

ANS- Data Element: - It is one of the data dictionary objects which can be used to maintain

the field labels (descriptions) of the fields in the table or structure.

Domain: - It is one of the data dictionary objects which can be used to maintain the
technical properties of the fields in the table or structure such are Type (char,

numc....etc), length (10,20...etc).

Interview Question on Enhancements

1. What are Enhancements and what are the different techniques and explain them?

ANS-Enhancements are used to add some additional functionality to the standard applications.

User Exits: These are the subroutines which start with USEREXIT_* & are defined in the
standard Include program. They are mostly used in SD functional area. Access keys are

required to break the standard Include programs of the User Exits. Access key is the unique key

number which can be used to break the SAP standard programs. If an application is broken

using an Access key, the corresponding program will become the Custom objects.

Customer Exits: These are the Function Modules which can be called using the statement

CALL CUSTOMER-FUNCTION. These are used to enhance the standard programs without

breaking an Access key. They are mostly used in SD, MM etc. The Customer Exits don't require

any Access key because the SAP provided Include programs are in the customer’s name space

(starts with Z*) inside the Customer Exits.

Field Exits: These are used to change the field labels of the standard data elements without

breaking them.

Function Exits: These are used to provide the Additional functionality to the standard program.

Menu Exits: These are used to attaching the additional menu items to the standard GUI.

Screen Exits: These are used to adding some additional sub screens to the standard transaction.

BADI: It is used to add some additional functionality to the standard programs using the Object

Oriented ABAP Concepts.

Enhancement Framework (points): It is used to source code plug-in (hooks) for adding,
additional custom functionality to the standard programs/application
BTE (Business Transaction Events): These are the custom function module which are linked with
SAP provided standard interfaces of the standard applications. The T-Codes BERE and FIBF are
used to work with BTE.

**Explain about the Enhancement with which you have worked recently?

2. What are the Enhancement Spots?

ANS-The enhancement spots are used to manage explicit enhancement options. Enhancement
spots carry information about the positions at which enhancement options were created. One
enhancement spot can manage several enhancement options of a Repository object.

Conversely, several enhancement spots can be assigned to one enhancement option. In User-
exits we write code only in the form routines (ie, in Form...End Form) but when we go for
upgrade the version, we again need to change the code in the user exit which we write in
previous versions but with Enhancement Frame work there is not much of code change
required when we go for upgrades.

3. What are the statements not to be used in Exits and BADIs?

ANS-The ABAP statements COMMIT work & ROLLBACK work should not be used in EXITs

The ABAP statements STOP & EXIT are also not advisable.

4. Is it possible to create multiple projects for one Exit?

ANS-No

5. What are the different ways to find BADIs?

ANS-There are 4 ways to find the BADIs

• Using the standard method GET_INSTANCE: The BADIs can be found by setting the Break Point
inside the standard method GET_INSTANCE of a standard class CL EXITHANDLER

• Using the T-code SE84

• Using the T-code ST05 (SQL Tracer)

• Using SPRO

6. What are the Transaction Codes associated with Exits?

ANS- T-code SMOD: used to find the Exits of an Application

T-code CMOD: used to create a project & Assign the Exits to the project

7. What are the Transaction Codes associated with BADIs?


ANS-• T-code SE18 & SE19: used to work with the BADI

• T-code SE18: used to Define the BADI

• T-code SE19: used to Implement the BADI

8.What is Filter Dependent BADI?

ANS-These are used to make use of the same BADI Implementation for the different SET filter
values. It means the same BADI Implementation can be controlled based on the set filter value.
The system generates an Import parameter FLT_VAL in case of Filter Dependent BADIS.

9. What is FALLBACK class in BADI?

ANS- If a BADI doesn't have any active implementations, the program generates a run time
error. The Fall-back classes are used to overcome such kind of errors (Non active
Implementation). The exceptions can also be used to avoid non active implementation errors.

10. What are the ways to find the Exits?

ANS-1. Using the T-code SMOD

2. Using the T-code SE84

3. Using the Find function

4. Using the Table MODSAP

ALE AND I-DOC Interview Q&A

1. What is an IDOC?

ANS- IDOC stands for Intermediate Document. IDOC is the collection of segments & each
segment is the collection of fields. IDOC is the carrier to carry the data from one system to
another system. The data is distributed between the systems in electronic form without user

interaction.

2. What are the advantages of ALE, IDOCs and EDI?

ANS- The data is distributed between the systems in electronic form without user interaction.

It reduces the data errors, man power & paper work.

It is used to distribute the data between SAP & NON-SAP systems.

3. What is an IDOC Structure?


ANS- Some examples are (Basic Type, Extension, IDoc Type, Segment Type and Segment

Definition, Customer Extensions, SAP and Customer Developments, Version Creati Full screen

Release Procedure, Namespaces)

4. What are the Transaction Codes associated with ALE, IDOCs?

ANS- The T-code WE30 is used to create & display the different types of IDOC's such as Basic
IDOC & Extended IDOC. The T-Code WE05/WE03 is used to list out the IDOC.

The T-code WE19 is used to check the IDOC.

5. What are the Transaction Codes associated with creation of a Custom IDOC?

ANS- Create Segment (WE31)

Create Idoc Type (WE30)

Create Message Type (WE81)

Assign Idoc Type to Message Type (WE82)

6. What are the Partner profiles and its Transaction Codes?

ANS- Partner profiles are maintained/created to specify the partner details (system) to which

the data is to be transmitted. The T-code WE20 is used to create the partner profile.

7. What is ALE?

ANS-ALE stands for Application Link Enabling. ALE is used to distribute the data between SAP to

SAP systems through IDOC.

8. What are the Transaction Codes to send/generate and receive the IDOCs?
ANS-
BD10→Send Material
BD11→Get Material
BD12→Send Customer
BD13→Get Customer
BD14→Send Vendor
BD15→Get Vendor
BD16→Send Cost center
BD17→Get Cost center
9. What is the Transaction Code to grade the segments?

ANS-The T-code WE31 is used to create & display the segments.

10. How to add Segments to an Existing IDOC?

ANS- You can do that using WE30 and WE31. With WE30, you can create an extension to the
existing IDOC type and with WE31 you can add the fields to the sub segment. So first develop
the segment using WE31. Then, you need to create the extension first & add it to the segment
you want using WE30 with extension option.

Here you have to create enhanced IDOC type. In WE31 create the segment type as per our
requirement and go to WE31 and create enhanced IDOC type by coping the standard IDOC.
After that you will select the segment under which you want to add the new segment and press
create button on the application tool bar and give the details of your new segment and save it.

Cross Applications/ Interfaces Q&A

1. What is the concept of Cross Application/Interface?

ANS- This concept is used to distribute the data between SAP-to-SAP systems

(SAP R/3 <-> SAP CRM) & SAP to Non-SAP systems (SAP <-> NET, JAVA…)

2. What are the steps involved in creating Custom BAPI?

ANS- 1. Create the BAPI structure (SE11) starts with ZBAPI*.

2. Create the BAPI function module (SE37) starts with ZBAPI* which is

a) Remote Enabled

b) All parameters are pass by value

c) must contain Return parameter

3. Create method & object for the BAPI function module in the BOR using the T-code SW01.

4. Generate, implement & release the method & object.

3. How to find/check the Standard BAPIs?

ANS- 1. Execute the T-code BAPI


2. Click on Alphabetical tab

3. Click on Filter option

4. Select a radio button A11 & Click on Yes button

5. Click on Find icon & Select the required Find by object

6. Enter the required Find string & click on Yes button & click on back

OR

To find standard BAPIs in SAP, follow these steps:

1. Execute transaction code BAPI – this opens the BAPI Explorer.

2. In the BAPI Explorer, you can:

o Click on the "Alphabetical" tab to browse BAPIs listed alphabetically.

o Use the "Filter" icon to narrow down the list.

3. In the filter popup:

o Select the radio button A11 (Business Object Repository) and click "Yes".

4. Click on the "Find" (binocular) icon to search.

5. In the "Find by" options, choose an appropriate search criterion such as:

o Object Name

o BAPI Name

o Description, etc.

6. Enter your search string (e.g., "Sales Order") and click "Yes".

7. Once you find the relevant BAPI, you can double-click it to see its details such as:

o Methods

o Parameters

o Documentation

8. To test a BAPI, note down the function module name and use transaction SE37 to
execute it.

4. What are the Transaction Codes associated with BAPIs?


ANS-VA01 - Create Sales Order

VA02 - Change Sales Order

SM59 - RFC Destinations (Display/Maintain)

SE37 - ABAP Function Modules

SHDB - Batch Input Transaction Recorder

SE18 - Business Add-Ins: Definitions

SE19 - Business Add-Ins: Implementations

SWO1 - Business Object Builder

BUS - BDT: Assign bapi Field to Field Group

FIR BAPI - bapi Test

5. What are Message Types and T-Codes associated with it?

ANS- The message type is the data identifier of an application.

The control record of an IDOC contains the Message Type.

The T-code WE81 is used to Create & WE82 is to Assign the Message Type to the IDOCS.

6. What are the differences between RFC and BAPI?

ANS-

7. How to handle exceptions in RFCs and BAPIs?


ANS- You can handle the exceptions by using a structure BAPIE1RET2 which returns the
messages captured in BAPI. In Tables parameter of your BAPI, you can create a structures of
type BAPIE1RE2 so that you can capture the return parameters from BAPI.

8. How to check the IDOCs?

ANS- WE19 is the T-code to check the IDOC's.

1. Execute WE02/WE05

2. Provide the Message type: CREMAS (Logical Sys), Partner no: LS810 & Click on Execute

3. After we get the status code 03, if we want to know the IDOC is reached to destination or not
then we execute RBDMOIND standard program.

4. The status of an IDOC (3) if in green color (turn 10 to12) means it is delivered Successfully.
Yellow traffic light indicates/the status code remains same, IDOC is in progress or in the
Transaction RFC & Red traffic light/the status code turn 10 to 11 indicates an Error.

5 Expand the Data Records folder & click on each segment to see the data to be distributed.

SAP Scripts Q&A

1. What are the Function Modules associated with Scripts?

ANS- The below Function Modules are used in the Scripts.

OPEN_FORM: This function module is used to open the form to provide the link between the
print program & SAP script. The global data of the print program can be accessed after this
function module is used.

START_FORM: This function module is used to specify the starting page from where the
document to be print or displayed.

WRITE_FORM: This function module is used to pass the multiple entries of an internal table into
the SAP script form through the Text Element

END_FORM: It is an optional function module which is used to End the started Form.

CLOSE_FORM: This function module is used to close the Opened Form & send the request back
into the spool request to the device. It can also be used to get the SAP script form data into OTF
format.
Note: The standard function module 'CONVERT_OTF_2_PDF' is used to convert the OTF data of
SAP script form into the PDF format.

CONTROL_FORM: This function module is used to control the form by creating the pages or
windows dynamically.

2. What are the different types of Windows?

ANS- Windows: - They are used to define the different types of windows. Following are the
different types of windows.

Main Window: It is used to display the continuous text on the pages. This window is the default
widow. Without main window we can't design SAP scripts. Up to 99 main windows can be
created in a form. The window type is 'MAIN'.

Constant Window: This window contains the static content which can be formatted only once.
The window type is 'CONST".

Variable Window: It is used to print the data based on the window size. Without a variable
window also, we can design the SAP script. We can place only one time per page. The window
type is 'VAR'.

Graphic Window: It is used to insert the logos on the page.

3. What are the different types of Symbols in Scripts?

ANS- Symbols are of 3 Types.

System Symbols: They are used to display the system data such as system date, type ...
Ex: &DATE&, &DAY&, &MONTH& The total no of pages & the current page no of the Total no of
pages are displayed Ex: &SAPSCRIPT-FORMPAGES& -> Total no of pages &PAGE& OF &SAPSCIPT-
FORMPAGES& -> 1 of 10,2 of 10

Standard Symbols: They are the predefined symbols maintained in standard table TTDTG

Program Symbols: These are the variables in the program (&WA_T001-BUKRS&)

Text Symbols: These are the variables which are declared in the page window.

4. How to generate windows or pages dynamically?

ANS- The Function Module 'CONTROL_FORM is used to control the Form by creating Or
Windows Dynamically.

5. What are the different ways to debug a Script?

ANS- There are two ways to Debug the Script Form.


The path SE71 --> Utilities -> Activate debugger.

Standard Program/ Report RSTXDBUG.

6. How to add additional functionality to script without modifying the print (driver) program?

ANS- The Form Routines (PERFORM .......END PERFORM) are used to add the additional
functionality to the SAP Script forms without changing the print program.

7. How to display Boxes in Scripts?

ANS- You can Create Boxes in the SAP SCRIPT using the BOX Command specifying the X,Y Co-
Ordinates and the width and the height.

8. How to split the line into the next line in Scripts?

ANS- using the Fun Module 'RKD_WORD_WRAP'

9. How to convert sap scripts to Smart Forms?

ANS- Execute SMARTFORMS & Enter the New Smart Form name

The path SMARTFORMS →Utilities - > Migration → Import SAP script Form

Enter the Existing SAP script Form name & click on Yes button.

10.What are the components of Layout (Form Painter)?

ANS- 1. Header: It is used to maintain the administrative information like form name, page
format etc.

2. Pages: It is the physical area where we can place the windows.

3. Windows: we can place the same window in any no of pages.

4. Page window: It is placing the window on the page with co-ordinates.

5. Paragraph format: They are used to print the entire paragraph with a required format & style.

6. Character format: They are used to print the particular text with the required font & style.

7. Documentation: This is used to maintain the documentation related to the Form.

1. How can you pass the data to the Script from the Print program without using
WRITE_FORM?

ANS- After Accessing the Function Module ‘OPEN_FORM’ we can declare the Global data.
2. How to develop the SAP Scripts in multiple languages?

ANS- In SE63, Click Translation ->Long Texts →Sap scripts→ Forms.

3. How to convert sap script spools request to PDF?

ANS- RSTXPDFT4.

4. How to attach the PDF file & send it through an Email?

ANS- The standard function module SO_NEW_DOCUMENT_ATT_SEND_API1 is used to attach


the PDF file & send it through an Email (Microsoft outlook)

4. how to format the date, time and country in scripts.

ANS- The commands SET DATE MASK, SET TIME MASK, SET COUNTRY can be used to format the
date time and country.

5. Explain about Form Routines?

ANS- The Form Routines (PERFORM ......END PERFORM) are used to add the additional
functionality to the SAP Script forms without changing the print program.

6. What are the Transaction Codes associated with Scripts?

ANS-

7. How to identify the driver program based on the form name?

ANS- Execute SE11, open the Table TTXFP & Click on Display & Click on Contents Provide the
Form name & Execute, Identify the Driver program.

8. What are the fields in ITCSY Structure?

ANS-Field →Description
NAME→Symbol name

VALUE → Symbol Value

9. How to find print program and find if an 'output type' is given?

ANS- Using the NACE T-Code or the standard table TNAPR', we, find the FORM and Print
program names.

10. How to convert the language from DE(german) to our required language?

In SE71, Utilities -> Convert Original Language, Provide the Language & press Enter

You might also like