BusinessObjects Board

Universe Documentor

Does anyone know about a slick universe documentor that Business Objects distributes. I’m told it is a VBA-based program that work inside Excel. I’d like to know where to get this it at all possible.

Thanks :?:


korzel :us: (BOB member since 2004-01-20)

Are you looking for Dwayne’s Utility…

Here it the link.

https://bobj-board.org/t/59650

Is this what you are looking for…?


BO_Chief :us: (BOB member since 2004-06-06)

Hi,

please have a look in BOB’s Downloads at this BO universe documenting utility developed by Dwayne Hoffpauir.

Or do you mean any other tool/utility?


Marek Chladny :slovakia: (BOB member since 2003-11-27)

I believe this may be it. Thanks so much!


korzel :us: (BOB member since 2004-01-20)

After downloading this, I got the following error when attempting to use the tool:

VBAProject - - 2147417851: Automation error. The server threw an exception.

Any ideas what could be wrong?

Thanks again. :crazy_face:


korzel :us: (BOB member since 2004-01-20)

Have you downloaded and used the proper version of this utility?

It depends on the version of your BO which version of this utility to use.


Marek Chladny :slovakia: (BOB member since 2003-11-27)

Actually, to define it just a bit further, the title bar for the error window says “Failure in ListContexts()”

Maybe this will help further. I’ve found that other universes work very will with this tool. There’s just this one that is cause a problem…and wouldn’t you know, this is the one I wish to document.

:wink:


korzel :us: (BOB member since 2004-01-20)

Yes, I’m using XIR2 and downloaded the XIR2 version. :yesnod:


korzel :us: (BOB member since 2004-01-20)

Sounds to me like the universe is corrupted. Have you tried downloading a clean copy? Depending on how complex your contexts are, you could remove the contexts and rebuild them. Just a couple of thoughts.


Dwayne Hoffpauir :us: (BOB member since 2002-09-19)

Dwayne,

I’m using v5 of your utility, and I’m getting the following error message:

‘VBAProject - 7:Out of memory’

This message appears twice, and in the resulting spreadsheet not all objects are documented.

Any ideas?

Thanks…


anorak :uk: (BOB member since 2002-09-13)

What’s the advantage of using this tool over exporting the documentation available in designer ?
Before I get flamed , I’m not critisising , I’m only asking as I’ve not even downloaded it yet.


psjkxp :uk: (BOB member since 2005-08-19)

But some objects are documented? Does it always stop on the same object? Is there something unusual about that one object?

Also, have you tried the utility on another machine? Grasping at straws, because I’ve not had that problem myself, and don’t remember anyone else reporting that problem either.


Dwayne Hoffpauir :us: (BOB member since 2002-09-19)

No flames, it’s just an alternative. Many users prefer the results in Excel (sort, filter, link, etc.), but if a pdf version meets your needs then there is no advantage to using the utility.


Dwayne Hoffpauir :us: (BOB member since 2002-09-19)

Dwayne,

The code consistently fails with an object defined as:

@Aggregate_Aware((sum(CASE
WHEN ((BO_PTEST8_EDW_VIEWS.P_USM_REF.USAGE_TYP_ID_LEVEL1_DES='Voice' and BO_PTEST8_EDW_VIEWS.P_USM_REF.MEDIUM_TYP=3) or (BO_PTEST8_EDW_VIEWS.P_USM_REF.USAGE_TYP_ID_LEVEL1_DES='Data' and BO_PTEST8_EDW_VIEWS.P_USM_REF.CHARGE_BASIS_ID<>3) or (BO_PTEST8_EDW_VIEWS.P_USM_REF.USAGE_TYP_ID_LEVEL2_DES='MMS' and BO_PTEST8_EDW_VIEWS.P_USM_REF.CHARGE_BASIS_ID<>3))
THEN
CAST ((COALESCE(BO_PTEST8_EDW_VIEWS.P_USG_MTH_MSR.USAGE_DATA_UP_BYTES,0))+(COALESCE(BO_PTEST8_EDW_VIEWS.P_USG_MTH_MSR.USAGE_DATA_DOWN_BYTES,0)) AS DECIMAL(18,3))
ELSE 0
END)/1024)
,
(sum(CASE
WHEN ((BO_PTEST8_EDW_VIEWS.P_USM_REF.USAGE_TYP_ID_LEVEL1_DES='Voice' and BO_PTEST8_EDW_VIEWS.P_USM_REF.MEDIUM_TYP=3) or (BO_PTEST8_EDW_VIEWS.P_USM_REF.USAGE_TYP_ID_LEVEL1_DES='Data' and BO_PTEST8_EDW_VIEWS.P_USM_REF.CHARGE_BASIS_ID<>3) or (BO_PTEST8_EDW_VIEWS.P_USM_REF.USAGE_TYP_ID_LEVEL2_DES='MMS' and BO_PTEST8_EDW_VIEWS.P_USM_REF.CHARGE_BASIS_ID<>3))
THEN
CAST ((COALESCE(BO_PTEST8_EDW_VIEWS.P_USG_MSR.USAGE_DATA_UP_BYTES,0))+(COALESCE(BO_PTEST8_EDW_VIEWS.P_USG_MSR.USAGE_DATA_DOWN_BYTES,0)) AS DECIMAL(18,3))
ELSE 0
END)/1024)
)

In the resulting spreadsheet, the code for the above object is not returned, and many subsequent objects are missed out altogether.

If I use either ‘half’ of the Aggregate Aware statement it’s fine. Is there a limit in your code to the number of characters an object can include?

The strange thing is, the preceding object defined as follows causes no problem:

@Aggregate_Aware(
(sum(CASE
WHEN (
(BO_PTEST8_EDW_VIEWS.P_USM_REF.USAGE_TYP_ID_LEVEL1_DES IN ('Voice','Other Usage','Unknown')) 
OR 
(BO_PTEST8_EDW_VIEWS.P_USM_REF.USAGE_TYP_ID_LEVEL1_DES = 'Data' 
and BO_PTEST8_EDW_VIEWS.P_USM_REF.CHARGE_BASIS_ID<>3 
and BO_PTEST8_EDW_VIEWS.P_USM_REF.BEARER_ID_REPORTING = 1 
)
)
THEN cast(BO_PTEST8_EDW_VIEWS.P_USG_MTH_MSR.USAGE_DURATION as decimal (18,4))
ELSE 0
END)/60)
,
(sum(CASE
WHEN (
(BO_PTEST8_EDW_VIEWS.P_USM_REF.USAGE_TYP_ID_LEVEL1_DES IN ('Voice','Other Usage','Unknown')) 
OR 
(BO_PTEST8_EDW_VIEWS.P_USM_REF.USAGE_TYP_ID_LEVEL1_DES = 'Data' 
and BO_PTEST8_EDW_VIEWS.P_USM_REF.CHARGE_BASIS_ID<>3 
and BO_PTEST8_EDW_VIEWS.P_USM_REF.BEARER_ID_REPORTING = 1 
))
THEN cast(BO_PTEST8_EDW_VIEWS.P_USG_MSR.USAGE_DURATION as decimal (18,4))
ELSE 0
END)/60)
)

Any ideas?

Thanks…


anorak :uk: (BOB member since 2002-09-13)

Honestly, no ideas. I have objects with much longer SQL that work fine. Then again, I don’t use @Aggregate_Aware. Maybe there is something internal to BusObj that is pretty memory intensive … who knows.


Dwayne Hoffpauir :us: (BOB member since 2002-09-19)

Has anyone been able to resolve the automation exception shown in the attached document? I am able to consistently get this error in both the ListContexts() and ListObjects() methods when attempting to document a particular universe. I would be happy to work with someone who is more familiar with this code (which seems very straightforward) than I am. I think that it may be a memory allocation issue but I can’t figure out a way around it. This is a great tool that is invalualble when it works–I’d like to help make it work more frequently :hb:
Automation Exception.JPG


mkrigba :us: (BOB member since 2006-11-22)

I know a little bit about the code :smiley: , so I’ll try to help. The ListObjects procedure is called recursively, so I can see how that may cause a memory issue on a particularly “deep” universe (many layers of class folders). The ListContexts procedure is not called recursively, so I’m a bit concerned that it might not be a simple memory issue. In any case, try a clean reboot of the machine and run the utility before any other software is opened. You can also try on a machine with more RAM. Honestly though, I’m skeptical that it’s a memory issue.

You might also try running the different portions independently. In the main procedure … DocumentUniverse() … there is a series of Call statements for the different portions. Comment out all but one and see if that makes a difference.


Dwayne Hoffpauir :us: (BOB member since 2002-09-19)

Dwayne,
I have used your utility and overall it works very well. Except in the following case:
I have an objet that is defined as ‘ALL’ text and is not tied to any tables so your code would throw an exception in the following line:
For Each Tbl In Obj.Tables
So what I did is trap the error and ignore it. I think this is a shortcoming of the API not your fault.

Hope this helps.
Rachid


rachidb :morocco: (BOB member since 2006-07-06)

Hi Dwayne,

Thanks for the tool, it was helpful for us.

Regards
Ravi :smiley:


palepuravi :india: (BOB member since 2003-10-28)

Dwayne,

We have XIR2 and your tool worked perfectly!!! Thank you so much for posting this awesome tool!

John


johndawg :us: (BOB member since 2004-07-09)