Method Directive - Fill Table by Query - using criteria (Manifest Billing copy from customer to new ship to)

I am trying to create a post-processing method directive on Customer.GetNewShipTo that will copy over the manifest billing info. In 99% of the cases, this will be a Third Party billing type. We have some customers that have multiple billing types entered, but I only want the Third Party billing type to copy over to the new Ship To. My BPM is copying over ALL billing types.
Am I using the Criteria incorrectly on the “Use the designed query to insert data into the specified table with not configured mapping”?

Here is what my BPM looks like:

Does the criteria that I have on ERP.CustMFBill table where PayBTFlag = “TP”, not filter the results the same way that a BAQ would?

My new ship to pulls in ALL the billing types from this Customer account, not just the "TP billing type:
image

What am I doing wrong?

I see what I did wrong. There is NO data on the ds.ShipToMFBill table at this point in time. So I used the ds.ShipTo table that did have data to get the TP data from the ERP.CustMFBill table


My mapping looks like this:

If I did not grab the “temporary” ShipToNum, then I would get an error saying a key field was missing.

But now I am seeing this error, so it wont let me save the new record:

This is a different message than I see if I try to enter a duplicate ShipToID. When I try to enter a duplicate ShipToID, I see this message:
image

I have tried setting the RowMod in the mapping to “A” also, but still get the error message.

What am I missing?

I think you have more than one row per customer.