Customizing of Package Size in Aggregation Task
When you have to set the customizing of the Aggregation task in /POSDW/IMG transaction, you have to take into account the “Processing and Performance” configuration of this task. For that, you should know how this parameter works, so I am going to explain you how this parameter works.
The aggregation task has two steps: one to generate the aggregation itself and another one to send or work with the aggregated data. In Both of these steps you can configure the parameter.
Aggregation Task (STEP 1)
At this first step, this parameter represents the number of transactions that you are going to tend into account for each LUW.
If you don’t know how a LUW is, you can use the F1 help of this field:
Badi /POSDW/BADI_AGGR_TRANSACTION (The badi where the aggregation is done) works only with one transaction per iteration, it means that the badi receives one transaction and makes the agregation of its information (retail information for example). When the Badi finishes the treatment of all the relevant transactions, the result is an internal table which contains the aggregation data of all the processed transactions and this information has to be updated in the Aggregation database.
At this point you can think that the parameter are not going to have any effect on this task, but when the aggregation data is going to be updated in the database, the parameter is very important because the method ( of the /POSDW/CL_AGGREGATED_DATA class ) COPY_AGGREGATED_DATA_REC receives the entries of the aggregation internal table and depending on the value of the parameter “Number of items”, this method is going to be executed one o more times.
As you can notice, the value of this parameter can be different to the value of the first step because in this second step we aren’t going to work with transactions, instead of that we are going to work with entries of the aggregation database. In the aggregation database there are entries produced by the aggregation task so when we execute the OUTBOUND task for processing these entries, the package size is very important because we are going to treat in each LUW an specific number of database entries. Actually, if we configure the parameter as 20 and we have 50 entries in the database, 3 packages will be created: the first package will have 20 entries, the second will have 20 entries and the last package will have 10 entries.
The badi for the OUTPUT task is /POSDW/BADI_PROCESS_PACKAGE and we select the database entries using the method GET_PACKAGE_DATA. For the example of 50 entries, we would have to call the method 3 times.
Like the first step, if we configure the parameter as ‘0’ or INITIAL, all entries will be processed at the same LUW.
In summary, the package size is very important for processing and performance, so you should choose the best option to your purpose.