The XML file maintenance process is the same for both EazyScan Posts and General Service Posts. The few differences between the two setups are highlighted where they occur.

 

Communication to Syspro via the e.net business objects uses a fixed XML file structure per business object. When a specific Syspro transaction is to be performed from TransLution, the right business object needs to be identified and the XML file defined in TransLution. There are various white papers that cover what the business objects are and the Syspro Support Zone also covers this in detail. This document does not cover Syspro Business Objects.

 

This process assume that the e.net diagnostic tool will be used as the source of the XML file structure. The Syspro Support Zone can also be used to access the required file structures. If using the e.net diagnostic tool, browse the list of business objects as shown below and select the BO required. This example will use the Stock Adjustment business object.

 

 

 

Click on Load XML and then on the Business Object Input tab, select all and copy all.

 

Now open TransLution and go to the ERP Setup - Business Object Maintenance menu option as shown below.

 

 

The form below will appear

 

 

Select the Add Business Object button and add the business object name - in this case INVTMA as shown below. The business object name MUST match the Syspro business object name, it is not possible to use just any name. The description field can however be used to tell the user what the business object does. This makes it possible to define the same business object name twice, using a different description each time. This is useful by allowing two different XML structures for the same business object call. For example we can use the Inventory adjsutment BO to make one call using serial numbers and another to make a call with no serial number.

 

Paste the XML file from the e.net diagnostic tool under the XML tab. Return to the diagnostic tool and copy the XML file from the Business Object Parameter tab and copy this into the the Parameters tab in TransLution.

 

There are a few things that can be done to simplify the XML file and then a few things that must be done to enable scanned data to be mapped to the correct XML tags.

 

Service Based Posting The only difference between setting up a Business Object definition for EazyScan Posting vs Service based posting is the Allow Multiple Items tag. If using as service we MUST select the Allow Multiple Items option to allow grouping of posts to occur.

 

Post as a Document - This option is for specific requirements using buffered posting from a table. We are able to do Syspro posts for items that create documents (create a Dispatch Note, Sales Order etc). This option must be selected in order to do that. This also requires the Document Header and Document Detail Tags to be defined. These are covered in the General Posting Overlay setup

 

Managing the XML File

The screen below shows the XML file tab. Considering that the stock adjustment business object is a fairly simple one, there is a lot of data in this file. This can be significantly simplified depending on the Syspro configuration that TransLution will be used with. The most obvious areas of simplification are to remove all references to Lots and Serial numbers if the Syspro implementation does not use these.

 

<?xml version="1.0" encoding="Windows-1252"?>

<!-- Copyright 1994-2008 SYSPRO Ltd.-->

<!--

This is an example XML instance to demonstrate

use of the Inventory Adjustments Business Object

-->

<PostInvAdjustments xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance" xsd:noNamespaceSchemaLocation="INVTMADOC.XSD">

<Item>

<Journal/>

<Warehouse>E</Warehouse>

<StockCode>SER200</StockCode>

<Version/>

<Release/>

<Quantity>1</Quantity>

<UnitOfMeasure/>

<Units/>

<Pieces/>

<BinLocation>E</BinLocation>

<FifoBucket/>

<Lot/>

<Reference>INV ADJ</Reference>

<Notation>Test INV adjustment</Notation>

<LedgerCode>30-5620</LedgerCode>

<PasswordForLedgerCode/>

<Serials>

<SerialNumber>BCS0510</SerialNumber>

<SerialQuantity>1</SerialQuantity>

<SerialUnits/>

<SerialPieces/>

</Serials>

<SerialAllocation>

<FromSerialNumber>0206</FromSerialNumber>

<ToSerialNumber>0214</ToSerialNumber>

<SerialQuantity>9</SerialQuantity>

</SerialAllocation>

<eSignature/>

</Item>

</PostInvAdjustments>

 

The strikethrough lines above show the items that can in most instances be removed from the XML, leaving an XML file as below:

 

<?xml version="1.0" encoding="Windows-1252"?>

<!-- Copyright 1994-2008 SYSPRO Ltd.-->

<!--

This is an example XML instance to demonstrate

use of the Inventory Adjustments Business Object

-->

<PostInvAdjustments xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance" xsd:noNamespaceSchemaLocation="INVTMADOC.XSD">

<Item>

<Journal/>

<Warehouse>E</Warehouse>

<StockCode>SER200</StockCode>

<Quantity>1</Quantity>

<Reference>INV ADJ</Reference>

<Notation>Test INV adjustment</Notation>

<LedgerCode>30-5620</LedgerCode>

</Item>

</PostInvAdjustments>

 

This is a lot more manageable and it can now be easily seen where we would want scanned data to replace a tag value or perhaps want a fixed value to be used.

For example, we may want the reference ALWAYS to be "SCAN ADJ" while we want the warehouse, quantity and stock code to be replaced by scanned values. We may even want the user to scan the ledger code. The next paragraph explains how to achieve this.

 

Each XML tag that will be replaced by a scanned value has to be enclosed in {} as shown below.

 

<?xml version="1.0" encoding="Windows-1252"?>

<!-- Copyright 1994-2008 SYSPRO Ltd.-->

<!--

This is an example XML instance to demonstrate

use of the Inventory Adjustments Business Object

-->

<PostInvAdjustments xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance" xsd:noNamespaceSchemaLocation="INVTMADOC.XSD">

<Item>

<Journal/>

<Warehouse>{Warehouse}</Warehouse>

<StockCode>(ItemCode}</StockCode>

<Quantity>{Quantity{</Quantity>

<Reference>INV ADJ</Reference>

<Notation>INV adjustment</Notation>

<LedgerCode>{LdgCode}</LedgerCode>

</Item>

</PostInvAdjustments>

 

Note that the value that will be replaced does not have to match the tag name (See item code and stock code above) but of course when doing the mapping, it makes it easier if the name at least makes sense. In the example above, the Reference and Notation value will always be INV ADJ and INV adjustment respectively but these can be replaced at the point of scanning too if required.

 

Managing the XML Parameters File

 

The standard business object parameters file for the INVTMA business object is shown below. Many of the simple transaction business objects have a very similar file structure.

 

<?xml version="1.0" encoding="Windows-1252"?>

<!-- Copyright 1994-2008 SYSPRO Ltd.-->

<!--

This is an example XML instance to demonstrate

use of the Inventory Adjustments Business Object

-->

<PostInvAdjustments xmlns:xsd="http://www.w3.org/2001/XMLSchema-instance" xsd:noNamespaceSchemaLocation="INVTMA.XSD">

<Parameters>

<TransactionDate>2006-11-28</TransactionDate>

<PhysicalCount>N</PhysicalCount>

<PostingPeriod>C</PostingPeriod>

<IgnoreWarnings>N</IgnoreWarnings>

<ApplyIfEntireDocumentValid>Y</ApplyIfEntireDocumentValid>

<ValidateOnly>N</ValidateOnly>

</Parameters>

</PostInvAdjustments>

 

The parameters file can generally be left as it is with the exception of one line - the transaction date tag. If this tag is specified as per the example above then the transaction date in Syspro is the date included in the file. However, if the tag is not specified then the transaction date is set to the current date which is the recommended option.

 

It is therefore recommended that the TransactionDate field be removed from the XML parameters file.

 

There are also times when you may require some scanned values to be used in the Parameters file as well. This is done exactly the same way as with the XML file by using a tag such as {Warehouse}.