This content has been marked as final. Show 11 replies
What is your matching criteria for this conditional map line? It is obviously not catching the data lines you are expecting.
I've tried multiple.
In Between Mapping I tried "9000,9999" as all source ICP values are within that range.
In Like mapping I tried both * and ****
Nothing seems to work.
Are you using an import format? If so, what is the sequence of the dimensions in the import format?
From the extract of the import format the import sequence is as follows. I'm not sure why ICP is 534 while the others are <= 508
Where can I see the map processing sequence in the validation step? Does it process Account before ICP?
In Metadata - Dimensions the order is below all with a calc sequence of 0.
I can't put my hands on an FDM applicaiton at present bt i thought the dimensions were processed in the order o fthe import format, but cannot be certain. (Will try to check). Have you checked the mapping details that show if you right click the amount field (can't remember but it might be from the validate screen by selecting the value and then right click on the amount of a resulting transaction and the list should include the mapping conversion information. Not sure if it might help?
Just out of interest, have you tried setting strTrgAcct to the length of varvalues(14), rather than the contents of the field, and changing the IF / or statement to check the value of strTrgAcct rather than the length?
Thanks for your help, but still no luck. I your suggestion with no luck. Then I tried simplifying it to make sure the script is triggering. I did the following in the Like map using the * as the Rule Definition. It is the first line in the Like mappings.
If Len(varValues(14)) < 8 Then
Result = "[ICP None]"
This works for all lines where the Source ICP is blank. However, for all lines with a source ICP of any characters the script does not trigger.
I have run a version of your code on an old 11.1.1 test app and it seems to work ok. Are you able to run a small file through but amend your script to display the contents of strTrgAcct and the Len(strtrgAcct) using the RES.PstrAction type / Value options. If you stick one record through this woud confirm if the target account is populated.
I found the problem. In the like map, below the code, the rule name was the same as the rule definition. For example the rule name was 9001 the rule definition was 9001* and the target ICP was AR001.
FDM treated this as an explicit map and processed it before getting to the script, even though the script was before the 9001 line.
To resolve the problem I named the rule w9001 with the same rule definition and target ICP. FDM then followed the standard processing order and executed my script.
Please make this post as answered.