Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Actuate Exporting to XML

Status
Not open for further replies.

tjcusick

Programmer
Dec 26, 2006
134
US
I am using Actuate 8.
A little background, I have been given this project where I have to figure out why information is being dropped from an actuate report. Well what I found out is that the report is not dropping the information, it's the data coming into the report is missing. And actuate is just skipping that row because of no data...
The report produces the visual report and on the OnFinish() of the NewReportApp it generates an XML file...
Code:
Sub Finish( ) 
  Super::Finish( ) 
  ' Insert your code here 
  dim v as AcXMLDataVisitor 
  set v = newXMLDataVisitor("xml/text") 
  v.generateXML(fileName, me, "") 
End Sub
During each DataRow there is a SetBinding(me, "...", "..." ) for each field in that row.
(I'm assuming that this is what generates the XML line for each field??)

Well, the XML file is generated correctly based on the information but the problem is, is that when there is no data for a particular row actuate skips that row and thus no information is generated for the SetBinding lines and then nothing for the XML for that section.

What I need to do is figure out if there is a way to check it to make sure there is information for each row and then if there is then and only then append it to the "me"...

I have a report that has the following structure:
Code:
NewReportApp
-- Content - SequentialSection
   -- Content HOGroup
      -- Connection
      -- DataStream  
      -- Content - NumberGroup
         -- Content - DateTimeGroup
            -- Content - SequentialSection2  
               -- Content - InitialRecordDetail 
               -- Content - IndInfoReportSection 
                  -- DataStream
                  -- Content - IndInfoDetail
               -- Content - PolicyReportSection  
                  -- DataStream
                  -- Content - PolicyDetail
   -- Content HOGroup2
      -- etc...
The InitialRecordDetail is the main information from the HOGroup Connection and DataStream There will always be information to fill in this section.
Each ReportSection after that might or might not have information. Also each ReportSection is limited to specific information based one on the InitialRecordDetail Information and their own DataStream.

My programming logic would tell me to do is something like this (but i do not know how to translate that into actuate programming logic):

Assign a Global Integer and each time a row has data increase it by one. If on the After the ending number does not equal a specific set value (10 rows) then the information is not complete thus no xml code is generated for that whole block.

But this XML code would have to be generated into a seperate "string list" or something equivalent and then After that section is done on the After would fire and then assign the "string list" to the "me" variable.

Also to add more complexity to this I would also like to notify someone (helpdesk or support person) that there was an invalid entry and it was skipped.

I hope any of this makes sense and i hope someone has some suggestions or answers that can point me in the right directions.

Thanks very much for any assistance you all might have.
 
why not generate the row to highlight that the data is missing (IIF(IsNull([Field]),'No Data available',[Field]))?
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top