Hi Pradeep,
There seems to be a mismatch between the summary and detail of this thread, but I believe the actual requirement is:
- To know what report was run against the work order.
- To know how many times the report was run.
- If a limit has been set regarding the number of reprints, stop printing if this is reached.
However, this is more about knowing that the report has already been printed than stopping printing. The WO Print report is usually not something that I would class as a controlled document, but let's think along those lines or like when you get a reprint of a receipt. Typically, when you do the reprint, it splashes a "REPRINTED" or something else and maybe the original date. The trick is to capture the fact the report was ever run for a particular record and has been mentioned; no table records down to the record level.
A complicating factor is that the WOPRINT can be run from the main (single work order), or the list tab (multiple work orders) or from the WOLIST report via the hyperlink embedded in the report back to the WOPRINT report. As Stephen mentioned, you would need to add an INSERT statement to the report that populates a new table. There are many reports that could be run against any work order, so you need to design this in a plug-and-play statement for other reports if you want to do the same.
Then, in the report, you would read the table finding the first instance of it running and you would then annotate or the like "REPRINTED" onto the report.
At this point, I have not successfully thought of how this could be done via an automation script, and we do know the BIRT is capable of doing updates it's just I have not done that in MAS and there is a reason that IBM removed the update from the likes of the Maintenance Cost Rollup report (excluded a cron task now being used).
Now let's look at Stephen's other suggestion about updating the work order instead of a table as I believe you are only concerned with a single report WOPRINT. This is the best solution as you only want to know the first time that the report is run. Then everyone can see that it has been printed, whereas using a new table would involve adding it to the application in a section or new tab and could get missed. This solution still relies on being able to execute SQL from BIRT, taking note of my earlier comment.
Good luck.
------------------------------
Craig Kokay
Principal Consultant
COSOL
email:
craig.kokay@cosol.global#IBMChampion
------------------------------