I am not sure where the duplicate error is coming from.
here are several output options. The ID or IDs of matching cases are appended to the demander dataset variables. The number of variables listed as NEWDEMANDERIDVARS determines how many matches are attempted. These variables must not already exist in the demander dataset.
The variables in the supplier dataset that are listed in COPYTODEMANDER are copied to the demander dataset as new variables or replacement values. For existing variables, the types must agree. If no match is found, existing demander dataset values are not changed and new variable values will be sysmis or blank.
If this does not explain the error and you can send me a sample of the data, I'll investigate (jkpeck@gmail.com). Also, Paste the syntax and send that.