If you are unable to create a new account, please email support@bspsoftware.com

 

News:

MetaManager - Administrative Tools for IBM Cognos
Pricing starting at $2,100
Download Now    Learn More

Main Menu

Any explanations about CM store tables?

Started by Eag. E, 02 Jun 2019 10:40:36 PM

Previous topic - Next topic

Eag. E

There are some guild about C8 CM content store's tables. But it seems like C11 has new tables and method to use the tables. How can I get explanations of these tables? I want to get all reportID from CS (which belong to myself as login user). Thanks very much.

saumil287

Hi,
If you know where is your content store and able to access it?
Then you can search for the table name details in web as what exactly it is storing.

Each individual user information is viewable inside administration.

As far as I know, some particular table store the information of LDAP authentication in the tables.

Regards
saumil287

Eag. E

Hi thanks for replying. But the table name are very hard to understand, for example, you might see CMOBJPROS34, CMOBJPROS36 ... I have no idea what is the meanning of these tables without a reference.

MFGF

Quote from: Eag. E on 03 Jun 2019 09:13:22 AM
Hi thanks for replying. But the table name are very hard to understand, for example, you might see CMOBJPROS34, CMOBJPROS36 ... I have no idea what is the meanning of these tables without a reference.

Hi,

This is deliberate on IBM's part. They don't want people messing around in the content store, and they don't publish a schema or a reference to what is held where. If you go in there, it is at your own risk and it's up to you to try to figure out the right places to find what you're looking for. They also reserve the right to change things in there without notice, so any solution you build today might stop working in a later update to the product.

Probably not what you wanted to hear :)

MF.
Meep!

Nimirod

Hi,

I completely agree with MFGF and IBM recommends working with SDK fot this kind of need, but while I'm more comfortable with SQL than JAVA, I did some stuff with SQL but of course this is at your own risk.

You have to know that almost everything is stored in CMOBJECTS and this table uses cyclic relationships between CMID and PCMID with other tables.

If you want to isolate only reports, you have to join this table with the CMCLASSES and choose the correct class name

As reports can have multilanguage names you should join the CMOBJECTS with CMOBJNAMES_BASE and select only the default name.

For the login user part, you will need to go to find the references between ObjetctID and Groups or Users and that part is more complex.

That is not easy to work with Content Store, so again if you are a good JAVman try to do it with SDK. Some good samples can be found in <Dispatcher Install Path>\sdk\java\

List of reports
SELECT  distinct
CMOBJECTS.CMID as IDReport, 
CMOBJECTS.PCMID as IDReportParentFolder,
CMOBJNAMES_BASE.NAME as ReportName,
CMCLASSES.NAME as ReportType
FROM
   CMOBJECTS , CMOBJNAMES_BASE , CMCLASSES ,  CMOBJPROPS7 ,  CMREFNOORD1
where  CMOBJECTS.CMID=  CMOBJNAMES_BASE.CMID
  and  CMOBJECTS.CLASSID  =  CMCLASSES.CLASSID
  and  CMOBJECTS.CMID =  CMOBJPROPS7.CMID
  and  CMOBJECTS.CMID =  CMREFNOORD1.CMID
  and  CMOBJNAMES_BASE.ISDEFAULT=1
  and  CMCLASSES.name like 'report'


List of users

select distinct T1.CMID, T1.NAME, T3.NAME as NAMEIDUSER
                      From
                      CMOBJPROPS33 T1
                      left outer join CMREFORD1 T2 on (T1.CMID = T2.REFCMID)
                      left outer join CMOBJNAMES_BASE T3 on (T2.REFCMID = T3.CMID)