API Overview of M3 Transportation Execution Interface

This document describes the different API transactions available for the Transportation Execution Interface (TEI).

For detailed description about M3 Interface programs and their transactions, see the API Repository in 'MI Repository. Open' (MRS001), 'MI Transaction. Open' (MRS002), and 'MI Transaction Layout. Open' (MRS003).

M3 Transportation Execution Interface (TEI) API overview

The different API transactions described in this document are meant to be used together with the Transportation Execution Interface (TEI). With the use of these transactions, you can retrieve logistics and commercial information from M3 BE and send them to Infor Enterprise Collaborator (IEC). IEC then creates an output file to be sent to an external Transportation Execution System (TES).

Other API transactions that are not described in this document can be used in each implementation. The ones listed are the central transactions that most commonly appear in each implementation.

The following figure describes the most common APIs involved when TEI is implemented.

M3 Transportation Execution Interface (TEI) API overview

The list below should provide an overview of the most common APIs involved.

  • MYS500MI - TEI Transfer Interface

    The API is to be used from IEC to manage information about TEI transfers and send back status information to M3 BE reporting about the IEC processing. MYS500MI also contains transactions that make it possible to retrieve logistics information across several delivery numbers or shipments. This APIs usage is vital when a Transportation Execution Systems needs to combine several delivery numbers into a joint document for customs declaration for example. Another situation is when several deliveries need to be combined into one freight document.

    MYS500MI consists of the following transactions:

    Name Retrieve and summarize package information for one Delivery number grouped by different packaging IDs.
    GetHead Retrieve a list of packages for one Delivery number filtered by a series of fields.
    LstDetail Generate MFTRNS details when MWS010 field 240 (Pack report method) equals 0 (No pack reporting) or 1 (Simple pack reporting).
    LstPackGrp

    The transaction LstPackGrp interfaces the function 'Delivery. Connect Packages' (MWS423).

    The purpose of the transaction is to retrieve aggregated package information. The grouping is performed for one TEI transfer header. This means that several delivery numbers are to be merged into one output reply.

    Regarding package grouping, it is possible to request this based on the fields Packaging or Packaging type. Packaging is the identity of a specific packaging used to pack goods onto or into. Packaging is defined in 'Packaging. Open' (MMS050). Packaging type is the identity for a group of packagings used to hold them together in a logical way. Packaging type is defined in 'Packaging Type. Open' (DRS080). One simple example would be two Packagings, one small tote bin and a second large tote bin. The Packaging type would then be tote bin independent of size. The usage of these two IDs differs between implementations so the API transaction can be used to group on any of the two identities.

    The output from LstPackGrp returns information that is kept on package level, table MPTRNS presented in 'Delivery. Connect Packages' (MWS423), and is suitable for package grouping.

    No information is supplied regarding items and lot numbers packed into a group of packages. This is because one package group can contain many items and / or many lot numbers. The LstPackGrp transaction is only used for TEI transfers related to outbound or inbound delivery numbers, not purchase orders.

    LstPackages

    The transaction LstPackages interfaces the function 'Delivery. Connect Packages' (MWS423).

    The purpose of the transaction is to retrieve a list consisting of the packages for one TEI transfer header. This means that several delivery numbers are to be merged into one output reply.

    The request to list a series of packages must be done for the main keys Company (CONO), Message direction (E0IO), Direction (INOU) & TEI Transfer ID (TINR). In addition to these main keys, optional filtering on Package level (PACO), Packaging (MMS050) or Packaging type (DRS080) is possible. PACO is either filled with the level desired (000, 001 etc) or 999 if no filtering is wanted. PACT or PACK is filled with the code value that you want to filter on. All packages for one TRID are checked against the filter values and qualified / disqualified.

    The output from LstPackages returns information that is kept on package level, table MPTRNS presented in 'Delivery. Connect Packages' (MWS423). All relevant fields from MPTRNS is placed in the output.

    No information is supplied regarding items and lot numbers packed into a package. This is because one package can contain many items and / or many lot numbers.

    The LstPackages transaction is only used for TEI transfers related to outbound delivery numbers, not purchase orders or inbound distribution orders.

    LstStatNo

    The transaction LstStatNo interfaces the function 'Package Detail. Open' (MMS473).

    The purpose of the transaction is to retrieve a list consisting of the Customs statistical number, Customs procedure and Country of origin combinations for one TEI transfer header. This means that several delivery numbers are to be merged into one output reply.

    Customs statistical number, Customs procedure and Country of origin are linked to each item / facility in 'Item. Connect Facility' (MMS003). The Customs statistical number is used to group items with similar characteristics according to the customs codex. Customs procedure is used to describe the procedure used when exporting or importing goods. Country of origin identifies the country where the item originally was produced.

    The LstStatNo transaction is requested for the Company (CONO), Message direction (E0IO), Direction (INOU) & TEI Transfer ID (TINR) fields. For each delivery number, package details from MFTRNS 'Package Detail. Open' (MMS473) is used as basis for building a summary as described above. Every package detail record is analyzed and summarized accordingly.

    The output from LstStatNo returns summarized information about gross weights, net weights, volumes, amounts, currencies and number of packages.

    The pricing of the output records should be priced according to the same rules as when producing an ED document / Unit document (MWS616) and Proforma invoice (MWS630). Different rules apply depending on order category.

    The LstStatNo transaction is only used for TEI transfers related to outbound delivery numbers, not purchase orders or inbound distribution orders.

    ChgHead

    The transaction ChgHead interfaces the function 'TEI Transfer. Open' (MYS500).

    The purpose of the transaction is to enable possibilities to update a TEI transfer header record in the table MTITHE. The update is requested for the Company (CONO), Message direction (E0IO), Direction (INOU) & TEI Transfer ID (TINR) field's. The main field to update is STAT (Status). Update of status should be used from IEC to indicate that processing is started, performed initially in the IEC mapping. Another status updated is done with a "finished" status when the IEC mapping has ended successfully.

  • PPS200MI - Purchase Order Interface

    The API is used from IEC to retrieve purchase order related information. It interfaces the order header, the order lines, order line transactions, order addresses and order texts.

    PPS200MI also consist of several other transactions but these are not described here as they normally don't exist in a TEI solution.

    PPS200MI consists of the following transactions related to TEI:

    Name Description
    GetHead

    The transaction GetHead interfaces the function 'Purchase Order. Open' (PPS200).

    The purpose of the transaction is to enable retrieval of PO header information.

    GetAddresses

    The transaction GetAddresses interfaces the function 'Purchase Order. Open' (PPS200).

    The purpose of the transaction is to enable retrieval of all addreses connected to a PO header. The address information is presented in (PPS200/G).

    LstLine

    The transaction LstLine interfaces the function 'Purchase Order. Open Lines' (PPS201).

    The purpose of the transaction is retrieve a list of all lines connected to a PO header with it's related information.

    GetLineTrans

    The transaction GetLineTransaction interfaces the function 'Purchase Order. Display Line Trans' (PPS330).

    The purpose of the transaction is to enable retrieval of a single good receipt transaction. GetLineTrans is used to retrieve information from the MPLIND table, viewed in 'Purchase Order. Display Line Trans' (PPS330). The mandatory keys needed to return a single goods receipt transaction are PO number and a full Receiving number.

    The output consists of the information from the MPLIND table.

    LstLineTrans

    The transaction LstLineTransaction interfaces the function 'Purchase Order. Display Line Trans' (PPS330).

    The purpose of the transaction is to return the same output as transaction GetLineTrans. The only difference is that the input field Receiving number can be used as a prefix field where the last three digits are set to zero. This indicates that an output is requested for all Receiving numbers with the requested prefix.

    Apart from the difference in input fields, the same rules apply as for GetLineTrans.

  • MMS200MI - Item Toolbox Interface

    The API is used from IEC to retrieve item master data.

    MMS200MI also consist of several other transactions but these are not described here as they normally don't exist in a TEI solution.

    MMS200MI consists of the following transaction related to TEI:

    Name Comment
    GetItmBasic Retrieve item related information viewed in (MMS001).
    GetItmFac Retrieve item / facility related information viewed in (MMS003).
  • MWS410MI - Delivery Toolbox Interface

    The API is used from IEC to get information about a specific delivery number. Initially overall delivery and address information is normally retrieved. Secondly package information can be retrieved both on detail level and on aggregated level.

    MWS410MI also consists of several other transactions but these are not described here as they normally don't exist in a TEI solution.

    MWS410MI consists of the following transactions related to TEI:

    Name Description
    GetHead

    The transaction GetHead interfaces the function 'Delivery. Open Toolbox' (MWS410).

    The purpose of the transaction is to retrieve information connected to a single Delivery number.

    The GetHead transaction is only used for outbound delivery numbers, not purchase orders or inbound distribution orders.

    GetPackage

    The transaction GetPackage interfaces the function 'Delivery. Connect Packages' (MWS423).

    The purpose of the transaction is to retrieve a single package for one specific Delivery number.

    The main key field's that enables access to a package record are the Company (CONO), Delivery number (DLIX) and Package number (PANR) fields.

    The GetPackage transaction is only used for outbound delivery numbers, not purchase orders or inbound distribution orders.

    LstItem

    The transaction LstItem interfaces the function 'Package Detail. Open' (MMS473).

    The purpose of the transaction is to retrieve a list of item numbers for one Delivery number. The information is aggregated, based on MFTRNS information, initially per item number. If required, aggregation can be requested per Item and Customer order number or Item and Customer order number and Lot number. These two last options are specific requirements from the dispatch advice function and are normally not used in a TEI scenario.

    The LstItem transaction is only used for outbound delivery numbers, not purchase orders or inbound distribution orders.

    GetAdr

    The transaction GetAdr interfaces the function 'Delivery. Open Toolbox' (MWS410).

    The purpose of the transaction is to retrieve address information connected to a single Delivery number.

    The GetHead transaction is only used for outbound delivery numbers, not purchase orders or inbound distribution orders.

  • MWS423MI - Package Interface

    The API is used from IEC to get information about packages for a specific delivery number. This API usage is vital when a Transportation Execution Systems needs summarized or individual package information to produce freight document, and package labels for a specific delivery.

    In MYS500MI similar transactions exist that performs the same business logic but for a range of delivery numbers.

    MWS423MI also consist of several other transactions but these are not described here as they normally don't exist in a TEI solution.

    MWS423MI consists of the following transactions related to TEI:

    Name Description
    LstPackGrp

    The transaction LstPackGrp interfaces the function 'Delivery. Connect Packages' (MWS423).

    The purpose of the transaction is to retrieve aggregated package information. The grouping is to be done for one Delivery number.

    Regarding package grouping, it is possible to request this based on the fields Packaging or Packaging type. Packaging is the identity of a specific packaging used to pack goods onto or into. Packaging is defined in 'Packaging. Open' (MMS050). Packaging type is the identity for a group of packagings used to hold them together in a logical way. Packaging type is defined in 'Packaging Type. Open' (DRS080). One simple example would be two Packagings, one small tote bin and a second large tote bin. The Packaging type would then be tote bin independent of size. The usage of these two IDs differs between implementations so the API transaction can be used to group on any of the two identities.

    The output from LstPackGrp returns information that is kept on package level, table MPTRNS presented in 'Delivery. Connect Packages' (MWS423), and is suitable for package grouping.

    No information is supplied regarding items and lot numbers packed into a group of packages. This is because one package group can contain many items and / or many lot numbers.

    The LstPackGrp transaction is only used for outbound or inbound delivery numbers, not purchase orders.

    LstPackages

    The transaction LstPackages interfaces the function 'Delivery. Connect Packages' (MWS423).

    The purpose of the transaction is to retrieve a list consisting of the packages for one Delivery number.

    The request to list a series of packages is done for the main keys Company (CONO), Direction (INOU) & Delivery number (DLIX). In addition to these main keys, optional filtering on Package level (PACO), Packaging (MMS050) or Packaging type (DRS080) is possible. PACO is either filled with the level desired (000, 001 etc) or 999 if no filtering is wanted. PACT or PACK is filled with the code value that you want to filter on. All packages for one DLIX are checked against the filter values and qualified / disqualified.

    The output from LstPackages returns information that is kept on package level, table MPTRNS presented in 'Delivery. Connect Packages' (MWS423). All relevant fields from MPTRNS is placed in the output.

    No information is supplied regarding items and lot numbers packed into a package. This is because one package can contain many items and / or many lot numbers.

    The LstPackages transaction is only used for outbound delivery numbers, not purchase orders or inbound distribution orders.

    GenPackDetail

    The transaction GenPackDetail interfaces the function 'Package Detail. Open' (MMS473).

    The purpose of the transaction is to generate package detail data for one Delivery number. The transaction is to be used when the Packing report method (MWS010 field 240 / SHLV) and OQSHLV is set to use simple packing or no packing, value 1 or 0.

    The transaction will create necessary information in MFTRNS (MMS473) and MPTRNS (MWS423) so that later API calls have mandatory MFTRNS information.

  • CRS610MI - Customer Interface

    The API is used from IEC to retrieve customer related information.

    CRS610MI also consist of several other transactions but these are not described here as they normally don't exist in a TEI solution.

    CRS610MI consists of the following transactions related to TEI:

    Name Comment
    GetBasicData Retrieve basic customer information.
    GetFinancialData Retrieve customer information in relation to financial accounting.
  • CRS045MI - Country Interface

    The API is used from IEC to retrieve country basic data.

    CRS045MI consists of the following transaction related to TEI:

    Name Comment
    GetBasicData Retrieve a selected country and it's related information.
  • CRS175MI - Cross-Application Basic Data Interface

    The API is used from IEC to retrieve several types of basic data. As several basic data values are stored in one physical table (CSYTAB) this transaction retrieves selective records from CSYTAB.

    CRS175MI also consist of several other transactions but these are not described here as they normally don't exist in a TEI solution.

    CRS175MI consists of the following transaction related to TEI:

    Name Comment
    LstGeneralCode List basic data from the system table CSYTAB based on a selected constant value.
  • MNS100MI - Division Interface

    This transaction is part of the template map.

    The API is used from IEC to retrieve division master data.

    MMS200MI consists of the following transaction related to TEI:

    Name Comment
    GetBasicData Retrieve basic data for a Division as presented in (MNS100).