Using change pointers allows you to select exactly what data you want integrated systems to communicate to each other. See an example of the functionality with SAP ERP Central Component and SAP BusinessObjects Global Trade Services.
Key Concept
Application Linking and Enabling (ALE) enables communication between SAP applications. It allows you to define the master data that needs to be distributed or sent from a source system to the destination system. Master data of interest is identified by the business object with which it is associated (e.g., material master or pricing). ALE uses message exchange to distribute the data from the source system to one or more target systems.
Change pointer is functionality available within your SAP system that allows you to distribute master data between SAP systems. It is a process that uses Application Linking and Enabling (ALE) technology and transactions. You need to set up configuration, functions, and programs to use the change pointer functionality to communicate between systems. It is standard with all SAP systems, but there are transactions, programs, and business objects (e.g., message types) that are only delivered with specific plug-ins. For example, if you want to enable communication with SAP BusinessObjects Global Trade Services, you need the SAP plug-in specific to it so you can get the objects associated with it.
Change pointer uses message types to capture the fields of interest from the table and uses ALE to pass the data to the target systems. Message types are placeholders, reserving the fields or data that are identified for transfer to the target system. ALE establishes system communication between the source and target systems. Change pointer saves information that is identified within the selected object with message types based on what you want it to keep track of.
Let’s take an example of SAP ERP Central Component (SAP ECC) system as the source system that feeds into an SAP BusinessObjects Global Trade Services system (the target system) for trade services check. Master data (in my example, business partner, product, pricing, and bills of material) is required from the feeder or source system as a prerequisite. You also need to perform some preliminary checks, and there might be master data that provides information prior to creation of the actual transaction (e.g., material master description or unit of measure).
When this master data is defined in the SAP ECC system, you might want the information to flow to SAP BusinessObjects Global Trade Services as well. SAP BusinessObjects Global Trade Services might be interested in only a limited amount of information (e.g., the material number, type, description, and unit of measure), but not all the information SAP ECC stores. Change pointer can enable you to identify only the data elements that are of interest, capturing the information and periodically transferring it from SAP ECC to SAP BusinessObjects Global Trade Services. You can periodically schedule a transfer of the data from the source system to the target system by making use of the communication, distribution, and application services with ALE.
Note
The concept is similar to the Electronic Data Interchange (EDI), in which data is extracted as Intermediate Documents (IDocs) and transferred to the target system in the American National Standards Institute (ANSI) format.
Change pointers based on the message type for the master data capture the new data that is created or changed and then record the change. This enables you to pick these changes and schedule the transfer from the source system to the target system. The transfer is scheduled using an SAP ECC standard program (RBDMIDOC) that calls a function module to retrieve the data and specific field changes and transfers the information to the target system.
Note
SAP BusinessObjects Global Trade Services was formerly known as SAP Global Trade Services or simply SAP GTS. As a result, you’ll see these names in some screenprints in the article.
In this article, I’ll go over the setup that is required to enable the change pointer to capture changes and then the process to ensure on a regular basis that these changes are transferred to SAP BusinessObjects Global Trade Services.
SAP ECC Configuration
The SAP ECC plug-in has pre-delivered programs and configuration steps for interfacing with SAP BusinessObjects Global Trade Services. Let’s look at the configuration steps that you can do within SAP ECC for activating and setting up the change pointer. Use transaction code /SAPSLL/MENU_LEGALR3 and follow menu path Basic Settings > ALE Change Pointer.
Step 1. Activate the change pointer function within SAP ECC to enable it for all functional areas. While you are in the Basic Settings section, click Activate Change Pointer Globally or use transaction code BD61. Then select the check box Change pointers activated – generally.
Step 2. Select pre-delivered message types. Next, click Activate Change Pointers for Reduced Messages or use transaction code BD53. Click the Activate change pointers button. Then click the change icon to display the screen shown in Figure 1. Table 1 shows the critical pre-delivered reduced message types for SAP BusinessObjects Global Trade Services.

Figure 1
Reduced message type field in the definition
/SAPSLL/MATMAS_SLL | MATMAS | Material master | /SAPSLL/CREMAS_SLL | CREMAS | Vendor master | /SAPSLL/DEBMAS_SLL | DEBMAS | Customer master | |
Table 1 | Pre-delivered message type for key objects |
Reduced message types are referenced or copied with reference from the basic message type and modified to select only the fields that are of interest to SAP BusinessObjects Global Trade Services. Figure 1 displays the fields that are identified for the material master message type /SAPSLL/MATMAS_SLL for transfer to SAP BusinessObjects Global Trade Services.
You can review the message types that are activated within Activate Change Pointers for Message Type or by using transaction code BD50. The message type will have the Active check box checked. Use transaction code BD52 and ensure that the key relevant fields are listed with respective message types.
Step 3. Verify function modules. Use transaction code BD60 and select the message type. Validate the message types shown in Table 2.
/SAPSLL/CREMAS_SLL | CREMAS | /SAPSLL/CREMAS_DISTRIBUTE_R3 | LFA1 | LIFNR | /SAPSLL/DEBMAS_SLL | DEBMAS | /SAPSLL/DEBMAS_DISTRIBUTE_R3 | KNA1 | KUNNR | /SAPSLL/MATMAS_SLL | MATMAS | /SAPSLL/MATMAS_DISTRIBUTE_R3 | MARA | MATNR | |
Table 2 | Function module associate with the message type |
Step 4. Define message types. Use transaction code BD52 and enter the message type /SAPSLL/CREMAS_SLL and ensure only the object associated with the object KRED and table LFA1 are there. All the listed fields are shown in Figure 2.

Figure 2
Message type vendor with the list of fields
For the customer master, use transaction code BD52 and enter the message type as /SAPSLL/DEBMAS_SLL, the object as DEBI, and the table as KNA1 with the list of fields mentioned in Figure 3. Validate that the object, table name, and field names are correct.

Figure 3
Fields identified within the message type /SALSLL/DEBMAS_SLL
Use transaction BD52 again and this time enter message type /SAPSLL/MATMAS_SLL with the Object MATERIAL, and DMAKT and MARA in the Table Name columns (Figure 4). Then the system fills in the associated fields, but double-check that the other fields are correct again.

Figure 4
Fields identified within the message /SAPSLL/MATMAS_SLL
Step 5. Maintain message type reduction. As explained in Figure 1, the fields that are identified in the message type are pre-delivered with SAP BusinessObjects Global Trade Services. If you wish to add or delete a field, then you need to use transaction code BD53. Select reduced message type /SAPSLL/DEBMAS_SLL, click the pencil icon, expand the tree, and click the Select button to activate E1KNA11 and E1KNA1H/L. Note that active is white, light blue, or green and the inactive fields are pink. De-activate everything else by selecting the field and clicking deselect. Then double-click E1KNA1M and ensure that the fields E1KNA11 and E1KNA1H are active (Figure 5).

Figure 5
Field selection within the message type
Step 6. Assign function modules and message types. Every message type has an associated function module, as shown in Table 2. Use transaction BD60 and enter the respective message type. Figure 6 displays the configuration settings using the vendor master as an example.

Figure 6
Function module assignment to the message types
Step 7. Activate change pointers for the message type. Activating the message type enables the message type to capture the changes within SAP ECC. Use transaction code BD50 and ensure that the three message types for /SAPSLL are active and all other message types are inactive. Additional active message types may result in performance issues during change pointer processing. Additional entries are written to the same tables.

Figure 7
Activation of the message types
SAP ECC Communication Setup
As a prerequisite for the change pointer setup and transfer of data, you need to set up the communication in SAP ECC. This involves setting up communication for ALE and Remote Function Call (RFC).
Step 1. Define the logical system. For establishing the communication, both the source and the target system need to be recognized as logical systems. This enables you to define the system that is sending the information as a source system and the system that is receiving the data as the target system. Here you define the system settings and provide an identification for the system, which helps identify the destination with the logical system IDs.
Use transaction code /SAPSLL/MENU_LEGALR3 and under the Basic Settings tab, define the logical system under System Connection to SAP GTS. In this step, you define the logical system name and a description (Figure 8).

Figure 8
Define the logical system for the feeder system and the target system
Step 2. Assign the logical system to the client. The client represents the ID of the system install (e.g., development, quality, or production version of SAP ECC or SAP BusinessObjects Global Trade Services). Use transaction code /SAPSLL/TBDLS_R3, or under the Basic Settings tab, follow menu path System Connection to SAP GTS > Assign Logical System (Figure 9). This displays the details you need to maintain within this assignment.

Figure 9
Assign the logical system
Here you define the client that is assigned to the logical system you defined in the earlier step. You also define the purpose of this client: whether it is meant for development, test, or production. Under the changes and transports for client-specific objects, you need to select the appropriate one based on the setup you need for the client. If it is a sandbox, you want to select Changes without automatic recording, while for the development system, you might want to select the Automatic recording of changes option, and for production, you might want to select No changes allowed so that changes to production are only done through transport from development or QA.
Within the client-independent object changes, select No changes to Repository and cross-client Customizing objs and the appropriate selection from the drop-down list within the Protection: Client copier and comparison tool section.
Step 4. Maintain the RFC destination for RFC calls. Define the connection definition for the logical system, technical settings, IP address, logon properties, and so on. You need to define these for both the target and the source system. Use transaction code SM59 and expand the folder ABAP Connections and underneath the folder you list the logical system.
Within that screen (Figure 10), you maintain the IP address, where the system resides, and the log-on properties.

Figure 10
RFC connection for logical, source, and target systems
Step 5. Maintain RFC destination for method calls. Use transaction code /SAPSLL/MENU_LEGALR3, click the Basic Settings tab and click Maintain RFC destination for methods calls (Figure 11). Here you maintain the source system, assign the target system, and define the method that would be used for RFC communication. In other words, assign the standard BAPI for communication between the two systems.

Figure 11
Assignment of RFC destinations for synchronous method calls
Step 6. Maintain the ALE distribution model. From the Basic Settings tab, click Maintain the ALE distribution calls (Figure 12). You can use an ALE model for communicating between the source and target systems with change pointers. You define the model with the BAPI that is used for establishing communication. The pre-delivered object used here is CustomsDocumentIF, with the method name SynchronizeifR3 and object type BUS6801.

Communication Setup in SAP BusinessObjects Global Trade Services
When the data is transferred from the source system (SAP ECC), the receiving system needs to recognize the source system information. You need to perform a series of configuration steps within SAP BusinessObjects Global Trade Services to enable this. Follow menu path SAP Reference IMG > SAP Global Trade Services > System Communication > System Connections to Feeder System.
Step 1. Define the logical system for the source system. From the above menu path, click Define the Logical System for the source system and click New Entries. Here you define the logical system for the feeder system and target system similar to what you did for the SAP ECC system’s name and description (Figure 13).

Figure 13
Define logical systems in SAP BusinessObjects Global Trade Services
Step 2. Assign the logical system to the client. From the above menu path, click Assign the Logical System to the Client and then click New Entries. Select the logical system defined and assign it to the client number. Similar to the SAP ECC step, you might have equivalent clients for SAP BusinessObjects Global Trade Services sandbox, development, quality assurance, or production purposes (Figure 14).

Figure 14
Assign the logical system to the client
Step 3. Define and assign the logical system group. If you plan on grouping multiple source systems into one logical system, then you might want to create a logical system group and assign the source systems to this group. From the previous menu path, click Define Logical System Group to Define a Group. The first step involves defining a logical system group, followed by the assignment of the logical system to the logical system group. You might have to create two groups: one to group the source systems and another one to group the target systems.
Processing of Change Pointers
Following the definition of the change pointers, you need to set up a job or run the program periodically to transfer the changes from the source system to the target system. Use transaction SE38 or SA38, enter the program RBDMIDOC, and click the execute icon (Figure 15).

Figure 15
Periodic processing initial screen
First, you need to create a separate variant for report RBDMIDOC for every type of master data you wish to transfer (e.g., customer, vendor, and material master data) (Figure 15). You must also assign the appropriate message type to each variant. See Table 3 for a list of variants and appropriate message types.
SLL_CUSTOMER | /SAPSLL/DEBMAS_SLL | SLL_VENDOR | /SAPSLL/CREMAS_SLL | SLL_MATERIAL | /SAPSLL/MATMAS_SLL | SLL_PROD_PRICE | /SAPSLL/PRCMAT_SLL | SLL_PROCURE | /SAPSLL/PSDMAT_SLL | |
Table 3 | Assign message types to variants |
Enter RBDMIDOC, select Variants, and click the Change button to bring up the screen shown in Figure 16, which displays the variant name. Click the Create button to create the variant. This brings up the screen in Figure 17, in which you enter the message type. This program execution ensures that the data related to that object is picked up and transferred to the target system.

Figure 16
Define the variant name

Figure 17
Assign message type
Process Steps
Once you set up the configuration, SAP ECC logs the changes into the change pointer tables BDCP and BDCPS. Table BDCP provides the details of the change with regard to the table name, key object number (e.g., vendor number, customer number), time of change, changes made by (i.e., user ID), field, and so on. It also associates each change with a change pointer ID. Table BDCPS keeps track of the status of the change pointer logged, whether it has been processed or is yet to be processed.
Following the configuration step, you now need to set up the batch job with the program (RBDMIDOC) that looks at the table entry in table BDCPS for the message type and schedules the transfer. You can use transaction code SE38 or SA38, enter the program name RBDMIDOC, and create a variant with the relevant message type for material, customer, or vendor. With transaction SM36, you can create a job and have steps to schedule the job for transferring change pointer entries for different message types.
Figure 18 displays the process flow for the data transfer from SAP ECC to SAP BusinessObjects Global Trade Services.

Figure 18
Process flow Click here for a larger version of this image
Note that as the change pointers are logged for every new record or changes made, it is important that you run the delete or change pointer clean-up program (RBDCPCLR). This program deletes the processed and obsolete change pointers. Figure 19 displays the program that allows you to delete the processed and obsolete change pointer with message type.

Figure 19
Deletion of obsolete and processed change pointers
Similar to RBDMIDOC, create a variant for different message type and in this program, select the Obsolete Change Pointers and Processed Change Pointers check boxes. You can schedule this based on your data retention and log clearing schedule.
Rajen Iyer
Rajen Iyer is the cofounder and CTO at Krypt, Inc. Rajen has written several in-depth, best practice articles, white papers, patents, and best-selling books on SAP Logistics and SAP Global Trade Services, including Effective SAP SD and Implementing SAP BusinessObjects Global Trade Services. He is also an invited speaker at industry conferences.
You may contact the author at Rajen@kryptinc.com.
If you have comments about this article or publication, or would like to submit an article idea, please contact the editor.