Skip to content

Example Five

This Text File holds a retail sales order.

It is a tagged, comma dilimited, unenclosed file without header or type records.

It has 3 Lists, 1 Condition and 1 Rule.

The Schema File only has fields if they have a value (Base.[Field Presence]), and it does not have trailing delimiters (Base.[Trailing Delimiters]). It also has all of the Record Records intermingled with all of the Field Records (Base.[Record Order]).

Sample Source File

HDR,SO12345,Billy Jones,20160605,UPSGRND,Happy Birthday!!
DTL,DDF34,12
LOT,16136ABF,6
LOT,16137PDG,6
DTL,EPS12,12
LOT,16124RFG,4
LOT,16128JJH,6
LOT,16128LVW,2
NTE,,PACK WITH GREEN PEANUTS
SUM,24

Text File Schema Definition

Type=CONTROL,ID=1,SchemaEnclosureCharacter=22,Version=1.0.1.22
Type=META,ID=2,Name=AcmeSalesShippingRequest,Version=2017-06-12 MDS,FileType=DELIMITED,DelimiterCharacter=2C,EnclosureCharacter=22,EncloseWhen=NEEDED,CharacterEncoding=UTF-8,EndOfLine=NEWLINE,FieldIDMethod=HEADER
Type=RECORD,ID=3,Name=Order,Position=1,ParentID=2,Required=YES,HasData=ALWAYS,MinimumAllowed=1,MaximumAllowed=1,ParentRecordIDPosition=1,RecordIDValue=HDR,IsHeader=NO,TrailingDelimiter=NO
Type=FIELD,ID=4,Name=LineType,Position=1,ParentID=6,Required=YES,HasData=ALWAYS,MinimumLength=3,MaximumLength=3,DataType=STRING,StringRegex=^HDR$,NumericMinimumValue=.01,Sample=HDR
Type=FIELD,ID=5,Name=OrderID,Position=2,ParentID=6,Required=YES,HasData=ALWAYS,MinimumLength=1,MaximumLength=20,DataType=STRING,Sample=SO12345
Type=FIELD,ID=6,Name=ShipToName,Position=3,ParentID=6,Required=YES,HasData=ALWAYS,MinimumLength=5,MaximumLength=40,DataType=STRING,Sample=Bill Smith
Type=FIELD,ID=7,Name=ShipDate,Annotation=This is the date the product is to be shipped no later than,Position=4,ParentID=6,Required=YES,HasData=CONDITIONAL,MinimumLength=8,MaximumLength=8,DataType=DATETIME,DateTimeFormat=yyyyMMdd,Sample=20160604
Type=FIELD,ID=8,Name=ShipMethod,Position=5,ParentID=6,Required=YES,HasData=CONDITIONAL,MinimumLength=4,MaximumLength=8,DataType=STRING,ListID=26,Sample=USPS
Type=FIELD,ID=9,Name=GiftMessage,Position=6,ParentID=6,Required=YES,HasData=ALWAYS,MinimumLength=0,MaximumLength=255,DataType=STRING,NumericMinimumValue=.01,Sample=Happy Birthday!
Type=FIELD,ID=10,Name=Comment,Position=6,ParentID=6,Required=YES,HasData=ALWAYS,MinimumLength=0,MaximumLength=255,DataType=STRING,NumericMinimumValue=.01,Sample=Happy Birthday!
Type=RECORD,ID=11,Name=Item,Position=2,ParentID=6,Required=YES,HasData=ALWAYS,MinimumAllowed=1,MaximumAllowed=0,ParentRecordIDPosition=1,RecordIDValue=DTL,IsHeader=NO,TrailingDelimiter=NO
Type=FIELD,ID=12,Name=LineType,Position=1,ParentID=11,Required=YES,HasData=ALWAYS,MinimumLength=3,MaximumLength=3,DataType=STRING,StringRegex=^DTL$,Sample=DTL
Type=FIELD,ID=13,Name=SKU,Position=2,ParentID=11,Required=YES,HasData=ALWAYS,MinimumLength=1,MaximumLength=20,DataType=STRING,NumericMinimumValue=.01,Sample=RGB1234
Type=FIELD,ID=14,Name=Quantity,Position=3,ParentID=11,Required=YES,HasData=ALWAYS,MinimumLength=1,MaximumLength=10,DataType=NUMBER,Sample=12
Type=RECORD,ID=15,Name=Lot,Position=3,ParentID=11,Required=NO,HasData=ALWAYS,MinimumAllowed=1,MaximumAllowed=0,ParentRecordIDPosition=1,RecordIDValue=LOT,IsHeader=NO,TrailingDelimiter=NO
Type=FIELD,ID=16,Name=LineType,Position=1,ParentID=15,Required=YES,HasData=ALWAYS,MinimumLength=3,MaximumLength=3,DataType=STRING,StringRegex=^LOT$,Sample=LOT
Type=FIELD,ID=17,Name=Lot,Position=2,ParentID=15,Required=YES,HasData=ALWAYS,MinimumLength=1,MaximumLength=30,DataType=STRING,NumericMinimumValue=.01,Sample=16124RFG
Type=FIELD,ID=18,Name=Quantity,Position=3,ParentID=15,Required=YES,HasData=ALWAYS,MinimumLength=1,MaximumLength=10,DataType=NUMBER,Sample=12
Type=RECORD,ID=19,Name=Note,Position=4,ParentID=3,Required=NO,HasData=ALWAYS,MinimumAllowed=1,MaximumAllowed=0,ParentRecordIDPosition=1,RecordIDValue=NTE,IsHeader=NO,TrailingDelimiter=NO
Type=FIELD,ID=20,Name=LineType,Position=1,ParentID=19,Required=YES,HasData=ALWAYS,MinimumLength=3,MaximumLength=3,DataType=STRING,StringRegex=^NTE$,Sample=NTE
Type=FIELD,ID=21,Name=PickingInstructions,Position=2,ParentID=19,Required=YES,HasData=ALWAYS,MinimumLength=1,MaximumLength=255,DataType=STRING,NumericMinimumValue=.01,Sample=Oldest Lot first
Type=FIELD,ID=22,Name=PackingInstructions,Position=3,ParentID=19,Required=YES,HasData=ALWAYS,MinimumLength=1,MaximumLength=255,DataType=STRING,Sample=Pack with green peanuts
Type=RECORD,ID=23,Name=Summary,Position=5,ParentID=3,Required=YES,HasData=ALWAYS,MinimumAllowed=0,MaximumAllowed=1,ParentRecordIDPosition=1,RecordIDValue=SUM,IsHeader=NO,TrailingDelimiter=NO
Type=FIELD,ID=24,Name=LineType,Position=1,ParentID=23,Required=YES,HasData=ALWAYS,MinimumLength=3,MaximumLength=3,DataType=STRING,StringRegex=^SUM$,Sample=SUM
Type=FIELD,ID=25,Name=OrderQuantity,Position=2,ParentID=23,Required=YES,HasData=ALWAYS,MinimumLength=1,MaximumLength=20,DataType=NUMBER,NumericMinimumValue=.01,Sample=12
Type=LIST,ID=26,Name=ShipMethod,Annotation=Allowed shipment methods,Position=1
Type=VALUE,ID=27,Annotation=FedEx Ground,Position=1,ParentID=26,Value=FDEXGRND
Type=VALUE,ID=28,Annotation=UPS Ground,Position=2,ParentID=26,Value=UPSGRND
Type=VALUE,ID=29,Annotation=US Postal Service Priority,Position=3,ParentID=26,Value=USPS
Type=CONDITION,ID=30,Name=ShipDate & ShipMethod,Annotation=If HDR.ShipDate is used then HDR.ShipMethod must be used.,Position=1,Level=FIELD,ConditionType=CONDITIONAL,ListID=31
Type=LIST,ID=31,Name=ShipDate & ShipMethod List,Position=2
Type=VALUE,ID=32,Position=1,ParentID=34,Value=10
Type=VALUE,ID=33,Position=2,ParentID=34,Value=11
Type=RULE,ID=34,Name=UPS Notes,"Annotation=If the ShipMethod starts with UPS, then PackingInstructions must have data",Position=1,Level=FIELD,HypothesisID=11,HypothesisOperator=STARTS WITH,HypothesisNegation=FALSE,HypothesisListID=30,ConclusionID=24,ConclusionOperator=HAS DATA,ConclusionNegation=FALSE
Type=LIST,ID=35,Name=Carriers With Notes,Annotation=Carriers that require Packing Instructions,Position=3
Type=VALUE,ID=36,Position=1,ParentID=35,Value=UPS
Type=VALUE,ID=37,Position=2,ParentID=35,Value=FEDX
Type=SUMMARY,ID=38,ControlCount=1,MetaCount=1,RecordCount=5,FieldCount=18,ListCount=3,ValueCount=7,ConditionCount=1,RuleCount=1,SummaryCount=1,TotalCount=38
Back to top