In the data painter screen of Datamaker we have a case statement written for a Test Matching condition. During validating, the statement is getting cut off after first quoted string.
This is causing an "ORA-0907:missing right parenthesis" error at run-time.
For example, the statement used is:
@case(~Var1~='ValueA', usecase_col_val in ('ABC','PQR','XYZ'),~Var1~='ValueB',usecase_col_val in ('DEF'))@
With this statement, during validation in data painter, the statement is getting cut off after 'ABC'.
The issue is caused due to a limitation of Powerbuilder, the platform on which Datamaker is written.
We need to apply a workaround of enclosing the entire value component used in the case statement within double-quotes if there are multiple single-quoted values used in the expression.
So in the example above, we would need to put double-quotes around:
usecase_col_val in ('ABC','PQR','XYZ')
The entire statement would then have to be written as:
@case(~Var1~='ValueA', "usecase_col_val in ('ABC','PQR','XYZ')",~Var1~='ValueB',usecase_col_val in ('DEF'))@
Note that you do not need to use double quotes around: usecase_col_val in ('DEF'). This is because only one single-quoted value is referenced here, and the workaround needs to be applied only when multiple single-quoted values are used.
This issue is has been fixed in the TDM Web Portal, and no workaround needs to be applied.