Upload processes

Order transactions and inventory transactions share the same basic process for uploads according to the following rules:

  • There is only one qualifier (type of transaction) per message.
  • The message must always include all three levels.
  • The message number must be unique, automatically assigned by the M3 number series in 'Number Series. Open' (CRS165) or from the external system. The number series in M3 is number series type 16 and number series A for 'Internal Stock Msg. Manage' (MMS850) and number series type 17 and number series 1 for 'Order Init Stock Msg. Manage' (MHS850).

External system

Interface Transactions

  • MMIHED - Received Header (MMS850)
  • MMIIDE - Received Identities (MMS851)
  • MMIINS - Received Instructions (MMS852)

M3 Interface

Order Transactions

  • MHIHED - Received Header (MHS850)
  • MHIPAC - Received Packages (MHS851)
  • MHILIN - Received Lines (MHS852)

Inventory 'Engine' MMS870 selects function based on Message Qualifier (MMS860)

Interface 'Engine'

Order 'Engine' MHS870 selects function based on Message Qualifier (MHS860)

  • MMMNGTRA - Actual Stock
  • MMMNGMOV - Move Balance ID's
  • MMMNGRCL - Reclassification

Business Function

  • PMS050BE - MO Receipts
  • MMUPDREP - Report Issues
  • PPS300BE - Goods Receipt
  • PPS310BE - QI Inspection
  • MMMNGGRC - DO/RO Receipts
  • MHMNGRET - Customer Order Returns

Supported upload transactions

The following M3 transaction types are supported by the by API MHS850MI (Received transactions) for upload to M3.

Qualifier Connected function Description API transaction Additional info
10 PMS050BE MO Put-away AddMOReceipt MHS850MI Transaction AddMOReceipt
11 MMUPDREP MO Issue AddMOPick MHS850MI Transaction AddMOPick
11R PMS060Fnc MO Requisition Issue AddMOReqIssue MHS850MI Transaction AddMOReqIssue
13 PMS080Fnc MO By-product receipt AddMORecBy MHS850MI Transaction AddMORecBy
20 PPS300BE Receipt PO with direct put-away AddPOReceipt MHS850MI Transaction AddPOReceipt
21 PPS310BE PO Inspection AddPOInspect
21PA PPS310BE PO Inspection by Package AddPickViaPackInsp
22 PS320Fnc PO Put-away AddPOPutaway
23 PPFINMRK Close PO AddPOClose
27 PPS360 Transport Notification AddTransNotify
29 PPS365CL Shipment advice
30A MHMNGRET Report Qty for CO ret MHS850MI Customer Returns
30D MHMNGRET Dir Receipt for CO return rptd AddCOReturn MHS850MI Transaction AddCOReturn
31 MMUPDREP Issues to CO reported AddCOPick MHS850MI Transaction AddCOPick
40 MMMNGGRC Receipt for RO reported AddROReceipt
41 MMUPDREP Issues for RO reported AddROPick
50 MMMNGGRC Receipt for DO reported AddDOReceipt
50P2 MMMNGGRC DO via Pack AddDORecViaPack MHS850MI Transaction AddDORecViaPack
50PA MMMNGGRC Receipt DO Packages AddDOPackRec MHS850MI Transaction AddDOPackRec
50VR MMMNGGRC DO Receipt Add Line AddDORecOther MHS850MI Transaction AddDORecOther
51 MMUPDREP Issues for DO reported AddDOPick MHS850MI Transaction AddDOPick
51CR MMS100BE DO/RO Creation AddDO MHS850MI Transaction AddDO
61 MMUPDREP WO Issue AddWOPick
92 MMUPDREP Relocation Order Issue AddReplPick
CFMP MMUPDREP Add confirm Pick list AddCfmPickList
CFPA MMCHKPIC Pick by Package in stock AddPickByPacStk MHS850MI Transaction AddPickByPacStk
CFSL MMCHKPIC Pick by Soft packed line AddPickSftPacLn
CFVP MMUPDREP Pick via Package AddPickViaPack
PACF MMMNGPPC Put-away confirmation AddPutAwayConf
PAPA MMMNGPSM Put-away Package AddPutAwayPack
PLRN MMUPDREP Confirm Pick list by Report No AddPickViaRepNo MHS850MI Transaction AddPickViaRepNo
SUBL MMUPDREP Confirm Pick list by Sublot AddPickViaSblot
CORR MMMNGROS Correct Pick List Line AddCorrPickLine MHS850MI Transaction AddCorrPickLine

The following M3 transaction types are supported by API MMS850MI (Stock messages) for upload to M3.

Qualifier Connected function Description API transaction Additional info
0145 MMMNGTRA Actual stock
10OL PMS260BE MO report orderless AddMOOrdLess
31PS MMMNGPOS Sales report from POS
90 MMMNGTRA Actual stock AddQty
90A MMMNGTRA Stock variance +/- AddAdjust
90PC MMUPDSTO Partial count AddPartialCount MMS850MI Transaction AddPartialCount
91BL MMMNGTNK Tank cleaning AddLocClean
92 MMMNGMOV Movement balance ID AddMove MMS850MI Transaction AddMove
92AL MMMNGMOV Movement all balance IDs AddMoveAll
92PA MMMNGPSM Package movement
96 MMMNGRCL Reclassifcation status
96ST MMMNGRCL Reclassifcation status AddRclLotSts MMS850MI Transaction AddRclLotSts
97 MMMNGRCL Reclassifcation lot
98 MMMNGRCL Reclassifcation item AddReclass MMS850MI Transaction AddReclass
99 MMMNGTNK Lot blending AddLotBlend

How to execute the upload batch programs

The solution for executing the upload batch programs (MHS870/MMS870) is either event-driven or automatic using an autojob. The logic is based on the system or programs writing into M3 executing the batch job after a message, or several messages, are written to the intermediate files. The execution can be done in several ways, as follows:

  • Use the transaction MMS850MI.PrcStkTran to execute (MMS870) for internal stock messages and MHS850:PrcWhsTran to execute (MHS870) for order initiated stock messages. This is the solution M3 uses internally for incoming EDI messages via Amtrix/M3 e-Collaborator.
  • Use the field Process Flag (PRFL) with value EXE. MHS*870/MMS870 will be executed interactively.
  • Use the process flag (PRFL) with value *AUT to write to the autojob control files.

Another option is to use a job scheduler, or to create autojobs.

API MHS850MI (Received transactions)

Order transactions from the external system are recorded in M3 using API MHS850MI. MHS850MI populates the following tables:

  • MHIHED - Received Transaction Header
  • MHIPAC - Received Packages
  • MHILIN - Received Lines

MHS850MI contains several transactions that can be used to send data. There are two types of transactions, generic transactions and custom transactions. The generic transactions can be used for any qualifier and correspond to the actual upload tables (See AddWhsHead, AddWhsPack and AddWhsLine). They are flexible but more complex and might require unnecessary overhead, depending on what the user wants to achieve. The message must be structured with one AddWhsHead-message, one or several AddWhsPack-messages, and one or several AddWhsLine-messages. The custom transactions are more streamlined and the three level structures are structured automatically from one MI transaction. An example is AddCOPick where a customer order pick line is reported. The message header, package, and line are generated from this single transaction.

MHS850/851/852 can be used to display and execute messages as well as to correct invalid or incorrect data. These programs are mainly designed for testing and monitoring purposes.

Order transactions can include actions taken for customer order picks, customer order returns, DO/RO picks and receipts, manufacturing order picks and receipts, purchase order receipts, and purchase quality inspection.

(MHS850) has two additional action codes. 25 (Validate) will validate that the message contains correct information, but no 'business logic' validations will take place. This option corresponds to leaving the field 'Process flag' blank in MHS850MI. Action 21 (Execute) will 'post' that message to M3. This corresponds to Process Flag *EXE.

F14='Execute' can be used to display 'Order Init Stock Trans Msg. Select' (MHS853). This program allows for filters to be specified on what messages to process.

F15='Validate' can be also used to display (MHS853). In this situation, only validation will occur - no execution of any messages.

One more method is available to process the messages. MHS853BE can be called in a batch function, or used with a Job Scheduler. This program takes partner, warehouse, and message types as parameters.

API MMS850MI (Stock messages)

Stock messages from the external system are recorded in M3 by API MMS850MI. MMS850MI populates the following tables:

  • MMIHED - Inventory Message Header
  • MMIIDE - Inventory Identity (What is going to be processed)
  • MMIINS - Inventory Instruction (What are you going to do with that inventory)

How the message is structured does not matter as long as the following rules are obeyed:

  • Qualifiers can be mixed on the instruction level. The qualifier sequence can be used to sequence different events on the same balance ID.
  • The message must always include all three levels.
  • The message number must be unique either from the M3 number series in (CRS165) or from the external system.
  • There can only be one qualifier per instruction line. Some EDI messages, such as inventory report, can contain several qualifiers belonging to the same balance ID. In such cases, the incoming message must be split into several instruction lines, for example by IEC.

MMS850MI contains several transactions that can be used to send data. There are two types of transactions, generic transactions and custom transactions. The generic transactions can be used for any qualifier and correspond to the actual upload tables (See AddStkHead, AddStkId and AddStkIns). They are flexible but more complex and might require unnecessary overhead, depending on what the user wants to achieve. The message must be structured with one AddWhsHead-message, one or several AddWhsPack-messages, and one or several AddWhsLine-messages. The custom transactions are more streamlined and the three-level structure is created automatically from one MI transaction. An example is AddMove, where a stock movement is reported. The message header, identity, and instruction are generated from this single transaction.

MMS850/851/852 can be used to display and execute messages as well as to correct errors in the messages. These programs are mainly designed for testing and monitoring purposes.

Stock messages can include inventory adjustments, movements, and reclassifications.

Like (MHS850), (MMS850) has two additional action codes. 25='Validate' will validate that the message contains correct information. Action 21='Execute' will 'post' that message to M3 BE.

F14='Execute' can be used to display (MMS853). This program allows for filters to be specified on which messages to process. If no filters are used, all messages will be processed.

F15='Validate' can also be used to display 'Internal Stock Trans Msg. Select' (MHS853). In this case, only validation will occur - no execution of any messages.

One more method is available to process the messages. MHS853BE can be called in a batch function, or used with a Job Scheduler. This program takes partner, warehouse, and message types as parameters.