Use a standard SAP transaction to make mass changes to both master data fields and accounting documents. This removes the need for one-time ABAP development, saving internal costs and enabling a best practice for your organization.
Key Concept
There are two ways to make mass changes to master and transactional data. The core MASS transaction code enables certain master data fields to be changed all at once. This eliminates the need for users to update fields manually or write one-off ABAP code to make the change. The other way to make mass changes is via the mass change icon in the customer, vendor, or GL account open item transactions.
Did you know that there is a way to change the accounting clerk of 5,000 customers in a matter of minutes without writing a program? Did you know that you can update the baseline date for vendor invoices for a range of vendors at the same time? When you need to perform large changes to master data, do you normally write a custom program to facilitate this?
Ordinarily, when you resolve these problems using ABAP, the programs that are written are used only once. This is a waste of your ABAP spend and adds another program to be tested when upgrades are implemented.
I’ll show you how to use transaction MASS, which master data objects you can use, and how to schedule a mass update job. Further, I will look into how you can change large amounts of financial transactional data at once through the classic display line item transaction codes. I’ll start by considering the data parameters in your job.
Quantity of Records
The first question you should ask concerns the size and volume of records you intend to change. If you plan to change master data, the rule of thumb I recommend is: If you need to change up to 10 pieces of common master data, you might as well do it manually. This also applies to financial transactional data. However, if the number of records that needs to be changed is greater than 10, then I recommend looking into using a standard MASS transaction. If the number of records is going to be greater than 1,000, I recommend scheduling the mass update because changing more than 1,000 records may affect the performance of your system. Depending on how your system is defined, changing more than 1,000 records should be scheduled to run when the impact to users is minimal.
Remember that when you update a master record or transactional record, the system locks that piece of data for a split second. Therefore, if you have business users who are updating the same record, your mass update will not take place or, alternately, the users won’t be able to access it. It is a good idea to consider scheduling changes for large volumes of data.
You can call the Mass Maintenance tool in different ways. Transaction MASS is one, but you can also call several of the objects below by a specific transaction code in their respective module. For instance, you can call the GL object directly by using transaction code OB_GLACC11 – 13. That said, I’d recommend using MASS because it’s easier to remember and has all of the data objects that you can use.
Step-by-Step Process
In the following example, I document how to change an accounting clerk for a large number of customers all at once. The business process scenario is that the credit collections department is reorganizing customers who are managed by accounting clerks. I’ll move a range of customers to the accounting clerk K1. The technical name of the accounting clerk field is KNB1-BUSAB.
Note that you need to handle this tool with care. Mass changes can be a bit dangerous and there is no mass reverse function, so it’s important to double-check your work. Also, it is normal to have some strict authorizations around the access to this process, so it should be performed by super users or the SAP support team.
Step 1. Choose an object type. Use transaction MASS (Figure 1). Select the object type you want to use from the drop-down list (Figure 2). In my example, I’m changing customer master data using object type KNA1.
Â

Figure 1
Selection parameter screen for transaction MASS
Â

Figure 2
Select an object type from the drop-down list
Step 2. Select a table. Click the execute icon and the system displays all the associated tables in a list. You need to select the field that you wish to change. To do this, you first need to select the table in which the field for the mass change is kept. Figure 3 shows that in this example it is KNB1.
Â

Step 3. Select the field you are going to change. Click the Fields tab to look at available fields (Figure 4). You can select many fields from a single table or select more than one table that will be changed. The option you choose depends on what you are going to change. You could, for example, change the dunning clerk (KNB5-BUSAB) at the same time. The number of fields to be changed depends on your individual requirements. Highlight the table you require, in this case KNB1, and go to the Fields tab to select the field that you wish to change. Click the execute icon to go to the field selection criteria.
Â

Figure 4
Fields available for object type KNA1
Step 4. Confirm the range or list of master data you wish to change. In the example I used, you need to specify either a range or list of customers, as well as a company code or range of company codes. As with most selection parameters, you can have a list of customers or you can upload a list of customers from a Notepad file using the import from text file and upload from clipboard
icons, respectively. Then click the execute icon. Figure 5 shows the selection parameters. The number of standard fields available depends on the number of fields you selected in the mass update.
Â

Figure 5
Selection criteria for the fields to be changed
If you need to add extra fields to the selection parameter to reduce the number of records selected to change, then you need to select the choose selection fields
icon to add further fields into the selection parameter screen. Figure 6 shows an example of a field that has been added to the selection parameter. You can do this by highlighting a field on the right side and selecting the left arrow icon to move it to the selection criteria list on the left. Figure 7 shows the new field that has been added to the selection parameter.
Â

Figure 6
Select field subscreen to include fields to the selection criteria
Â

Figure 7
The amended selection criteria with a new field added
Step 5. Retrieve the list of records that should be changed. Click the execute icon to display a pop-up screen (Figure 8). It shows the number of records your selection parameters found to be changed.
Â

Figure 8
Pop-up screen confirming the number of selected records
Click the Display All Records button to see a list of records that you can change (Figure 9). It shows their current field value. Here, you can add a single entry and all the selected records will then have the same value. For example, I have a range of customers with different accounting clerks. In the line that says New Values, enter a new value (e.g., K1). Click the carry out a mass change
icon and all the records shown will have K1 as the value for the customer’s company code (Figure 10). The carry out a mass change icon only works on highlighted rows, so if you did not want a particular record to be updated or changed, you simply would not highlight it and the mass change would not affect it.
Â

Figure 9
The values prior to the mass change
Â

Figure 10
The customer details with the new accounting clerk applied to all selected customers
Clicking the carry out a mass change icon does not physically change the customer master record. If you do not wish to schedule a job to make the change, all you need to do is save and the mass change process takes place.
If you need to schedule this job in the background for performance reasons, then you need to select Save as Variant in the Goto menu. Enter a name and save the variant (Figure 11). Then you need to schedule the variant in a new session. Select the correct object type and the variant name (Figure 12).
Â

Figure 11
The save variant pop-up screen
Â

Figure 12
The standard front screen with the variant selected
Next, follow the standard process for scheduling a background job. Follow menu path Mass maintenance > Background processing. The execute icon then changes to the execute in background icon (Figure 13). Click it and select a printer (Figure 14).
Â

Figure 13
The mass maintenance background selection screen
Â

Figure 14
Select a printer
Depending on your business processes, you may want to wait until most users are not using the system to run the job, or you may wish to run it immediately (Figure 15). You can check the process of your job via transaction SM37 or contact your Basis support to make sure the job ran successfully. In some organizations, users are not allowed to schedule jobs, so follow your own internal processes and procedure and contact the appropriate individuals when necessary.
Â

Figure 15
Schedule a job
After you schedule your job and run it, you should check the log to make sure the updates took place correctly. Figure 16 shows an example of one that updated successfully.
Â

Make Mass Changes to Line Data
Mass changes are not only restricted to changing master data per the object list from transaction MASS. You can also make mass changes to line item data. This functionality is not that new. However, it is also not very well known and therefore not often used. You cannot change certain values in accounting documents, such as GL codes, amounts, and dates. This is standard SAP functionality, and users should not want to change this type of core data. Within most accounting documents, there are extra fields (e.g., reference fields or text fields) that you can change after an accounting document has been created. You can make changes to GL, AP, and AR items. There are settings in configuration, which I will cover later.
I will detail how to perform a mass change to line items by applying new baseline dates for customer or vendor open items to align with new payment terms. Your company may decide to move all payments to a vendor or range of vendors forward or backward to help with cash flow. You may choose to delay the payment to certain vendors to maximize your working capital or choose to pay early if your vendor had its year-end. You can do this by changing the baseline date of all open items or changing the payment term so all open items are due on the date you require.
Step 1. Select the vendor or group of vendors you want to change using transaction code FBL1N. Figure 17 displays a range of open items for a range of vendors. I have amended the display to show the current baseline date and the payment terms so you can see the mass change take place.
Â

Figure 17
Vendor line item display transaction FBL1N
Step 2. Select the line items that you wish to change. Check the boxes shown on the left side of the screen in Figure 17.
Step 3. Begin the line item mass change. Click the carry out a mass change icon or follow the menu path Environment > Mass change > New values. This brings up a pop-up screen (Figure 18). It is similar to the new values entry in Figure 10. As this relates to line items, a list of available fields for mass change is listed. I’ll cover how to define and add new values to this list later.
Â

Figure 18
Mass change selection screen
Step 4. Enter a new value. I have entered a value in the Baseline Date field, so all the line items selected via a check in Figure 17 now have a baseline date of 01.11.08.
The main difference between master data transaction MASS and the line item change is that you only need to select the Execute changes button for the changes to be carried out. Figure 19 shows the same line item data after the mass change has taken place.
Â

Figure 19
FBL1N after the mass change has taken place
Step 5. Configure the fields that you can change. As mentioned before, the fields that can be changed are held in configuration. Certain standard fields will be set up so they can be changed, and you can add fields to the configuration table. Note that to activate a transactional field for mass change, you have to configure it to do so (I’ll cover this later). If the field does not appear in the standard mass change selection screen (Figure 18), you can add your own field by using the methodology described in SAP Note 640908.
You can find the configuration by following IMG menu path Financial Accounting (New) > Financial Accounting Global Settings (New) > Document > Rules for Changing Documents > Document Change Rules, Line Item. Figure 20 shows a list of fields that can be changed. The highlighted field is the one I used in the line item mass change example. If the AccTy (account type) field, Trans.type (transaction type) field, or the Co… (company code) field is blank, then the rule applies to all values.
Â

Figure 20
Document change rules configuration definition
Figure 21 shows the details of that change rule. The most important check for this process is made in the Field Can Be Changed check box. If this is checked, it means it can be changed and therefore used in the mass update for line items. Depending on the type of field, the number of stipulations changes.
Â

Figure 21
Document change rule for field BSEG-ZFBDT
One thing to watch out for is the ability to make a change to a cleared open item. Some companies do not like cleared items to be changed because this could affect the integrity of the data. A better control is that of the posting period. If you select this, then the accounting document can only be changed if the posting period is open. If there is a field that you require to be added on the list of fields for line item mass changes, you need to add an entry into this table. Once you make this change, the field appears. For additional methodology, check out SAP Note 640908.
Mark Chalfen
Mark Chalfen is the finance capability lead at Bluefin Solutions, a niche SAP consultancy in the UK, and an SAP mentor. Mark has more than 12 years’ experience in SAP FI/CO in a number of industries. Mark’s core skills include Financial Supply Chain Management (SAP FSCM) and the new GL. He is currently advising a wide variety of clients on maximizing their SAP landscape either in the current R/3 version or upgrading to SAP ERP.
You may contact the author at mark.chalfen@bluefinsolutions.com.
If you have comments about this article or publication, or would like to submit an article idea, please contact the editor.