When creating a custom macro, whether it's using Structure Data (SDATA) or just a custom named macro, any macro within that macro will not be resolved.
Below is an example:
The custom macro SDATA.PCSV1_1.examplevariable is being created using the following rule:
rewrite r_parse_test {
set("Test Successful", value("SDATA.PCSV1_1.examplevariable"));
};
However, a CSV parser is called in the configuration defining the following variables:
parser p_parse_test {
csv-parser(
columns("PCSV1_1", "PCSV1_2", "PCSV1_3" "PCSV1_4")
flags(escape-none, greedy, strip-whitespace)
);
};
As the parser is defining the macro PCSV1_1 it is assumed that this would create a conflict when calling the macro SDATA.PCSV1_1.examplevariable
That said, this does not create a conflict. A macro within a macro cannot be called and when processing the macro SDATA.PCSV1_1.examplevariable the entire macro is created with the macro PCSV1_1 within that macro being ignored completely.
Additionally, the macro cannot be called using the macro identifiers: ${SDATA.${PCSV1_1}.examplevariable}
This macro is invalid and will not parse correctly whatsoever. A macro cannot be called within a macro.
© 2025 One Identity LLC. ALL RIGHTS RESERVED. Terms of Use Privacy Cookie Preference Center