Hidden Custom Sections and Global RV Variables - WTH?

DBohner-(db)

Legendary Poster
I got this report. A Custom Section has a level-break with aggregates. The Aggregates have been check-boxed as 'Global'. The "Calling Section" is supposed to use Global Aggregates from that Custom Section.

If I run the report with the custom section 'Showing', the RV Global Aggregates properly calculate into the calling-section.

HOWEVER, if I "Suppress Section Write" the 'Custom Section' - Some of the Global Aggregates will be populated to the Calling Section, and some will be empty.

It makes no rhyme or reason, as to why some RV Global Aggregates are populated/shared to the calling section, while the Custom Section is Suppressed Write, and other RV Values are not.

Some of you have done more fighting with this than me - anyone have insight as to the 'why' and/or suggestions?

Thanks in advance!

(db)
 

alfredorz

Well Known Member
Hi BDohner-(db),

Do you initilize the Global Aggregates before call custom section? can you share some screenshots or example?

Regards,
Alfre.
 
Call Orchestrations From Excel – The Easy Way to Make the Orchestrator Work for You.

johndanter

Legendary Poster
Just create variables to do the same thing. Printed aggregates upset me at times too.

I always do

RV Ftr Agg = RV Ftr Agg + BC Current (or whatever it maybe)

Happy new year
 

DBohner-(db)

Legendary Poster
UGH! Ran into this, again, today... I'm creating an SR/ticket for it - this time.

- Put an RV Field on the Custom Detail Section
- Processing Option controls if "Suppress Section Write" is active
- Level Break - create an aggregate for the RV Field

If the "Suppress Section Write" is not called, and the Detail is displayed - all looks great (Aggregate Totals)
If the "Suppress Section Write" is called, the Detail is 'not' displayed - and the Level-Break Aggregate is <Zero>

The only thing that changes between the two runs - is the Suppress Section Write.

I need a donut! Somebody, throw me a donut!

(db)
 

peterbruce

Legendary Poster
Dan,

Here is a possibility - I don't have time to test it and check debug logs at the moment. I suspect that when "Suppress Section Write" is called the RV variables are not populated, as they are not written. I would also suspect that it would be different using hide section as Craig suggested. I'm also guessing that the Oracle response will be "works as designed".

In some ways I'm a "control freak". With these types of requirement I always use ER variables and set the RV variable equal to the corresponding ER variable in the section or at the point when it is needed, which gives me full control over the calculations. I don't use RV variables for calculations.

PS: A comparison of debug logs when "Suppress Section Write" is called and when it is not called may prove very enlightening. Can you get them and let us know what you find?
 
Last edited:

DBohner-(db)

Legendary Poster
So, based on:
http://docs.oracle.com/cd/E24705_01/doc.91/e24249/undrstnd_rprt_processing.htm#EOTRD00515

Thus, based on the following:
Stop Section Processing: Enables you to stop the processing of the current section. The system moves to the next section and begins processing that section. This system function is helpful for performance, especially when there is a large amount of event rule logic that remains to be performed. For example, if no more customers exist with a credit limit over a certain amount, the system stops processing that section and moves to the next section.
Stop Section Processing differs from Suppress Section Write.
*** Suppress Section Write suppresses only the current record, which causes the engine to process the next record for the current section. ***

So - the Aggregates stop working, if we use Suppress Section Write (- but not all the time). If a calculation to an RV occurs before the "Suppress Section Write" - the section (and detail) will not aggregate.

Odd behavior, because it doesn't always occur. Knowledge is half the battle - and now I know half the battle...

Changing all this "Suppress Section Write" logic, that I inherited - to be Show/Hide Sections - I would prefer to Aggregate, not hard-code my calculations.

(db)
 
Top