Outbound Demand EDI Transactions - Flat File Layout
- Explanation of Formats: DT = Date AN = Alphanumeric N* = Numeric (2nd digit = the number of decimal places)
- Field Length: Each file must be the exact length designated in this file layout. Each field's starting position must match the file layout. If your values are shorter than the field length specified here, the value is padded with blanks to fill the length of the field so that each field starts in the correct position.
810 Invoice Export
If the Generate Invoices field on the EDI Customer Profiles form is selected for the trading partner associated with the invoiced customer order, invoices are generated during the invoice printing process.
810 Invoice Export Flat File Layout
This table describes the fields for Map Identifier Record (For translators other than Radley):
Field Description | Position | Length | Format | Field or Notes |
---|---|---|---|---|
Trading Partner Code | 1 | 7 | AN |
You can enter 17 characters in the Trading Partner field but SyteLine will only use 7 characters for exports. |
SY1 Designator (hard_coded) | 8 | 3 | AN | Hard Coded SY1 |
Transaction Type Number | 11 | 6 | AN | Hard Coded 810 |
This table describes the fields for Header:
Field Description | Position: Radley | Position: Other Translators | Length | Format | Field or Notes |
---|---|---|---|---|---|
Record Type | 1 | 1 | N0 | 1 = Header | |
1 Trading Partner Designator | 2 | 2 | AN |
|
|
Invoice Number | 3 | 4 | 12 | N0 |
The invoice number length is determined by the Invoice Length field on the Order Entry Parameters form. However, the full 12 characters for this field in the EDI file should be preserved. |
Undefined | 15 | 16 | 18 | AN | If you use an invoice number length less than 12, this Undefined field appears to have additional space available. If you use this undefined field, preserve its defined starting character and length. |
Destination | 33 | 34 | 5 | AN |
for ship-to customer |
Undefined | 38 | 39 | 5 | AN | |
Invoice Date | 43 | 44 | 8 | DT |
Format = YYYYMMDD |
Invoice Type | 51 | 52 | 2 | AN | cust_tp_mst.inv_code
|
ASN Number | 53 | 54 | 30 | AN | do_hdr_mst.do_num
or |
Purchase Order Number | 83 | 84 | 22 | AN | edi_inv_hdr_mst.cust_po
|
Purchase Order Date | 105 | 106 | 8 | DT |
or Format = YYYYMMDD |
Undefined | 113 | 114 | 53 | AN | |
Ship Date | 166 | 167 | 8 | DT |
Format = YYYYMMDD |
Undefined | 174 | 175 | 67 | AN | |
Discount Percentage | 241 | 242 | 5 | N0 | items_mst.disc_pct |
Undefined | 246 | 247 | 10 | AN | |
BOL Number | 256 | 257 | 30 | AN | symedi_edi_bol_mst.bol_num
|
Undefined | 268 | 287 | 117 | AN | |
Terms code | 403 | 404 | 2 | AN | symedi_edi_inv_hdr_mst.terms_code
(last character truncated) |
Undefined | 405 | 406 | 2 | AN | |
Discount Days | 407 | 408 | 3 | N0 | items_mst.disc_days |
Due Days | 410 | 411 | 3 | N0 | items_mst.due_days |
Undefined | 413 | 414 | 13 | N0 | |
Prox Day | 426 | 427 | 2 | N0 | items_mst.prox_day
|
Undefined | 428 | 429 | 103 | N0 | |
A-OR-C | 531 | 532 | 1 | AN | if Prepaid then "A" else "" |
A-OR-C | 532 | 533 | 1 | AN | if Misc Chg then "C" else "" |
A-OR-C | 533 | 534 | 1 | AN | if Freight then "C" else "" |
A-OR-C | 534 | 535 | 1 | AN | if Sales Tax then "C" else "" |
Undefined | 535 | 536 | 201 | AN | |
AC-AMOUNT | 736 | 737 | 10 | N0 | edi_inv_hdr_mst.prepaid_amt
|
AC-AMOUNT | 746 | 747 | 10 | N0 | edi_inv_hdr_mst.misc_charges
|
AC-AMOUNT | 756 | 757 | 10 | N0 | edi_inv_hdr_mst.freight
|
AC-AMOUNT | 766 | 767 | 10 | N0 | edi_inv_stax_mst.sales_tax
|
Undefined | 776 | 777 | 365 | AN | |
AC-TOTAL | 1141 | 1142 | 10 | N0 | AC-AMOUNT Total |
Undefined | 1151 | 1152 | 8 | AN | |
Import Export Flag | 1159 | 1160 | 1 | N0 | Hard Coded 0 - zero |
Undefined | 1160 | 1161 | 652 | AN | |
1811 | 1812 | Total Record Length |
This table describes the fields for Detail:
Field Description | Position: Radley | Position: Other Translators | Length | Format | Field or Notes |
---|---|---|---|---|---|
Record Type | 1 | 1 | N0 | 2 = Detail | |
Trading Partner Designator | 1 | 2 | 2 | AN | cust_tp_mst.tp_code |
Invoice Number | 3 | 4 | 12 | N0 | edi_inv_item_mst.inv_num |
Undefined | 15 | 16 | 18 | AN | |
Out Part Number | 33 | 34 | 30 | AN | edi_inv_item_mst.item |
Undefined | 63 | 64 | 30 | AN | |
Destination | 93 | 94 | 5 | AN |
3,5) for ship-to customer |
Undefined | 98 | 99 | 5 | AN | |
Customer Part Number | 103 | 104 | 30 | AN |
|
Purchase Order Number | 133 | 134 | 22 | AN | edi_inv_item_mst.cust_po |
Purchase Order Line | 155 | 156 | 4 | AN | edi_inv_item_mst.co_line |
Undefined | 159 | 160 | 16 | AN | |
Purchase Order Release | 175 | 176 | 4 | AN | edi_inv_item_mst.co_release |
Undefined | 179 | 180 | 26 | AN | |
Invoiced Quantity | 205 | 203 | 10, 13 | N0 |
(Radley length is 10; other translators' length is 13) |
Price | 215 | 216 | 10 | N0 | edi_inv_item_mst.price |
Unit Of Measure | 225 | 226 | 2 | AN |
|
Basis Code | 227 | 228 | 2 | AN | Hard Coded UM |
Undefined | 229 | 230 | 48 | N0 | |
Subject To Terms Flag | 277 | 278 | 1 | N0 | Hard Coded 1 - one |
Subject To Discount Flag | 278 | 279 | 1 | N0 | Hard Coded if edi_inv_item_mst.disc<>0 then 1 else 0 |
Discount Percentage | 279 | 280 | 5 | N0 | edi_inv_item_mst.disc |
Discount Amount | 284 | 285 | 10 | N0 | Calculated |
Item Amount | 294 | 295 | 10 | N0 | Calculated |
Undefined | 304 | 305 | 461 | AN | |
Tax Code 1 | 765 | 766 | 10 | N0 | |
Undefined | 776 | 777 | 67 | AN | |
Restocking fee | 843 | 844 | 10 | N0 | Included for RMA credit with a restocking fee |
Undefined | 853 | 854 | 125 | AN | |
Order Quantity | 978 | 979 | 6 | N0 |
|
Order Unit Of Measure | 984 | 985 | 2 | AN |
|
Undefined | 986 | 987 | 634 | AN | |
Import Export Flag | 1620 | 1621 | 1 | N0 | Hard Coded 0 - zero |
Undefined | 1621 | 1622 | 428 | AN | |
2048 | 2049 | Total Record Length |
This table describes the fields for Multiple Due Date Record Type. This record type is used for each multiple due date record that exists for an invoice.
Field Description | Position: Radley | Position: Other Translators | Length | Format | Field or Notes |
---|---|---|---|---|---|
Record Type | 1 | 1 | N0 | 3 = Due Date | |
Trading Partner Designator | 1 | 2 | 2 | AN | cust_tp_mst.tp_code |
Invoice Number | 3 | 4 | 12 | N0 | edi_inv_hdr_mst.inv_num |
Undefined | 15 | 16 | 18 | N0 | edi_inv_hdr_mst.inv_num |
Due Date | 33 | 34 | 8 | DT |
Format: YYYYMMDD |
Due Date Percentage | 41 | 42 | 5 | N0 |
|
Due Date Amount | 46 | 47 | 13 | N0 | edi_ar_terms_due_mst.amount |
Due Days Offset | 59 | 60 | 10 | N0 | edi_ar_terms_due_mst.due_days_offset |
Terms Sequence | 69 | 70 | 9 | N0 | edi_ar_terms_due_mst.terms_seq |
855 Purchase Order Acknowledgment Export
Purchase order acknowledgments are generated during the posting of a customer order from the EDI database tables to SyteLine if the EDI Customer Profile form's Generate Acknowledgments field is selected for the trading partner associated with the customer order. A purchase order acknowledgment is also generated for each order that is printed via the Order Verification Report.
855 Purchase Order Acknowledgment Export Flat File Layout
This table describes the fields for Map Identifier Record (For translators other than Radley):
Field Description | Position | Length | Format | Field or Notes |
---|---|---|---|---|
Trading Partner Code | 1 | 7 | AN | cust_tp_mst.tp_code You can enter 17 characters in the Trading Partner field but SyteLine will only use 7 characters for exports. |
SY1 Designator (hard_coded) | 8 | 3 | AN | Hard Coded SY1 |
Transaction Type Number | 11 | 6 | AN | Hard Coded 855 |
This table describes the fields for Header - Record Type 100:
Field Description | Position | Length | Format | Field or Notes |
---|---|---|---|---|
Trading Partner Designator | 1 | 2 | AN | substring(cust_tp_mst.tp_code, 1,2) |
Purchase Order Number | 3 | 22 | AN |
( |
Purchase Order Date | 25 | 8 | DT | ack_mst.order_date Format = YYYYMMDD |
Acknowledgment Flag | 33 | 1 | N0 | Hard Coded if |
Undefined | 34 | 6 | AN | |
Record Type | 40 | 3 | N0 | Hard Coded 100 |
Sequence Number | 43 | 6 | N0 | Calculated |
Division Abbreviation | 49 | 5 | AN | substring(cust_tp_mst.tp_code, 3,5) |
Destination Abbreviation | 54 | 5 | AN | substring(cust_tp_mst.tp_code, 3,5) |
Undefined | 59 | 15 | AN | |
Transaction Set | 74 | 3 | AN | ack_mst.trx_code |
Undefined | 77 | 32 | AN | |
Data Entry Date | 109 | 8 | DT |
Current Date Format = YYYYMMDD |
Data Entry Time | 117 | 4 | AN |
Time Format = HHMM |
Export Date | 121 | 8 | DT |
Current Date Format = YYYYMMDD |
Undefined | 129 | 30 | AN | |
On/Off Part and Dest Found | 159 | 1 | N0 | Hard Coded 1 - one |
Undefined | 160 | 11 | N0 | |
Purpose | 171 | 2 | AN | cust_tp_mst.ack_code |
PO Type | 173 | 2 | AN | Hard Coded if ack_type = "R" then "SA" else "BK" |
Undefined | 175 | 34 | AN | |
Terms | 209 | 2 | AN | ack_mst.terms (last character truncated) |
Undefined | 211 | 39 | AN | |
PO Contact Number | 250 | 25 | AN | ack_mst.phone |
Undefined | 275 | 136 | AN | |
Ship Via | 411 | 2 | AN | ack_mst.ship_code (last character truncated) |
Undefined | 413 | 168 | AN | |
Manually Entered Flag | 581 | 1 | N0 | Hard Coded 0 - zero |
Customer User-Defined Character Field 1 | 582 | 20 | AN | ack_mst.charfld1 Radley Undefined |
Customer User-Defined Character Field 2 | 602 | 20 | AN | ack_mst.charfld2 Radley Undefined |
Customer User-Defined Character Field 3 | 622 | 20 | AN | ack_mst.charfld3 Radley Undefined |
Customer User-Defined Date Field | 642 | 8 | DT |
Format = YYYYMMDD |
Customer User-Defined Decimal Field 1 | 650 | 14 | AN | ack_mst.decifld1 Radley Undefined |
Customer User-Defined Decimal Field 2 | 664 | 14 | AN | ack_mst.decifld2 Radley Undefined |
Customer User-Defined Decimal Field 3 | 678 | 14 | AN | ack_mst.decifld3 Radley Undefined |
Customer User-Defined Logic Field | 692 | 3 | AN | ack_mst.logifld Radley Undefined YES or NO |
Undefined | 695 | 335 | AN | |
1029 | Total Record Length |
855 Purchase Order Acknowledgment Export Flat File Layout
This table describes the fields for Address Record - Record Type 200:
Field Description | Position | Length | Format | Field or Notes |
---|---|---|---|---|
Trading Partner Designator | 1 | 2 | AN | substring(cust_tp_mst.tp_code, 1,2) |
Purchase Order Number | 3 | 22 | AN |
(ackitem_mst.cust_po BCO) |
Purchase Order Date | 25 | 8 | DT |
Format = YYYYMMDD |
Acknowledgment Flag | 33 | 1 | N0 |
Hard Coded if |
Undefined | 34 | 6 | AN | |
Record Type | 40 | 3 | N0 | Hard Coded 200 |
Sequence Number | 43 | 6 | N0 | Calculated |
Division Abbreviation | 49 | 5 | AN |
|
Destination Abbreviation | 54 | 5 | AN |
|
Undefined | 59 | 15 | AN | |
Transaction Set | 74 | 3 | AN | ack_mst.trx_code |
Undefined | 77 | 32 | AN | |
Data Entry Date | 109 | 8 | DT |
Current Date Format = YYYYMMDD |
Data Entry Time | 117 | 4 | AN |
Time Format = HHMM |
Export Date | 121 | 8 | DT |
Current Date Format - YYYYMMDD |
Undefined | 129 | 30 | AN | |
On/Off Part and Dest Found | 159 | 1 | N0 | Hard Coded 1 - one |
Undefined | 160 | 10 | AN | |
Entity ID Code | 170 | 2 | AN |
Hard Coded 'BT' Bill to 'ST' Ship to |
Undefined | 172 | 19 | AN | |
Ship To/Bill To Name | 191 | 60 | AN | custaddr_mst.name |
Undefined | 251 | 10 | AN | |
Address Name 1 | 261 | 50 | AN | custaddr_mst.addr##1 |
Undefined | 311 | 110 | AN | |
Address Line 1 | 421 | 50 | AN | custaddr_mst.addr##2 |
Undefined | 471 | 110 | AN | |
City | 581 | 30 | AN | custaddr_mst.city |
Undefined | 611 | 15 | AN | |
State | 626 | 5 | AN | custaddr_mst.state |
Zip Code | 631 | 10 | AN | custaddr_mst.zip |
Undefined | 641 | 477 | AN | |
1118 | Total Record Length |
This table describes the fields for Detail - Record Type 300:
Field Description | Position | Length | Format | Field or Notes |
---|---|---|---|---|
Trading Partner Designator | 1 | 2 | AN | substring(cust_tp_mst.tp_code, 1,2) |
Purchase Order Number | 3 | 22 | AN | ack_cust_po (ackitem_mst.cust_po BCO) |
Purchase Order Date | 25 | 8 | DT |
Format = YYYYMMDD |
Acknowledgment Flag | 33 | 1 | N0 |
Hard Coded if |
Control Sequence | 34 | 6 | AN | ackitem_mst.ext_ref |
Record Type | 40 | 3 | N0 | Hard Coded 300 |
Sequence Number | 43 | 6 | N0 | Calculated |
Division Abbreviation | 49 | 5 | AN | substring(cust_tp_mst.tp_code, 3,5) |
Destination Abbreviation | 54 | 5 | AN | substring(cust_tp_mst.tp_code, 3,5) |
Undefined | 59 | 15 | AN | |
Transaction Set | 74 | 3 | AN | ack_mst.trx_code |
Undefined | 77 | 32 | AN | |
Data Entry Date | 109 | 8 | DT |
Current Date Format = YYYYMMDD |
Data Entry Time | 117 | 4 | AN |
Time Format = HHMM |
Export Date | 121 | 8 | DT |
Current Date Format = YYYYMMDD |
Undefined | 129 | 30 | AN | |
On/Off Part and Dest Found | 159 | 1 | N0 | Hard Coded 1 - one |
Undefined | 160 | 10 | N0 | |
Purchase Order LIne | 170 | 4 | N0 | ackitem_mst.co_line |
Undefined | 174 | 16 | AN | |
Trading Partner Part Number | 190 | 30 | AN |
|
Our Item Number | 220 | 30 | AN |
|
Quantity | 250 | 9 | N0 | ackitem_mst.qty_ordered |
Unit Of Measure | 259 | 2 | AN |
|
Price | 261 | 14 | N0 | ack_bln_mst.cont_price |
Price Base | 275 | 2 | AN |
(last character truncated) |
Description | 277 | 35 | AN | SpecificNotes.NoteContent |
Undefined | 312 | 30 | AN | |
Time Qualifier | 342 | 3 | AN | Hard Coded 017 |
Required Date | 345 | 8 | DT |
Format = YYYYMMDD |
Undefined | 353 | 4 | AN | |
Blanket Line Quantity | 357 | 9 | N0 | ack_bln_mst.blanket_qty |
Undefined | 366 | 470 | AN | |
Customer User-Defined Character Field 1 | 836 | 20 | AN | ack_mst.charfld1 Radley Undefined |
Customer User-Defined Character Field 2 | 856 | 20 | AN | ack_mst.charfld2 Radley Undefined |
Customer User-Defined Character Field 3 | 876 | 20 | AN | ack_mst.charfld3 Radley Undefined |
Customer User-Defined Date Field | 896 | 8 | DT |
Format = YYYYMMDD |
Customer User-Defined Decimal Field 1 | 904 | 14 | AN | ack_mst.decifld1 Radley Undefined |
Customer User-Defined Decimal Field 2 | 918 | 14 | AN | ack_mst.decifld2 Radley Undefined |
Customer User-Defined Decimal Field 3 | 932 | 14 | AN | ack_mst.decifld3 Radley Undefined |
Customer User-Defined Logic Field | 946 | 3 | AN | ack_mst.logifld - Radley Undefined YES or NO |
Undefined | 949 | 76 | AN | |
1024 | Total Record Length |
856 Advance Shipping Notices (ASNs) Export
Advance ship notices (ASNs) are used within the SyteLine EDI functionality to notify the trading partner that a shipment of goods has been completed. This transaction set communicates the contents of a shipment, who it is from, and where it is going. An ASN is generated during the printing of an advance ship notice if the Generate Ship Notice field on the EDI Customer Profiles form is selected for the trading partner associated with the ASN customer order.
856 Advance Shipping Notices (ASNs) Export Flat File Layout
This table describes the fields for Map Identifier Record (For translators other than Radley):
Field Description | Position | Length | Format | Field or Notes |
---|---|---|---|---|
Trading Partner Code | 1 | 7 | AN | cust_tp_mst.tp_code |
SY1 Designator (hard_coded) | 8 | 3 | AN | Hard Coded SY1 |
Transaction Type Number | 11 | 6 | AN | Hard Coded 856 |
This table describes the fields for Header:
Field Description | Position: Radley | Position: Other Translators | Length | Format | Field or Notes |
---|---|---|---|---|---|
Record Type | 1 | 1 | N0 | 1 = Header | |
Transaction Type | 1 | 2 | 1 | N0 | Hard Coded 1 - one |
Company Code | 2 | 3 | 7 | AN | edi_parms_mst.tp_code |
Undefined | 9 | 10 | 1 | AN | |
Trading Partner Designator | 10 | 11 | 2 | AN | substring(cust_tp_mst.tp_code, 1,2) |
Shipper Number | 12 | 13 | 30 | AN | edi_bol_mst.shipper_num |
Undefined | 42 | 43 | 40 | AN | |
Destination Abbreviation | 82 | 83 | 5 | AN | substring(cust_tp-tp_code, 3,5) |
Site Abbreviation | 87 | 88 | 5 | AN | substring(bt_cust_tp_mst.tp_code, 3,5) |
Bill To Abbreviation | 92 | 93 | 5 | AN | substring(bt_cust_tp_mst.tp_code, 3,5) |
Ship To Abbreviation | 97 | 98 | 5 | AN | substring(cust_tp_mst.tp_code, 3,5) |
Ship Date | 102 | 103 | 8 | DT |
Current Date Format = YYYYMMDD |
Ship Time | 110 | 111 | 4 | AN |
Time Format = HHMM |
Pooled | 114 | 115 | 1 | AN | cust_tp_mst.pooled_asn |
Undefined | 115 | 116 | 31 | AN | |
Carrier Code | 146 | 147 | 4 | AN | co_mst.ship_code |
Undefined | 150 | 151 | 6 | AN | |
Equipment Number | 156 | 157 | 7 | AN | edi_bol_mst.veh_num |
Undefined | 163 | 164 | 10 | AN | |
Route | 173 | 174 | 25 | AN | edi_bol_mst.route |
Undefined | 198 | 199 | 75 | AN | |
Status | 273 | 274 | 1 | AN | Hard Coded "N" |
Entry Date | 274 | 275 | 8 | DT |
Current Date Format = YYYYMMDD |
Entry Time | 282 | 283 | 4 | AN |
Time Format = HHMM |
Undefined | 286 | 287 | 15 | AN | |
Carrier Reference | 301 | 302 | 15 | AN | edi_bol_mst.carrier_num |
Undefined | 316 | 317 | 16 | AN | |
ASN Required Flag | 332 | 333 | 1 | N0 | Hard Coded 1 - one |
Undefined | 333 | 334 | 120 | AN | |
ASN Number | 453 | 454 | 30 | AN | do_hdr_mst.do_num or
|
BOL Number | 483 | 484 | 30 | AN | do_hdr_mst.do_num or
|
Undefined | 513 | 514 | 520 | AN | |
1032 | 1033 | Total Record Length |
This table describes the fields for Detail:
Field Description | Position: Radley | Position: Other Translators | Length | Format | Field or Notes |
---|---|---|---|---|---|
Record Type | 1 | 1 | N0 | 2 = Detail | |
Transaction Type | 1 | 2 | 1 | N0 | Hard Coded 1 - one |
Company Code | 2 | 3 | 7 | AN | edi_parms_mst.tp_code |
Undefined | 9 | 10 | 1 | AN | |
Trading Partner Designator | 10 | 11 | 2 | AN | substring(cust_tp_mst.tp_code, 1,2) |
Shipper Number | 12 | 13 | 30 | AN | edi_bol_mst.shipper_num |
Item | 42 | 43 | 30 | AN | edi_bol_item_mst.item |
Customer Item | 72 | 73 | 30 | AN | coitem_mst.cust_item or " " |
Quantity Shipped | 102 | 103 | 7 | AN | edi_bol_item_mst.qty |
Unit Of Measure | 109 | 110 | 2 | AN | edi_bol_item_mst.u_m |
Undefined | 111 | 112 | 50 | AN | |
Item Description | 161 | 162 | 30 | AN | edi_bol_item_mst.description |
Item Weight | 191 | 192 | 10 | N0 | item_mst.unit_weight |
Undefined | 201 | 202 | 6 | AN | |
PO Number | 207 | 208 | 22 | AN | edi_rel_po_mst.cust_po or co_mst.cust_po |
PO Date | 229 | 230 | 8 | DT |
Format = YYYYMMDD |
Undefined | 237 | 238 | 16 | AN | |
Price | 253 | 254 | 10 | N0 | coitem_mst.price or 0 |
Undefined | 263 | 264 | 40 | AN | |
Status | 303 | 304 | 1 | AN | Hard Coded "N" |
Entry Date | 304 | 305 | 8 | DT |
Current Date Format = YYYYMMDD |
Entry Time | 312 | 313 | 4 | AN |
Time Format = HHMM |
Undefined | 316 | 317 | 332 | AN | |
Lot Number | 648 | 649 | 30 | AN | matltrack_mst.lot |
Undefined | 678 | 679 | 417 | AN | |
1094 | 1095 | Total Record Length |
This table describes the fields for Serial Number Record. The serial number record applies only to generic translators (not to Radley). This record may be included if the Include Serial Numbers check box is selected on the EDI Customer Profiles form.
Field Description | Position: Radley | Position: Other Translators | Length | Format | Field or Notes |
---|---|---|---|---|---|
Record Type | 1 | 1 | N0 | 3 = Serial | |
Transaction Type | 2 | 1 | N0 | Hard Coded 1 - one | |
Company Code | 3 | 8 | AN | edi_parms_mst.tp_code |
|
Trading Partner Designator | 11 | 2 | AN | substring(cust_tp_mst.tp_code, 1,2) |
|
Shipper Number | 13 | 30 | AN | edi_bol_mst.shipper_num |
|
Item | 43 | 30 | AN | edi_bol_item_mst.item |
|
Undefined | 73 | 30 | AN | ||
Serial Number | 103 | 30 | AN | serial_mst.ser_num |
|
Undefined | 133 | 355 | AN | ||
487 | Total Record Length |