Upload processes
Order transactions and inventory transactions share the same basic process for uploads according to these 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
|
M3 Interface |
Order Transactions
|
Inventory 'Engine' MMS870 selects function based on Message Qualifier (MMS860) |
Interface 'Engine' |
Order 'Engine' MHS870 selects function based on Message Qualifier (MHS860) |
|
Business Function |
|
Supported upload transactions
These 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 | MHS850MI Transaction 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 | |
DLTP | MMUPDREP | Delete Picking List | DeletePickList | MHS850MI Transaction DeletePickList |
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 |
These 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 | |
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 complete the upload batch programs
The solution for completing 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 running the batch job after a message, or several messages, are written to the intermediate files. This can be done in several ways:
- Use the transaction MMS850MI.PrcStkTran to run (MMS870) for internal stock messages and MHS850:PrcWhsTran to run (MHS870) for order initiated stock messages. This is the solution M3 uses internally for incoming EDI messages through Amtrix/M3 e-Collaborator.
- Use the field Process Flag (PRFL) with value EXE. MHS*870/MMS870 is run 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 these 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 run 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) validates that the message contains correct information, but no 'business logic' validations takes place. This option corresponds to leaving the Process flag field blank in MHS850MI. Action 21 (Execute) sends 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 enables the filters to be specified on what messages to process.
F15='Validate' can be also used to display (MHS853). In this situation, only validation occurs, 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 these 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 these 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' validates that the message contains correct information. Action 21='Execute' sends that message to M3 BE.
F14='Execute' can be used to display (MMS853). This program enables the filters to be specified on which messages to process. If no filters are used, all messages are processed.
F15='Validate' can also be used to display 'Internal Stock Trans Msg. Select' (MHS853). In this case, only validation occurs, 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.