Sunday 22 December 2013

Kovaion Consulting - The journey into 4th year

Dear All,

As we complete another successful year, I'm happy to share Kovaion's ongoing progress with you all. Since its inception in 2010, Kovaion has grown steadily. Today, with the talented team, we are well ready to take the next leap of growth.

Year 2013
2013 was another year of solid growth. In spite of unstable demand and fierce competition, we have made considerable progress. Here are some highlights from year 2013:
  • Revenue increased by 50%
  • Addition of 3 new clients  - Thomas Exchange Global, A Global Consulting Company and A Leading Global Financial Services Company
  • Human resource base increased by 4%.
  • Presentation on Oracle Data Masking at EMEA PeopleSoft Road Show.
  • Successful 5 client site visits
  • New proprietary tools were developed and implemented to serve our customer’s current and future needs.  

We are committed to develop strategy to overcome few challenges in the next year with ease.

Plans for the future
In the coming year we will make further progress. We continue to invest heavily in our People, Process and Technology to ensure we deliver profitable growth and create value for our clients. Our goal is always to simplify our client's business needs through our value added services. We look forward to launch some very exciting products/solutions in the year 2014 to make us more competitive in the market. We planned to transform the organizational setup (structure) for efficient business decisions and operations.

Looking ahead, we are focused on accelerating the execution of our growth strategy while continuing to build on the strength of our brand—innovative and cost effective solutions. We are incredibly excited about this journey and truly believe we will deliver our best services in the coming years.

Our Commitment
As a member of the society, we are committed to operate our business in a responsible way. We  pledge to care for the development of our own associates as well as the communities in which we operate.  Kovaion Trust continues to contribute to the communities where we work and support local schools / students. We are committed to run our business with good ethical standards.

Thanks to you all

Finally I would like to thank all our esteemed clients, partners, associates and well wishers for their continued trust, commitment, support and involvement. I look forward to a successful  year 2014.

Wish you and your family a merry Christmas and a very Happy New Year.
  

Kovaion Consulting

Wednesday 31 July 2013

PeopleSoft Enhanced Feature in Reporting

1. Summary

This blog includes the steps to implement PeopleSoft enhanced features in reporting.

2. Working with PDF reporting options in BI Publisher

The following BI features are available on PDF documents.
ü  Counting the number of pages in a pdf file
ü  Merging PDF

2.1      Counting the number of pages in a pdf file

The java object ‘com.lowagie.text.pdf.PdfReader’ is used to find the number of pages in a pdf file.

Sample Code:
Local JavaObject &obj_Split_PDF_Size = CreateJavaObject("com.lowagie.text.pdf.PdfReader", “<PDF file with full path>");
/* &NumberofPages – gives the number of page in the PDF file */
Local number &NumberofPages = &obj_Split_PDF_Size.getNumberOfPages();

2.2      Merging PDF

The application Package PSXP_ENGINE:PDFMerger can be used to merge two PDF files.
Sample Code:
&Reportmrg = create PSXP_ENGINE:PDFMerger();
&ret = &Reportmrg.mergePDFs(<Array of input files to be merged as array of strings>, <Output Merged File>, &out);

Working with .RTF (Document) reporting options in BI Publisher

Following features are available on Oracle-PeopleSoft BI Publisher .rtf template.
ü  Using Barcodes on Report
ü  Dynamic/Conditional Watermark
ü  Dynamic images in the report output
ü  Headers & Footers.

3.1      Using Barcodes on Report

The following step needs to be carried out to use barcode on BI publisher reports.
ü  Corresponding barcode font has to be downloaded and placed in the local machine (C:\Windows\Font) and also the Application Server (<Server path>/fonts/truetype/).
ü  The field to be displayed as barcode is first included in the template and the font of the field is changed to the downloaded barcode font.
ü  In  File > Properties and in the custom tab enter the following details
Name: xdo-font.<font name>
Type: Text
Value: truetype.<path to the font file>
Setting this property will make the barcodes visible when the output is pdf





3.2      Dynamic Header and Footer

Form fields cannot be inserted into header/footer of rtf templates. So to have dynamic or conditional text in header or footer, the xml tags are directly written in header and footer which then converts to values when the report is run.
Eg: <?fld_DESCR?>

3.3      Dynamic/Conditional watermark

ü  Watermark is entered through Format> Background > Printed Watermark in the rtf template.
ü  In the text enter the condition
Eg: <?xdoxslt:ifelse(<condition>,'Watermark to be displayed when the condition is satisfied','Watermark to be displayed when the condition is not satisfied')?>



3.4      Dynamic images in report output

ü  The dynamic image may be in any of the following format- jpeg/ bmp/ gif/ png.
ü  Hold the path of the dynamic image in a record field used in the report.
ü  Insert a dummy image in the template.
ü  By double clicking and in the web tab of the image enter the dynamic value/field as below in the alternative text.
// - - > For level 0 record
.// - - > For level 1 record
ü  Fieldname is the record field that holds the path of the image in the report.



Following features are available on Oracle-PeopleSoft BI Publisher Excel template.
ü  Multi Sheet excel report- Excel object

4.1      Multi Sheet excel report- Excel object

The following peoplecode generates multisheet excel with the excel application
&oWorkApp = CreateObject("COM", "Excel.Application");
&oWorkApp.DisplayAlerts = "false";
ObjectSetProperty(&oWorkApp, "Visible", True);
&oWorkBook = ObjectGetProperty(&oWorkApp, "Workbooks");
&oWorkBook.add();
&oWorkSheet = &oWorkApp.Worksheets("Sheet1");
/* Modify the name of the worksheet */
&oWorkSheet.name = "Test Sheet";
/*Access the cells of the worksheet */
&oWorkSheet.Cells(1,1).Value=’Test’
&oWorkSheet = &oWorkApp.Worksheets("Sheet2");
&oWorkSheet.name = "Access";
/*Delete the third sheet */
&oWorkSheet = &oWorkApp.Worksheets("Sheet3");
&oWorkSheet.delete();
&oWorkApp.ActiveWorkbook.SaveAs("<File name with full path to save>");

&oWorkApp.ActiveWorkbook.close();&oWorkApp.Quit();