Tuesday, February 16, 2010
• What The Differences Between ABAP and HR-ABAP
1) Table development
2) Date Processin
3) Reprt developing
4) BAPIs /RFC s
5) Data base update
6) Screens development/enhancement
7) Scripts and smart forms.
8) Function Building
9) Java connectors etc.
This is basically done through the PROGRAMMING in ABAP builder by using ABAP 4th generation languge. This may be related to any module of my SAP ERP 2004 like HR, FICO.SD,MM,CRM Etc.,
Now when it is said ABAP HR. It is the development of ABAP in the area of HR to meet the clients requirements according to the functional specifications .They may be in any area of HR like in the areas of time aspects ,pay aspects, OM aspects and Self Services like E-recruitment, ESS etc.
SAP WORK FLOW SCENARIOS
SAP Business Workflow is a solution which has been integrated fully in the R/3 System and which enables customer-specific business process flows to be coordinated and controlled on a cross-application and cross-workplace basis. SAP Business Workflow therefore enhances "ready-made" application software.
The SAP Business Workflow definition environment is available in order to represent business processes in a simple manner and to be able to respond to changing external conditions quickly during ongoing operation by flexibly adapting the business processes which have already been implemented.
A number of SAP applications support Workflow Management by SAP Business Workflow. In many situations you can therefore use workflow scenarios which have already been configured. These can either be implemented without any changes or they can be used for your business processes with minimal adjustments. These workflow scenarios reduce implementation time significantly and are optimally adjusted to the respective application functions.
The workflow scenarios are integrated in IDES (International Demonstration and Education System). It is possible to run the business processes of a model company in this fully configured system.
What is a workflow scenario?
The term "workflow scenario" describes the whole range of options which are available for supporting workflow functionality in an application. The workflow scenarios can be divided into three categories:
• Creation of events
Events are created to report status changes undergone by an application object and to allow a reaction to be made to these. You can respond to these events in a flexible and customer-specific way without the standard part of the application needing to be modified. You will generally use such events as triggering events for customer-specific customer tasks or workflow tasks.
The triggering of these events is often not activated in the standard version, but depends on the customizing settings.
You can find further information in the application scenario documentation.
• Provision of standard tasks
Standard tasks contain a task description and a connection to the application logic via business object methods. Before a standard task can be used productively, you must assign it to its possible agents.
The standard tasks provided by SAP are generally used as steps in a workflow template. They are available as "modules" which you can use for your own developments.
If a workflow scenario only involves one standard task, it can usually be regarded as a minimal solution for showing the connection between application functionality and SAP Business Workflow. For differentiated workflow management, this standard task should be replaced by a customer-specific workflow task.
You can find further information in the application scenario documentation.
• Preparation of workflow templates
Workflow templates contain complete process descriptions comprising several steps.
In the cases where workflow templates describe business processes which occur in exactly the same way in your company, or in the cases where changes to the workflow template are not advisable for technical reasons, the workflow templates supplied by SAP can be used productively without any changes needing to be made. It may however be necessary to make some customizing settings.
In any other case, you can use the workflow templates as the basis for your own developments. The existing process structures of the business application components, which are often represented in a transaction, are generally not replaced. SAP Business Workflow is located as an integration level "above" the standard business functions and uses the existing transactions, function modules, and reports.
• In the business background you find out which business processes are supported by workflow scenarios, which employees are involved, and what advantages and benefits can be derived from using the workflow system.
This information is sufficient if you are interested in an initial overview of the options available.
• A more detailed presentation of the processes is provided in the description of the technical background of the respective scenarios. Here you learn in detail what steps were carried out by SAP in order to represent the business process in the system.
You are familiarized with the object types which form the basis of the scenario and you find out which standard tasks are defined to describe the activities which need to be performed, which roles are resolved, and which events are used. The structure of the workflow template used and its interface and container are described in greater detail.
This information is particularly useful if you are planning to enhance and modify the scenario.
This section is not available or is very brief if no enhancements are planned or appropriate.
• To adapt the scenario to the specific features of your company, settings need to be made which are described in the section Preparation and Customizing.
The settings described need to be made specifically for the scenario and are generally additional to SAP Business Workflow customizing.
• The use of the scenario and the connection to application functionality are described in the last section of the respective chapter.
This documentation is not meant to replace the SAP Business Workflow manual.
For information on using and calling the individual components of SAP Business Workflow and to take advantage of the full functionality in your enhancements and own developments, refer to the SAP Business Workflow manual.
Neither this documentation nor any part of it may be copied or reproduced in any form or by any means or translated into another language, without the prior consent of SAP AG.
Basic Concepts
Area Menu SAP Business Workflow (Development)
All definition tools can be accessed from the area menu SAP Business Workflow (Development). You can reach this area menu from the R/3 initial screen via Tools ® Business Engineering ® Business Workflow ® Development.
Object Orientation in SAP Business Workflow
A workflow is generally used when business objects (business application objects), such as an invoice, material, or customer, are to be processed in the system over several steps and when this processing is to be followed actively until it has been completed. Options must therefore be available in the workflow system for
• naming objects,
• creating and processing objects (executing methods),
• evaluating attributes of objects (reading attributes) and
• responding to events (status changes of objects).
It is therefore appropriate that the interface between the workflow management system and the applications is based on object-oriented principles. Besides the business logic of the R/3 System, other applications on desktops or in other application systems (appropriately encapsulated) are therefore accessible to SAP Business Workflow.
Object Types and Objects
An object type refers to a generic object description which is created at definition time. This description includes the definition of the key fields required to uniquely identify an object of this type and the specification of the methods, attributes, and events of this object type..
An object is the specific instance of an object type which has been assigned values.
Modifying Object Types - Inheritance and Delegation
It is necessary to extend an object type rather than creating a new object type whenever you want to create additional components for an object type which are not provided in the standard version and at the same time need to ensure that productive scenarios with the original SAP object type remain operational.
Since you may not change the object types provided by SAP, create a new object type as the sub-type of the original object type which will then inherit its components and their implementation. Then modify this object type and make it the delegation type of the super type. All calls to the "old" delegating object type (super type) are redirected to the delegation type (sub-type) so that its definition is read and executed (delegation).
Business Object Repository
A directory of all object types defined in the SAP System is managed in the business object repository. These object types are each assigned to a business application component.
In addition to the business object types, the business object repository also contains structural object types, such as company code, plant, or sales organization, and technical object types, such as text, note, work item, or archived document. Customers can define their own object types.
Object types and their elements can be found quickly by accessing this business object repository with the appropriate search functions (either via the component hierarchy or with a generic search using parts of a name).
Methods
A method refers to an operation which can be performed on an object.
A method generally refers to ABAP/4 functionality which is already available (function module, transaction, dialog module, ...) and is called via an interface determined mainly by the method name and method parameters. The actual implementation of the method therefore remains abstract. It is not visible externally and does not need to be known to the calling program of the method.
Synchronous and Asynchronous Methods
Methods can be subdivided as follows depending on their response characteristics:
• synchronous methods
Synchronous object methods assume process control for the duration of their execution and report back to the calling program once they have been executed.
• asynchronous methods
Asynchronous methods do not report back to the calling program directly after their execution. The response is made via events which are used to report the processing results of the methods.
Synchronous and asynchronous methods can be distinguished according to the way in which they are used in single-step tasks: A single-step task which refers to an asynchronous method must be completed by an event.
Method Parameters
Parameters are used to exchange information between the calling program of a method and the method.
Parameters of a method are values which are either passed to the method at runtime (import parameters) or are returned from the method (export parameters). When the parameters are defined, the interface of the method call is also defined. A method need not necessarily have parameters; many methods can be used without parameters.
Method Result
The result of a method is different to the export parameters. Possible values for the result can be fixed or contained in a check table. They are therefore known in a workflow definition and can be taken into account during process modeling.
The various follow-up steps can be modeled in a workflow definition according to the results. A method can only ever have one result, although there is no limit to the number of export parameters.
A method need not necessarily have a result.
Method Exceptions
In the same way, exceptions (cancellation by user, object to be processed does not exist, etc.) of a method can also be defined and taken into account in a workflow definition.
Attributes
An attribute describes a property or characteristic of an object.
Attributes can be used to formulate conditions in the workflow definition. The object attributes are read or determined from the database at runtime and are used to control the workflow.
An object attribute can return
• the value of a field in the ABAP/4 Dictionary (database field attribute)
• an object reference to an object which is defined in the business object repository. Object attributes which return an object reference therefore allow the attributes of this referenced object to be accessed.
• a value which is not determined until database contents are calculated and/or evaluated at runtime (virtual attribute).
Events
An event publishes the occurrence of a status change of an object ("text deleted", "invoice posted", "material created", ...) system-wide.
Events should always be seen in connection with the object they are "reporting" on. The events belonging to an object are therefore specified in the object type definition.
Events are published without the application, the event creator, knowing whether a receiver is interested in this event and whether it will respond. Potential receivers of an event are listed in the event receiver linkage table, where receivers can make and remove their entries as required. This allows the events created to be responded to flexibly.
Events and SAP Business Workflow
Events are used in the SAP Business Workflow environment,
• to start tasks (multistep tasks and single-step tasks). The events are therefore defined as the triggering events of the respective tasks.
• to complete single-step tasks which refer to an asynchronous object method. The events are therefore defined as the terminating events of the respective single-step tasks.
Event Parameters
Events are linked to runtime-dependent data (event parameters) which is available to the event receiver and can be used for event-driven control and communication mechanisms.
Event Generation
Event generation is not part of the object type definition in the narrow sense. However, for customer-specific event generation to occur, the relevant events must be added to the object type definition.
If the events which are created in the standard version when particular conditions are met are not sufficient, you have the option of ensuring that additional events are generated without carrying out programming work. It is therefore possible to generate events where this is not supported by SAP in the standard version. There are basically four ways in which events can be generated:
• Generate events by calling a function module• Generate events for status changes
• Generate events when change documents are written
• Generate events via Message Control
While event generation as the result of calling the provided function module requires programming knowledge and experience, the last three options can be used without changing the program code of an application. These procedures take advantage of the fact that data consistency and security is ensured by the application when a change document is written, status management activated, or a message sent.
The generation of events entered for the individual object types in the business object repository is ensured by SAP.
Event Generation Log
All events generated correctly are logged in the event log irrespective of whether receivers are available. The event log is only written if the logging has been switched on. To do this, select Utilities ® Event log ® On/off from the area menu SAP Business Workflow (Development).
The event log created can be displayed from the area menu SAP Business Workflow (Development) via Utilities ® Event log ®
Display.
See also:
Working with Objects
Integration of Organizational Management
The company-specific organizational plan describes the organizational assignment of an employee. This allows the responsibility of employees for performing individual business activities to be defined in the form of activity profiles.
The organizational plan is part of the PD component "Organization and Planning". It is client-dependent. An organizational plan which was created for personnel management purposes (or is still to be created) can be used in SAP Business Workflow without any changes provided the workflow functionality and the personnel management application use the same client.
In each client you will however generally (only) represent the sub-areas and organizational structures of your company in which you also coordinate business processes using SAP Business Workflow.
This assignment is used to find the "correct" agents and allows tasks to be assigned actively by the workflow management system. Transparency of the business processes and responsibilities is achieved. Changes can be made to the organizational structure of the company without changes needing to be made directly to the SAP Business Workflow definitions or programming performed in an application.
To create an individual activity profile for a user in a modular way and without redundancy, it is necessary to describe the organizational assignment of this user in the company-specific organizational plan.
Organizational Structure and Organizational Units
An organizational plan is described by the organizational units available in the company. These organizational units are generally linked together in a hierarchical reporting structure, but can also be created in isolation.
Organizational units are organizational sub-areas in a company (departments, project teams, groups) which have been created for business purposes.
Staff Assignments
Staff assignments are maintained for each organizational unit. The appropriate positions are assigned to the organizational unit. A position is derived from a describing job and is generally occupied by a user.
Jobs
Jobs are areas of activity within a company which are described by tasks or business application components and are often created across organizational units.
Positions
Positions can be regarded as the individual employee assignments within a company. A position is described by a job and always belongs to exactly one organizational unit.
Chief Position
One position can also be designated as the chief position of the organizational unit. This allows you to structure the positions within an organizational unit. This information is sufficient to address a work item to an employee's superior.
User/Person (Employee)
A position is held by an employee (person from HR master data management) or by a system user (user master), a position can also remain vacant.
For an agent to be determined by the workflow system, it must be possible to make an assignment between positions and system users. If a position is assigned to an employee, this employee must also be linked to his system user in the HR master data (infotype 105 Communication). Do not assign an employee and a person to a position
Tuesday, February 9, 2010
misl(compatibility Mode)
1. Which client number you use for the current
project?
2. You are running a report. It is taking long time for
execution. What steps will you do to reduce the
execution time.
3. After running a BDC program in background, next
day morning when you see the results, few records
are not updated(error records). What will you do
then?
4. You are given functional specs for a BDC program
and you need to decide whether to write a method
call transaction or a session. How u will decide?
5. What is the difference between report and script?
6. what are user-exits?
7. what is badi?
8. what is the difference between user-exit &
customer-exit?
9. how do you get functional specs when you are
assigned some object? (specs through email..??)
10. How do you write technical specs?
11. How do you write UTP?(unit test plan)
***********************************************************
REPORTS FAQs:
1. difference bet'n simple and interactive reports?
2. what is the use of start-of-selection event?
3. if you write a write statement after end-of-selection, will that be triggered?
4. how to create a button in selection screen?
5. how to add a gui status in a selection screen?
6. can you call a bdc program from a report? how?
7. can you call a transaction from a report? how?
8. what are ALV reports? how they are different from normal reports?
9. what is the use of SLIS type pool in alv reports?
10. in an interactive report, after going to 5th list, can you come back to 2nd list? how?
11. What are the steps you follow to improve the performance of a report?
******************************************************
sitemap
SapMaterial.com
Sap Scripts
SapScript
Important standard Transaction codes:
SE71 Form painter
SE72 Style maintenance
SE73 SapScript font maintenance
SE78 SapScript Graphics Management
SO10 Create standard text module
Q) What are steps you follow to improve the performance of a report?
Ans: 1) USe select fields statements (not select *)
2) Use views rather than tables
3) Don't use nested Select.
**************************************
How to create a BAPI:
http://www.sapmaterial.com/bapi_example.html
http://allsapabaplive.blogspot.com/2008/06/example-showing-how-to-create-bapi.html
General questions
Q1)+ What are your Roles & Responsibilities in your project?
Ans:- a) Preparing the technical specifications according to the functional
specifications.
b) Developing the code according to the client requirement.
c) Unit testing and performance tuning of the program.
Q2)+ How will you get the work?
Ans:- My team lead allots the work through mail.
Q3)+ What are the positions in your company?
Ans:- Associate Software Engineer
Software Engineer
Senior Software Engineer
Team lead
Project manager
Delivery lead
Q4)+ What are the types of projects?
Ans:- 2 types of projects.
1) End-to-End Implementation
2) Support project
Q5)+ Which tool are you using for getting tickets(Change request)?
Ans:- By using Remedy tool we get the tickets.
Q6)+ Transaction codes? +
Ans:- ABAP Dictionary - SE11 (Data dictionary)
ABAP Program Editor - SE38
Transaction Recorder - SHDB (BDC)
Form Painter - SE71 (SAP Scripts)
SAP Smart Forms - SMARTFORMS
Function Builder - SE37 (Function Modules)
Screen painter - SE51 (Module pool programming)
Menu painter - SE41
To find out the Package - SE93
To find out the Customer Exit - SMOD
To Implement the Customer exit - CMOD
To find out the BADI - SE80
To Implement the BADI - SE19
Real time questions:-
Q1)+ What is the landscape of your company?
Ans:- Our company is having 3 servers named as
1) Development server: CCD (only for Developers)
2) Quality server: CCQ (for testing the Quality)
3) Production server: CCP (For End users)
Development server has 2 clients: 100 and 500.
Quality server has 1 client: 100.
Production server has 1 client: 100.
Q2)+ How will you transport your transport request?
Ans:- By using transaction code SE09 or SE10, we transport our
requests from Development server to Quality server.
Q3)+ How will you interact with your functional consultants?
Ans:- Depending on the requirement, Sometimes I use to call them directly
And sometimes in presence of my TL.
What is your reliant experience? Experience:
What is your Current salary? Current salary:
How much you are expecting? Expected salary:
How many days? Notice period:
Tables & Fields:-
MM:
1) MARA 2) MAKT
SD:
3) VBAK
4) VBRK 5) VBFA 6) VBUP
7) KNA1 8) KNB1 9) KNBK
FI:
10) BSAD 11) BSAK 12) BSID
13) BSIK 14) BKPF 15) BSEG
BAPIs
Q1)+ How many types of interfaces?
Ans:- We have 2 types of Interfaces. One is, Outbound Interface
and 2nd type is Inbound interface.
a)Outbound interface: is used to extract the data from SAP.
b)Inbound interface: is used to upload the data into SAP.
Q2)+ How many types of tools we have for uploading data?
Ans:- We have 4 tools for uploading data.
a)Legacy system migration workbench (LSMW):
For uploading mass data from NonSAP-SAP & SAP-SAP.
b)Batch Data Communication (BDC):
For uploading mass data from NonSAP-SAP & SAP-SAP
Through screens.
c)Business Application Programming Interface (BAPI):
For uploading the data & for downloading the data
d)Application Linking & Enabling(ALE/IDocs):
For uploading the data & for downloading the data.
Q3)+ What is the difference between RFC and Function module?
Ans:- Function module RFC
1) In function modules, all types 1) In RFC, all types of parameters
Of parameters are passed by Are passed by value.
reference.
2) We can access only from SAP 2) We can access from Non SAP
System. Also.
Q4)+What is the difference between RFC(Remote Function Call) & BAPI?
Ans:- If you include a RFC in business object repository through transaction
Code ‘SWO1’, then that RFC will become a BAPI.
Q5) What are all the BAPIs you have worked/created recently?
Ans:- (depends on resume.)
Q6)+ What is the difference between BDC & BAPI?
Ans:- BDC BAPI
1) In BDC, Data will be uploaded 1) In BAPI, Data will be uploaded
through screens. through Function modules.
2) Through BDC,Uploading the 2) Through BAPI, uploading And
data is only possible. Downloading the data both are
possible.
Smartforms
Q1)+ How to add watermark to Smartform output?
Ans:- Go to properties of ‘PAGE’
Click on ‘Background Picture’ tab
Add the Graphic Image Name here.
This is the way to add watermark to Smartform output.
Q2) Where can I define the paragraph and character format for the Smartforms?
Ans:- The paragraph and character format for the Smartforms can be defined in the
Transaction ‘SMARTSTYLES’.
Q3) What is the difference between Template and Table in Smartforms?
Ans:- * Templates are Static because the number of columns and lines of the
Template Are determined before the actual output. So, the Template
contains fixed number Of rows and columns.
* Whereas, Tables are Dynamic, because the Table size depends on the
amount of data selected at runtime. So, the Table can have Variable
number of rows. This is the difference between Template and Table.
Q4) Where can I define my own global types for the Smartform?
Ans:- * The ‘Global Types’ can be defined in
Global Settings => Global Definitions => Types
The ‘Types’ defined here will be global through the entire Smartform.
* Also The ‘Form Routines’ can be defined in
Global Settings => Global Definitions => Form Routines.
Q5) Where can I provide the Input parameters to the Smartform?
Ans:- The Input parameters for the Smartform can be defined in
Global Settings => Form Interface.
The ‘Associated Type’ must be defined in the ABAP Dictionary.
Q6) How can I provide background shading to the table?
Ans:- In the Table Painter, you can specify the ‘Color’ and ‘Shading’
for the table lines.
Q7) I have created a table node for display. Where can I check the
condition which must satisfy to display the table?
Ans:- The conditions can be defined in the ‘Conditions’ tab. In Smartforms,
all the nodes have a ‘Conditions’ tab where you can specify the condition
to be satisfied to access the node.
Q8) How can I define Page Protect in Smartforms?
Ans:- To define Page Protect for a node go to the ‘Output options’ and check the ‘Page Protection’ checkbox.
Q9) What are the differences between SAP scripts and Smartforms?
Ans:- Scripts Smartforms
1) SAP scripts are Client dependent. 1) Smartforms are Client Independent.
2) Multiple page formats are not 2) Multiple page formats are possible
possible in Scripts. in Smartforms.
3) Pages can not be printed with 3) Pages can be printed with background
background pictures. Pictures.
4) Text can not be printed with colors. 4) Text can be printed with colors.
5) In scripts, there is no tool for 5) In Smartforms, Table painter is
printing Data in tabular format. available for printing data in tabular
format.
6) Paragraph and Character formats 6) Paragraph and Character formats
are not reusable. are reusable via SMARTSTYLES.
Q10) How can I insert symbols in Smartforms?
Ans:- Select the Text node.
Change Editor (Click the button above Check near the Editor)
Go to menu Include => Characters => SAP Symbols
Choose the SAP symbol that you want to insert.
Q11) I have a smartform which works fine in DEV. After trasnsporting it to PROD,
there is no Function module generated for this smartform. As a result my
program dumps in PROD?
Ans:- The Smartform that is created in the Development may not have the same name
in the Production server. So it is always advised to use the Function Module
SSF_FUNCTION_MODULE_NAME to get the ‘Function Module name’
by passing the ‘Smartform name’.
DATA: fm_name TYPE rs38l_fnam.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'ZSMARTFORM'
IMPORTING
fm_name = fm_name
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CALL FUNCTION fm_name
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
Q12) How can I make the Smartforms to choose a printer name by default?
Ans:- In the CALL FUNCTION of the Smartform Function Module, set the ‘Output options’ parameter to set the printer name. The Output options is of the type SSFCOMPOP which contains the field TDDEST. Set the TDDEST field to your default printer name.
Q13) How can I make the Smartforms to display a print preview by default without displaying the popup for print parameters?
Ans:- In the SSF_OPEN function module,
Set the OUTPUT OPTIONS parameter TDDEST to your printer name.
Set the CONTROL PARAMETERS as shown below,
control-preview = 'X'.
control-no_open = 'X'.
control-no_close = 'X'.
control-no_dialog = 'X'.
control-device = 'PRINTER'.
control_parameters-no_dialog = 'X'.
control_parameters-no_open = 'X'.
control_parameters-no_close = 'X'.
OUTPUT_OPTIONS-TDDEST = 'PRINTER NAME'.
OUTPUT_OPTIONS-TDNOPRINT = 'X'.
CALL FUNCTION 'SSF_OPEN'
EXPORTING
output_options = output_options
control_parameters = control
user_settings = ' '
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
Q14) How can I display the total number of pages in Smartforms?
Ans:- Use SFSY-FORMPAGES to display the total number of pages in the Smartforms.
&SFSY-PAGE& Current page number
&SFSY-FORMPAGE& Total number of pages in the currently formatted layout set
&SFSY-JOBPAGE& Total number of pages in the currently formatted print request
&SFSY-COPYCOUNT& Original-1,1st copy-2
&SFSY-DATE& Date
&SFSY-TIME& Time
&SFSY-USERNAME& Username
Q15) I'm using the variable SFSY-FORMPAGES, I got a star "*" instead of the total number of pages. Why?
Ans:-There may not be enough space in the window to display the variable, either increase the window dimensions or condense the spaces using &SFSY-FORMPAGES(C)&
Q16)What are the various text formatting options in Smartforms?
Ans:- &symbol(Z)& - Omit Leading Zeros
&symbol(S)& - Omit Leading Sign
&symbol(<)& - Display Leading Sign to the Left
&symbol(>)& - Display Leading Sign to the Right
&symbol(C)& - Compress Spaces
&symbol(.N)& - Display upto N decimal places
&symbol(T)& - Omit thousands separator
&symbol(R)& - Right justified
&symbol(I)& - Suppress output of the initial value
Q17)I have defined my own Program Lines, where I have used a global variable G_TEXT. I got an error G_TEXT is not defined. Why?
Ans:- Whenever using the global variables in the Program Lines, enter the variable name in Input Parameters if you are going to use(read) the variable. If you are going to both read/write the variable value enter the same in Output Parameters.
Enhancements
Q1)+ What is enhancement?
Ans:- SAP provided some loopholes to enhance the standard functionality.
These are called as enhancements. Through Enhancements, we can
add our own functionality to SAP’s standard business applications
without modifying the original application. We can create
enhancements for specific programs, screens and menus.
Q2)+ How can you implement enhancements?
(or)
What are the enhancement types?
Ans:- Depending on their enhancement approach, enhancements are divided
into 2 types. One is Customer exit and another type is BADIs. So, by
using customer exits and BADIs, we can implement enhancements.
Q3)+ What is the difference between customer exits & BADIs?
Ans:- Customer exits BADIs
1) In customer exits, we do 1) In BADIs, we do enhancements
enhancements in procedural in Object Oriented approach,
Approach, that is, By using that is by using Classes &
function modules. Methods.
2) Through customer exits, we can 2) Through BADIs, multiple
Implement enhancement only functionalities are possible.
One time.
Q4)+ How many types of user exits?
Ans:- Totally 3 types of user exits.
1)Menu exit: Menu exits are used to enhance the menu options. By
Using menu exits, we can add items to the pulldown
Menus in standard SAP applications.
2)Screen exit: Screen exits are used to enhance the screen. By using
Screen exits, we can add fields to screens in R/3 application.
3)Function Module exit: Function module exits add functionality to
R/3 applications. They play a key role in
both menu and screen exits. When you
add a new menu item to a standard pulldown
menu, you have to use a function module
exit to define the actions that should take
place once your menu is activated.
Q5)+ What is the disadvantage of menu exit?
Ans:- The disadvantage of menu exit is, we can not enhance menu options
Individually. For example, if we want to change a menu option from
‘Disable mode’ to ‘Enable mode’, irrespective of our requirement, all
the menu options are enabled. That is the disadvantage of menu Exit.
Q6)+ How to find out the user exit?
Ans:- Execute Transaction code SE93 to find out the package
Open the transaction in Display mode
Double Click on ‘program’ to open it
Go to Attributes & find out the package
execute transaction code ‘SMOD’ to find out the
enhancement from the already identified package
press F4, provide package name & press ‘Enter’.
Then we can get the available enhancements.
Q7)+ How to implement the user exit?
Ans:- execute transaction code ‘CMOD’
provide ‘project name’ & click on ‘Create’.
provide ‘Short text’ & Save it.
Click on ‘Enhancement assignments’
Here we can implement user exits.
Q8)+ How to find out the BADIs?
Ans:- Execute Transaction code SE93 to find out the package
Open the transaction in Display mode
Double Click on ‘program’ to open it
Go to Attributes & find out the package
execute transaction code ‘SE80’ to find out the
BADIs from the already identified package
provide package name & Click on ‘Display’
Here we can see the BADIs list.
Q9)+ How to implement BADIs?
Ans:- We can implement BADIs by using Transaction code ‘SE19’.
Execute Transaction code SE19
Provide ‘Implementation Name’ & Click on ‘Create’.
Provide the ‘name of the add-in’.
Provide ‘Short text’ & Click on ‘Interface’ tab.
Notice the list of methods & Find out the right method
to implement. (by reading the description and documentation
of each method.)
What type of user exits have you written?
ALV
Q1)+ What are the function modules used in ALV?
Ans:- REUSE_ALV_GRID_DISPLAY,
REUSE_ALV_LIST_DISPLAY,
REUSE_ALV_COMMENTARY_WRITE
REUSE_ALV_FIELDCATALOG_MERGE
REUSE_ALV_EVENTS_GET
These are the main function modules used in ALV.
Q2)+ What is the difference between classical reports & ALV reports?
Ans:- Classical ALV
1) In classical reports, we can not 1) In ALV reports, we can
display logos. display logos.
2) System functionalities like 2) Whereas in ALV reports,
Totals, Subtotals, Filtering, all system functionalities
sorting ascending, descending are available.
all these are not available in
normal reports.
3) If u have too many fields to be 3) To avoid such instances we go
displayed on the screen then for ALV report where we can
normal report can show only display too many fields in a
255 chars and the next chars will single row.
be shown in the next line.
Q3)+ What are the events used in ALV report?
Ans:- 1. USER_COMMAND
2. PF_STATUS_SET
3. SUBTOTAL_TEXT
4. TOP_OF_PAGE
5. END_OF_PAGE
6. TOP_OF_LIST
7. END_OF_LIST
These are the main events that are used in an ALV reports.
Q4)+ How to provide the menu button functionality?
Ans:- By using ‘SET PF STATUS’, we can provide menu button (our own)
functionality.
Q5)+ Where will you create functional keys?
Ans:- By using “Menu Painter” we can create functional keys.
The Transaction code of the menu painter is SE41.
Q6)+ How will you include a logo in ALV?
Ans:- By using a function module REUSE_ALV_COMMENTARY_WRITE,
we can include a logo in ALV. And the Transaction code for uploading the
logo is ‘OAER’.
Q7)+ How will you provide edit functionality in ALV?
Ans:- To provide edit functionality in ALV, we have to set the
parameter is_layout-edit = ‘x’, in the function module
REUSE_ALV_GRID_DISPLAY.
Q8)+ How to display totals and subtotals in ALV?
Ans:- In field catalog, we have an option called DO_SUM. By using this
option, we can display totals and subtotals in ALV.
BDC
Q1)+ What is the structure used in BDC to Upload the data?
Ans:- BDCDATA is the structure used in BDC to Upload the data.
Q2)+ What are the update modes available in Call Transaction method?
Ans:- 2 update modes.
1) Asynchronous update :
*In this mode, the called transaction does not wait for any updates
That It produces to be completed.
*Execution is faster when compared to synchronous update.
*It is not recommended for processing any larger amount of
Data why because error analysis and recovery is less convenient.
2) Synchronous update :
*In this mode, the called transaction waits for any updates that
It produces to be completed.
*Execution is slower when compared to Asynchronous update.
*The called transaction is able to return any update error
Messages. So, error analysis and recovery is much easier.
Q3)+ What are the display modes available in Call Transaction method?
Ans:- There are 3 display modes in Call Transaction method.
A - display All screens
All screens and the data that goes in them appear when we
Run the program.
N - No screens (Background processing)
All screens are processed invisibly, regardless of whether
there are errors or not. Control returns to the program as
soon as transaction processing is finished.
E - display Error screens only
The transaction goes into display mode as soon as an error
In one of the screens is detected. We can then correct the
error.
Q4)+ What is the default updation mode in Call Transaction method?
Ans:- Asynchronus updation is the default updation mode in call transaction
method. In Asynchronus updation, if an error occurs while updating The
database, It skips the error record and continues the updating process.
Q5)+ What is the default updation mode in Session method?
Ans:- Synchronus updation is the default updation mode in Session
Method. In Synchronus updation, if an error occurs while updating
The database, the updating process will be stopped at that point.
Q6)+ What are the function modules used in Session method?
Ans:- (explanation - BDC 1pg of session method)
3 function modules are used in session method.
1) BDC_OPEN_GROUP
2) BDC_INSERT
3) BDC_CLOSE_GROUP
Q7)+ What is the difference between Call Transaction method & Session
method?
Ans:- Call Transaction Session
1) In Call transaction method, data 1) Whereas in Session method,
Updation will take place at the a session will be created and
Moment of execution of the we can run that session at the
program. background At any time.
2) In Call transaction, only one 2) In Session method, multiple
Transaction can be processed Transactions can be processed
Always. Through the same session.
3) Error handling is explicit 3) Error handling is implicit
Functionality in Call Transaction functionality in Session
Method. Method.
4) Execution is Faster bcz it is 4) Execution is Slower bcz it is
Asynchronous Update. Synchronous Update.
5) Call transaction method 5) Whereas Session method
Returns the SY-SUBRC. Doesn’t return the SY-SUBRC.
Q8)+ How to handle the errors in Call Transaction method?
Ans:- We can handle the errors in Call Transaction method, by using a function
Module FORMAT_MESSAGE.
Q9)+ What is the complete syntax of Call Transaction?
Ans:- CALL TRANSACTION
USING
MODE “display mode M
UPDATE “update mode U
MESSAGES INTO
SAP script
Ans:- In the form,
à Go to ‘Basic settings’,
à here you can find the ‘Landscape format’ option, Click on it,
à and at the bottom, you can find the ‘page’ option,
à Enter the page name for which you want to assign landscape format.
Q2)+ How can I change the page size of the layout?
Ans:- In the form,
à Go to ‘Basic settings’,
à Here you can configure the page settings and their orientation.
Q3)+ How can I set the header and footer in the MAIN window?
Ans:- * By using the TOP…ENDTOP and BOTTOM…ENDBOTTOM commands,
We can set the header and footer texts in the MAIN window.
* These texts will be displayed on the starting and ending of every new page
in the output.
* To disable these texts, enclose empty commands between these commands.
* Ex: /: TOP
/: ENDTOP
Q4)+ What are the conditional statements used in SAP scripts?
Ans:- * IF…ELSE/ELSEIF…ENDIF
* CASE…ENDCASE
These are the conditional statements used in SAP scripts.
Q5)+ Can you create a SAP script without a MAIN window?
Ans:- We can not create a SAP script without a MAIN window.
Q6) How can I prevent page break in the message that is to be displayed?
Ans:- * By using PROTECT…ENDPROTECT control commands, we can
prevent Page break in the message that is to be displayed.
* Enclose the text that you want to prevent page break in between
PROTECT…ENDPROTECT.
* SAP script will ensure that each line of this text is printed together
on the same page.
* If SAP script finds that the text can not be printed on that page completely,
Then an Implicit page break occurs and the text is printed on the next page.
* Syn: /: PROTECT
*Text within
*The same page
/: ENDPROTECT
Q7) How to convert a SAP script to Smartform?
Ans:- Execute SMARTFORMS, Go to Utilities => Migrate SAPscript Form.
This is the way to convert a SAP script to Smartform.
Q8) How can I format the date being displayed in the SAP script?
Ans:- * By using the ‘SET DATE MASK’ control command, we can
format the date fields in an SAP script.
* Syn ex: /: SET DATE MASK = ‘MMMM DD YY’.
* Executing this command causes all subsequent date fields to be
printed with the specified formatting.
* To return to the default formatting, use the ‘SET DATE MASK’
command with an empty string.
Syn: /: SET DATE MASK = ‘ ’.
Q9) How can I format the time fields in the SAP script?
Ans:- * By using the ‘SET TIME MASK’ control command, we can
format the time fields in an SAP script.
* Syn ex: /: SET TIME MASK = ‘HH hrs MM min SS sec’.
* Here HH refers Hours, MM refers Minutes and SS refers Seconds.
* Executing this command causes all subsequent time fields to be
printed with the specified formatting.
* To return to the default formatting, use the ‘SET TIME MASK’
command with an empty string.
Syn: /: SET TIME MASK = ‘ ’.
Q10) How can I debug my SAP script?
Ans:- We can debug SAP scripts in 2 ways.
* 1st way: Ã Execute Transaction code ‘SE71’.
à Enter the ‘Form name’.
à Click on Utilities => Activate Debugger to enable debugging.
* 2nd way: By using the standard program RSTXDBUG.
These are the 2 ways to debug an SAP script.
Q11) How to upload logos in SAP scripts?
Ans:- We can upload the logos in SAP scripts, by using the transaction code ‘SE78’
Or by using the program ‘RSTXLDMC’.
Q12) I have created an SAP script in language DE. Now I need to translate it to EN.
How can I do this?
Ans:- * Open your SAP script through Transaction code ‘SE71’.
* In the ‘Header screen’, in the ‘Language Attributes’ option,
choose ‘Translate to…’ option to translate to other languages.
* If you want to translate any text modules or texts within the SAP
script, then it can be done by using the transaction code ‘SE63’.
Q13) How can I word wrap the text being displayed in SAP script?
Ans:- Use the function module RKD_WORD_WRAP to wrap the text
which is being displayed in SAP script.
Q14) How do I set tabs between the fields in display?
Ans:- In the form,
à Click on ‘Paragraph Format’ tab,
à create a new paragraph format, and
à In the ‘Tabs’ tab,
à enter the ‘Tab position’ and the ‘Alignment’ for the fields.
Q15) Where can you find all the SAP script form names and print program names?
Ans:- We can get all the SAP script form names and print program names
in the table TNAPR.
Q16) How can I copy SAP scripts from one client to another?
Ans:- Ã In the transaction ‘SE71’, enter the form name,
à Click on Utilities => Copy from client to copy SAP
scripts from one client to another.
Or use the program ‘RSTXSCRP’ to Import/export SAP scripts.
Q17) How can I create Standard texts for SAP scripts?
Ans:- * By using the transaction ‘SO10’, we can create standard texts. Then
to insert these standard texts in the Sap scripts, choose the menu
Insert => Text => Standard, and choose the desired standard text.
* Alternatively, you can display standard texts in your SAP scripts
using the command:
INCLUDE ZSTEXT OBJECT TEXT ID ST LANGUAGE EN
* Here ZSTEXT refers to the standard text name.
Q18) How can I display bar codes in SAP scripts?
Ans:- Ã Create a ‘Character format’ in the SAP script.
à In the bottom, you can get the ‘Bar code’ option,
Here choose the Bar code for the Character format.
à And finally, to display Bar codes, in the command enter:
* Where C1 is the character format created and ‘VBELN’
is the variable for which the bar code is to be created.
Q19) How to add extra functionality to a standard print program
without touching the print program?
Ans:- By using Subroutines.
Q20) How many MAIN windows are allowed for SAP script?
Ans:- * SAP script allows only one MAIN window.
* Each page can consist up to 99 windows.
* Each MAIN window is assigned a consecutive identifying number(0…98).
* This is mainly used for Label printing and Address printing.
REPORTS
(or)
How to place the selection screen elements in a single line?
Ans:- By default, each selection screen element is placed in a new line, and
More than one element can be placed in the same line also. That is, by
placing them in between the ‘SELECTION SCREEN BEGIN OF LINE’,
‘SELECTION SCREEN END OF LINE’.
Syn., SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.
SELECTION-SCREEN BEGIN OF LINE.
*provide the selection screen elements
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK B1.
The elements within the same line loose the selection text by default. And
which can be provided through “SELECTION-SCREEN COMMENT”.
Syn., SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 5(10) TEXT-003.
*provide the selection screen elements
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK B1.
Q2)+ How to create the text for check boxes?
(or)
How to provide user-friendly descriptions for selection screen elements?
Ans:- To provide user-friendly descriptions for selection screen elements,
Path: Go to à Text elements à Selection texts
Enter the text, save it & activate it.
Q3)+ How to disable a field on selection screen?
Ans:- We can disable a field on selection screen, by using “AT SELECTION
SCREEN OUTPUT” event. In this event, loop the screen and in the loop,
We have to keep SCREEN-INPUT = ‘0’ for that particular field.
Q4)+ How to validate the entered values of the selection-screen?
Ans:- By using the event “AT SELECTION SCREEN”, we can validate
the entered values of the selection-screen. This event triggers before
leaving the selection-screen and this event is not only used to validate
the input of the selection-screen but also used to display user friendly
messages on the selection-screen itself.
The input is valid when there is at least one record found in
The master data. If a record found, then SY-SUBRC value becomes
‘0’, if recode not found, then its value becomes <> ‘0’. In this way,
we can validate the entered values of the selection-screen.
Q5)+ What are the events in reports?
Ans:- 1) INITIALIZATION
1) AT SELECTION SCREEN
2) AT SELECTION SCREEN OUTPUT
3) AT SELECTION SCREEN ON VALUE REQUEST
4) START OF SELECTION
5) END OF SELECTION
6) TOP-OF-PAGE
7) END-OF-PAGE
10) AT LINE SELECTION
11) AT USER COMMAND
Q6)+ What are the different techniques used in “AT LINE SELECTION”?
Ans:- 1) SY-LISEL
2) HIDE
3) GET CURSOR
Q7)+ How many secondary lists can we create in reports?
Ans:- 20 secondary lists.
Q8)+ How many types of messages we have in reports?
Ans:- 1) Error message (E)
2) Warning message (W)
3) Information message (I)
4) Abort message (X)
5) Termination message (A)
6) Status message (s)
Q9)+ In how many ways, can we display messages?
Ans:- 2 ways.
1) MESSAGE E001(message class).
2) MESSAGE ‘message text’ type ‘E’.
Q10)+How to create message class?
Ans:- We can create message class, by using transaction code SE91.
Q11)+How to validate the group of fields?
Ans:- We can validate the group of fields by using ‘chain’ and ‘endchain’.
That is, If the validation has to be done for more than one field, then, in
That situation, those fields are placed between ‘chain’ and ‘endchain’.
Q12) What are the control break events?
Ans:- 1) AT FIRST: to display the starting text
2) AT LAST: to display the ending text
3) AT NEW: to display the starting text of the subgroup
4) AT END: to display the ending text of the subgroup
5) ON CHANGE OF:
SQL VIEWS
- What Are Views?
- How To Create a View on an Existing Table?
- How To See Existing Views?
- How To Drop Existing Views from a Database?
- How To Get a List of Columns in a View using "sys.columns"?
- How To Get a List of Columns in a View using the "sp_columns" Stored Procedure?
- How To Get a List of Columns in a View using the "sp_help" Stored Procedure?
- How To Generate CREATE VIEW Script on an Existing View?
- How To Get the Definition of a View Out of the SQL Server?
- Can You Create a View with Data from Multiple Tables?
- Can You Create a View using Data from Another View?
- What Happens If You Delete a Table That Is Used by a View?
- Can You Use ORDER BY When Defining a View?
- How To Modify the Underlying Query of an Existing View?
- Can You Insert Data into a View?
- Can You Update Data in a View?
- Can You Delete Data from a View?
- How To Assign New Column Names in a View?
- How Column Data Types Are Determined in a View?
- How To Bind a View to the Schema of the Underlying Tables?
- How To Bind a View to the Schema of the Underlying Tables?
- How To Create an Index on a View?
SAP FUNCTIONA GENERAL TOPICS
- What are Functional Specifications?
- GAP Analysis
- Difference between Implementation, Support, Upgrade and Roll out projects
- Sample Functional Specification Template
- Business Benefits of SAP ERP
- Transporting table entries from one server to another
- Unit of Measure - Rounding of decimal places
- Tracking the transaction codes of the IMG activities
- Working with screen variants
- Enhance SPRO to add customized views
Customer Relationship Management (CRM)
Production Planning (PP)
- Types of Subcontracting
- Difference between Co-Product and Bi-Product with an example
- Converting Planned Orders to Purchase Requisitions and Purchase Orders
- Routing Vs Task list Vs Work Procedure
- Production Order Splitting
- Repetitive Manufacturing Cycle
- Typical Production cycle in Process Industry
- MRP Run in background for all Network Plants
SAP Financials (FI)
- Check duplicate creation of Vendor Master that have the same address data through standard SAP settings
- Validation rules in FI
- Defining Asset Number Range
- Steps to configure Document text in Customer Invoice Entry (FB70) transaction
- Understanding Lockbox
- Information on FICA (Finance and Contract Accouting)
- Comparison of FI and FICA
Tutorials on SAP Data Dictionary
- Automatically populating the search hlep values into different fields on the selection screen by using search help exit
- Providing multiple selection options in Search help
- Creating a projection view
- Comparison of Transparent, Pool and Cluster tables
- Adding new values in Standard Domain
- Creation of a table pool and pooled table
- Row level locking of database tables
- Creation of a View cluster
- Creation of a Logical Database
- Working with Table Maintenance Generator
- Creating a secondary index
- Creating Search helps (Elementary and collective)
- Creating a structure in ABAP Dictionary
- Creating a Transparent Table
Tutorials on SAP-ABAP
- Scheduling Background jobs
- Converting an XML file with many hierarchy levels to ABAP format
- FTP file transfer in Background
- Understanding "Coverage Analyzer"
- Understanding "Checkpoint Group"
- Understanding ABAP Unit
- Downloading report output into Excel using OLE
- Dynamic SELECT statement Creating a Tabstrip on the selection screen
- Displaying 3D Graphs in ABAP
- Creating a dynamic selection screen on a report
- Creating a Function Module
- Downloading file on to the application server
- Demo on Interactive reporting (One more example)
- Developing a simple interactive report
- A real-time example on sending PDF file as an email (Complete program)
- HR Infotype Creation
- Creation of a Dynamic Internal table
- Creation of a Number Range Object
- Download data from tables with user defined delimiters
- Create / Modify / Delete records in any table from CSV file
- ABAP Performance Standards
- Differences between LSMW and BDC
- MESSAGE XXXX RAISING XXXX. What is this?
- Debugging Update Task and Back-ground Task
- System debugging - Explained in detail Updating Material Master long text (BASIC DATA TEXT, INSPECTION TEXT and INTERNAL COMMENT)
- Calling an RFC function module from one system to another
- Object oriented programming (OOP) explained with an example
- Creating F1 helps with ease
- Dynamic Variant in a report
- Working with Menu Painter
- The Features of ABAPTM New Editor - Part 1
- The Features of ABAPTM New Editor - Part 2
- Displaying Graphics using ABAP Program
- Using Sorted table and Index while processing internal tables
- Implementing events in Table Maintenance
- Handling favorites in ABAP Workbench
- Calling a web service in ABAP that validates an email id
- Creation of a web service in SAP
- Changing the text "Sales Order" to "Billing Request" in the transactions VA01, VA02 and VA03
- Understanding SQL Trace
- ABAP Performance Tuning Checklist
- ABAP Programming standards
- E-mailing the background jobs
- Creating a Transaction Variant
- Performance Tuning using Parallel Cursor
- Scheduling a background job by triggering an event
- Creating Dynamic Patterns
- Custom Parameter-id Creation
- Display images (like company logo) on the selection-screen
- Creating Dynamic variant using table TVARV
- Dynamic Selection Screen (Drop downs, pushbuttons, radio buttons, icons)
- Adding custom context menu in classical list
- Convert internal table data into HTML using Function Modules
- Convert internal table data into HTML with out using Function Modules
- PDF Viewer
- Program to Upload or Download a report along with ...
- Download/Upload a program along with PF-Status, Text elements, documentation and others
- Using Code Templates
- Issue billing document output in XML format
- Include translations in a transport request
SAP Enterprise Portals (EP)
- Basics of Enterprise Portal development using Java
- Viewing the solution manager documents on ESS or on web by deploying the same as a link
- Create and Export Transport request in Enterprise Portal
- Role Transfer from Enterprise Portal to SAP
- Role Transfer from SAP to Enterprise Portal
- Running multiple versions of NWDS in one PC
- Reuse Java Dictionary Types in Web Dynpro Development Components
ABAP Interview Questions
- SAP ABAP Technical Questions ( Data Dictonary )
- SAP ABAP Real Time Questions
- SAP ABAP Reports Questions
- SAP ABAP Internal Tables Questions
- SAP Scripts and Smart Forms Questions
- SAP ABAP Scripts Question and Answers Part 1
- SAP ABAP Scripts Question and Answers Part 2
- SAP ABAP Scripts Question and Answers Part 3
- SAP ABAP Scripts Question and Answers Part 4
- SAP ABAP Scripts Question and Answers Part 5
- SAP ABAP Scripts Question and Answers Part 5
- SAP ABAP Scripts Question and Answers Part 6
- SAP ABAP Scripts Question and Answers Part 7
- SAP ABAP BDC Programs Questions 1
- SAP ABAP BDC Programs Questions 2
- SAP ABAP BDC Programs Questions 3
- SAP ABAP Report Programming Questions 1
- SAP ABAP Report Programming Questions 2
- SAP ABAP Report Programming Questions 3
- SAP ABAP Report Programming Questions 4
- SAP ABAP Report Programming Questions 5
- SAP ABAP Report Programming Questions 6
- SAP ABAP Report Programming Questions 7
- SAP ABAP BDC , LSMW, Conversions Questions
- SAP ABAP Written Test Questions
- Sample Test Questions on SAP ABAP Programming
- Part 1
- Part 2
- Part 3
- Part 4
- Part 5
- Part 6
- 100 SAP ABAP Interview Questions
- SAP ABAP Technical Interview Questions( Data Dicto...
- SAP ABAP Certification Questions
- SAP ABAP Questions with Answers
Adobe Interactive Forms Tutorials
- Getting started with Adobe Forms with a simple exercise
- Create table
- Create table using subform
- Using Alternative in Adobe Forms
- Using Text Modules in Adobe Forms
- Value help in Adobe interactive forms
- Making subform behave as table and data part as body row
- Using Where conditions to relate header and item tables in Adobe forms
- Demo on Nested tables
- Achieving Control levels functionality in Adobe Forms.
- Calculating Page-wise Sub-Totals and Grand Total in Adobe forms
- Including the Standard Texts (SO10) and any other Long Texts in the Adobe Forms
- Scenario on displaying logo, background image and fetching data from multiple tables
- Printing Address using Business Address Services (BAS)
- Printing Address without using Business Address Services (BAS)
- Configuring the Adobe Forms / Smart forms / SAP Script to the output type in NACE
- Demo on Adobe interactive forms using WebDynpro for ABAP Part 1
- Demo on Adobe forms using WebDynpro for ABAP Part 2
- Printing labels using Adobe Forms
- Migration of an SAP Smart form to Adobe Form
- Using Multiple Master and Body pages
- Sending an Adobe form as an attachment in an email
- Uploading a PDF file in an Adobe Form offline scenario
- Sending an Adobe form as an attachment in an email
- Offline scenario to download an adobe form using Web Dynpro for ABAP.
- Offline scenario to upload a filled-in adobe form using Web Dynpro for ABAP
- Using Web Services in Adobe Forms
- Achieving Conditional-breaks in Adobe Forms
- Online Scenario - Travel Request Form
- Steps for creating a Web Dynpro Component for Adobe interactive Forms using the Enumerated Drop Down Box
- Upload Photos/images into custom table & Print in Adobe form
- Adding rows dynamically in a table using interactive Adobe Forms
- Hiding a Field Using Javascript in Adobe Form based on the condition
- Sending Adobe forms as “PDF” attachment using Email Submit Button
- Custom Dialog Box Message while Saving the Adobe Form without filling the Mandatory Fields
- Digital signature in Adobe forms
- Validation of date and calculation of the number of days between two dates using Java Script
- Quick testing for Adobe Forms
Tutorials on Object Oriented Programming(ABAP)
- Dialog processing after COMMIT WORK statement
- Event Handler Technique in Object oriented ABAP
- Handling Data in Excel In-place Display Using BDS
- Redefining methods in subclass
- Final Classes and Methods in Object Oriented Programming
- Abstract Classes and Methods in Object Oriented Programming
- Demo on "Narrow Casting"
- Understanding "ABAP Unit"
- Binding in ABAP Object Oriented Programming
- Implementing Persistent Service using Transaction Service
- Persistent Objects: Using GUID Object Identity
- Persistent Objects: Using Business Key Identity
- Persistent Objects: A Quick reference
- Create a transaction for a local class method
- Creating global class from a local class
- Working with interfaces
- Working with events in a global class
- Using ABAP Classes in Workflow
- Enhancing a Standard Class
- Working on Polymorphism
- Working with import, export and change parameters of a class
- Inserting data into the database table using Classes
- Working with Constructor
- Working with inheritance
- Working with the keyword SUPER in object oriented programming
- Global Class Functionality - Step-by-step with screenshots
- Demo program illustrating Interfaces
- Demo program illustrating Inheritance
- Demo program illustrating Simple class and Super class
- Object oriented programming (OOP) explained with an example
- Understanding the concepts of Object Oriented Programming
Step-by-step Tutorials on Object Oriented Programming
SAP Query
- Creating Ad Hoc query (HCM related infoset query)
- Developing SAP Query for Task List Data Extraction
- Transport of SAP Query objects
- Setting the Expiry date in SAP Query
- SAP Query for getting hourly background job status
- Building an SAP Query using ABAP Code
- Development of Basic List Query using SAP Query
- Configuration for SAP Query
- Working with infosets/User Groups/Query in detail
- What is SAP Query? Purpose and Advantages of SAP Query?
Step-by-step Tutorials
Business Server Pages (BSP)
- Building a simple BSP Application
- Building a simple BSP Application to retrieve Material information
- A Simple BSP application to select a range of Sales Document and Display the result on the next Page
- Providing F4 help in the BSP Application
- Providing list box in the BSP Application
- Using controller in BSP Application
- Building interactive BSP Application
- Displaying table contents on the BSP Application
- Navigating and data transfer between different pages
- Create Server-Side Cookies
- Create Client-Side Cookies
- Simple BSP Application Using HTMLB components on TableView, group by Radiobutton and Dropdown list box
- BSP Application using a Tree
- BSP Application using MVC Architecture - Displaying Business Partner data using a BAPI
- BSP Application using Date Navigator Control
- BSP Application using Tabstrip
- Creating a simple BSP Application using AJAX
- Simple BSP application to Create, Modify and Delete the database entries
- Resume application using BSP
- XML generation from BSP
- Simple BSP Application to validate the date fields in Front end using JAVASCRIPT.
- BSP application to download the table contents into excel sheet
- Steps to integrate Business Server pages (BSP) with ADOBE FLEX
Integrating SAP data (R/3 or BW Data) with the BO-Xcelsius (Business Objects) using BSP
- Part 1: SAP BSP + BO-Xcelsius (Excel XML Maps Connection)
- Part 2: SAP BSP + BO-Xcelsius (web Service Connection)
- Part 3: SAP BSP + BO-Xcelsius (XML Data Connection)
- Consuming Web Service with WSDL file through BSP
Step-by-step Tutorials
Userexits/BADIs
Enhancement Framework
- Picking material description from custom table in the SAP Sales Order (VA01 and VA02) using enhancement framework
- Setting the screen elements as mandatory in the transaction DP95 using Enhancement Framework
- Scenario on Enhancement Framework
- Restrict the modification of Delivery item texts - Using Implicit enhancement technique
BADIs
- BADI implementation for transaction FB60
- BADI implementation for transaction CS01
- Adding a field (material group) in the layout of Batch Information Cockpit (BMBC)
- Fallback class in a BADI
- Step by Step guide on BADI with Filter implementation
- SStep by Step guide on BADI Multiple use implementation
- Defining and implementing a BADI (step-by-step with screenshots)
- Defining and implementing BADI (With better screenshots)
- Understanding Business Add-ins (BADI)
- Filtering the work items in the SAP inbox using BADI
- Implementing the BADI for the transactions VL02 & MM02
- Exercise on BADI
User Exits/Screen Exits/Menu Exits
- Printing Attachments Of Work Order Via IW32
- Adding Fields to CJI3 Report
- Screen Exit for Notification Header (TCode: IW21) and show the custom fields in standard report for notifications (IW28, IW29)
- Automatically filling the field "Payment Terms" and disable the same while creating PO using the transaction ME22N
- Modifications to the SAP standard menu
- Working with Menu Exits
- Adding custom fields to the transaction CS01,CS02 and CS03 (Bill of Materials)
- Adding custom fields to the Purchase Order transaction ME22N
- Implementing Screen Exits for the transaction MIGO
- Implementing Screen Exit for the transaction CO01
- Changing the description of the standard SAP fields
- Implementing Screen Exit in "CJ01"
- Adding a custom screen in XD01
- Implementing Screen Exit for MM01/MM02/MM03
- How to implement a screen exit to a SAP Standard transaction
- Finding user exits using a TCode
- Working with User Exits
- Implementing Field Exit for the transaction MK01
- Adding custom fields using EEWB Transaction
Business Transaction Events (BTE)
- Scenario on triggering a BTE when a vendor is changed (Transaction FK02)
- Adding custom fields to the FI report FBL5N using BTEs
- E-mail EFT Remittance using BTE
Others
- Step by step procedure to enhance the BP using BDT
eCATT (extended Computer Aided Test Tool)
-
- What is eCATT and why eCATT?
- Differences between CATT and eCATT
- eCATT Prerequisites
- eCATT vs Mercury QTP
- Creating a simple eCATT test script for MM02 transection
- Starting eCATT with TCD Recording method
- Starting eCATT with SAP GUI Recording method
- Creating a simple eCATT test script using ABAP Object
- Parameterization in eCATT
- Testing "Creation of a Sales Order"
- Integration script to create a sales order as well as delivery
- Debugging in eCATT
Web Dynpro for ABAP (Step by step procedure for web dynpro,Tutorials on Web Dynpro,)
- Building a simple application using Web Dynpro for ABAP
- Displaying Text box and radio buttons using "Web Dynpro for ABAP"
- Implementing enhancements in a view
- Creating a Web Dynpro ALV application in 30 easy steps
- Calling an URL on click of a button
- Exporting internal table contents to Excel file
- Deleting a row from the Web Dynpro table
- Sorting a table column in a Web Dynpro application
- ALV Table with Business Graphics
- Usage of Modal Dialog Box in Web Dynpro Component
- OVS help in the Web Dynpro application
- Usage of ALV Function elements and making a column editable
- Using Select-Options in Web Dynpro application
- Reusability of components in Web Dynpro for ABAP
- Using an ALV with Dynamic Context Nodes in Web Dynpro
- Dynamic Modification UI Hierarchy
- Navigation from one View to other View along with parameters using Plugs with out using Component Controller context
- Calling a Web Dynpro application from another Web Dynpro application
- Using Supply Function method in Web Dynpro
- Pop up a screen when a specific event has been triggered
- Creating Business Graphs in Web Dynpro
- Creating Transaction Code for Web Dynpro Applications
- Dynamic views in a Window
- Demo scenario on Adobe Forms using ABAP Web Dynpro Part 1
- Demo scenario on Adobe Forms using ABAP Web Dynpro Part 2
- Demo on inserting a logo using ABAP Web Dynpro
- Displaying an image or logo in Web Dynpro application without using MIME object
- Building Tree structure in Web Dynpro application and Calling another Web Dynpro application on clicking the nodes
- Demo on displaying list box with the option for se...
- Uploading Excel sheet using Web Dynpro for ABAP
- Enable/Disable & Show/Hide UI Elements during runtime in Web Dynpro for ABAP
- Working with roadmap UI element
- Getting started with Floor Plan Manager
- Translations in Web Dynpro for ABAP
- Passing values from one Web Dynpro application to another Web Dynpro application
- Programming dynamic ALV in ABAP Web Dynpro
- Dynamically selecting the view from the browser through Web Dynpro application parameter
- Creating layout from an existing PDF file and capture the values into Web Dynpro attributes
- Enhancing Standard Web-dypnro Component
- Scenario on making input enabled table using Web Dynpro for ABAP
- Using Tab strips in Web Dynpro for ABAP
- Dropdown by Index using ALV in Web Dynpro for ABAP
- Reading Component controller’s context node from view without mapping in Web Dynpro for ABAP
- Integrating WD Application with Microsoft Sharepoint
- Totals and Subtotals in ALV Web Dynpro
- How to search Web Dynpro component for a particular method or statement?
- OVS multiple value selection
- Freely Programmed Value Help in the WebDynpro application
- Steps for creating a Web Dynpro Component for Adobe interactive Forms using the Enumerated Drop Down Box
- Creating static table with 5 empty rows in interactive form using Web Dynpro ABAP
- Using Progress indicator UI Element at Table Control
- Opening SAP Transaction Code in SAP GUI Window from WebDynpro through URL (Transactional iView)
- Demo on Web Dynpro Configurator
Tutorials on BAPI
- One more example on step-by-step creation of a BAPI (in elaborated steps)
- Step-by-step creation of a BAPI with necessary screenshots.
- A real-time example on using BAPI (Complete program)
- Standard BAPI change / Function Group enhancement procedure
- Create Customer Quotation (BAPI_QUOTATION_CREATEFROMDATA2 ) with BAPI Extension
- Parking a Document in FI using BAPI
- Creating Sales Scheduling Agreement with Extensions using BAPI
ALV Tutorials
- Creating dynamic ALV with dynamic editable columns and dynamic colors to the columns based on condition
- Adding PF-Status, Header and Footer in ALV using class CL_SALV
- Hiding the print info of the ALV list in the spool
- Create, Modify and Delete entries dynamically from any custom table by using Object Oriented ALV
- Coloring of the cells in the F4 help of ALV
- Printing a line after every subtotaling in ALV
- Increasing the width of the spool when using ALV List
- Simple interactive ALV Tree calling ALV list display
- Display text 'Total' in ALV using Object Oriented Programming
- ALV with user-defined menu on toolbar
- Simple ALV Tree report (6-levels)
- Interactive ALV report using OOPS
- ALV with editable F4
- ALV Styles in Field catalogue using OOPS
- ALV drag and drop functionality on its rows
- ALV with user-defined buttons on toolbar
- Add custom sub-menu in ALV Context menu
- Editable Field catalogue for ALV display
- ALV code for simple hierarchical sequential list display (single child)
- ALV with EDIT and SAVE functionality
- Display subtotal text in ALV grid
- Demo program on interactive ALV using REUSE_ALV_GRID_DISPLAY
- Dropdown list in ALV
- ALV in a Pop up window and ALV in a dialog box
- ALV Interface Check
- Displaying ALV on the Selection Screen
- Changing Font style in ALV
- Dynamic ALV List generation
- Simple ALV report with its output transposed (rows as columns and columns as rows)
- Problem with ALV Grid Top-of-Page - How to print more than 60 characters?
- Printing ALV list with Page Numbers
- Printing Subtotals at the end of an ALV List
- Highlighting only a particular cell instead of entire row in ALV Grid
- Demo program on ALV Blocked list display
- Displaying Lights (Red, Green, Yellow) in ALV
- Working with ALV Layout variant
- Sample ALV Grid program using the function module REUSE_ALV_GRID_DISPLAY
- Displaying Logo in ALV
- Building Interactive ALV list using 'REUSE_ALV_LIST_DISPLAY'.
- Demo program to color particular row or column or cell of an ALV list using 'REUSE_ALV_LIST_DISPLAY'
- Demo program to color the contents of a field based on a condition using 'REUSE_ALV_LIST_DISPLAY'
- Highlighting the visited record on the basic list (ALV) on pressing BACK button in the secondary list using 'REUSE_ALV_LIST_DISPLAY'.
- Colored Excel output (Multiple Colors, Bold and others) using ALV
- Achieving Page Breaks using ALV Grid
- Demo program on ALV Tree Control
- Excluding a column from ALV Display using CL_SALV_TABLE Class.
- Displaying the data in various languages using ALV
- Working with Multiple dynamic internal tables
Tutorials on LSMW
1. Uploading Vendor Master Data using Direct Input Method
2. Uploading Vendor Master Data using Recording Method
3. Migrating Customer data along with relationships (CRM)
4. Step-By-Step Guide for LSMW using ALE/IDOC Method
5. Uploading Purchase Info records using IDOC Method
6. Migration of Bank data using BAPI in LSMW
7. Using BAPI in LSMW (Uploading PO data)
8. Uploading Material Master data using BAPI method
9. Uploading Material Master data using Recording Method
10. Update Customer Master records using Batch Input
11. Uploading Material Master records using Direct Input Method
12. Differences between LSMW and BDC
13. Copying LSMW object from one client to another
14. When Standard BAPI has to be modified for using in LSMW
15. Using routines and exception handling in LSMW
17. Uploading long text for Material Master 'Purchase Order Text"
18.Handling multiple recordings in LSMW
19. Creating Normal program (BDC, ALV Report) by using LSMW in non-development clients