Search This Blog

Showing posts with label data. Show all posts
Showing posts with label data. Show all posts

How to Rewire Your Organization for the AI Era

Digital transformation has been a boardroom priority for more than a decade. Yet despite billions spent on cloud migration, ERP modernization, analytics platforms, and AI initiatives, most organizations still struggle to become truly digital.

Why? Because technology alone does not transform organizations.


Enhancing Student Experience with AI

The main criteria for a successful institution as per understanding are the below ones

  1. Superior academic delivery quality
  2. Student Experience
  3. Student Progression

IT passively supports the student journey from all angles. And it’s important to ensure the adoption of technology by the institutions. Especially in the AI era. Trust me I am still trying to see the balance when it comes to opening up AI for students and academics. An interesting area to analyze and expand.

With increasing student expectations for seamless digital interactions, institutions must leverage technology to create efficient, personalised, and data-driven experiences.

File Parser - Couple Of facts To Be Aware Of

I am a big fan of the File Parser Process. However, there are couple of gray areas where the File Parser can degrade the performance when combined with the Common Attribute Framework (CAF). 

If we make the right decision based on these two main facts, File Parser can expedite the entire data load process with greater efficiency.

Archiving of old data in peoplesoft

Peoplesoft offers Data Archive Manager tools for easy archival of Peoplesoft Data. The following are the features of the PS Archive Manager
–>Integrated and consistent framework for archiving data
–>Uses predefined templates.
–> Archive multiple objects.
–>Leveraging the Archive Query in PeopleSoft Query.
–>Desired commit intervals.
–>Restore simplified
PeopleSoft Data Archive Manager includes the following main elements:
–> Archive object definition
–> Archive query definition
–> Archive template definition
–> Archive job definition
–> Restore query definition
–> Archive auditing

Archive object definition: It is a collection of tables that you archive. The object definition determines how you archive data from a table. Base tables are archived on a user specified query. Non-base tables are archived according to base table

Archive query definition: Need to define a new query as type “Archive” using Query Manager. Archiving is done based on the selection of the query.

Archive template definition: It integrates Archive object and Query used to archive. One of the archive objects must be a base object. Define the selection Criteria to archive from the base table. No need to define selection criteria for all the dependent records. Specify the AE processes to run before and after the data has been archived.

Archive job definition: Define archive jobs to archive data. First define the archive job information including the Archive Template, Archive Process, and Commit Processing. Submit archive jobs in a batch using the process scheduler. It prompts for run time parameters like bind variables and the query to use.

Archive Audits: Archive of objects can be audited. It reports about details about past Archive runs, selection Criteria used to archive or delete and also generates Query used to Archive. OPRID wise report can also be generated.

Benefits of Archive Manager:
–>PS Delivered Archive objects and Templates for transaction tables
ex: TL_PAYABLE_TIME,TL_RPTD_TIME, HRS_APPLICANT
–>Flexibility of running archive process basing on business needs
–>Minimal technical team help
–>Processing types Selection, Delete from a single Archive process
–>Restoring from archive tables just a click away, no separate code required.
–>Restoring only the set of data archived before.
–>Audit of the Archive processes.
–>No separate archive jobs for child tables, they can be clubbed with master tables and PS will take care of archiving and restore automatically.

There is a thumb rule to assign a record as History Record, history record should have all the fields as base table(archived table) and also it should have subrecord “PSARCHIVE_SBR”.

Analysis for the Peoplesoft Data Archiving
It depends on what are you trying to achieve. Are you trying to archive old data for reducing database storage? I assume so. If then, as per my knowledge, for database archiving, our customers do not use Peoplesoft Archive Manager for many reasons because the historical data is stored inside the same Peoplesoft Database.

Assuming that you are planning to archive old data to free up space and gain more performance, there are other options. The industry leading Enterprise Data Management solutions are with IBM’s Optim or HP’s DBArchive. As per my knowledge both supports Peoplesoft Database along with Upgrades. Please check their respective product websites.

One important thing to remember is what will happen to the archived data during the application upgrade. While archiving historical data, we should make sure we will be able to upgrade them as part of the Peoplesoft upgrade. Also, it should free up storage costs to minimize the cost for the customers…

Excel Datasources

We have been getting requests asking if we can handle an Excel file as a datasource for a report. I guess the business case is that users maintain and enter new data using Excel spreadsheets and need the entered to support a report for management.


With the BIP Server you could have done it with the JDBC-ODBC bridge or maybe a conversion to a CSV format and then load to a db ... both work but are fiddly to setup and maintain. With the 10.1.3.2, R12 and 5.6.3 for 11i releases there are a set of java APIs that can be used to access and read binary Excel files generating XML data. I have to admit these are somewhat hidden APIs; they will be the basis of our Excel template strategy when they arrive later this year. For now this entry will serve as the documentation for the APIs. ... apologies.


In this article I'll cover the use of the Excel2Data API, this is used to read data from the Excel file and generate XML output. I have mounted the javadoc here. The simplest implementation would be:

public class Excel2XML {
    public Excel2XML() {
       String inExcel = "d://temp//excel//1.xls";
       String outFile = "d://temp//excel//1.xml";
        Properties prop = new Properties();
        prop.setProperty("system-temp-dir", "d://temp//excel//tmp");
       
        Excel2Data xls2Data = new Excel2Data();
        xls2Data.setOutputType(Excel2Data.OUTPUT_TYPE_XML);
        xls2Data.setConfig(prop);
         try
         {
            xls2Data.loadExcel(inExcel);
            xls2Data.generate(outFile);
         }
         catch (IOException exc)
         {
            exc.printStackTrace();
         }
         catch (XDOException e)
         {
            e.printStackTrace();     
         }
        }
    public static void main(String[] args) {
        Excel2XML excel2XML = new Excel2XML();
    }
}

inExcel - can be an InputStream or a File location
outFile - can be an OutputStream or File location
system-temp-dir - this is a temporary working directory that the API needs to work in and must be set.
output format - the only other unknown for you should be the output type ie Excel2Data.XXXXX. This can take one of three values, two are XML formats and the third a CSV format:

OUTPUT_TYPE_XML  - generates the following format of XML. This format will work with any Excel format. Its a standard XML format i.e. no matter what Excel you use the XML format will remain the same.

<workbook>
  <sheet>
    <name>Sheet1</name>
    <row number='0'>
      <column number='0'>Employee Listing</column>
    </row>
    <row number='2'>
      <column number='0'>Name</column>
      <column number='1'>Title</column>
      <column number='2'>Salary</column>
    </row>
    <row number='3'>
      <column number='0'>Jones</column>
      <column number='1'>Managing Director</column>
      <column number='2'>60000.0</column>
    </row>
</workbook>


OUTPUT_TYPE_XDOXML  - this format can only be generated if you use named cells. This is the basis of the coming Excel templates. Its structure is completely dependent on the data.

<XDOROOT>
  <EMPLOYEE>
    <NAME>Jones</NAME>
    <TITLE>Managing Director</TITLE>
    <SALARY>60000.0</SALARY>
  </EMPLOYEE>
</XDOROOT>


OUTPUT_TYPE_CSV - this, if you ever need it generates a comma delimited file output.

Sheet1
"Employee Listing"
"Name","Title","Salary"
"Jones","Managing Director",60000


Great so now you can get data XML from a binary Excel file. You can get the sample file and java class here. How can I use the API in a real scenario I hear you ask?


Well, you now know how to use the API so you could create a java class to do the conversion and then feed that to the formatting API, FOProcessor. What would be way more cool and useful would be to allow the BIP Server to fetch the data from the Excel at runtime, so you could set up Excel datasources so that report consumers could get a snap shot of data from the Excel files at will.
Tune in tomorrow to see how that can be done ... sorry gotta dangle that carrot so you come back for more.