Hi Devashish,
the above is valid when you want to check your query and fetch the (emtpy) return structure.
If you want to fetch the actual data, there should be two ways:
1. the traditional way which is probably as you sketched in your initial posting, only IV_EVAL_MODE has to be 3 (or left out, as 3 is the default). This will internally call version 2 actually.
2. calling GET_PROPERTIES_BY_BPATH on the bol directly, setting IV_EVAL_MODE to 3 and set either IV_BASE_ENTITY with a reference to a valid source entity or IV_BASE_COLLECTION with a reference to a source collection instead of providing IV_BASE_OBJECTNAME.
IV_BPATH_STATEMENT should be something like '~*/BTItemBOSSet/BTRefObjSet_A/BTRefObjectSingle/*$', I suppose.
Best regards, Juergen