All the examples of @prompt I’ve see here and in the online help show examples of an LOV in a @prompt as something like ‘Store\City’. Can it refer to an object deeper than that? (i.e. ‘Store\Country\City’?)
My class hierarchy looks like this:
- Development Area
… + Currency Test
… + Sales Document Measures1
… Prompted Currency
In the deepest folder, ‘Prompted Currency’, I’m storing some dimensions and measures, including the dimension whose LOV I want to use, Prompted Currency Code. Also in that folder is a prompt object, defined as
aLKP_Currency_Prompted.cde_Currency = @Prompt( 'Report in Currency Code', 'A', Development Area\Currency Test\Sales Document Measures1\Prompted Currency\Prompted Currency Code', Mono, constrained, persistent )
When I attempt to parse this, I get two different error messages. Parsing before I click apply gives message “Parse failed: Invalid definition (UNV0023). This class does not exist. (UNV0037)”. Parsing after I apply gives a variation of that: “Parse failed: Invalid definition (UNV0023). This property already exists. (UNV0036)”. Of course the report using this prompt object also gives error.
I have found that if I move the ‘Prompted Currency Code’ dimension to the top level, just inside class ‘Development Area’, I can define the prompt object (still in the lowest folder) as
aLKP_Currency_Prompted.cde_Currency = @Prompt( 'Report in Currency Code', 'A', 'Development Area\Prompted Currency Code', Mono, constrained, persistent )
and that works fine. Parses fine, report runs fine.
It also works fine if I replace the LOV reference to a hard-coded list, such as { ‘CAD’, ‘EUR’, ‘USD’ }, but of course I don’t want to do that.
If I move the dimension object down to even just to the next class level, ‘Currency Test’, and append that to the path in the @prompt syntax, I get the same error messages as before. So it certainly appears that the parser only wants the LOV argument to be for an object just one level deep.
This may be a basic question, but I’m largely self-taught, and have never seen anything saying this is a limitation. Is it? Or am I misunderstanding how the LOV argument works?
JohnBrooking (BOB member since 2009-12-22)