Hello,
I'm working on custom planning function type that implements IF_RSPLFA_SRVTYPE_IMP_EXEC_REF (planning on reference data).
The EXECUTE method of the implementing class has I_TH_REF_DATA TYPE HASHED TABLE as an 'importing' parameter. This table actually includes my reference data. The structure of the table is defined dynamically at runtime in accord with the structure of an aggregation level. It includes all characteristics and keyfigures that the aggregation level is comprised from.
To avoid full scan of the table I want to loop over it using some kind of 'partial' key that includes only limited set of characteristics. Product assistance suggests something like that:
DATA spfli_tab TYPE HASHED TABLE OF spfli WITH UNIQUE KEY primary_key COMPONENTS carrid connid WITH NON-UNIQUE SORTED KEY city_from_to COMPONENTS cityfrom cityto WITH NON-UNIQUE SORTED KEY city_to_from COMPONENTS cityto cityfrom. LOOP AT spfli_tab ASSIGNING <spfli> USING KEY city_from_to.
This, however. does not apply to my task, as the table I_TH_REF_DATA is defined somewhere inside planning engine and I have no control over its structure, keys included.
I know beforehand the structure of the aggregation level, and want to loop using a key that includes, let's say, characteristics 0FISCPER, 0CURRENCY, ZSCOPE and ZVERSION. I need something like
LOOP AT I_TH_REF_DATA ASSIGNING <fs_line> USING KEY COMPONENTS '0FISCPER' '0CURRENCY' 'ZSCOPE' 'ZVERSION'
However, it seems that ABAP syntax does not provide for that.
Please advise, how can I loop over a dynamic hashed table avoiding full table scan?
Thank you,
Val