Sunday, June 21, 2009

BIRT Subreport Tutorial

Say you have a list of BSCs and you want to display information for each BSC. You have a query that takes input as BSC. And another query that list your BSCs. Here's how to merge the two using BIRT.

First your BSC query:
select bsc from rx_bsc_region order by BSC asc

Create the query using BIRT as shown. Nothing fancy to do here. Just a simple query:

Now simply drag and drop this query into the layout to create a table:
You might want to make the [BSC] body section bolder to highlight BSC sections in the table. Also add a row below the BSC using right clicking:

You might want to add another detail row in case you want multiple sub tables each with a different header:

Now you can make a query that takes BSC as input . e.g. :
Select OSS_CELL_AVGVIEW.CELL , OSS_CELL_AVGVIEW.bsc ,(OSS_CELL_AVGAVG.f_tch_availability- OSS_CELL_AVGVIEW.f_tch_availability ) as TCHAvailDec from oss_CELL_AVGview INNER JOIN OSS_CELL_AVGAVG ON (OSS_CELL_AVGVIEW.CELL = OSS_CELL_AVGAVG.CELL) WHERE OSS_CELL_AVGVIEW.thedate > (sysdate -2) and (OSS_CELL_AVGAVG.f_tch_availability- OSS_CELL_AVGVIEW.f_tch_availability ) > 1 and bsc = :BSC ORDER BY TCHAvailDec DESC

Notice the bsc = :BSC. A a query parameter as you like:

Preview results to check everything is working fine and click ok.

Next drag and drop this table into the detail row you added earlier. You should get:

Now select the newly added table and select the binding tab. Click on Dataset parameter binding. You should see the parameter binding input as shown:

Finally modify it (using edit button) to point the parameter to the running detail row value as shown:

Click ok... You are all set. Preview to see the result:

So in short:
  • make the main query
  • make the sub query using a constant parameter
  • Make the main table
  • Drag the sub table into a new detail row.
  • Link the sub tables dataset parameter to the main row detail using : row["columnname"] format


Saturday, June 20, 2009

Winkey + R for linux

I have a habit of putting every single useful program renamed shortcut to folder I call run. Then I add the folder to the system path.
Now I am able to run the program by using the (winkey+r) shortcut and typing in the renamed shortcuts name.

I have often wanted to do winkey+r on linux. I found out the shortcut is ALT+F2. It is called Exectue Command. e.g. for cmd on windows use sh on linux. Enjoy! :)

Tuesday, June 9, 2009

Symbian Signing

You can sign your application quickly online from here:
All you need is a valid email address. You get a mail to verify that you want the application. After confirmation you get another mail with the signed application link :). Therefore:
1 link (as given above)
2 mails incomming.
2 Link click in email (one confirmation ... one download)
and you are all set.

For advanced users:
Here is a link to offline self signing your symbian apps and how it works :

A bit of history:

I have been using a brand new nokia 5800 for about two weeks now. No Regrets! It is an awesome phone. Its accelerometer really got me thinking about cool programs like the ones I play on my mom's iPhone. Tried programming with PyS60. Really cool. Loved the audio.say api.
Here is a cool short code that saves a screenshot to e: (your memory card)
import graphics
#Take the screenshot
img = graphics.screenshot()
#Save it to the specified path"e:\\screenshot.jpg")
And another one that says what ever you want:

import audio
audio.say("Cool isn't it")

Both are complete python programs (needless to say... but mentioned for the un initiated).
And by using the bluetooth console (using my pc) I could freak out people in the room :).
But then I felt an urge that I had the first time I made a useful program.
Back in first semester while studying C++ i discovered a cool windows function that allowed me to send anonymous net send messages NetMessageNameAdd . It was nothing extraordinary but it facinated me. Because I could use my MFC skills to make an application that would actually do something that didn't come by default with windows. I wrote a complete multi destination/Multisource/cool gui application staying up all night :).

So, Now:
After looking around a bit at carbide c++ I can only wonder what information the symbian phone can give to a programmer that is not given away by any default application. Specifically I am interested in GSM parameters etc. lets see :)

Other useful links:
You can get the latest development releases of PyS60 from (The sourceforge page does not have development versions and I just want to play with my 58000 accelerometer) :