Wednesday, August 11, 2010

signature

http://blogs.oracle.com/xmlpublisher/2006/04/conditional_check_signature_im.html#comments

passing parameters

<?template:Header?>

<?param:ReportName;string('My Report')?>

This declares a template called header and it is expecting a parameter called 'ReportName', if it is not populated at runtime then the default, 'My Report' will appear (this is not mandatory). The footer template is declared in a similar fashion.

In our calling template we will have something like:
<?call@inlines:Header?>
<?with-param:ReportName;string('Employee Report')?>
<?end call?>

create bip report

1. Create concurrent program, Short Name e.g. = XXXX_BIPREPORT, Executable Name = XDODTEXE, Output Format = XML. And add to the required Request Group.

2. Create BIP report resulting in an XDO file (data definition file, available from filing system) and a template file (such as an .RTF file defining report layout)

3. Within EBS, using XML publisher administrator responsibility, navigate to data definitions and select create data definition.

4. Populate name etc and in the code box enter Concurrent Program Short Name from 0. ie XXXX_BIPREPORT, click apply

5. Still in the data definitions tab, search for the Data definition just created and click to view it.

6. Select Add file button next to data template and browse for the XDO file created within BIP, select ok and apply. This action tells Concurrent Program from 0 XXXX_BIPREPORT what data to extract.

7. Click on data template tab and create template.

8. Populate boxes with names and code of Concurrent Program Short Name from 0 XXXX_BIPREPORT and name of data definition just created.

9. In the template file box browse for the template file created in BIP (eg .rtf)

10. Click apply and run concurrent program XXXX_BIPREPORT.

Some other pointers:
- It is possible to automate and move the above setup around environments using combination of FNDLOAD and XDOLOADER
- You can set a default output type if you apply patches 5612820 (R11i and R12) plus 7627832 (R11i only) see http://garethroberts.blogspot.com/2009/01/revisited-changing-default-layout.html


Tuesday, August 10, 2010

Continued ...

Continued ...

'how can I add 'Continued ...' to the bottom of a table if the contents spill over more than one page?' I have solution that uses a template approach to dynamically add content to the page footer but Hok Min, the 'Template Meister Extraordinaire' has come up with an even more 'tricksy' solution that I like better. It uses the page total functionality that we support and its extremely cunning!

The image above shows the template - standard table with employee data in it. Notice the last row of the table has most of the borders turned off. I have got 'Show Gridlines' enabled so you can see it is another row in the table. There are some other fields in there too.

continued2.gif

Walking through the more important fields:
  • InitPT - - initializes a page total object 'contd_footer' - for more info on this check the user guides.
  • ET - - within the table, adds the total into the page.
  • Footer - - an undocumented command (we had other plans for the command for a later release - hence the lack of doc) to specify that this row is the table footer. MSWord does not have a concept of table footer so we need to mark it as such for the rendering engine to 'see'. Notice its in the last row of the table - no borders remember (thats optional)
  • PT - Continued ... - this is the cool piece. It is supposed to render the page total, but instead it will show the string 'Continued ...' on all but the last page of the table.
  • EET - - this closes out the page total command.

Monday, August 9, 2010

How to delete a concurrent program

BEGIN
fnd_program.delete_program('<program short name>','<applicationshortname>');
fnd_program.delete_executable('<program short name>','<applicationshortname>');
commit;
END;