Professional Documents
Culture Documents
Notes:
Ariba Network receives Purchase Orders from Ariba Buyer in the form of cXML OrderRequest documents.
Suppliers are able to select their preferred method of receiving Purchase Orders.
As a service to Suppliers preferring to transact via EDI, Ariba Network maps to the ANSI X12 004010 850 Purchase
Order document. Suppliers can select EDI as their preferred method for receiving Purchase Orders.
Now, suppliers can also select EDI as a method for receiving Change and Cancel Orders.
Suppliers can contact Ariba Network Technical Support to request standard separators if they prefer.
Ariba Network does not require or accept interchange acknowledgements (TA1), but does require a 997 to be
returned for each functional group received (other than type FA).
- Sending AK1/AK9 only is not supported at this time. You MUST send an AK2/AK5 group for each transaction set
received within the group.
- Detailed 997s are not required, but are accepted. You can send AK3/AK4 within an AK2 group if you wish.
- ISA14 is set to 0, so do not send a TA1. It is not supported and will cause an error.
- Code "E" is an EDI Compliance error. This is accepted with errors noted. Currently it will update the Purchase
Order status to Acknowledged, similar to code A.
- Code "R" represents rejection. Currently, this is the only AK5 acknowledgement code that will mark the Purchase
Order as Failed.
- The above codes apply. Code "P" is possible if not all AK5's are code "A".
In reading this Implementation Guide, the following usage codes are used:
Copyright (c) 2007-2015 Ariba, Inc. 1 Revised 4 August 2015
Ariba, Inc. cXML 1.2: ANSI X12 004010 850 Purchase Order Implementation Guidelines
Mandatory means that X12 says it is mandatory, so the guideline is bound by that rule.
Must Use means that X12 says it is optional, but Ariba Network requires it.
Recommended means that X12 says it is optional, and Ariba Network considers it optional, but recommends that it
be used.
Dependant means that X12 has its usage dependant on other segments or elements, or by semantic notes, or that
Ariba Network describes semantics on which its dependency lies.
Not Recommended is the opposite of Recommended. The information might be technically allowed, but is probably
ignored.
Not Used segments and elements are not even shown in the guideline. In cases there they made need to be shown for
consistency, they are marked with an X.
Heading:
Page Pos. Seg. Base User Loop Notes and
No. No. ID Name Status Status Max.Use Repeat Comments
5 010 ST Transaction Set Header M M 1
6 020 BEG Beginning Segment for Purchase Order M M 1
9 040 CUR Currency O Must Use 1
10 050 REF Reference Identification O >1
11 060 PER Administrative Communications Contact O 3
14 080 FOB F.O.B Related Instructions O 1
17 110 CSH Sales Requirements O 1
LOOP ID - SAC 1
18 120 SAC Shipping Charges O 1
20 125 CUR Currency O 1
LOOP ID - SAC 22
21 120 SAC Modifications O 1
24 125 CUR Currency O 1
LOOP ID - N9 1
28 295 N9 Reference Identification - Comments O 1
LOOP ID - N9 998
30 295 N9 Reference Identification - Extrinsics O 1
31 300 MSG Message Text O 1000
LOOP ID - N9
39 295 N9 Reference Identification - Extrinsics O 1
40 300 MSG Message Text O 1000
LOOP ID - N9
41 295 N9 Reference Identification - Extrinsics O 1
42 300 MSG Message Text O 1000
LOOP ID - N1 1
32 310 N1 Bill-To Name O 1
33 320 N2 Additional Name Information O 2
34 330 N3 Address Information O 2
35 340 N4 Geographic Location O 1
36 360 PER Administrative Communications Contact O >1
LOOP ID - N1 1
38 310 N1 Ship-To Name O 1
39 320 N2 Additional Name Information O 2
40 330 N3 Address Information O 2
41 340 N4 Geographic Location O 1
42 360 PER Administrative Communications Contact O >1
44 390 TD5 Transport Information O 12
46 410 TD4 Carrier Identifier O 5
LOOP ID - N1 10
47 310 N1 Detailed Contact Information - Name O 1
49 320 N2 Additional Name Information O 2
50 330 N3 Address Information O 2
51 340 N4 Geographic Location O 1
52 360 PER Administrative Communications Contact O >1
LOOP ID - N1 1
58 310 N1 Delivery Address O 1
59 330 N3 Address Information O 1
60 340 N4 Geographic Location O 1
Detail:
Page Pos. Seg. Base User Loop Notes and
No. No. ID Name Status Status Max.Use Repeat Comments
LOOP ID - PO1 100000
62 010 PO1 Baseline Item Data M M 1 n1
57 020 CUR Currency of Unit Price O 1
LOOP ID - PO1
73 030 PO3 Unit of Measure O 25
LOOP ID - PO1
74 040 CTP Pricing Information O 1
LOOP ID - PO1
75 040 CTP Pricing Information O 1
LOOP ID - SAC 22
17 130 SAC Modifications O 1
20 135 CUR Currency O 1
LOOP ID - SAC 20
60 130 SAC Account Distribution O 1
62 135 CUR Currency O 1
86 180 FOB F.O.B Related Instructions O 1
LOOP ID - N9 1
65 330 N9 Reference Identification - URL O 1
66 340 MSG Message Text O 1000
LOOP ID - N9 999
67 330 N9 Reference Identification - Comments O 1
68 340 MSG Message Text O 1000
LOOP ID – PO1
115 330 N9 Reference Identification - Extrinsics O 1
116 340 MSG Message Text O Must Use 1000
LOOP ID – PO1
117 330 N9 Reference Identification - Extrinsics O 1
118 340 MSG Message Text O Must Use 1000
LOOP ID - N9 999
LOOP ID - N1 1
71 350 N1 Ship-To Name O 1
72 360 N2 Additional Name Information O 2
73 370 N3 Address Information O 2
74 380 N4 Geographic Location O 1
75 400 PER Administrative Communications Contact O 3
LOOP ID - N1 10
77 350 N1 Name - Detailed Contact Information O 1
79 360 N2 Additional Name Information O 2
80 370 N3 Address Information O 2
81 380 N4 Geographic Location O 1
82 400 PER Administrative Communications Contact O 3
LOOP ID - N1 1
58 350 N1 Delivery Address O 1
59 370 N3 Address Information O 1
60 380 N4 Geographic Location O 1
Summary:
Page Pos. Seg. Base User Loop Notes and
No. No. ID Name Status Status Max.Use Repeat Comments
LOOP ID - CTT 1
84 010 CTT Transaction Totals O 1 n2
85 020 AMT Monetary Amount O Must Use 1 n3
<OrderRequest>
<OrderRequestHeader>
03 Delete
type="delete"
05 Replace
type="update"
Example:
Original order number:
BEG*00*NE*ERP64390~
<Extrinsic name="OrderType">DropShip</Extrinsic>
IN Information Copy
Used with BEG01=05 only to indicate that this order update is for
information only. The buyer has made some internal changes to
their PO. Such a PO update is sent for record-keeping /
accountability only. There are no changes affecting fulfillment.
OrderRequestHeader
isInternalVersion (yes) #IMPLIED
KN Purchase Order
Procurement instrument within the small
purchasing threshold
Copyright (c) 2007-2015 Ariba, Inc. 8 Revised 4 August 2015
Ariba, Inc. cXML 1.2: ANSI X12 004010 850 Purchase Order Implementation Guidelines
Used with BEG01='03' or '05' only. When BEG01='00', this field
continues to use 'NE' for backward compatibility.
NE New Order
Used with BEG01='00' only to indicate a new purchase order.
RO Rush Order
<Extrinsic
name="OrderType">RushOrder</Extrinsic>
BK Blanket Purchase Order
type=blanket
To specify a blanket purchase order
RL Release Order
type=release
To specify a release blanket purchase order from an existing
Master Agreement/Contract.
<OrderRequestHeader>.
releaseRequired (yes) #IMPLIED
BEG05 373 Date M DT 8/8 M
Date expressed as CCYYMMDD
Ariba sends the PO Date from the Buyer
<OrderRequestHeader>
orderDate %datetime.tz; #REQUIRED
Example:
REF*0L*My Terms~
<TransportTerms value=”Other”>My Terms</ TransportTerms>
<OrderRequest>
<OrderRequestHeader>
orderNumber %string; #IMPLIED
PP Purchase Order Revision Number
Example: REF*PP*2~
The buyer's system requisition id for this entire order. It might be the
same as orderID, and it might not be included at all. Must not be
included if requisitionID is specified at the line item level.
<OrderRequest>
<OrderRequestHeader>
requisitionID %string; #IMPLIED
Used only if the order type is "blanket". This identifies the parent
blanket order if the current order is part of a hierarchy.
AH Agreement Number
Example:
REF*AH**BPO-agreementID4~
PER*BL*Tech Support*TE*18005551313*EM*tech.support@thebuyer.com~
PER*CR*Customer
Service*TE*18005551212*FX*13122842587*EM*customer.service@thebuyer.com~
Contact information from the Order Header is mapped here briefly. Contacts that involve
a PostalAddress or extensive details will appear in an N1 loop. We are limited here to
only three PER segments, so this section is reserved for short and quick contact
information.
All the cXML contact roles are not supported in EDI. In X12 850, the supported roles
are listed in PER01 and N101.
<OrderRequest>
<OrderRequestHeader>
<Contact>
<Email> .. <Phone> .. <Fax>
role="administrator"
BD Buyer Name or Department
BL Technical Department
role="technicalSupport"
CN General Contact
role unspecified
CR Customer Relations
role="customerService"
EB Entered By
role="endUser"
SH Shipper Contact
SR Sales Representative or Department
role="sales"
SU Supplier Contact
This implies that the Buyer is prepared to wait if necessary for complete fulfillment of an
order. Partial fulfillment will not be accepted.
<OrderRequest>
<OrderRequestHeader>
shipComplete(yes) #IMPLIED
="yes"
In the header section, this represents a modification in the order to the supplier. There can
be multiple modifications. Maximum number of modifications supported is 11.. This is an
example of a modification in an order.
<OrderRequest>
<OrderRequestHeader>
<Total>
<Money>……..
<Modifications>
<Modification>
<OriginalPrice>
<Money currency="CAD">22.00</Money>
</OriginalPrice>
<AdditionalDeduction>
<DeductionPercent percent="5"/>
</AdditionalDeduction>
<ModificationDetail endDate="2005-07-01T10:15:00-08:00" name="Volume
Discount" startDate="2005-05-04T10:15:00-08:00">
Copyright (c) 2007-2015 Ariba, Inc. 22 Revised 4 August 2015
Ariba, Inc. cXML 1.2: ANSI X12 004010 850 Purchase Order Implementation Guidelines
ITD*05*03*****45********0
ITD*52*03*15**30
Any imbedded Attachments will be dropped. However, Ariba might include a text
representation that it is present. For example:
If the PO has attachment, then attachment URL is mapped to MSG. Suppliers must log in
to view attachments in their AN online Inboxes.
Example:
MSG*https://service.ariba.com/Supplier.aw/ad/orderDetail?community=2&poDocId=20
265850&anp=Ariba
MSG carries the actual Extrinsic data as accurately as possible. Where new lines are
started in cXML, new MSG segments are created (except for blank lines) in order to
preserve its integrity. If a line exceeds the capacity of MSG01, then a new MSG segment
is created and the Extrinsic text continues.
<Extrinsic>
ANY
Example: N9*ZZ**hideAmount~
<OrderRequest>
< OrderRequestHeader >
<Extrinsic>
For more information on the fields that a buyer can mask, see the section Masking Values
in Blanket Purchase Orders in the Ariba cXML Solutions Guide.
Use this extrinsic for blanket purchase orders with masked values. The MSG element
stores the data available in the Extrinsic element. If the “hideAmount” value is present in
the extrinsic, the Message element displays the value “Yes.”
Example: N9*ZZ**hideAmount~
MSG*Yes~
Example: N9*ZZ**hideUnitPrice ~
<OrderRequest>
<ItemOut>
<BlanketItemDetail>
<Extrinsic>
If “hideUnitPrice” is available, the values in the unit price fields display 0.00.
For more information on the fields that a buyer can mask, see the section Masking Values
in Blanket Purchase Orders in the Ariba cXML Solutions Guide.
Use this extrinsic for blanket purchase orders with masked values. The MSG element
stores the data available in the Extrinsic element. If the “hideUnitPrice” value is present
in the extrinsic, the Message element displays the value “Yes.”
In a PostalAddress, cXML considers DeliverTo to be optional, but can send many. Ariba
implements up to the first four here: two Name elements across two N2 segments.
The first two iterations of DeliverTo will occupy the first N2 segment and the third and
fourth iterations, if present, will occupy the second N2. Any further DeliverTo iterations
will be ignored.
<BillTo>
<Address>
<PostalAddress>
<DeliverTo>
cXML requires one <Street> tag but can send many. Like the N2 above, Ariba Network
implements up to the first four: two elements across two segments.
<BillTo>
<Address>
<PostalAddress>
<Street>
cXML guarantees a City and Country. The State or Province code and the Postal Code
are optional.
<BillTo>
<Address>
<PostalAddress>
<City> .. <State> .. <PostalCode> .. <Country>
PER*AP*AP Purchases
(Roxanne)*TE*13125551111*FX*13125552222*EM*Roxanne.Barber@thebuyer.com~
Contact information of Telephone, Fax, Email, and URL. cXML requires none, and only
one of each is allowed.
Each contact tag carries a name to identify itself. Where possible, Ariba Network groups
those with the same name together. If all four pieces are supplied, or if they carry distinct
names, then multiple PER segments are required.
The telephone number supplied with either Phone or Fax is broken down by components
by cXML. The number will be formatted appropriately here.
Note that a URL will be limited to the maximum length of the Communication Number
element.
<ShipTo>
<Address>
<Phone> .. <Fax> .. <Email> .. <URL>
This is optional at the header level. Ariba will send ShipTo Information either at the
header OR at the line item level, but not both. If it is absent here then it is required at the
line item level.
<OrderRequest>
<OrderRequestHeader>
<ShipTo>
N2*Maria Valenzuela*B1-2462~
N2*The Buyer, Inc.~
In a PostalAddress, cXML considers DeliverTo to be optional, but can send many. Ariba
implements up to the first four here: two Name elements across two N2 segments.
The first two iterations of DeliverTo will occupy the first N2 segment and the third and
fourth iterations, if present, will occupy the second N2. Any further DeliverTo iterations
will be ignored.
<ShipTo>
<Address>
<PostalAddress>
<DeliverTo>
cXML requires one <Street> tag but can send many. Like the N2 above, Ariba Network
implements up to the first four: two elements across two segments.
<ShipTo>
<Address>
<PostalAddress>
<Street>
cXML guarantees a City and Country. The State or Province code and the Postal Code
are optional.
<ShipTo>
<Address>
<PostalAddress>
<City> .. <State> .. <PostalCode> .. <Country>
Each contact tag carries a name to identify itself. Where possible, Ariba Network groups
those with the same name together. If all four pieces are supplied, or if they carry distinct
names, then multiple PER segments are required.
The telephone number supplied with either Phone or Fax is broken down by components
by cXML. The number will be formatted appropriately here.
Note that a URL will be limited to the maximum length of the Communication Number
element.
<ShipTo>
<Address>
<Phone> .. <Fax> .. <Email> .. <URL>
UPS@domainXYZ
Any contact that includes a PostalAddress must be specified here, along with contacts
requiring a variety of name tags for a specified role.
All the cXML contact roles are not supported in EDI. In X12 850, the supported roles
are listed in PER01 and N101.
<OrderRequest>
<OrderRequestHeader>
<Contact>
<Name>
Note: The maximum value for a line number in a purchase order Ariba Network supports is
2,147,483,647. Ensure that the number of characters does not exceed 10.
All X12 codes are allowed here. The code from cXML is UN/CEFACT compliant, and is
translated by Ariba Network to an X12 equivalent.
<ItemOut>
<ItemDetail>
<UnitOfMeasure>
Refer to 004010 Data Element Dictionary for acceptable code values.
PO104 212 Unit Price X R 1/17 O
Price per unit of product, service, commodity, etc.
This is the price per unit that the Buyer is prepared to pay. It is required only if ItemDetail
is supplied by the Buyer. If it is not supplied, then a supplier will be expected to honour a
previously agreed upon price; for example, a price advertised in a catalogue.
<ItemOut>
<ItemDetail>
<UnitPrice>
PO106 235 Product/Service ID Qualifier X ID 2/2 O
Code identifying the type/source of the descriptive number used in Product/Service ID
(234)
C3 Classification
One Item Classification code, mapped here for convenience, if
ItemDetail is supplied.
<ItemOut>
<ItemDetail>
<Classification>
- first occurrence only
MF Manufacturer
<ItemOut>
<ItemDetail>
<ManufacturerName>
MG Manufacturer's Part Number
This is optional, but can identify the item from another vantage
point.
<ItemOut>
<ItemDetail>
<ManufacturerPartID>
VP Vendor's (Seller's) Part Number
SupplierPartID is mandatory. cXML guarantees this information
from the Buyer. You can specify SupplierPartID either with a
value or as “Not Available”. You must specify SupplierPartID
or/and set isAdhoc flag to “yes”.
<ItemOut isAdhoc=“yes”>
<ItemID>
<SupplierPartID> ABC124</SupplierPartID>
VS Supplier Part Auxiliary ID
SupplierPartAuxiliaryID is mapped if it is provided in the itemID.
<ItemOut>
<ItemID>
<SupplierPartAuxiliaryID>
PO107 234 Product/Service ID X AN 1/48 O
Identifying number for a product or service
PO108 235 Product/Service ID Qualifier X ID 2/2 O
Code identifying the type/source of the descriptive number used in Product/Service ID
(234)
C3 Classification
MF Manufacturer
MG Manufacturer's Part Number
VP Vendor's (Seller's) Part Number
VS Supplier Part Auxiliary ID
PO109 234 Product/Service ID X AN 1/48 O
Copyright (c) 2007-2015 Ariba, Inc. 70 Revised 4 August 2015
Ariba, Inc. cXML 1.2: ANSI X12 004010 850 Purchase Order Implementation Guidelines
Identifying number for a product or service
PO110 235 Product/Service ID Qualifier X ID 2/2 O
Code identifying the type/source of the descriptive number used in Product/Service ID
(234)
C3 Classification
MF Manufacturer
MG Manufacturer's Part Number
VP Vendor's (Seller's) Part Number
VS Supplier Part Auxiliary ID
PO111 234 Product/Service ID X AN 1/48 O
Identifying number for a product or service
PO112 235 Product/Service ID Qualifier X ID 2/2 O
Code identifying the type/source of the descriptive number used in Product/Service ID
(234)
C3 Classification
MF Manufacturer
MG Manufacturer's Part Number
VP Vendor's (Seller's) Part Number
VS Supplier Part Auxiliary ID
PO113 234 Product/Service ID X AN 1/48 O
Identifying number for a product or service
PO114 235 Product/Service ID Qualifier X ID 2/2 O
Code identifying the type/source of the descriptive number used in Product/Service ID
(234)
C3 Classification
MF Manufacturer
MG Manufacturer's Part Number
VP Vendor's (Seller's) Part Number
VS Supplier Part Auxiliary ID
PO115 234 Product/Service ID X AN 1/48 O
Identifying number for a product or service
* Note that our PID looping group allows 1000 iterations in total. This can be divided any
way between Item Descriptions and Classifications. But 1000 is the combined limit.
The product description is required if ItemDetail is supplied by the Buyer. Each
<Description> tag can be interspersed with its own #PCDATA and <ShortName> tags.
The recommended practice is to put <ShortName> either at the beginning or at the end, if
it is present. But there is no rule in cXML enforcing that. The description text itself can
be quite long. ShortName is an optional child element which provides a short description
of fifty characters or less. Any ShortName will always produce its own PID segment,
with PID02="GEN". The regular description text does not mark PID02.
<OrderRequest>
<ItemOut>
<ItemDetail>
<Description>
<OrderRequest>
<ItemOut>
<BlanketItemDetail>
<Description>
PID*S*MAC*UN*31201512***SPSC~
* Note that our PID looping group allows 1000 iterations in total. This can be divided any
way between Item Descriptions and Classifications. But 1000 is the combined limit.
Item classifications are required by cXML 1.1 to adhere to the UN/SPSC standard
(www.unspsc.org). If <ItemDetail> is supplied, then at least one <Classification> tag is
required. The first classification is mapped to PO1 for convenience. Multiple
classifications are required to be unique.
<OrderRequest>
<ItemOut>
<ItemDetail>
<Classification>
You can specify the Classification segment for blanket purchase orders.
<OrderRequest>
<ItemOut>
<BlanketItemDetail>
<Classification>
PID*S*MAC*UN*432118***SPSC~
<OrderRequest>
<ItemOut>
requisitionID %string; #IMPLIED
Example:
REF*0L*My Terms~
<TransportTerms value=”Other”>My Terms</ TransportTerms>
All the cXML contact roles are not supported in EDI. In X12 850, the supported roles
are listed in PER01 and N101.
<OrderRequest>
<ItemOut>
<Contact>
<Phone> .. <Fax> .. <Email> .. <URL>
Shipping charges can be applied either at the header, for the entire order, or at the line
item level. But not both.
<OrderRequest>
<ItemOut>
<Shipping>
In the header section, this represents a modification in the order to the supplier. There can
be multiple modifications. Maximum number of modifications supported is 11. This is an
example of a modification in an order.
<OrderRequest>
<OrderRequestHeader>
<Total>
<Money>……..
<Modifications>
<Modification>
<OriginalPrice>
<Money currency="CAD">22.00</Money>
</OriginalPrice>
<AdditionalDeduction>
<DeductionPercent percent="5"/>
</AdditionalDeduction>
<ModificationDetail endDate="2005-07-01T10:15:00-08:00" name="Volume
Discount" startDate="2005-05-04T10:15:00-08:00">
Copyright (c) 2007-2015 Ariba, Inc. 95 Revised 4 August 2015
Ariba, Inc. cXML 1.2: ANSI X12 004010 850 Purchase Order Implementation Guidelines
<Description xml:lang="en-US">Volume Discount</Description>
</ModificationDetail>
</Modification>
Here the buyer has requested a two way split on the charges. The buyer's account number
is comprised of four segments. For reference purposes, Ariba Network expands the
account number with the account segment names in the description element, SAC15, as
space allows. The Option Number element, SAC14, shows the sequential occurrence of
<Distribution> tags.
Out of the $125 total, $98 is to be charged to one account and $27 to another. The
account number segmentation is implied by the buyer's internal system.
Buyers can optionally specify a list of accounts showing how they want the charges for
this line item distributed on their invoice. If present, suppliers are expected to invoice
according to these accounting guidelines.
<OrderRequest>
<ItemOut>
Copyright (c) 2007-2015 Ariba, Inc. 100 Revised 4 August 2015
Ariba, Inc. cXML 1.2: ANSI X12 004010 850 Purchase Order Implementation Guidelines
<Distribution>
This number is used to designate the administrative budget center against which the
transaction is to be charged in the Buying Organization's accounting classification coding
structure. In some organizations this field will contain an account number, a department
code, a project number and/or a cost center.
<Distribution>
<Accounting>
<AccountingSegment> .. <Segment>
id %string; #REQUIRED
This number is not explicitly stated in the cXML body, but rather is implied by tag
sequencing. This number is generated by the EDI mapping process.
SAC15 352 Description X AN 1/80 M
A free-form description to clarify the related data elements and their content
= "LISA" (Line Item Split Accounting)
cXML supplies tax information with an amount and a description. Ariba sends the tax
amount here. Taxes can be present at both the header and line item levels. Taxes at the
line item level are used to show a per line item breakdown.
If specific tax information is not present, then suppliers are expected to calculate and
apply required taxes. If buyers are specifying tax amounts, then they have done this
calculation on their side, and an error might result in an acknowledgment either
recalculating this properly or non-fulfillment pending correction.
<OrderRequest>
<ItemOut>
<Tax>
This segment displays this value if the blanket purchase order contains the MaxQuantity
value,
<OrderRequest>
<ItemOut>
<BlanketItemDetail>
<MaxQuantity>
Example: QTY*7D*30~
This segment displays this value if the blanket purchase order contains the MinQuantity
value,
<OrderRequest>
<ItemOut>
<BlanketItemDetail>
<MinQuantity>
Example: QTY*7E*5~
<OrderRequest>
<ItemOut>
<ItemDetail>
<URL>
#PCDATA
<OrderRequest>
<ItemOut>
<Comments>
<Comments>
xml:lang %xmlLangCode; #IMPLIED
(LC was shown here for demonstration. It wouldn't actually be used on two short lines,
but only when a line exceeds the 264 char limit of MSG01.)
The actual comment text. The X12 mapping will try to preserve the line breaks from the
cXML as best it can. Each line break will automatically incur a new MSG segment, with
the exception of a blank line. If one line goes over the capacity of MSG01 then the line is
word-broken and a new MSG segment is created to continue the line. If the number of
lines exceed the occurrence limit of MSG, then the remainder of the comment text will be
truncated.
Any imbedded Attachments will be dropped. However, Ariba might include a text
representation that it is present. For example:
<OrderRequest>
<ItemOut>
<Comments>
#PCDATA .. <Attachment>
<OrderRequest>
<ItemOut>
<ItemDetail>
<Extrinsic>
MSG*<Size UnitOfMeasure="cm">~
MSG* <Height>14</Height>~
MSG* <Width>23</Width>~
MSG* <Depth>12.4</Depth>~
MSG*</Size>~
MSG carries the actual Extrinsic data as accurately as possible. Where new lines are
started in cXML, new MSG segments are created (except for blank lines) in order to
preserve its integrity. If a line exceeds the capacity of MSG01, then a new MSG segment
is created and the Extrinsic text continues.
<OrderRequest>
<ItemOut>
<ItemDetail>
<Extrinsic>
ANY
<OrderRequest>
<ItemOut>
<BlanketItemDetail>
<Extrinsic>
For more information on the fields that a buyer can mask, see the section Masking Values
in Blanket Purchase Orders in the Ariba cXML Solutions Guide.
The MSG element stores the actual Extrinsic data as accurately as possible. When new
lines are added in cXML, new MSG segments are created (except for blank lines) in
order to preserve its integrity. If a line exceeds the capacity of MSG01, then a new MSG
segment is created and the Extrinsic text is carried forward.
Example: N9*ZZ**hideUnitPrice~
<OrderRequest>
<ItemOut>
<BlanketItemDetail>
<Extrinsic>
If “hideUnitPrice” is available, the values in the unit price fields display 0.00.
For more information on the fields that a buyer can mask, see the section Masking Values
in Blanket Purchase Orders in the Ariba cXML Solutions Guide.
The MSG stores the actual Extrinsic data as accurately as possible. Where new lines are
added in cXML, new MSG segments are created (except for blank lines) in order to
preserve its integrity. If a line exceeds the capacity of MSG01, then a new MSG segment
is created and the Extrinsic text is carried forward.
This is optional at the line item level. Ariba will send ShipTo Information either at the
header OR at the line item level, but not both. If it is absent here then it is required at the
header level.
<OrderRequest>
<ItemOut>
<ShipTo>
N2*Maria Valenzuela*B1-2462~
N2*The Buyer, Inc.~
In a PostalAddress, cXML considers DeliverTo to be optional, but can send many. Ariba
Network implements up to the first four here: two Name elements across two N2
segments.
The first two iterations of DeliverTo will occupy the first N2 segment and the third and
fourth iterations, if present, will occupy the second N2. Any further DeliverTo iterations
will be ignored.
<ShipTo>
<Address>
<PostalAddress>
<DeliverTo>
cXML requires one <Street> tag but can send many. Like the N2 above, Ariba Network
implements up to the first four: two elements across two segments.
<ShipTo>
<Address>
<PostalAddress>
<Street>
cXML guarantees a City and Country. The State or Province code and the Postal Code
are optional.
<ShipTo>
<Address>
<PostalAddress>
<City> .. <State> .. <PostalCode> .. <Country>
<PostalAddress>
<PostalCode>
N404 26 Country Code O ID 2/3 M
Code identifying the country
Country code is ISO-3166 compliant. You can see a list here along with their respective
currency codes:
http://www.unece.org/trade/rec/rec09en.htm
<PostalAddress>
<Country>
isoCountryCode %isoCountryCode; #REQUIRED
Each contact tag carries a name to identify itself. Where possible, Ariba Network groups
those with the same name together. If all four pieces are supplied, or if they carry distinct
names, then multiple PER segments are required.
The telephone number supplied with either Phone or Fax is broken down by components
by cXML. The number will be formatted appropriately here.
Note that a URL will be limited to the maximum length of the Communication Number
element.
<ShipTo>
<Address>
<Phone> .. <Fax> .. <Email> .. <URL>
Any contact that includes a PostalAddress must be specified here, along with contacts
requiring a variety of name tags for a specified role.
All the cXML contact roles are not supported in EDI. In X12 850, the supported roles
are listed in PER01 and N101.
<OrderRequest>
<ItemOut>
<Contact>
<PostalAddress>
<State>
N403 116 Postal Code O ID 3/15 O
Code defining international postal zone code excluding punctuation and blanks (zip code
for United States)
A US Zip Code can be five or nine digits. A Canadian Postal Code is always formatted
"A9A9A9".
<PostalAddress>
<PostalCode>
N404 26 Country Code O ID 2/3 M
Code identifying the country
<PostalAddress>
<Country>
isoCountryCode %isoCountryCode #REQUIRED