FixedLength

The FixedLength Stream is a stream to process the fixed length data. Only the FixedLength Stream can use the EBCDIC Coding.

Steam property

Property name Value
Line for beginning to read Specify the first line's number to process data as record. For example, when data's first line isn't a fixedlength data, if you specify 2, data will be output from the second line as stream skipping the first line. The initial value is 1.
Field number Specify a record's field number. Once it is specified, the fields will be prepared according to the number specified by field definition. The field name will be defined as "field+number", namely to add a number from 1 to "field". The initial value is 3.
Output encoding Specify a stream's encoding.
Specify an encoding for processing the data of the host system. To specify it, you can enter the Flow Service's specific encoding directly. For more information, please refer to the below"The Flow Service's specific encoding name".
utf-8 unicode utf-8
shift_jis Shift JIS
euc-jp EUC-JP
iso-2022-jp ISO-2022-JP
Windows-31J Windows-31J
ebcdic ebcdic
Record seperating Specify to seperate a record. The below seperating can be defined. Once a seperating is selected, the property's display will be switched.
Linefeed Seperate with the linefeed specified by the Linefeed Code Property.
Record length Seperate the length specified by the record length property.
Linefeed Code When the "record seperating" property is "Linefeed", specify a linefeed code to seperate the record.
※When read stream from external, it's not necessary to use the specified linefeed codes.
Don't change Change into the platform standard linefeed code.
CR+LF Change into CR+LF.
CR Change into CR.
LF Change into LF.
Record length When the "record length" property is "record length", specify a length to seperate the record. The initial value is 256.
Packed decimal code's existence Specify wether there is a packed decimal code or not.
Required when input, and always output. Nibble is required when input, and is always output.
Can be omitted when input, and always output. Nibble can be omitted when input, and is always output.
Can be omitted when input, and don't output when it's a plus. Nibble can be omitted when input, and isn't output when it's a plus.
Packed decimal code's format Specify a packed decimal code's format.
C (Plus), D (Minus) For input and output, if it's a plus, it's a hexadecimal and C, if it's a minus, it is D.
A,C,E,F (Plus), B, D (Minus) When input, if it's a plus, it's A,C,E,F, and if it's a minus, it's B,D. When output, if it's a plus it's F, and if it's a minus, it's D.
Zoned decimal code's exsistence Specify whether there is a zoned decimal code or not.
Required when input, and always output. Nibble is required when input, and is always output.
Can be omitted when input, and is always output. Nibble can be omitted when input, and is always output.
Can be omitted when input, and isn't output if it's a plus. Nibble can be omitted when input, and isn't output when it's a plus.
Zoned decimal code's format Specify the Zoned decimal code's format. For input and output, the operation is the same. For the "output encoding" property, it's valid to specify it except "ebcdic".
C (plus), D (minus) For the last digit, if it's a plus, it's a hexadecimal and C, if it's a minus, it's a a hexadecimal and D. For example, -105 will become "31 30 D5".
EBCDIC Compatible The string represented by EBCDIC coding can be changed directly as ASCII Character. For example, -105 will be changed into "F1 F0 D5" with the EBCDIC Coding, changed into "10N" with the string representation, so it will be changed into "31 30 4E" to represent "10N" by ASCII.

Field definition

Define the field name, data type, starting position, length and point position.

Field name Specify the field name.
Data type An arbitrary one of String, Boolean, Integer, Double, Decimal, DateTime, Binary, ZonedDecimal, PackedDecimal.
To specify a Flow Service's specific encoding name for the "output encoding" property, "String(X)" and "String(N)" are added to show, and select one from the two.
String(X) It's a string including shift code, and there is a shift code's length including its length.
String(N) It's a string from which shift code is omitted, and its length excludes the shift code.
If the "record seperating" property is "Linefeed", Binary and PackedDecimal can't be used, or there will be a compile error occured.
Starting position Specify the field position's index from the first recorde based on 0.
Length Specify the length by byte.
Point position Specify a point position when the data type is ZonedDecimal or PackedDecimal. You can only specify with these 2 types.

Memo

  • If the "record seperating" property is "Linefeed", so when read a stream from external, if the fields are fewer than the field definition's field number, null is filled in. If the fields are more than the field definition's field number, the field will be ignored.
  • If the "record seperating" property is "record length", so when read a stream from external, if the length is shorter than the "record length" property's length, a blank is filled in.

The Flow Service's specific encoding

Define the Flow Service's specific encoding name to process the data of the host system. The defined encoding names and their character sets are as below.

AS-CP00930 IBM CP00930 (CP00290 + CP00300)
AS-CP00930-EX Add the modification to AS-CP00930 when the OS is Windows.
AS-CP00939IBM CP00939 (CP01027 + CP00300)
AS-EBCDIC-JEFEBCDIC + Fujitsu JEF code
AS-EBCDIK-JEFEBCDIK + Fujitsu JEF code
AS-EBCDIC-JIPSEEBCDIC + NEC JIPSE code
AS-EBCDIK-JIPSEEBCDIK + NEC JIPSE code
AS-EBCDIC-KEISEBCDIC + Hitachi KEIS code
AS-EBCDIK-KEISEBCDIK + Hitachi KEIS code

In order to exchange with Windows-31J, these character set's definitions are made into a table, so there are some places modified in the Flow Service. Moreover, there is only a character including JIS X 208 in the 2-byte character table.

Take caution in the below characters

Linefeed

0x15(NEL) is mapped with \u0A. Because if you map 0x15 to \u85, you can't process linefeed by Unicode very well. When you map Unicode to Windows-31J, because the result won't be 0x0A, linefeed can't be processed.

Yen symbol and back slash

EBCDIC's yen symbol is mapped with \u5C. Because \uA5 is mapped, when you map Unicode to Windows-31J, the result won't be 0x5C, so it can't be processed as a yen symbol. Moreover, back slash is mapped to \u5C.

Tilde and overline

EBCDIC's tilde is mapped with \u7E, and an overline is mapped with \u5E also. Because in the Windows-31J's mapping, \u7E is mapped with 0x7E.

"Encoding" property

To process a character set of the host system, you can enter the Flow Service's specific encoding name to the "output encoding" property directly.

Field definition's data type

Having specified the Flow Service's specific encoding name for the "output encoding" property, there are String(X) and String(N) added into the data type's pull-down list. For data type, please select one from String(X) and String(N).

Caution

When output, for changing the string in the Flow Service into the String(N), after having changed by the specified character code, then delete shift-in and shift-out.

When input, for changing from String(N) to the string (Unicode string) in the Flow Service, afer having added shift-in and shift-out to the front and the end, then begin to change by using the specified character code. Therefore, if single-byte character is mixed with the String(N) Type field, the code will become unrecognizable.

 

To the top of this page