Hi Clint Rhodes,
I think you are right, the system is parsing the dependency code and returning the characteristics / values satisfying the dependency itself.
A possible solution for your needs could be to read the dependency code. In this way, if we take your example above, it will return all the CFG_SIZE values that are satisfying the precondition, say for instance, something like that:
($root.CFG_SIZE IN ('70', '80', '90', '100') AND .....
To get any dependency code, there is the FM (Remote-enabled): CARD_DEPENDENCY_READ
Here a sample usage in my sandbox system:
set the flag on 'FL_WITH_SOURCE' to get the code back.
Here is my precondition code:
For what concerns characteristic values reading, there is a BAPI for it: BAPI_CHARACT_GETDETAIL.
Here again, a simple test in my sandbox system:
and here the result (in structure CHARACTVALUESCHAR)
Hope this could be of some help.
Just let me know if something is not clear or further details are needed.
Thanks and regards,
Flavio