This describes the layout for processing the Dataset object data in the SSV (Space-Separated Values) form.
Key terminology here are abbreviated as follows.
(RS): RS(Record Separator) / 0x1E(30)
(US): US(Unit Separator) / 0x1F(31)
Depending on the operating environment, (RS), (US) can be changed to other codes in the Nexacro Studio.
Environment.ssvrecordseparator
Environment.ssvunitseparator
Dataset SSV layout
Dataset SSV is configured in the following format.
Item | Required |
---|---|
Stream Header | O |
Variables | X |
Datasets | X |
Stream Header
SSV{:CodePage}(RS)
The Stream Header starts with "SSV", and the CodePage value can be added after the colon (:). It is distinguished from the following items (Variables or Datasets) with (RS).
Item | Required | Description |
---|---|---|
SSV | O | It is a value fixed with "SSV". |
CodePage | X | It starts with the ":" character and is the encoding information. |
SSV(RS) SSV:en_US(RS) SSV:utf-8(RS)
Variables
You can omit or have more than 1 Variable. n number of Variables are distinguished with (RS), and it is divided by (RS) and Datasets.
Variable
Variable ID{:Type(Length)}{=Value}(RS) Variable ID{:Type}{=Value}(RS)
Item | Required | Description |
---|---|---|
Variable ID | O | When a duplicate value comes in as a unique ID, only the last value is processed. |
Type | X | It starts with the ":" character and can contain the Length information. When omitted, it is processed as "STRING". |
Length | X | It is processed as a value between "("character and ")" characters. When omitted, it is processed as a threshold according to Type. However, when Type is "STRING", it is processed as 255. |
Value | X | It starts with the "=" character and is processed as a Value until (RS) comes out. |
name1=value(RS) name1=value1(RS)name2=value2(RS) name1:STRING=value1(RS)name2=value2(RS) name3=value3(RS)name4:STRING(10)=value4(RS)
Datasets
You can omit or have more than 1 Dataset.
Dataset
A Dataset has the following format.
Item | Required |
---|---|
Dataset Header | O |
Const Column Infos | X |
Column Infos | O |
Records | X |
Null Record | O |
When you have Const Column Infos, it must be listed before Column Info.
If the order is changed or the Const Column Infos information is listed again after Column Info, then the normal operation is not guaranteed.
Dataset Format Details
This describes each item of the Dataset.
Dataset Header
Dataset:Dataset ID(RS)
Dataset Header starts with "Dataset" and the Dataset ID is written after the colon (:). It is distinguished from the following items with (RS).
Const Column Infos
_Const_(US)Const Column ID{:Type(Length)}{=Value}(RS) _Const_(US)Const Column ID{:Type}{=Value}(RS)
It starts with "_Const_" and can have more than 1 Const Column Info. n number of Const Column Info is distinguished with (US), and it is distinguished from the following items with (RS).
Item | Required | Description |
---|---|---|
_Const_ | O | It is a value fixed with "_Const_". |
Const Column ID | O | It is the ID value to be used as Const Column ID in Dataset. |
Type | X | It starts with the ":" character and can contain the Length information. When omitted, it is processed as "STRING". |
Length | X | It is processed as a value between "("character and ")" characters. When omitted, it is processed as a threshold according to Type. However, when the Type is "STRING", it is processed as 255. |
Value | X | It starts with the "=" character and is processed as Value until (US) or (RS) comes out. |
Column Infos
_RowType_(US)Column ID{:Type(Length)}{:Sum Type}{:Sum Text}(RS) _RowType_(US)Column ID{:Type}{:Sum Type}{:Sum Text}(RS)
It starts with "_RowType_" and can have more than 1 Column Info. n number of Column Info is distinguished with (US), and it is distinguished from the following items with (RS).
Item | Required | Description |
---|---|---|
_RowType_ | O | It is a value fixed with "_RowType_" |
Column ID | O | It is the ID value to be used as Column ID in Dataset. |
Type | X | It starts with the ":" character and can contain the Length information. When omitted, it is processed as "STRING". |
Length | X | It is processed as a value between the "("character and the ")" character. When omitted, it is processed as a threshold according to Type. However, when the Type is "STRING", it is processed as 255. |
Sum Type | X | It sets the prop property value of the ColumnInfo object with the ":" character. |
Sum Text | X | It sets the sumtext property value of the ColumnInfo object with the ":" character. |
Records
RowType(US)Column Value(RS)
The first field value is RowType, and the subsequent field values are written in the Column order set in Column Infos. Each field value is distinguished with (US).
Item | Required | Description |
---|---|---|
RowType | O | It writes the record type. N: Normal Record I: Inserted Record U: Updated Record D: Deleted Record O: Original Record (This is the original record of the Update Record. It can be used if there is an Update Record). |
Column Value | O | This is the value to be used as the Column Value in the Dataset. If you want to process the Column Value as undefined, then use the "ETX (End of Text) / 0x03(03)". |
Null Record
Distinguish the end of the Dataset with (RS).
References
Type
The values that can be used in the Type item in Variable, Const Column Infos, Column Infos are as follows.
Type | Description |
---|---|
STRING | Character string. The maximum value is limited to 2GB, which is the size that can be allocated at one time in the system. It can be used up to the maximum value, regardless of the size of the Column. |
INT | Integer type (-231 ~ 231-1) |
FLOAT, DECIMAL | Real type (±2.2X10-308 ~ ±1.7X10308) |
BIGDECIMAL | Real type (save as character string) (±10-1056 ~ ±10+1056) |
DATE | Date type YYYYMMDD (-8192/01/01 ~ 8191/12/31) |
DATETIME | YYYYMMDDHHmmssuuu (msec includible) |
TIME | 6-digit HHmmssuuu (msec includible) |
BLOB | Binary data |
Examples
(RS), (US) are indicated by the symbols below.
▼ = Record Separator(RS)
• = Unit Separator(US)
Line breaks are added for easy reading. In the actual SSV configuration, no line breaks are added.
When There is 1 Dataset
SSV:utf-8▼ Dataset:dataset0▼ _RowType_•Col1:String(20)•Col2:Int:SUM•Col3:Decimal:AVG▼ N•Test•0•1•1▼ I•Abc•1•2•2▼ U•Def•2•3•3▼ O•Chk•2•3•3▼ D•Ghi•3•4•4▼ ▼
When There is 1 Dataset with a Const Column
SSV:utf-8▼ Dataset:dataset0▼ _Const_•ConstCol1:STRING(20)=Name•ConstCol2:INT=1•ConstCol3:DECIMAL=0.8▼ _RowType_•Col1:STRING(20)•Col2:INT:SUM•Col3:DECIMAL:AVG▼ N•Test•0•1•1▼ I•Abc•1•2•2▼ U•Def•2•3•3▼ O•Chk•2•3•3▼ D•Ghi•3•4•4▼ ▼
When There are Multiple Datasets
SSV:utf-8▼ Dataset:dataset0▼ _Const_•ConstCol1:STRING(20)=Name•ConstCol2:INT=1•ConstCol3:DECIMAL=0.8▼ _RowType_•Col1:STRING(20)•Col2:INT:SUM•Col3:DECIMAL:AVG▼ N•Test•0•1•1▼ I•Abc•1•2•2▼ U•Def•2•3•3▼ O•Chk•2•3•3▼ D•Ghi•3•4•4▼ ▼ Dataset:dataset1▼ _RowType_•Col1:INT(4):Summ,Col2:STRING(30):Text▼ N•0•test▼ I•1•test1▼ U•2•test3▼ O•2•test3-1▼ D•3•test4▼ ▼
When There is Only a Variable
SSV:utf-8▼ Var4=10▼Var5=20▼ ▼
When There exist both Variable & Dataset
SSV:utf-8▼ Var4=10▼Var5=20▼ Dataset:dataset0▼ _Const_•ConstCol1:STRING(20)=Name•ConstCol2:INT=1•ConstCol3:DECIMAL=0.8▼ _RowType_•Col1:STRING(20)•Col2:INT:SUM•Col3:DECIMAL:AVG▼ N•0•test▼ I•1•test1▼ U•2•test3▼ O•2•test3-1▼ D•3•test4▼ ▼