You cannot capture multiple values into an eVar... what you have there, that comma is indicating the end of the product and the start of a new one, so if we look at your code above with each "item" broken into a lisy of items (i.e. I am removing the commas and semi-colons and displaying as a list of items):
- Product 1
- [no category]
- Product ID: 1879
- Quantity: 2
- Price: 90.00
- [no event]
- Merchandising eVars
- Product 2
- Category: 00001113-3
- [no product]
- [no quantity]
- [no price]
- [no events]
- [no eVars]
- Product 3
- [no category]
- Product ID: 1880
- Quantity: 1
- Price: 15.00
- [no events]
- Merchandising eVars
I am unsure why you need to pass two eVar21 values in one product call?
If this is like a package deal, surely that combined package would have it's own value for the package (or if these values represent different things, why not have eVar21 for X and another eVar for Y???...
but for whatever reason, if this is not the case both values absolutely must be passed into eVar21, then you are going to have to pass the ids conjoined as a single value, then use classifications later to split them.
If you are doing that, you will have to avoid standard Products List delimiters like commas, semi-colons and pipes; as well as delimiters that could be part of the values in your eVar21 data, currently I only see the use of dashes (but I don't want to assume anything).
So at this point, I would maybe use a delimiter like underscore (_) or colon (:)
Such that your eVar21 will look like:
eVar21=00001113-1_00001113-3
or
eVar21=00001113-1:00001113-3
So as to not trigger Adobe's processing (split on comma, semi-colon and pipe), and to make it easier for you to create a Classification Rule on eVar21 where you can then split the eVar21 into multiple values (but you will still need 2 classifications, so why not just split it into multiple eVars to begin with??)
To pass multiple eVars (going to use eVar21 and eVar22 as an example):
changePlanDataMapTest["&&products"] = ";1879;2;90.00;;eVar21=00001113-1|eVar22=00001113-3"
In either case you will need to access "00001113-1" and "00001113-3" in different eVars, or in different classifications (i.e. basically a sub-eVar).. or you will just have to deal with a conjoined "00001113-1:00001113-3" in your data.
Hi @jennifer_dungan
Ok, Let me explain our actual requirement.
When the user changes two or more lines at a time with the same plan(product). We need to capture those line numbers in eVar21
Example: 1879 is the Plan(product) and if the user changes two lines, the Quantity will be 2, and Price of each line is 45.00. So, total will be 90.00 and in eVar21 we need to capture 2 line numbers as per below snapshot.

Thanks!