Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Version History

« Previous Version 20 Next »

Description

The flow describes the arrangement of new purchase order and return order, as well as change and cancellation.

Return orders are handled as a customer order type in LXIR and as a purchase order type in the EWS. Everything that is called the purchase order or row below also applies to return orders.

Purchase orders are called Call-off orders in LXIR.

Addition of new purchase order line / return order line cannot be done.

Change of purchase order / return order can be made. This occurs when changing the delivery date and or number. Cancellation can be made by full purchase order / return order but not line. However, cancellation of the purchase order line / return order line takes place during partial storage as the old line is replaced with a new one and this in order to reduce the risk of mis-storage. If DELVRY arrives at the ready-marked line, it must be rejected and alerted.

No feedback is made from the EWS in addition to the submission of registration.

A PURORD does not have to mean that there will be a DELVRY in response to all purchase order lines / return order lines, but the answer to these can come in several separate DELVRY messages. This happens when certain lines in a PURORD are answered but not all simultaneously. There should be no more answers with reference to the same POR and associated sequence number in different messages. If this happens, the answer must be rejected and an alarm added to the error log. On the other hand, there may be several answers to the same purchase order line / return order line and sequence number in the same message.

LXIR EWS only works with balances, not the term "be".

Simple flow chart

NEW PURCHASE ORDER

CHANGE PURCHASE ORDER
CANCEL PURCHASE ORDER

NEW RETURNS

CHANGE RETURNS

CANCEL RETURNS

Message Triggering
Purchase Order
All triggerings are created by events in LXIR.
  • New : Call-off orders against EWS-controlled warehouses are created. Call-off orders are sent immediately to LWS / EWS.
  • Change : When changing the above call order (the entire order or single line) in the ArrivalDate and OrderQuantity fields, a modified purchase order is immediately sent to the EWS.
  • Cancellation : Upon cancellation of the above call-off order, a cancellation is sent to the EWS immediately. Only entire user interface purchase orders can be canceled.
Return order

All triggerings are created by events in LXIR.

  • New : Return order against EWS controlled stock is created. Return orders are sent immediately to the EWS.
  • Change : When changing the above order (the entire order or single line) in the ArrivalDate and OrderQuantity fields, a changed return order is sent to the EWS immediately.
  • Cancellation : Upon cancellation of the above return order, a cancellation is sent to the EWS immediately. Only whole return order from user interface can be canceled.
Requirements
  • Purchase orders and return orders always start from LXIR.
  • The article must be posted
  • The supplier must be registered
  • The client must be registered as a supplier (for return orders)
  • Upon return order, client is sent as supplier number (SupplierId)
Specifications

XML structure

 LXIRSubOrder (1)

 Envelope (1) LXIRSubOrder

Attribute

Code

Mand

Explanation

Lxir

EWS

Comment

FromPartner


Y

From system

X

X


FromPartnerUser


Y

Users from system / client

X

X


ToPartner


Y

To system

X

X


ToPartnerUser


Y

User System / Client

X

X


DateTime


N

Time to create the message (YY-MM-DD hh: mm)

X

X


ReferensNumber


Y

The reference number of the message

X

X


InterchangeTest


N


-

-

deleted

LXIRSubOrder Header (1-999)

HeaderInfo (1) LXIRSubOrder

Attribute

Code

Mand

Explanation

Lxir

EWS

Comment

DocumentNumber


Y

Callback reference number

X

X


DocumentName

PURORD

Y

Call-off name: PURORD

X

X


CreationDate


N


-

X


Header SubOrderHeader (1)

LXIRSubOrder Header SubOrderHeader SubOrderHeaderInfo (1)

Attribute

Code

Mand

Explanation

Lxir

EWS

Comment

OrderNumber


Y

Purchase order number alt. Return Order Number. See note below.

X

X


OrderType


IN 
RV 
KR

Y

Purchase Order Type 
IN = Normal 
RV 
= Claim Order KR = Return Order

X

X

X

X

X

X

-

X


SupplierId


Y

Supplier Number. For return orders, client time is sent (see requirement)

X

X


SupplierName


N

Name of supplier

X

X


WarehouseId

ass

Y

Warehouse short name in / EWS

X

X


ArrivalDate


Y

Expected delivery date (YY-MM-DD hh: mm)

X

X


SupplierOrderNumber


N

Order number from supplier


X


Reference


N

Reference


X


Notes


N

Public notes

X

X


InternalNotes


N

Internal notes

X

X


SequenceNumber
N



WarehouseSection
N



ExternalOrderNumber
N



HeaderAds (1) LXIRSubOrder

Attribute

Code

Mand

Explanation

Lxir

EWS

Comment

OperationCode


1

2

3

0

Y

Type 
New purchase order / return order 
Change purchase order / return order Cancel 
purchase order / return order 
No handling. Used when the purchase order line / return order line is changed

X

X

X

X

X

X

X

X

X

X


LXIRSubOrder Header SubOrderHeader SubOrderRow (1-99999)

SubOrderRowInfo (1) LXIRSubOrder

Attribute

Code

Mand

Explanation

Lxir

EWS

Comment

OrderPosition


Y

Purchase order line alt. Returorderrad

X

X


OrderSubPosition


Y

Sub-item to the purchase order line / return order line.

X

X


OwnerNumber


Y

Client affiliation, ex.NASE (VMI)

X

X


ArticleId


Y

Article

X

X


PackageId


ST

M

Y

Unit 
ST = Piece

M = Meter

X

X


OrderQuantity


Y

Ordered quantity

X

X

Always in stock unit

RevisionCode


N


-

-


SupplierArticleId


N

The supplier's item number. Not sent on return orders

X

X


ArrivalDate


Y

Expected delivery date (YY-MM-DD hh: mm)

X

X


SubOrderRowAdditions (1) LXIRSubOrder

Attribute

Code

Mand

Explanation

Lxir

EWS

Comment

OperationCode


1 
2 
3

Y

Type 
New order of purchase order line / return order line 
Change of purchase order line / return order line Cancel 
purchase order line / return order line

X

X

X

X

X

X

X

X



LXIRSubOrder Header SubOrderHeader SubOrderRowPreAdvice(0-99999)

Attribute

Code

Mand

Explanation

Lxir

EWS

Comment

OrderPosition


Y

Purchase order line alt. Returorderrad

X

X

v9.10

SubOrderRowPreAdviceInfo(1-99999) LXIRSubOrder

Attribute

Code

Mand

Explanation

Lxir

EWS

Comment

SerialNumber


N


X

X


BatchNumber
N
XX
BestBeforeDate
N
XX

PalletInfo


N


X

X

v9.11

PackageInfo
N
XXv9.11
IMEINumber
N
?Xv9.11
MacAddress
N
?Xv9.11

AntiTheftID


N


?

X

v9.11

UUID
N
?Xv9.11
WLANMAC
N
?Xv9.11
MSPKID
N
?Xv9.11
OrderType

Here, "IN" is always sent if it is a call-off and "RV" or "KR" if it is a return order. (RV refers to Return order Claim, KR refers to Return Order Known and Return order unknown)

OperationCode

The following OperationCode combinations on head and row level are allowed for purchase orders / return orders

Type

Head

Row

New order of purchase order / return order

1

1

Removing all rows

3

Not sent

Change of one or more rows

0

2

Change of both head and rows

2

2

Change of purchase order header / return order header

2

Not sent

Removal of one or more rows (cleaning)

0

3

When changing lines / rows, only these rows are sent down.

Cleaning

When a PURORD can be counted as completed, the response has arrived on all lines as expected, a cleaning message should immediately be sent to the EWS. This message should be viewed as a cancellation of the entire purchase order / return order. This is done by sending a PURORD with only the following information at the main level

OperationCode: 3

OrderNumber: Current

Sub-storage: (LXIR only)

What can happen when checking DELVER is that only a part of the expected number on the line came up. Partial storage and then the following should happen if there is no information that it is OK with a certain percentage deviation.

The same order head must be sent but with:

OperationCode: 0 (Nolla).


The line delineated is now to be canceled immediately and this is done on POR by sending the following:

SubOrderHeader SubOrderRow SubOrderRowAdditions OperationCode: 3

OrderPosition: Current row

OrderSubPosition: Current subpos


Then it's time to put up a new POR as the original but now with

SubOrderHeader SubOrderRow SubOrderRowAdditions OperationCode: 1

OrderPosition: Current row

OrderSubPosition: Increase by 1

OrderQuantity: The number that did not arrive.

ArrivalDate

Delivery date is available on both main level and row level. For new layouts, these have the same dates, but this can be changed in two ways:

  1. All lines change dates and head dates. (Change delivery date for the entire purchase order / return order)
  2. Single line changes date.
LXIRSubOrderResult, DELVRY

XML structure

LXIRSubOrderResult (1)

Envelope (1) LXIRSubOrderResult

Attribute

Code

Mand

Explanation

Lxir

EWS

Comment

FromPartner


Y

From system

X

X


FromPartnerUser


Y

Users from system / client

X

X


ToPartner


Y

To system

X

X


ToPartnerUser


Y

User System / Client

X

X


DateTime


N

Time to create the message (YY-MM-DD hh: mm)

X

X


ReferensNumber


Y

The reference number of the message

X

X


InterchangeTest


N

Indicates test message

X

X


Header (1)

HeaderInfo (1)

Attribute

Code

MAN

Explanation

Lxir

EWS

Comment

CreationDate


Y

Created date

X

X


DocumentNumber


Y

Call-off message reference number

X

X


DocumentName

DELVER

Y

Name of call-off message: DELVER

X

X


LXIRSubOrderResult \ t

SubOrderHeaderInfo (1) LXIRSubOrderResult

Attribute

Code

Mand

Explanation

Lxir

EWS

Comment

DeliveryNumber


N

Delivery identity. Not treated

-

X


WareHouseId


Y

Warehouse short name in EWS

X

X


ArrivalDate


Y

Time for start of delivery registration

X

X


SupplierId


N


X

X


OrderNumber


Y

Purchase order number / Return order number

X

X


ExternalOrderNumber
NExternal order numberX

SequenceNumber


Y

Purchase order / return order sequence number

X



OrderType


IN 
RV 
KR

Y

Purchase Order Type 
IN = Normal 
RV 
= Claim Order KR = Return Order

X

X

X

X

X

X

X

X


WarehouseSection


N

CAMPSITE

X



DeliveryNote


N

Comments from warehouse personnel regarding delivery note. No handling LXIR

X

X


ConsNote


N

Waybill number. No handling LXIR.

X

X


Employee



Employee who receives the delivery

-

X


CancelRemaining

0

1

NWill cancel all rows not received in this messageX

SubOrderRow (1-99999) LXIRSubOrderResult

SubOrderRowInfo (1) LXIRSubOrderResult SubOrderRowInfo

Attribute

Code

Mand

Explanation

Lxir

EWS

Comment

ArticleId


Y

Article

X

X


OwnerNumber


Y

Client name in EWS (Item owner)

X

X


PackageId


ST 
M

Y

Unit 
ST = Piece 
M = Meter

X

X

X

X

X

X


DeliveredQuantity


Y

Delivered amount. Total, included with possibly blocked in .. DeliveryBlocked BlockedQuantity

X

X


OrderPosition


Y

Line position

X

X


OrderSubPosition


Y

Row Subposition

X

X


OrderNumber


Y

Purchase order number / Return order number

X

X


RevisionCode


N

revision code

X

X


CustomerNumber


N

Customer number, not used

X

X


SupplierArticleId


N

The supplier's item number

X

X


AddressIdentity


N

Address identity, not used

X

X


ItemId


N

Vending Identity

-

-


Weight


N

Weight

X

X


CancelRemainingRow

0

1

NIf true, the remaining part of a partially received row will be cancelled. Default is false. Default behavior is to handle remaining part of a row as a new sub position to be handled later.X

IMEINumber
N

X

v9.10

MacAddress
N

Xv9.10
AntiTheftID
N

Xv9.10
UUID
N

Xv9.11
WLANMAC
N

Xv9.11
MSPKID
N

Xv9.11



DeliveryBlocked (0-1) LXIRSubOrderResult

Attribute

Code

Mand

Explanation

Lxir

EWS

Comment

BlockCode

XX

Y

However, different codes should be handled as a block regardless of code

X

-


PackageId

ST

Y

Unit

X

-


BlockedQuantity



Blocked number

X

-


BlockReason
NBlockReason
Repair
Broken
Damage Package
Bad quality

X
DeliveryBlocked

The element is optional. This can be seen as an ITECHG being sent with blocking of balance directly upon delivery.

Delivery

To check the response to a purchase order / return order, reference is made to the line with OrderNumber + OrderPosition + OrderSubPosition.


The answer to a line can come "split". That is, a row that is sent down with expected delivery of eg 300pcs can then come back with three rows of 100pcs on each. However, the answer to a line will always be collected within one and the same message. In this case of split, all rows have the same OrderPosition + OrderSubPosition, ie these do not count in the answer.

Over-delivery

Over-delivery is not allowed, parent system must be updated and changed line sent before placing in storage.

XSD files (Lxir Sub Order)


XSD Files (Lxir Sub Order Result)


Examples
LXIR SubOrder

<? xml version = "1.0" encoding = "UTF-8"?>

- < LXIRSubOrder >

< Envelope FromPartner = " XOE " FromPartnerUser = " KERAKOLL " ToPartner = " EWS " ToPartnerUser = " KERAKOLL " DateTime = " 2008-02-06 18:17 " ReferenceNumber = " 238 " />

- < Header >

  < HeaderInfo DocumentNumber = " 001238 " DocumentName = " PURORD " />

- < SubOrderHeader >

  < SubOrderHeaderInfo OrderNumber = " 8 " OrderType = " IN " SupplierId = " KERAKOLL " SupplierName = " Kerakoll SpA "  = " CLUT " ArrivalDate = " 2008-03-06 10:00 " />

  < SubOrderHeaderAdditions OperationCode = " 1 " />

- < SubOrderRow >

  < SubOrderRowInfo OrderPosition = " 10 " OrderSubPosition = " 0 " OwnerNumber = " KERAKOLL " ArticleId = " 01151 " PackageId = " SOCK " OrderQuantity = ” 42  SupplierArticleId = ” 01151  ArrivalDate = ” 2008-03-06T10: 00: 00 ” />

  < SubOrderRowAdditions OperationCode = " 1 " />

  </ SubOrderRow >

  <SubOrderRowPreAdvice OrderPosition="10">

  <SubOrderRowPreAdviceInfo AntiTheftID="yyyyyyyyyyyyyyyyyyyy" MacAddress="AA-BB-AA-3E-A1-00" IMEINumber="12345678923568971568" PalletInfo="Pall1" PackageInfo="kolli1" BestBeforeDate="2023-05-10" BatchNumber="123546" SerialNumber="123456"/>

<SubOrderRowPreAdviseInfo AntiTheftID="xxxxxxxxxxxxxxxxxxxx" MacAddress="BB-BB-AA-3E-A1-99" IMEINumber="12345678923568971577" PalletInfo="Pall1" PackageInfo="kolli1" BestBeforeDate="2023-05-10" BatchNumber="123547" SerialNumber="123456"/>

</SubOrderRowPreAdvice>

  </ SubOrderHeader >

  </ Header >

  </ LXIRSubOrder >

LXIR SubOrderResult

 <? xml version = "1.0" encoding = "UTF-8"?>

- < LXIRSubOrderResult >

  < Envelope FromPartner = " EWS " FromPartnerUser = " KERAKOLL " ToPartner = " XOE " ToPartnerUser = " KERAKOLL " DateTime = " 2008-03-12 15:32 " ReferenceNumber = " 0010000080 " InterchangeTest = "" />

- < Header >

  < HeaderInfo CreationDate = " 2008-03-12 15:32 " DocumentName = " DELVRY " DocumentNumber = " 0010000080 " />

- < SubOrderHeader >

  < SubOrderHeaderInfo DeliveryNumber = " 29 " WarehouseId = " CLJO " ArrivalDate = ” 2008-03-12 15:27:21  SupplierId = ” 0  OrderNumber = ” RP-28  SequenceNumber = ”” OrderType = ” IN  WarehouseSection = ” " DeliveryNote =" " ConsNote =" " Employee =" Picker 1 "/>

- < SubOrderRow >

  < SubOrderRowInfo ArticleId = " 01046 " OwnerNumber = " 541 " PackageId = " SOCK " DeliveredQuantity = " 126 " OrderPosition = " 10 " OrderSubPosition = " 1 " OrderNumber = " RP-28 " RevisionCode = "" CustomerNumber = "" SupplierArticleId = " 01046 " AddressIdentity =" " ItemId =" " Weight =" 25000 " AntiTheftID="yyyyyyyyyyyyyyyyyyyy" MacAddress="AA-BB-AA-3E-A1-00" IMEINumber="12345678923568971568"/>

  </ SubOrderRow >

  </ SubOrderHeader >

  </ Header >

  </ LXIRSubOrderResult >

Document version history

Version

Date

Author/change

Commenct

A2003-02-17Joakim PeterssonMove the document to LXIRNG with new document no.
PA12004-01-02Joakim PeterssonAdded SupName
B2004-02-13Erik SylvanChanged the document to describe the XML messages between LXIR and LWS / EWS, added example messages.
PC2008-03-18Björn JohanssonAdjusted from lXIR3 and EWS
C2008-03-31Martin FranssonAccepted
C12008-05-05Lasse SääfSet ReferenceNumber to Mandatory
D2010-09-10Björn JohanssonDeleted relationships with LWS and published on sharepoint
E2012-02-27Lasse SääfAdjusted Description OwnerNumber
PF2014-12-01David FrendinAdded Notes and InternalNotes fields to LXIRSubOrder 
G2015-09-21Lasse SääfSuborder Notes InternalNotes EWS Support
H2022-02-05Zohaib Anees

Added SequenceNumber, WarehouseSection, ExternalOrderNumber at LxirSubOrder header level

And added ExternalOrderNumber in LxirSubOrderResult at header level

I2022-10-14Lasse Sääf

Added LXIRSubOrder PreAdvice Segment


In LXIRSubOrderResult Added

IMEINumber
MacAddress
AntiTheftId
UUID
WLANMAC
MSPKID

BlockReason

  • No labels