1.What is SAP?
= SAP is business management tool or software. It intergrates different business functionalites.
Its basically ERP (enterprise resource planning)tool.
2.What are the different areas you work in ABAP ?
3.What is RICEFW?
4.RICEFW stands for?
= Normally you should answer in terms of RICEFW.
R-Reports
I-Interfaces
C-Conversions
E-Extensions/Enhancements
F-Forms
W-Workflow.
Reports
= SAP is business management tool or software. It intergrates different business functionalites.
Its basically ERP (enterprise resource planning)tool.
2.What are the different areas you work in ABAP ?
3.What is RICEFW?
4.RICEFW stands for?
= Normally you should answer in terms of RICEFW.
R-Reports
I-Interfaces
C-Conversions
E-Extensions/Enhancements
F-Forms
W-Workflow.
Reports
= An ABAP report program reads data from the SAP database, performs any required data manipulation (e.g. summarization, sorting) and outputs the data to either the computer screen or a printed page.SAP provides many standard ABAP reports with the base R/3 installation. Most SAP customers, however, wish to have their own set of custom reports to complement the suite provided by SAP. These custom reports will be created by the ABAP Development team as a part of the SAP implementation project.There are a number of other tools available to facilitate the development of reports using SAP data, including SAP ReportPainter, SAP Open Information Warehouse SAP Business Intelligence as well as numerous 3rd party reporting and datawarehouse tools. Most SAP customers will use one or more of these other tools in addition to custom ABAP reports.
Interfaces
=With the majority of SAP installations, the enterprise solution will comprise some other systems as well as SAP. Each of these other systems (i.e., tax system,production scheduler) must be able to communicate with SAP. This communication is performed via interfaces. Interfaces are typically categorized as inbound (i.e., SAP is the target system - the data is coming in to SAP from another system) or outbound (i.e., SAP is the source system - the data is taken out of SAP and sent out to another system).An interface typically has three program components:
• Extract
• Translation
• Load
An extract program will execute on the source system and a load program will excute on the target system. A translation program may be developed on either the source or target system - this is dependent on the design. The above examplesshows translation occurring in SAP.
Interfaces can be developed to execute in one of the following three modes:
• Synchronous (i.e., on-line, real time)
• Asynchronous (i.e., near real time)
• Batch
• Extract
• Translation
• Load
An extract program will execute on the source system and a load program will excute on the target system. A translation program may be developed on either the source or target system - this is dependent on the design. The above examplesshows translation occurring in SAP.
Interfaces can be developed to execute in one of the following three modes:
• Synchronous (i.e., on-line, real time)
• Asynchronous (i.e., near real time)
• Batch
Conversions
=When SAP is implemented at a company, it is typically going to be replacing a number of existing systems ( i.e., legacy systems). Before a legacy system can be “turned off,” key business data must be migrated from the legacy system to SAP. The process for moving the data is referred is to as
“conversion.” From a development perspective, conversion programs are designed and
developed in the same manner as inbound interfaces.
“conversion.” From a development perspective, conversion programs are designed and
developed in the same manner as inbound interfaces.
Examples of data that often needs to be converted are General Ledger Account Balances, Open Purchase Order and Inventory.
Extensions/Enhancements
=SAP provides a number of options for extending the base SAP software.
• Customizing: SAP provides a number of “hooks” (commonly referred to as user-exits) that allow for the tailoring of SAP functionality to meet a company’s specific business needs. This option is typically exercised when it is absolutely necessary to change SAP delivered programs and an
appropriate user-exit exists.
• Modifications: SAP permits SAP delivered programs to be changed directly. These changes are typically not supported by SAP and must be reapplied following every software upgrade. This option is typically exercised as a last resort.
• New ABAP Development: SAP allows the augmenting of the standard SAP R/3 through the development of additional objects and programs without changing existing SAP R/3 programs. This is the preferred process of adding new functionality to SAP in the absence of an applicable addon/
bolt-on.
• Add-on/Bolt-on: A number of third party products have been introduced in the marketplace to provide additional functionality to SAP. Many of these products are certified by SAP. These solutions are typically used when customer requirements are not fully satisfied by base SAP and a suitable product exists to fill the gap.
• Customizing: SAP provides a number of “hooks” (commonly referred to as user-exits) that allow for the tailoring of SAP functionality to meet a company’s specific business needs. This option is typically exercised when it is absolutely necessary to change SAP delivered programs and an
appropriate user-exit exists.
• Modifications: SAP permits SAP delivered programs to be changed directly. These changes are typically not supported by SAP and must be reapplied following every software upgrade. This option is typically exercised as a last resort.
• New ABAP Development: SAP allows the augmenting of the standard SAP R/3 through the development of additional objects and programs without changing existing SAP R/3 programs. This is the preferred process of adding new functionality to SAP in the absence of an applicable addon/
bolt-on.
• Add-on/Bolt-on: A number of third party products have been introduced in the marketplace to provide additional functionality to SAP. Many of these products are certified by SAP. These solutions are typically used when customer requirements are not fully satisfied by base SAP and a suitable product exists to fill the gap.
Forms
= SAP provide number of different output types. Where SAP scripts, Smartforms and Adobe forms come under this type of developement. Business need to take a print of tax certificate, order document , invoice document , payment file, material document with different custom that includes logo, different font/size all this can be done throught SAP forms.
Workflow
=SAP Business Workflow enables the design and execution of business processes within SAP application systems: Workflow processes are delivered as content in the SAP Business Suite. Additionally, customers can not only enhance those workflows provided by SAP, but they can also create their own workflows. SAP Business Workflow is at the heart of the SAP system.
Example : Auto approved leave, High value document posting with approval, Vendor invoice management.
6. Can we create checkbox or radio button using WRITE statement ?
= Yes we can only create checkbox.
WRITE as checkbox.
7. What is difference between user exits and customer exits in SAP?
=
8.What is difference between BAdi and Customer Exits ?
=
9. What is difference between BDC method and BAPI?
=
10.What is difference between CALL TRANSACTION and SESSION METHOD of BDC?
=
11.What is difference between RFC and BAPI ?
=
12. What is different between SAP scripts and SMARTFORMS ?
=
13.What is difference between macros and subroutines?
=
14.Whats is difference between implict and explict enhancements?
=
15. Whats is difference between enhancement spot and enhancement section?
=
16.What is difference between enhancement spot and BAdi ?
=
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
6. Can we create checkbox or radio button using WRITE statement ?
= Yes we can only create checkbox.
WRITE as checkbox.
7. What is difference between user exits and customer exits in SAP?
=
User Exit
|
Customer Exit
|
This are modifications
|
This are enhancement
|
Users exits are in form INCLUDE s attached to standard SAP programs. This include contains multiple subroutines.
E.g: MV45AFZZ, RV60AFZZ
Normally out of last two chars. is Z that means its user exit.
|
Customer Exit are standard SAP components which can be enhanced as per business requirement.
Function exits.
Screen exits.
Field exits.
Table exits.
Field exits.
E.g: CALL CUSTOMER-FUNCTION ‘001’.
This function module contains include, that can be modified.
|
Its older technique and user exits are normally found in SD module (Order/Delivery/Invoice).
|
Customer exits will also soon get replaced with BAdi, this are across all modules.
|
Requires access key for first time (During implementation / After upgrade)
|
Does not require access key
|
Can be found as attached INCLUDE in SAP main program.
E.g. SAPMV45A
|
Tcode SMOD helps to know different components of enhancements.
CMOD helps to create project and implement require exits (activate/deactivate possible)
|
In case user exits, you have access to almost all the data. So high risk to change data in business flow and high impact
|
As implemented in form of function module so only IMPORTING, EXPORTING, CHANGING TABLES data can be accessed and modified.
|
8.What is difference between BAdi and Customer Exits ?
=
BAdi
|
Customer Exit
|
This are enhancements
|
This are enhancements
|
BAdi’s are based on object oriented
concepts.
Adapter Class and Interface are
provided by SAP. Tcode SE18 for BAdi definition
|
SAP provides different components.
Tcode SMOD to find components
|
We can have multiple implementation
of BAdi and even put filters
|
We can implement single component
into one project only in CMOD transaction.
|
BAdi’s are fast and more secure. Due to
base on OO methods and only require methods can be coded.
|
Customers exits are normally slow and
need implement whole component and include in function module exits.
|
Important transactions.
SE18 – BAdi Definition
SE19 – BAdi Implementation
|
Important transactions.
SMOD – SAP Enhancements.
CMOD – Customer Enhancements.
|
Easy to implement and fast to
identify.
|
Little complex and long procedure to
implement.
|
9. What is difference between BDC method and BAPI?
=
BDC method
|
BAPI
|
BDC stands for ‘Batch Data
Communication’. Where based on recording and data is feeded. Require
transaction is called to achieve desire functionality.
|
BAPI stands for Business API (application
programmable interface). RFC enabled function module associated to SAP
business objects. These are library function module which is released by SAP
to customers.
|
More complex and less faster method
|
Less complex and faster method
compared to BDC
|
BDC requires recording. It comes with
methods.
1.CALL TRANSACTION
2.SESSION METHOD
|
BAPI’s does not require recording. As
associated with BO (Business objects). BAPI comes with events, Key fields,
methods and attributes.
|
Background, foreground and only error
processing modes are applicable for BDC methods
|
No processing mode for BAPI’s.
|
Important transactions.
SHDB – Recording
SM35 – To access session
|
Important transactions.
BAPI – To identify BAPI’s to suit
business requirements.
|
Normally used to upload huge legacy
data.
|
Normally used to update small data.
|
Not require to COMMIT explicitly
|
Require to call function module
BAPI_TRANSACTION_COMMIT
|
Errors or success message are return
in BDCMSGCOL for CALL TRANSACTION method and Errors can be processed in SM35
for session method
|
RETURN parameter of BAPI function
module returns success or failure message once BAPI called.
|
10.What is difference between CALL TRANSACTION and SESSION METHOD of BDC?
=
CALL TRANSACTION
|
SESSION METHOD
|
CALL TRANSACTION is synchronous type.
|
SESSION METOD is asynchronous type.
|
Used only for small set of data
upload
|
Used to upload or transfer large
volume of data.
|
Do the recording and use CALL
TRANSACTION statement in SAP ABAP.
E.g.
CALL TRANSACTION 'MM02' USING
i_bdc_tab OPTIONS FROM ctuparams
MESSAGES INTO t_msg.
|
Do the recording and use below
function module.
CALL FUNCTION 'BDC_OPEN_GROUP'.
CALL FUNCTION 'BDC_INSERT’.
CALL FUNCTION 'BDC_CLOSE_GROUP'.
Process session in SM35 or SUBMIT
rsbdcsub to process session automatically.
|
Relatively faster method.
|
Slower as compare to CALL TRANSACTION
|
Errors or success message are return
in BDCMSGCOL for CALL TRANSACTION method.
|
Errors can be processed in SM35 for
session method.
|
Database is updated as soon as CALL
TRANSACTION returns success message.
|
Database is not updated until session
is processed manually using SM35 transaction code.
|
11.What is difference between RFC and BAPI ?
=
RFC
|
BAPI
|
RFC stands for ‘Remote Enabled
Communication’.RFC function modules are remote enabled where function present
on SAP-A system can be called from SAP-B system.
|
BAPI stands for Business
API (application programmable interface). RFC enabled function module
associated to SAP business objects. These are library function module which
is released by SAP to customers. |
E g. CALL FUNCTION ‘YADD_RFC’
DESTINATION ‘SAP-A’
|
E g. CALL FUNCTION
BAPI_SALES_ORDER_CREATE2
|
No associativity with business
object.
|
BAPI are associated with business
objects
|
RFC function can used and access with
in SAP systems only.
E.g. ECC to ECC, APO to ECC, BW to
ECC.
|
BAPI helps to non-SAP system (JAVA,
.NET) technologies to communicate with SAP systems.
|
RFC function module does have RETURN
results normally.
|
BAPI always have RETURN table to show
results.
|
CALL FUNCTION ‘FMNAME’ STARTING NEW
TASK or IN BACKGROUND TASK or IN UPDATE MODE must be RFC enabled.
|
Not necessary BAPI
|
RFC may or may not release by SAP to
customers.
|
BAPI are released function module for
customers by SAP.
|
12. What is different between SAP scripts and SMARTFORMS ?
=
SMARTFORMS
|
SAP script
|
Smart forms are client independent-It
does not use any text-elements. It calls function module auto-generated by
SAP system.
|
SAP scripts are client dependent-By design
it used text-elements and based on word processing technology. SAP scripts
are saved in ITF format on client dependent table STXH and STXL |
Main window is not mandatory
|
Main window in mandatory
|
Multiple pages format possible.
|
Single format across all pages.
|
No need of driver program. We can
write all logic in smart forms (not recommended).
|
SAP script can’t be done without
driver program.
|
Print background logo- Not possible
|
Print background logo-Possible
|
Only one main window
|
Up to 99 main windows can be created.
|
On activation function module is
generated
|
On activation no function module is
generated.
|
Easy to debug – No explicit action
require.
|
Little complex to debug-Explicitly
SE71 – Utilities activate debugger.
|
SMARTFORMS cannot be converted to SAP
scripts.
|
SAP scripts can be converted to
SMARTFORMS. SE38-SF_MIGRATE
|
Checkbox tick to achieve protection.
|
PROTECT…ENDPROTECT command is used to
achieve page protection.
|
13.What is difference between macros and subroutines?
=
MACROS
|
SUBROUTINES
|
In SAP macros are defined as.
DEFINE
END-OF-DEFINATION.
Calling.
|
In SAP subroutines are defined as. FORM ENDFORM. Calling. PERFORM |
Define and called only in main
program.
|
Can be define in main program or
include and called from anywhere.
|
Maximum 9 parameters possible.
|
No limit
|
Supports only call by value.
|
Supports call by value, call by
reference, and call by value and result.
|
Normally used when same lines of code
used multiple times in program.
E.g. Creation of field catalog for
ALV
|
Normally used for modularization.
|
We can’t debug macros, can’t go inside.
|
We can debug subroutines.
|
14.Whats is difference between implict and explict enhancements?
=
Implicit Enhancements
|
Explicit Enhancements.
|
Implicit enhancements are always
present on standard location in ABAP code section.
You can see what are available by
going into menu bar and go to Edit - Enhancement Operations - Show
Implicit Enhancement
|
The developer of the corresponding
development object must insert the options of the one kind into the coding so
that enhancements can be done there at a later time. These preconceived
enhancement possibilities are called explicit enhancement options. ENHANCEMENT-POINT |
Enhancement options are always
available in programs, global classes, function modules, and includes. We can create implicit enhancement at start or end of standard
function module or forms.
|
It can be anywhere in source code.
|
No Types.
|
Two Types.
Enhancement Spot.
Enhancement Section.
|
15. Whats is difference between enhancement spot and enhancement section?
=
Enhancement Spot
|
Enhancement Section.
|
Enhancement
point type allow you to insert source code plug-ins. These are additional
code lines that, if they exist, are executed there additionally.
|
Explicit
enhancement options of the type Enhancement Section behave in the same
way – the only difference being that the source code plug-in replaces the
section in the original code. |
ABAP statement.
ENHANCEMENT-POINT
|
ABAP statement.
ENHANCEMENT-SECTION.
|
Custom code enhances the logic with
standard code.
Multiple
active implementations of an Enhancement-Point can exist. All the
implementations will be executed with no guarantee in the order of execution.
|
Custom code is replaced, standard
code is not executed.
There
can be only one active implementation of an Enhancement- Section Only the
implementation gets executed and the original code doesn't get executed
|
16.What is difference between enhancement spot and BAdi ?
=
Enhancement Spot
|
BAdi
|
Enhancement
point type allow you to insert source code plug-ins. These are additional
code lines that, if they exist, are executed there additionally.
|
It comes under enhancement spot. |
Additional method in class, parameter
in function module and custom code at start or end can be added.
|
Standard BAdi can implement. No new
method can be added
|
No execution filter possible based on
county,vendor,partner etc.
|
BAdi can be filtered based on
country,vendor,company code etc.
|
Multiple implement not possible in
same object
|
Multiple BAdi can be implemented.
|
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.