1. Svein Arve Hoset
  2. PowerBuilder
  3. Wednesday, 18 September 2019 08:49 AM UTC

I'm using PB2017 R3 and building a composite report which has two child-reports. Each report will be built in separate datastores where I'll adjust the report according to several criterias. When this adjusting process is complete, I want to copy the complete report into each sub-report in the composite report using GetFullState and SetFullState.

Unfortunately it is impossible to use SetFullState on a DatawindowChild. Rowscopy will not do because this method does not ensure that my modifications are transferred to the composite child report. Does anyone know another method to accomplish this task?

/Svein

 

Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Wednesday, 18 September 2019 21:26 PM UTC
  2. PowerBuilder
  3. # 1

Hi Svein;

  DW object DOT notation will work on child DWO's.  ;-)

Regards ... Chris

Comment
There are no comments made yet.
Brad Mettee Accepted Answer Pending Moderation
  1. Wednesday, 18 September 2019 13:23 PM UTC
  2. PowerBuilder
  3. # 2

We have multiple reports where we need to modify/generate nested criteria/data during the report build (some nests are 3-4 levels deep). The only way we've overcome it is to use global temp tables, and populate them for use during the retrieval of the main datawindow object. It becomes a two step process, but the reports themselves won't need dynamic modification.

Step 1 - build data in global temp table(s)

Step 2 - retrieve main datawindow, which has nests that run against global temp tables

Only thing you need to make sure of is that the global temp tables are populated using the same transaction object that's being used by the datawindow control.

 

Comment
  1. Chris Pollach @Appeon
  2. Wednesday, 18 September 2019 21:35 PM UTC
Hi Brad;

Great idea. I have done this before and it works super well. ;-)

You can use different transaction objects if you create the temporary tables via DML. However in ASE, SA & SS - if you use the #Table way of temporary table allocation (done by the DBMS - and, cleaned up automatically as well) then your 100% correct... this technique can only in the same DB transaction.

Super suggestion!

Regards ... Chris
  1. Helpful
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.