Please enable JavaScript to view this site.

Manual InterForm400 English 2023

Navigation: XML output

InterXML Module

Scroll Prev Top Next More

The InterXML Module has been developed for customers with high requirements for the XML output e.g. for electronic invoicing like: UBL XML, OIOXML, EHF, ZUGFeRD etc..

 

The InterXML Module also includes VANS (Value Added Network Service).

 

XML conversions based on this module are created as XML+ finishing definitions, contrary to simple XML finishing definitions, that has the type XML.

 

The module can convert input spooled files into output XML files. On the surface it might look like the similar XML classic finishing definitions, but InterXML has several advantages compared to that:

 

XML+ has an extra operator, FIXCHR for the page and line types.

 

XML+ has the same built in functions as the classic XML, but it also includes these extra internal  functions compared to XML classic:

GENUUID: Generate UUID

RMVBLANKS: Remove blank characters

SST-FR-NUM: Substring from first numeric character          

SST-TO-NUM: Substring to first numeric character (exclusive)

 

XML+ can use Xpath to do calculations and conversions.

 

XML+ can combine Xpath functions with these extra, predefined Xpath-functions:

DateAddDays:

(Add a number of days to a date and return the new date).

fnc:DateAddDays(/default:Invoice/cbc:IssueDate , /default:Invoice/internal:PayDays)

 

NewLine:

(Insert a new line in the resulting XML file).

concat(../internal:paytext1, '.', fnc:NewLine(), ../internal:paytext2)

 

Base64EncodeFileData:

(Convert a file into Base64 encoding and return the new data stream).

fnc:Base64EncodeFileData('/pcdata/temp/demo.pdf')

 

PropertiesFileGetByKey:

(Lookup in a properties file defined in InterForm400).

fnc:PropertiesFileGetByKey('/apf3812home/xml/translation/Zugferd-DK-UOM.xml', ../internal:dkUOM)  

 

With XML+ it is possible to import an existing XML file (or parts of it), and use that as a template, when mapping the spooled file.

 

Tell XML+ to repeat a set of nodes for each detail line found inside the input spooled file.

 

Validate the output XML file through an XSD, and/or XSLT with Xpath test.

 

The line types can handle a page break in the middle of a detail line ‘block’ via an Input line type.

 

The XML conversion is setup via an XML+ finishing definition, which is to be called in Auto Forms Control via function X.

 

Please note, that it is currently not possible to convert or copy an XML classic definition into an XML+ definition or vise versa, so you need to create the correct XML type from the start.

 

For new users, it is recommended first to read the previous section concerning the classic XML option before continuing, as the principle of the two XML options are the same, and the common details are only described for the classic XML option.

 

 

Prerequisites

 

In order to use XML+ these prerequisites must be met:

 

The XML+ Module can only be used if you are running InterForm400 with a test license code - or if you have bought this module.

 

Java 6 (or higher) must be installed on the IBM I in order to use XML+.

 

Java 7 (or higher) must be installed on the IBM I in order to validate the Norwegian EHF invoice standard.

 

Other special requirement may apply in order to validate other XML output formats.

 

 

 

Creating an XML+ Finishing Definition

 

The XML+ finishing definitions are created just like the XML Classic definitions - except you need to create the XML+ finishing definition as type:

09 = XML+ definition (XML module required)

 

The XML+ finishing definitions are called in Auto Forms Control via option X = Create XML file.

 

If you want the data retrieved from the input spooled to be depend on the page type (e.g. to get some data only from on the first page of each document), then you can define special page types. You can also define special line types e.g. to make InterForm400 add a subtree in the output XML file for each detail line found in the input spooled file.