What is ALE?

Application Link Enabling (ALE) is a set of business processes and tools that allow applications on different computer systems to be linked. This can be done between different SAP systems as well as between SAP and non-SAP systems.
In a single SAP system different applications are integrated via a single database (e.g. finance, sales, production, human resources).
ALE provides distributed business processes that can be used to link the applications on different platforms.
There are some ALE business processes delivered in the standard SAP system. Furthermore, there are tools that can be used to change the existing ALE business processes or to implement new distributed business processes.
Besides the business processes there are special ALE services that are required to set up and control a distributed environment. These services include a distribution model, business object synchronization and tools for monitoring or error handling.
ALE is a major part of SAP's Business Framework Architecture. Besides the basis middleware, that provides the communication between components, and the interfaces (BAPIs), ALE business processes and ALE services enable the cooperation of the single components within the framework. That makes ALE the glue of the Business Framework.

2. What are the benefits of ALE?

With ALE companies get the opportunity to improve business performance and to solve organizational or technical issues.
Through distribution you can decentralize your business, enabling local units to operate independently from each other.
This flexibility enables the local units to return better business results than in a centralized environment. They have the necessary flexibility to optimize business processes in different organizational units and can ensure that information systems can handle the speed of change in rapidly expanding markets.
Distribution allows a high level of freedom, provided that this level of freedom has been clearly defined.
On the other hand, some companies, that already have a distributed organization with different computer systems in the local units, have the opportunity to link their units through ALE business processes.
This enables them for example to provide a 'one face to the customer' approach. Another area that can benefit through ALE are virtual organizations (partnerships between independent companies, joint ventures and mergers and acquisitions).
Of course, in many cases an integrated solution based on a single system is not possible at all. Some applications used by a company can not run on the same computer system. This includes legacy systems or complementary software.
It may also be possible that a company uses different SAP industry solutions or specific country solutions, which do not run on the same SAP System. If these applications run on different systems they can not be linked by a central database but have to use a special integration mechanism like ALE.
In this way ALE also links SAP Core Systems to other SAP components like CRM, Business Information Warehouse or APO.
Besides the benefits of having an improved flexibility in setting up the whole business processes, ALE may also reduce costs, in particular costs of upgrading.
If the whole business is run on one integrated system you have to upgrade the whole system, even if only one part of your company (e.g. human resources) requires an update. So the entire company is affected by the upgrade project and all users have to be trained for the new release.
Within a distributed environment with release independent interfaces, like those provided by ALE, you can focus the upgrade project on that part of the company that has to be upgraded. The other parts of the company are not involved and need no training. This can save a lot of money. Furthermore, existing investments are protected.
Another cost factor for distribution might be communication costs. For an overseas connection it can be more expensive to provide online access to one central system (T1) than to connect distributed systems to each other (64K line).


MySAP Office Fundamentals
SAP authorization and client administration in mysap.com
SAP Authorization and ALE
Authorization and implementation of SAP
Mysap marketplace an introduction
Using Variables in SAP Business Warehousing

SAP ABAP Questons and Answers for Interview

Here is a simple list of sap abap programming questions with answers.
In commercial, organizational and technical terms, self-contained units in an R/3 System with separate master records and its own set of tables.


System-defined data object.All system fields conform to the naming convention SY-, where denotes the field.You can display a list of system fields in the ABAP Editor.
  • SY-SUBRC - return code
  • SY-UNAME - user name
  • SY-DATUM - current date
  • SY-UZEIT - current time
  • SY-TCODE - current transaction

Object that describes the technical attributes of a field such as its data type and length.A domain defines a value range containing the valid values for fields that refer to that domain.You can group fields that have similar technical or business purposes together under a single domain. All fields based on a domain are automatically updated when you change the domain. This guarantees the consistency of the fields.


Object that describes the data type and semantic meaning of a table or structure field.Fields with the same purpose should have the same underlying data element.Data elements are like types, so you can address them in ABAP programs using the TYPE statement. This allows you to define elementary types that have the type attributes (one of the ABAP Dictionary data types, field length, and, where appropriate, number of decimal places) of a data element.


Object that describes the data type and semantic meaning of a table or structure field.Fields with the same purpose should have the same underlying data element.Data elements are like types, so you can address them in ABAP programs using the TYPE statement. This allows you to define elementary types that have the type attributes (one of the ABAP Dictionary data types, field length, and, where appropriate, number of decimal places) of a data element.


The data class determines the physical area of the database (tablespace) in which the table is created.You set the data class in the technical settings for the table.

A foreign key links two tables T1 and T2 by assigning fields of table T1 to the primary key fields of table T2.Table T2 is then known as the check table of the foreign key.
Sometimes when you define a domain, you already know that all fields that use the domain will need to be checked against a particular table. You can store this information in the domain definition by specifying a value table.If you try to define a foreign key for a field that points to this domain, the value table of the domain is proposed as the check table for the foreing key.


It is an imaginary table that maintains data at runtime. It can also be defined as the skeleton of the table.

Types of Views:

Database view:

View type in ABAP Dictionary.Database views are defined in the ABAP Dictionary and automatically created in the underlying database when activated.

Projection View:

View type in the ABAP Dictionary.Projection views allow you to suppress fields from a table.

Help View:

View type in the ABAP Dictionary.Help views are used for F4 help. Their function has changed fundamentally since Release 4.0.From Release 4.0, you only need to create a help view if you need a view with an outer join as the search method for a search help.Before Release 4.0, help views were automatically displayed in the F4 help for all fields that were checked against the first table (primary table) of the help view. This is no longer the case in Release 4.0.

Maintenance View:

View type in ABAP Dictionary.You can use a maintenance view to maintain data, which is distributed over several tables, at the same time. 

You can keep the table data in the buffer of the application server after the first access. If you do so, you can read the data from main memory next time it is accessed, saving a further database access.


Cluster tables:
Table type in the ABAP Dictionary.
The data of several cluster tables is stored together in a single table cluster in the database. A cluster table is thus known only in the ABAP Dictionary, not in the database.

Pooled tables:

Table type in the ABAP Dictionary.The data of several pooled tables are stored together as a table pool in the database. Therefore, a pooled table is known in the ABAP Dictionary, but not in the database.


Standard function in R/3.You use this function to check an object.If you use the CHECK statement within an event block but not within a loop, and the condition is not fulfilled, the system exits the processing block immediately.can be any logical expression or the name of a selection table. If you specify a selection table and the contents of the corresponding table work are do not fulfill the condition in the selection table, it is the same as a false logical expression. 

Standard function in R/3.You use this function to leave the current task or application area. If data may be lost, the system prompts you to save.


If you use the STOP statement within an event block, the system stops processing the block immediately.
Standard function in R/3.You use this function to leave the current task or application area. If data may be lost, the system prompts you to save.


Area of memory assigned to a particular transaction and any modules called from there.ABAP memory does not depend on the ABAP program that generates it during a transaction. This means that any object stored there can be read by any ABAP program during the same transaction.In contrast to ABAP memory, which exists only for the life of one transaction, there is also global SAP memory, which extends beyond transaction limits.
Global, user-related memory that extends beyond transaction limits.
Access to the SAP memory is via SPA/GPA parameters.
Data structure that exists only at program runtime.
Internal tables are one of two structured data types in ABAP. They can contain any number of identically structured rows, with or without a header line.The header line is similar to a structure and serves as the work area of the internal table. The data type of individual rows can be either elementary or structured.Internal tables provide a means of taking data from a fixed structure and storing it in working memory in ABAP.
The data is stored line by line in memory, and each line has the same structure. In ABAP, internal tables fulfill the function of arrays. Since they are dynamic data objects, they save the programmer the task of dynamic memory management in his or her programs.You should use internal tables whenever you want to process a dataset with a fixed structure within a program. A particularly important use for internal tables is for storing and formatting data from a database table within a program. They are also a good way of including very complicated data structures in an ABAP program.
Like all elements in the ABAP type concept, internal tables can exist both as data types and as data objects.A data type is the abstract description of an internal table, either in a program or centrally in the ABAP Dictionary, that you use to create a concrete data object. The data type is also an attribute of an existing data object. 
This is the most appropriate type for any table where the main operation is key access. You cannot access a hashed table using its index.
The response time for key access remains constant, regardless of the number of table entries. Like database tables, hashed tables always have a unique key. Hashed tables are useful if you want to construct and use an internal table which resembles a database table or for processing large amounts of data.
Hashed tables have no linear index.
You can only access a hashed table using its key. The response time is independent of the number of table entries, and is constant, since the system access the table entries using a hash algorithm. The key of a hashed table must be unique. When you define the table, you must specify the key as UNIQUE.


The operations listed below are only permitted for index tables (sorted and standard tables). Some of them are restricted to standard tables.Since it is quicker to access a table by index than by key, you should always use specific index operations when you know that a particular internal table is an index table.In particular, the quickest way to fill a table line by line is to append lines to a standard table, since a standard table cannot have a unique key and therefore appends the lines without having to check the existing lines in the table.
If you can either accommodate duplicate entries in a table, or exclude them in a different way, it can be quicker to fill a standard table and then sort it or assign it to a sorted table if the data does not have to be inserted into the table in the correct sort sequence.Furthermore, the performance of operations that change the internal linear index has been improved in Release 4.5A. Previously, index manipulation costs for inserting and deleting liens in standard tables and sorted tables increased in linear relation to the number of lines.
From Release 4.5A, the index manipulation costs only increase logarithmically with the number of lines, since the table indexes are now maintained as a tree structure. This makes insertion and deletion operations efficient, even in very large standard and sorted tables.
Sorted tables

This is the most appropriate type if you need a table which is sorted as you fill it. You fill sorted tables using the INSERT statement.Entries are inserted according to the sort sequence defined through the table key. Any illegal entries are recognized as soon as you try to add them to the table.
The response time for key access is logarithmically proportional to the number of table entries, since the system always uses a binary search. Sorted tables are particularly useful for partially sequential processing in a LOOP if you specify the beginning of the table key in the WHERE condition.


The frequent SAP ABAP programming questions for any simple interview starts with the following.
  1. What are the methods of interfacing to SAP
  2. What is an IDOC
  3. What is partner profile
  4. When would you use a BAPI rather than an IDOC
  5. When, how and how would you control changes to standard SAP objects.
  6. Explain Data and List methods in LIS
  7. Select single vs select up to one rows
  8. Explain V2 updates
  9. Text on an output document. How do you find its source.
  10. Explain the 4 events in flow logic
  11. What methods can you use to make a report interactive.
  12. Where do you find info on new developments in SAP?
  13. Are you a member of any professional organisations?
  14. What is an IDOC

Questions on SAP Project experience:
  1. Tell me about some of the projects you have worked on?
  2. What roles have you played on these different projects?
  3. Have you taken on any project management or project/team lead roles?
  4. What type of position are you looking for?
  5. What type of programs have you developed?
  6. What functional areas have you written programs for?
  7. Do you consider yourself an expert developer for any of the functional areas you have written programs for?
  8. Have you done much of your own analysis work? Written specs?
  9. What was the most complicated program you’ve developed and why?
  10. What is the most challenging thing you find when developing programs?
  11. Have you given any formal training in your SAP career? Mentoring?
  12. Have you used any QA standards or been required to go through any QA evaluations for custom programs you have written?
  13. What, if any, project methodologies have you used?
  14. Who in the organization do you speak to most frequently on a day-to-day basis?
  15. i.e.: end users, analysts, team leads, managers.

What tables are most commonly associated with the application areas you have developed programs for?

PP – S*, some MM tables BOM tables

Q.What are the characteristics of a good program?


User friendliness
Do what it’s supposed to do
Easy to follow for code changes later

Q.When is it necessary to create a function module?

A.When multiple programs might be able to use the same functionality

What resources do you choose in trying to find a solution to a SAP problem?
  1. OSS
  2. F1
  3. Debugger
  4. Reading code
  5. Go to analyst
  6. Go to another programmer
  7. SQL trace
Problems regarding handling a task.
  1. How long do you struggle with a problem before you ask for help?
  2. What is the purpose of (a) unit testing (b) integration testing?
  3. What is the role of a functional analyst? How many Analysts on your project?
  4. What is the role of the Basis team? How many Basis people running your implementation?
  5. Who signs off that a program is performing as specified?
  6. What action do you take when a program is taking longer than expected to develop?
  7. Tell me a little bit about performance in ABAP. How do you ensure that your programs run efficiently?


  1. In your opinion what is the most common problem encountered after transporting dictionary objects?
  2. Discuss ‘development classes’.
  3. How many they use in a project etc...
  4. If only used $TMP, no go live experience
  5. Discuss the differences between BDC and ‘Call transaction’.
  6. Synch vs. Asynch
  7. Error log vs. no error log
  8. Discuss the pros and cons of secondary indices.
  9. Processing overhead vs. disk space
  10. Discuss a ‘logical unit of work’.
  11. What are the differences between Open SQL and Native SQL?
  12. SAP only use Open SQL
  13. Discuss indices and matchcodes.
  14. What is difference between static and dynamic field symbols?
  15. EDI Related
  16. Which EDI transactions have you done? Inbound/Outbound?
  17. Which translator did you use?
  18. Were you involved with non-SAP mapping?
  19. Which versions of SAP did you implement EDI for?
  20. Were you involved with the analysis of the transactions?
  21. Were you the sole SAP EDI person on the project?
  22. Did you do the ABAP portion of the EDI implementation?
  23. Were you involved with the production support end of EDI once it was implemented?
  24. How did you train the users in EDI support both functionally and technically?
  25. Did you do any custom WF programming or setup (aside from error handling)?
  26. ALE Related
  27. Which ALE transactions have you done? Inbound/Outbound?
  28. Did you implement change pointers?
  29. Any custom ABAP work necessary?
  30. Any custom WF?
  31. SAP to SAP or external?

List of interview questions for SAP programming

Challenges in implementing ERP
ERP implementation practices
Enterprise resource planning introduction
ERP software selection
ERP implementation process and advantages
ERP advantages and erp project launch
ERP basis and sap netweaver overview
MYSAP ERP advantages and main features
ERP Master data and data warehouse concept

SAP BW Generic Functions and Planning

ABAP Programming real time questions for SAP

Here are the list of sap abap programming real time Questions.

1. What is an internal table where do we use internal table with out header line?

2. Internal table events.

3. What is the difference between on change of field and at new field events?

4. What are data base objects.

5. What is the difference between data base objects and runtime objects?

6. What is the view? Different types of views.

7. Difference between database views and projection views.

8. What is buffering and advantages and disadvantages of buffering in case of data base object buffering.

9. Difference between data base tables and structure.

10. Reports and classical reports and interactive report.

Advantages of classical reports over interactive reports.

11. Reports and scripts you have mentioned in resume. (Each and every point in resume).

12. What is data base interface and the role it will play while retrieving data.

13. What is BDC where do we use session method? Advantage of session method over direct input method.

14. Where is the log file generated? Who will generate it and what is the advantage of log file.

15. What is function module and what is function group. What are the different types of parameters available in function builder and where do we use them.

16. What is RFC programming in ABAP? Write the coding.

17. What is function module ‘popup_to_conform_loss_of_data’ and where do we use it.

18. How u use LSMW tool. What are the advantages and dis-advantages of it?

19. Tell some statements define in ABAP programming language.

20. Have u worked on BDC. Where and what is the purpose.

21. What is cross application?

22. What area LDB'S is it recommended using them why?

23. ALE and EDI scenarios.

24. Can u configure the EDI subsystem? What is EDI subsystem if yes how?

25. What is the difference between IDOC types and IDOC views?

26. Have u heard of document tool. What is the use of it?

27. What is IDOC archiving?

28. Have us written IDOC extension code.

29. Can u able to write function module to generate IDOC.

Have u done any coding in ca.

30. General questions on BAPI, workflow depending on your knowledge.


ALL sap abap faq's here
Customizing of Planning Functions in SAP BW

ABAP Programming FAQ'S For inerview

General questions with which a SAP Programmer interview starts with the following quesitons.

1. Name the reports, interfaces, transactions, sap script programs written? Explain the Functionality?

2. What is the typical structure of an ABAP/4 program? Answer. = Declarative elements, Operational, control, events.

3. What are field symbols and field groups? Have you used “component idx of structure” clause with fields groups?

Answer.: place holder for existing fields similar to fields point to point Groups. : Common several fields under one Name.

4. What should be the approach for writing a BDC program?

1. Analysis the Data.
2. Generate SAP structure.
3. Develop transfer program
4. Create sequential file.
5. Create batch input program.
6. Process batch input data

5. What is the alternative to batch input session?

Answer: Call transaction & call dialog

6. A situation: An ABAP program creates a batch input session. We need to submit the program and the batch session in back ground. How to do it?

Answer: Run the session by RSBDCSUB explicitly by providing batch input session name Go to batch input, Double click on session name. It gives a pop up screen for run mode enter it and run.

7. What are the problems in processing batch input sessions?

How is batch input process different from processing on line?

Answer.: Sessions cannot be run in parallel and not fast.

8. Name as many SAP Transactions as possible you are familiar with?


SE38 - ABAP editor ,
SE80 - Object Browser ,
SE36 - logical databases
SE11 - ABAP data dictionary
SE16 SE37 - Function Module

9. What are the different types of data dictionary objects?

Answer: Tables - Data Elements - Domains - Structure - Foreign Keys

10. How many types of tables exist and What are they in data dictionary?

Answer: Transparent Tables - Pooled Tables - Cluster Tables

11. What is the step by step process to create a table in data dictionary?

Answer: Create Domain - Create Data elements - Create fields - Create Tables


SAP Programming faq's for interview
abap real time interview questions
SAP BW Modeling Locking of Plan Data