Load Categories with Java for Oracle iProcurement

Mar 7, 2020 | Oracle, P2P

The code below can be used to pull in a text file that contains the Category information and then it writes an XML file that Oracle can pull in to load (or delete categories that are not used) categories in Oracle iProcurement.

import java.io.File;

import java.io.FileReader;

import java.io.FileWriter;

import java.util.Date;

import java.util.Scanner;


import javax.xml.stream.XMLOutputFactory;

import javax.xml.stream.XMLStreamWriter;

import com.sun.xml.internal.txw2.output.IndentingXMLStreamWriter;

public class XMLW {

    static String filename = “/Users/mclancy/Documents/workspace/text.xml”;

    public static void main(String[] args) throws Exception {

        Scanner lsc1 = null;

        Date date = new Date();

        File opf = new File(filename);

        FileWriter fw = new FileWriter(opf);

        XMLOutputFactory factory = XMLOutputFactory.newInstance();

        XMLStreamWriter writer = factory.createXMLStreamWriter(fw);

        IndentingXMLStreamWriter sw = new IndentingXMLStreamWriter(writer);

        sw.setIndentStep(”    “);

        // Header Section

        sw.writeStartDocument(“1.0”);

        sw.writeStartElement(“CATALOG”);

        sw.writeAttribute(“xml:lang”, “EN-US”);

        // ADMIN Section

        sw.writeStartElement(“ADMIN”);

        sw.writeStartElement(“NAME”);

        sw.writeCharacters(“Outbev Cat import”);

        sw.writeEndElement();

        sw.writeStartElement(“INFORMATION”);

        sw.writeStartElement(“DATE”);

        sw.writeCharacters(date.toString());

        sw.writeEndElement();

        sw.writeStartElement(“SOURCE”);

        sw.writeCharacters(“ACME”);

        sw.writeEndElement();

        sw.writeEndElement();

        sw.writeEndElement();

        sw.writeStartElement(“SCHEMA”);

        // File input data

        File rec = new File(“/Users/mclancy/Documents/workspace/rec.txt”);

        FileReader fr = new FileReader(rec);

        Scanner fsc1 = new Scanner(fr);

        while (fsc1.hasNext()) {

            String line = fsc1.next();

            lsc1 = new Scanner(line);

            lsc1.useDelimiter(“,”);

            while (lsc1.hasNext()) {

                // System.out.println(lsc1.next());

                // Catalog data

                sw.writeStartElement(“CATEGORY”);

                sw.writeAttribute(“ACTION”, “SYNC”);

                sw.writeStartElement(“KEY”);

                sw.writeCharacters(lsc1.next());

                sw.writeEndElement();

                sw.writeStartElement(“NAME”);

                sw.writeCharacters(lsc1.next());

                sw.writeEndElement();

                sw.writeStartElement(“TYPE”);

                sw.writeCharacters(“GENUS”);

                sw.writeEndElement();

                sw.writeEndElement();

            }

        }

        sw.writeEndElement();

        sw.writeEndDocument();

        sw.flush();

        sw.close();

        fsc1.close();

        lsc1.close();

        System.out.println(“Done”);

        System.out.println(date);

    }

}

Your content goes here. Edit or remove this text inline or in the module Content settings. You can also style every aspect of this content in the module Design settings and even apply custom CSS to this text in the module Advanced settings.

Your Title Goes Here

Your content goes here. Edit or remove this text inline or in the module Content settings. You can also style every aspect of this content in the module Design settings and even apply custom CSS to this text in the module Advanced settings.

Your Title Goes Here

Your content goes here. Edit or remove this text inline or in the module Content settings. You can also style every aspect of this content in the module Design settings and even apply custom CSS to this text in the module Advanced settings.

Your Title Goes Here

Your content goes here. Edit or remove this text inline or in the module Content settings. You can also style every aspect of this content in the module Design settings and even apply custom CSS to this text in the module Advanced settings.

Let's set up a call?

Send over your name and email and we can coordinate to do call over coffee!

We'll get in touch

Let's set up a call

Send over your name and email and we can coordinate to do call over coffee!

We'll get in touch

Let's get on a call!

Send over your name and email and we can coordinate to do call over coffee!

We'll get in touch

Subscribe To Keep Up To Date

Subscribe To Keep Up To Date

Join our mailing list to receive the latest news and updates.

You have Successfully Subscribed!

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close