Skip to Content
Author's profile photo Amit Tunara

Implementing Duplication Check in POS DM

Dear Friends,

There had been very limited help available for SAP POS Data Management (POS DM) for the person who is new to it. So this is just an attempt to provide a quick guide for the most desired feature in POS DM.

There are always instances where the transactions are transferred twice to POS DM due to various network related reasons. It is very much essential that we check the transactional data for duplication to avoid same transactions posted twice to ECC. This document demonstrate the steps to be taken to implement the duplication check in POS DM for transaction data.

In POS DM, all the processing are being executed by means of tasks. There are various tasks to be configured in order to aggregate the POS data and generate WPUTAB and WPUUMS IDoc for Collection and Sales respectively. To implement the duplication check in SAP POS DM, we can use task 1001 which standard SAP task. I am considering the following logic for my document to fulfill the duplication check.

  • When a new transaction is created in TLOGS, I will do the Sales audit in which I will validate whether the collection total and item total are same or not. This is to make sure that I am not processing the task which are not properly transferred as a whole.
  • Once the Sales Audit is completed, I will check whether the transaction is duplicate or not.
  • If the output duplication check is successful (means it is not duplicate), I will execute 0013 and 0014 task to create the IDocs.

Below steps are given by keeping the above logic. You can configure as per your requirement. The other alternative will be first check the duplication check followed by a Sales Audit task.

Please note that the duplication check will check for the combination of Store ID, Transaction Date, POS No, Transaction Number. If this combination is repeated, the transaction will be marked as duplicate.

Launch POS DM customizing environment by transaction code /POSDW/IMG.

Our first prerequisite is before we execute the duplication task (1001) we need to check whether the Sales Audit task (0002) is successful or not. There is a standard rule (0003) already available in POS DM which will indicate the status of Sales Audit task. Please see the below figure showing rule for Sales Audit.

Path: POS DM IMG: POS Data Management -> POS Inbound Processing -> Tasks -> Define Rules


Next step is to use this rule code in our duplication task (1001). Navigate to standard configuration of task 1001 to attach this rule code. By attaching this rule code to task, we are ensuring that if the Sales Audit task is completed then only carry out duplication check.

Path: POS DM IMG: POS Data Management -> POS Inbound Processing -> Tasks -> One-Step Processing -> Define Tasks


Select the duplication task 1001 for your profile and click on Details button on the toolbar.


Following settings are required for task 1001. Please note below points.

  • For field Type of Task, we need to select Immediate Processing as we want to carry out the duplication check immediately after the transaction is created in TLOGS. There are some tasks for IDoc generations which are executed in batch mode. But for this, it will immediate processing.
  • In Rule code, we need to select 0003 rule which is to check the status of Sales Audit task. This will ensure that the task 1001 will be executed only if the output of rule 0003 is Successful.
  • Finally, we need to attach the filter for Precond BAdi. Please assign 0001 which is Check for Duplicate Transaction Numbers.

This completes the configuration of Duplication task and its prerequisite. Next step is use the status of Duplication task to carry out the next status.

For this, we have to create a rule in which we will mention that if the duplication check is positive (means it is duplication), the transaction should go in Error status otherwise it should be Completed status. To define this logic, let us configure our own rule in POS DM.

Path: POS DM IMG -> POS Data Management -> POS Inbound Processing -> Tasks -> Define Rules


In this screen, click on New entries and configure you rule as per the given image below.


In the rule definition we need to do the following settings.

  • First select the Rule Type. We need to select the value as Task Completed as this rule is a stand alone task and not used in combination.
  • In Control screen, Task for Rule Type 1, we need assign 1001 as the rule is being created for task 1001 which is duplication check.
  • We want that if the duplication check is fail, the transaction should go in Error status. For this we need to define the No Action filter. As failed duplication check to be acted with No Action. Assign action 0003 which is Error in POS Transaction. This assignment will ensure that duplication check failure will send the transaction in error status to avoid further processing.

Once the duplication check is passed, the transaction is to be executed for IDoc generation. For the same, please configure the task 0013 (Generate WPUAB IDoc) as per given image.


Please see the encircled setting. We are making sure that the task 0013 should be executed only if the rule Z001 which we created above is successful. Save your settings.

Similarly you can configure task 0014 which is Generate WPUUMS IDoc.

Finally assign at least these 4 tasks to your profile.

  • 0002 – Sales Audit
  • 1001 – Duplication Check
  • 0013 – Generate WPUTAB IDoc
  • 0014 – Generate WPUUMS IDoc

Apart from this various other tasks can be configured as per the client’s requirement

This way you can achieve the duplication task implementation. If there are any duplicate transactions, the task overview will show an error. You can check the execution of this task. Open POS DM workbench and see the error transaction. If the transactions are duplication, the same will be recorded in the workbench. Select your transaction and click on Messages button.


From error message you will see that the tasks are failed due to same POS No and Transaction Number combination.


If you check the Task overview of this transaction you will see that task 0013 and 0014 are not processed due to failed status of 1001 task.


This is the end of duplication check implementation and its confirmation that it is working.

I hope this will help our POS DM consultants as quick guide.

Thanks & Regards – Amit

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Venkatesan Balakrishnan
      Venkatesan Balakrishnan

      Hi Amit, Very helpful document. Thank you!

      I have a question on 0RT_PA_TRAN_GDS_MOV data loading. I am able to configure it and executed the task '3001 - Inventory look up task'. Task execution was successful, but data are not getting loaded into the data source '0RT_PA_TRAN_GDS_MOV'. Do you have any idea about it?



      Author's profile photo Amit Tunara
      Amit Tunara
      Blog Post Author


      Please make sure that all these BI cubes are activated to receive the data.

      Let us know if you need any other information.



      Author's profile photo Eduardo Hinojosa
      Eduardo Hinojosa

      Hi Amit,

      Thank you for sharing


      Author's profile photo Venkatesan Balakrishnan
      Venkatesan Balakrishnan


      Can we use the standard filter '0001 Check for duplicate transaction' when creating task itself?

      Is there any difference between creating new rule and using the standard? Please help to understand.



      Author's profile photo Ramesh Duraisamy
      Ramesh Duraisamy

      Hi Venkatesan,

      Yes, we can use the standard filter, when creating task.

      It wont make much difference creating new rule and using standard.

      Thanks and Regards,

      Ramesh D

      Author's profile photo Arturo Santos
      Arturo Santos


      When we have a duplicated transaction, it is marked as error. However, it affects the amount of total value, because the sum per mean of payment is affected twice.

      For example, if we duplicate a transaction for the cashier Johnny Walker with cash of $5.00, when go to MON0, Inbound monitor, posting date, store, total records, select Johnny Walker, and Balancing, the total value is $10.00 ($5 * 2).

      May someone help me about how can we avoid this situation? We need the total value to consider just transactions not duplicated.

      Best Regards

      Arturo Santos

      Author's profile photo Vikrant Mohite
      Vikrant Mohite

      Can you post the screenshot for same.

      Author's profile photo Former Member
      Former Member

      Well-written blog post, Many thanks!


      Author's profile photo Sharmi G
      Sharmi G


      When i give the rule type Z001 under task wpuums and wputab then the transaction goes in error status for not duplicate transaction.

      Like for single transaction the task will be  in error. what is the issue?how can i process single transaction which dont have duplicate?



      Author's profile photo Amaury Van Espen
      Amaury Van Espen

      Good afternoon.


      Have you ever enhanced the PreCondition Badi in order to improve the duplication check ?

      The PreCondition are stored in the standard package /POSDW/CONDITIONS in the Badi /POSDW/COND_PRE_DUP

      The Check is done on several fields (parameters in IMG Activity)

      whose the DataElement : "Transaction Number"

      which is extracted with this structure

      I would like to know how to enhance this field and maybe get few advice in order to update the Badi.


      Thank you



      Author's profile photo Siva sankar Yarra
      Siva sankar Yarra

      Hi All,


      I have new development for POSDM trasncations duplicate check, original duplicate check as mentioned above is already in place, but I need to put a new duplicate check in POSDM.

      Here is my requirement.

      Stores perform Bankin transactions and I receive it as type 1301 with trans# 123 and it will process success, but after few days same store sending same bankin trans type 1301 with trans# 456, but it is same amount for same day , only trns# is different. How to control this.

      In below snapshot 9040_1 is original one and 9168_1 is duplicate one