Stock L3 is updated on issue via the interfaces:
Stock L3 can be levelled (automatically or manually) with stock L2 via the interfaces :
An interface is an information exchange protocol between two separate applications.
There are import and export interfaces. Import interfaces integrate L3 data into SAGE Warehousing while export interfaces upload information from SAGE Warehousing to L3.
Import interfaces can follow 3 different operating modes:
Exchanges between L3 and L2 take place in the form of flat files according to the following principle:
Import: Warehousing processes those files that have been previously placed by L3 in the folders (or directories) defined for each interface flow.
Export: Warehousing makes the files available for L3 in the folders (or directories) defined for each interface flow. L3 has to recover these files.
The directories that accommodate the interfaced data can be entirely set up. They are still set up as follows:
As far as the imported files are concerned:
As far as the exported files are concerned:
Irrespective of the interface flow, the export can be limited to some combinations (site, depositor)
The standard interfaces relating to the EIs and DOs are conditioned by a "L3 transmission" parameter of the movement code.
Specific activation conditions can be associated with some flows. They are then specified for the flow concerned.
The "INT" chapter is used to configure the interfaces for the folder as a whole or for a specific site. All the parametrs are subdivied into 3 groups:
1. EXP Export interface
Parameter code | Parameter | Definition | Default values |
INTXAJM | Adjustments | Used to specify an interface in particular. If it is empty, the standard interface (XAJM) is used. |
|
INTXBOM | Assembly report | Used to specify an interface in particular. If it is empty, the standard interface (XBOM) is used. |
|
INTXCRR | Transmission report | Used to specify an interface in particular. If it is empty, the standard interface (XCRR) is used. |
|
INTXDLO | Picking report | Used to specify an interface in particular. If it is empty, the standard interface (XDLO) is used. |
|
INTXEIN | Receipt report | Used to specify an interface in particular. If it is empty, the standard interface (XEIN) is used. |
|
INTXEND | End DO | Used to specify an interface in particular. If it is empty, the standard interface (XEIN) is used. |
|
INTXINP | Storing report | Used to specify an interface in particular. If it is empty, the standard interface (XINP) is used. |
|
INTXINV | Pre-invoice | Used to specify an interface in particular. If it is empty, the standard interface (XINV) is used. |
|
INTXISO | Stock image | Used to specify an interface in particular. If it is empty, the standard interface (XISO) is used. |
|
INTXSHP | Shipment report | Used to specify an interface in particular. If it is empty, the standard interface (XSHP) is used. |
|
2. MIS Miscellaneous
Parameter code | Parameter | Definition | Default values |
DFTVALDOH1 | Value by default DLVNAM(0) | Value by default of company name relating to DO recipient's address |
|
DFTVALDOH2 | Value by default DLVADD(0) | Default value of 1st line of DO recipient's address |
|
EXPFILMAX | Export file maximum (kb) | Maximum size of the export file | 512 |
EXPSNGITL | Single batch export | If yes, a file is created by interface batch. | No |
FILNBR | File number | Version of the file (fic001 ou fic01…). This parameter provides the incrementation length of the file version. For instance, if the value is set to "1", the tenth file will erase the first. | 3 |
ITASLEEP | Wait time 1 | Only used on import. Minimum wait time between 2 reads of the import directory. A new search cycle is only launched if at least "ITASLEEP" secondes.have elapsed since the previous cycle. | 1 |
ITAWAIT | Wait time 2 | Minimum wait time (in seconds) between 2 search cycles in the absence of any interface processed during the previous cycle (no interface batch processing, no detection of new flat files on receipt). | 0 |
TRMPROCTL | L3 download flow control | enables activation or non activation of L3 download flow control. | NO |
Difference between ITASLEEP and ITAWAIT
In the INTERFACE processing, a loop runs on the various interfaces. This loop processes in priority the interface batches that already exist with the status '1-To be processed', either to integrate them to the DB for an interface on receipt, or to create flat files in the EXPREP directory for an interface on issue. For an interface on receipt, in the absence of any batch to be processed, a search is conducted to check if new flat files have been placed in the IMPREP directory. If this is the case, new interface batches are created from these flat files.
This search for new flat files in the IMPREP directory implies the launch of a resource-consuming system order. If this takes place too often, the resources of the machine are overused for very few files recovered each time. If this takes place less often, the resources of the machine are less exhausted for more files recovered each time, but the response time is longer.
The 1st time this search is supposed to take place for an interface loop, it is checked if ITASLEEP seconds have elapsed since the last time this question was raised and the answer was Yes. If ITASLEEP seconds have elapsed, this search will be conducted in this interface loop. Otherwise, the search will be conducted in a next loop when ITASLEEP seconds have elapsed.
If a complete blank loop is run (without interface batch processing nor detection of new flat files on receipt), ITAWAIT seconds need to have elpased before a new loop is restarted.
3. REP Directory and extension
Parameter code | Parameter | Definition | Default values |
EXPEXT | Export file extension | Value of the extension of the file generated by GX on export. | exp |
EXPREP | Export directory | Directory where the files for the benefit of L3 are located | SHIP |
EXPEXTXML | Export file extension xml | Value of the extension of the file generated by GX upon xml export | xml |
EXPTRTREP | Export processing directory | Temporary directory where the export processings are written before being moved to the export directory. | EXPTRT |
EXPBAKREP | Export backup directory | Directory where the files for the benefit of L3 are located for control purposes | EXPBAK |
IMPEXT | Import file extension | Value of the extension of the file to be generated by L3 on import | imp |
IMPEXTXML | xml import file extension | Extension value of the file to be generated by L3 upon xml import | xml |
IMPREP | Import directory | Directory where the files should be transmitted to be processed by Warehousing | IMP |
IMPTRTREP | Import processing directory | Temporary directory where the imported files are processed before being moved to the import directory | IMPTRT |
IMPERRREP | Import error directory | Directory of the import files which generated "technical" errors | IMPERR |
IMPBAKREP | Import destination directory | Backup directory of the import files which did not generate any error (before being integrated to the interface table) | IMPBAK |
IMGEXT | Image file extension | Extension of the image files managed for the product interface | jpg |
IMGREP | Image directory | Directory where to look for images to be loaded for the product interface | jpg |
For each interface template to be used, the setup to be applied should be defined accurately. For that purpose, it is recommended to duplicate the existing setup in order to keep the reference setup.
All the interfaces defined for a site or a site/depositor combination are listed (to be entered in the "Environment" tab). By default ((value "*" for sites and depositor), the interfaces will be generated indentically for all the sites and depositors of the sites of a folder.
The information displayed on the screen specifies:
It is therefore possible for depositors and/or separate sites to set up different interface names and thus different names for files placed in separate directories. For instance, XSHP01 for depositor 01, with template XSHP01, and interface XSHP02 for depositor 02, with template XSHP02.
Interface code | Interface code | From | Title |
L3 => L2 | ITM | Standard Edition | Products and containers |
L3 => L2 | EIN | Standard Edition | Expected inputs |
L3 => L2 | INP | Standard Edition | Direct inputs |
L2 => L3 | XEIN | Standard Edition | Receipt report |
L2 => L3 | XINP | Standard Edition | Putaway report |
L3 => L2 | DLO | Standard Edition | Delivery Orders (DO) |
L2 => L3 | XDLO | Standard Edition | Picking report |
L2 => L3 | XSHP | Standard Edition | Shipment report |
L2 => L3 | XEND | Standard Edition | End DO |
L2 => L3 | XCRR | Standard Edition | Carriage report |
L2 => L3 | XAJM | Standard Edition | Stock adjustment report |
L2 => L3 | XISO | Standard Edition | Stock image |
L3 => L2 | INISLO | Standard Edition | Location initialization |
L3 => L2 | INISKO | Standard Edition | Stock initialization |
L2 => L3 | XINV | Advanced Edition | Logistical pre-invoice (GEOPLO) |
L3 => L2 | EDH | Premium Edition | Carrier EDI |
L3 => L2 | BOM | Premium Edition | Assembling order |
L2 => L3 | XBOM | Premium Edition | Assembling report |
|
|
|
|
For all the interfaces via file exchange, the General tab is used to describe how Sage Warehousing reads the structure of the interface file in the interface template.
The second tab lists the fields in the SAGE Warehousing tables that need to be imported/exported.
The following elements are specified for each table: an action code "$" that will be equal to Create/Modify/Delete (values 1, 2 or 3), a separation code "/" that specifies the start of the fields of another table, for instance "E" (E for French Header)) or "L" (L for Line associated with a header), "P" for associated Parcels.
The structure of the template can be modified: adding or deleting a field within the same table of the template is quite possible. The positions of the framework should simply be recalculated via right click on the mouse ("Position adjustment", to be performed systematically in case of template modification).
It is strongly recommended to systematically transmit the identifiers of the action code; record type, site, depositor.
Definition of the Structure:
The structure of the information within a record is defined for each interface template:
Identifiers
Used to define the code allowing the identification of the record type transmitted at interface level. These codes are specified in standard according to the SAGE Warehousing requirements. They cannot be modified in standard.
Transcoding
Function "Default values"
This function is used for the interfaces on import and creation modes. It assigns default values to certain fields, and namely to compulsory values.
If L3 does not manage some compulsory information in Warehousing (entry mode, output mode...), it will transmit a "$" in the corresponding field, and the system will replace it with the default value that has been set up.
If a value is transmitted, it is taken into account, otherwise, the system checks if there is any default value to take into account, otherwise the entry processing is taken into account.
The detail of the correspondences between the interface and the window(s) where the default values need to be defined is given below:
Interfaces | Windows |
ITM (Products and product containers) | OITM (Products) |
EIN (EI) | OEIN (EI Header) |
INP (DI) | OINH (DI header) |
DLO (DO) | ODOH (DO header) |
INISLO (location assignment) | OSLO (Locations) |
INISKO (Stock initialization) | OAJM (Adjustments) |
Function "Default reception mode"
The function is used for the EIN (expected entries) interface. In the case where the reception mode is not sent by L3, a default reception mode is affected according to the EA mvt code.
This functionality can be activated with flag "Default reception modes" defined at depositor level (General tab).
For more information, refer to the corresponding function help.
Function "Default preparation mode"
This function is used for the interface DO (Delivery Orders). In the case where the preparation mode is not sent by L3, a default preparation mode is affected according to DO criteria (mvt code, Order customer, Company name, Carrier, Transport mode and number of existing DO lines).
It should be noted that the function also determines the DO management mode (palletization, Loading, Shipment, Remaining quantity, Release lead-time and Generic round)
This functionality can be activated with flag "Default preparation mode" defined at depositor level (General tab).
For more information, refer to the corresponding function help.
In the case where the system cannot determine a defaut preparation mode, then the system tries to determine a mode through the "Default values" standard function. If not possible, then the interface fails.
The following topics will be broached:
The interface processings are launched manually or via recurring tasks (launched with a period to be set up), for a single interface or for all the interfaces. In the latter case, the interfaces are processed by flow type according to a sequence to be set up, and, on import for a given flow type, in the ascending order of the file numbers.
IMPORT
The import processing is subdivided into 2 stages:
EXPORT
The export processing is also subdivided into 2 stages:
This function is used to manually purge the interface files stored in the various directories, specified as parameter values (chapter INT) by mentioning a conservation period expressed in days.
A standard function is used for the inquiry and management of the interface batches. It provides a summarized view of the status of each interface depending on whether they are on input, output or both (input and output).
The following statuses are possible:
An interface with the initial status "To be processed" can have the following statuses:
Status | Value | Next status |
To be processed: | 1 | Import Export |
Processed | 2 | - |
Integration errror | 3 | 1, 4 |
Processed error | 4 | - |
Import error | 5 | 1, 4 |
Export error | 6 | 1, 4 |
Blocked | 7 | 1 |
Clicking on the magnifier at the end of each interface line is used to zoom in on the details of these lines.
Operating principle:
1. Select the interface in the list displayed in the Interfaces tab.
Site, depositor, interface code, setup name are displayed. The interface status is also displayed.
2. Then view the detail of the batches of this interface in the Batches tab.
The reference is the batch identifier. It usually is the reference of the Expected Input, Direct Input, Delivery Order, Product code.
The number refers to the identification of each record. The file refers to the generated or integrated file. If it is not assigned, it means that the record has the status "To be processed".
The date and time of creation relate to the data integration date into the interface table. The date and time of modification relate to the integration of the data into the operating tables.
3. Finally view the details of the lines of the previously selected batch in the Lines tab
This screen also alllows these interfaces to be managed. In this way the "faulty" batches can be manually switched to the status "Processed error" or "To be processed" via right click on the batch in question.
The INTERFACE batch task is used to automatically manage the interface files (read of the interface directories, import and export of the interface files).
This batch task can be stopped/started externally to the Warehousing product thanks to the implementation of a cookie file system with the following rules:
1) Upon starting the INTERFACE batch task, addition of a cookie file in the directory of file ("/FIL/INTERFACE.run")
2) Following the placing of the following cookie file: "FIL/INTERFACE.stop" in the folder directory, the automatic stop of the task of the corresponding folder is only carried out after processing an entire cycle of the active interface setup in receipt/emission mode).
3) Following the placing of the following cookie file: "FIL/INTERFACE.kill" in the folder directory, the automatic stop of the task of the corresponding folder is carried out as soon as an interface batch has been completely processed.
Likewise, stopping the batch server by placing the following cookie file: "/SERVGX/FIL/kill" would previously stop the INTERFACE batch task.
The names of the interface files are defined as follows:
An interface files contains multiple records.
The record end separator is a parameter of the interface template.
Concerning 2-level interfaces such as the product interface (product and container levels) or the delivery order interface (request header and request line):
This data needs to be set up (see the Setup chapter).
Since the position and selection of the fields can be modified, this document is an example of structure of the files. On the other hand, the functional management rules associated with the fields are constant for the imports. The structure described in this document is the one of the delineated frames (as opposed to the fixed length frames). The record separator is the carriage return (not specified in each frame description).
Import action code
Checks are performed with respect to this code and other functional checks are run according to the context.
Management rules
To delete a parent entity (a DO, a product, an EI or a DI), the header should be transmitted with the action code = ‘3’ = deletion (in this case the child entities will be deleted automatically).
To delete a child entity (a DO line, a product container, an EI line, a DI line), the header should be transmitted with the action code = ‘4’ = read and the code of the line to be deleted = ‘3’ = deletion. To delete all the child entities, the parent entity should be deleted first.
To modify them, the same principle is applied. It remains nevertheless possible to modify certain fields without impacting others by transmitting the entity to be modified with an action code equal to ‘2’ = modification, and then specifying the code defined in the template in those fields that should not be modified.
To delete data on import, it is impossible to delete a parent entity (product for instance) if it is used by an associated entity (stock object, stock movement, etc.).
For creation or modification purposes, it is possible to assign default values to a non-transmitted field of an interface.
If part of a batch is rejected, the entire batch is not integrated. For example: if a DO line is rejected, the order as a whole will be rejected.
To modify data on import (headers and/or lines), if the information is transmitted, the content of the filed updates that of Warehousing.
To avoid updating data modified in Warehousing, it is possible to transmit a character in the field (to be set up) so as to specify that the field should not be modified.
To properly manage the modifications without changing templates, the same structure as on creation mode should be transmitted while specifying those data modified by L3. The other data are transmitted with the value "non modifiable fields".