In this tutorial, I try to explain how to use t-code WE19 to test an IDoc inbound processing. This is a very basic tutorial but I believe it is very helpful for beginners to have a general understanding of IDoc processing. The test scenario for this tutorial is an external SAP system sends an IDoc to the receiver SAP system and the receiver SAP system will send the inbound IDoc to the agent to review.
Below are the steps to configure, test and monitor the whole scenario. All these steps are performed in the receiver system as I use the WE19 to simulate the inbound IDoc, so all the configuration activities in the sender system is omitted in this tutorial.
Step 1. Define the logical system for the external SAP system
Go to transaction BD54 to add a new logical system for the external SAP system. You can find the external SAP system’s logical system using transaction SCC4 and select the correct client you are using, you can find the assigned logical system to this client.
Read more…
In certain circumstances, programmer needs to make the complex or time consuming logic to be executed asynchronously. There are two methods to make this happen.
Update Techniques – Update Function Module
The main purpose of SAP update technique is to group all the changes on the business data into a same SAP LUW. All the update function modules in the same SAP LUW will be executed in the update work process other than the dialog work process which runs the main transaction program. This feature can also be used for the asynchronous programming.
ABAP also allows you to perform the update synchronously using statement:
or local update using statement:
Read more…
Transaction represents a sequence of actions which logically belong together. All these actions must be executed completely or not at all. This will prevent the inconsistent business data. The transaction must be atomic, consistent, isolated and durable. There are two kind of transaction in ABAP.
Database LUW
Database LUW is the same like the transaction mechanism in other programming language. It relies on the DBMS.

Read more…
One of my blog reader asked me to send him some documentations on BAPI and function modules. No central API documentation repository seems the pain for all the Abapers. Below is my personal understanding on this question. If you have any other viewpoints, please kindly share them with everyone.
Read more…
ABAP is a 4 generation programming language created by SAP which is used to build most of SAP business applications. In the latest Tiobe index, it is ranked as the 34th popular programming language. The ABAP development concept is slightly different than other programming language.
Below diagram shows a the typical development concept of SAP Java.
Read more…
In some SAP portal implementation projects, SAP standard transactions are integrated into portal using ITS – a first generation of web technology developed by SAP. Because the main UI technology used in ECC is Dynpro, ITS plays an important part in presenting these transactions in the internet environment. Below diagram shows the SAP current UI strategy in ABAP and Java.
Read more…
SAPconnect provides a standard interface for external communication, which supports sending using telecommunication services, such as FAX, text messages (pager/SMS), Internet mail and X.400, as well as sending to printers and between different SAP Systems.
Read more…
In some situation, the custom ABAP table content needs to be captured into a transport. These data might be the custom configuration data. Developer creates these data and saved into a customizing transport and imported them into QAS, PRD system. Below are the steps.
Step 1. Go to transaction SE16 and enter the table name. Choose ‘Transport Entries’ from the menu.
Read more…
In order to prevent multiple users to modify the same business data, developer have to choose a certain lock mechanism in the program. For example, when a engineer modifies a order, the other engineers are prevented to change it at the same time. Otherwise the business might be consistent after saving. Generally, there are two types of lock mechanism.
1. Pessimistic Locking
The pessimistic locking is implemented using database locking. A typical pessimistic locking is like below:
SELECT * FROM account WHERE name=”test” FOR UPDATE
Before current transaction is submitted, this entry of data is locked for other transactions.
2. Optimistic Locking
The pessimistic works great for small number of users. But it will consume the server resources and reduce the system performance tremendously for large group of audience. Optimistic locking solves this problem by adding an additional fields in the database table for the version of current data. For more information about how optimistic locking works, please visit -Introduction to Concurrency Control.
Read more…
When reading, changing, deleting business sensitive data from database using OPEN SQL, the system doesn’t perform any authority check. The developer must consider the security aspect of the custom development in order to keep the unauthorized user out of the important business data.
SAP systems within the SAP NetWeaver platform perform authorizations using a role-based identity management approach. To access business objects or execute SAP transactions, a user requires corresponding authorizations, as business objects or transactions are protected by authorization objects. The authorizations represent instances of generic authorization objects and are defined depending on the activity and responsibilities of the employee. The authorizations are combined in an authorization profile that is associated with a role. The user administrators then assign the corresponding roles using the user master record, so that the user can use the appropriate transactions for his or her tasks. Visit below link to find more on SAP Authorization Concept.
Read more…