It's all about the answers!

Ask a question

TimeSheetEntry with BIRT Report


Eduardo Bello (4401821) | asked Apr 12 '11, 4:20 p.m.
Hi,

I'm using Live data source and table "com.ibm.team.workitem.TimeSheetEntry". I figured out most of information about it. (I had to, as there isn't any update on https://jazz.net/wiki/bin/view/Main/DataWarehouseSnapshotSchemas20).

But one thing is confusing me... At TimeSheetEntry I have itemId column which I though was related to WorkItem itemId. But in "com.ibm.team.workitem.WorksItems" I didn't found any workitem with that same itemId. So, it isn't what I though. But here is my question: How can I associate a TimeSheet entry with an workitem via BIRT reports?

4 answers



permanent link
Eduardo Bello (4401821) | answered Apr 14 '11, 1:57 p.m.
Ok, I figure it out. I had to connect directly the database, analyze about 15 tables to understand it (there is surely a better way).

In the end, it is very very simple. Time-sheet entry is linked ("com.ibm.team.workitem.linktype.timeSheetEntry") to an workitem. So, you need to use "com.ibm.team.links.AuditableLink" table to join "com.ibm.team.workitem.WorkItem" and "com.ibm.team.workitem.TimeSheetEntry".

I hope this can help somebody in future.

Comments
mochoh mochoui commented Dec 07 '11, 2:43 p.m. | edited Dec 17 '13, 6:42 a.m.
Ok, I figure it out. I had to connect directly the database, analyze about 15 tables to understand it (there is surely a better way).

In the end, it is very very simple. Time-sheet entry is linked ("com.ibm.team.workitem.linktype.timeSheetEntry") to an workitem. So, you need to use "com.ibm.team.links.AuditableLink" table to join "com.ibm.team.workitem.WorkItem" and "com.ibm.team.workitem.TimeSheetEntry".

I hope this can help somebody in future.



Hi Eduardo, thanks for your post.
Could you be more specific on wich table fields you used to join the tables?

Muito obrigado.


permanent link
Rafik Jaouani (5.0k16) | answered Dec 11 '11, 10:05 a.m.
JAZZ DEVELOPER
Using BIRT joint data sets to join two potentially large data sets will not scale in a real production environment as BIRT will fetch the two data sets in memory and then join them in memory. A better is to use tables and nested dynamic text to only fetch the required data.

Comments
Denis Maliarevich commented Dec 13 '12, 7:44 a.m.


But if there is still a task to join large data sets of Timesheets and WorkItems with each other (for instance thousands of them on both sides, or if it will be half a million entries). If I'm using tables and nested dynamic text to fetch only the required data -- it will create a lot of javascript objects in the report. How will it influence on the performance? Could that javascript objects hung up the report? How much time will it take to process all the entries? How it could be solved?

If it is still safe to work with javescript objects -- confirm that please.


permanent link
Eduardo Bello (4401821) | answered Apr 13 '11, 1:07 p.m.
In fact, looking at distinct rows on com.ibm.team.workitem.TimeSheetEntry that in theory relate to the same workitem, the only fields that has the same values are basically referent to project area and users.

There is a field called internalWorkType that show the type of workitem. But I have no idea how to get the workitem id.

permanent link
Eduardo Bello (4401821) | answered Dec 09 '11, 8:19 a.m.
Ok, I figure it out. I had to connect directly the database, analyze about 15 tables to understand it (there is surely a better way).

In the end, it is very very simple. Time-sheet entry is linked ("com.ibm.team.workitem.linktype.timeSheetEntry") to an workitem. So, you need to use "com.ibm.team.links.AuditableLink" table to join "com.ibm.team.workitem.WorkItem" and "com.ibm.team.workitem.TimeSheetEntry".

I hope this can help somebody in future.


Hi Eduardo, thanks for your post.
Could you be more specific on wich table fields you used to join the tables?

Muito obrigado.



Hi,

I use the follow datasets: com.ibm.team.workitem.WorkItem , com.ibm.team.links.AuditableLink and com.ibm.team.workitem.TimeSheetEntry from LIVE_SNAPSHOT.

First I created a Join Dataset for com.ibm.team.workitem.WorkItem and com.ibm.team.links.AuditableLink using fields: itemId and sourceRef.referencedItem.itemId.



http://img522.imageshack.us/img522/9867/linkdataset.jpg


Then I created another Join dataset for the join dataset above and com.ibm.team.workitem.TimeSheetEntry using fields targetRef.referencedItem.itemId and itemId

http://img17.imageshack.us/img17/188/joindataset.jpg


I hope this helps you.

Your answer


Register or to post your answer.