Skip to content

组件内置协议之fund

斩秋 edited this page Sep 6, 2019 · 3 revisions

国家标准:开放式基金业务数据交换协议(http://www.chinaclear.cn/zdjs/editor_file/20161014111132532.pdf

一:fund协议布局模板

1.fund协议文件数据是定长而不是通过分隔符分割的
2.protocol标签的rowsplit属性指定数据字段的分割方式
3.row标签的columnLayout定义了数据定义模板中的字段布局方式,这里是纵向布局,也就是一个字段一行 (默认是横向布局)
4.bodycolumn是组件实现的内置行数
5.totalCount组件内置变量,不用在数据定义模板中定义
6.row的type属性定义变量的类型和长度

<protocol name="fund" rowsplit="rowSplitByFixedlLength">
	<head>
		<row columnLayout="vertical">
			<column>
				<output>${column.value()}</output>
			</column>
		</row>
		<row output="${bodycolumn.count()}" type="Integer|[3,0]" />
		<row output="${bodycolumn.vertical(name)}" />
		<row output="${totalCount}" type="Integer|[8,0]" />
	</head>
	<body>
		<row>
			<column>
				<output>${column.value()}</output>
			</column>
		</row>
	</body>
	<tail>
		<row>
			<column>
				<output>${column.value()}</output>
			</column>
		</row>
	</tail>
</protocol>

二:fund数据定义模板示例

{
	"head":[
        "identity|信息标识|[8,0]|default:OFDCFDAT",
        "version|协议版本号|[4,0]|default:20",
        "msgCreator|信息创建人|[9,0]|default:H0",
        "msgRecipient|信息接收人|[9,0]",
        "sendDate|传送发生日期|[8,0]|Date:yyyyMMdd",
        "summaryTableNo|汇总表号|[3,0]",
        "fileTypeCode|文件类型代码 |[2,0]",
        "sender|发送人|[8,0]|default:H0",
        "recipient|接收人|[8,0]"
    ],
    "body":[
        "TransactionCfmDate|对帐日期|[8,0]|Date:yyyyMMdd",
        "FundCode|基金代码|[8,0]",
        "AvailableVol|基金可用份数|Integer|[6,2]"
    ],
    "tail":[
    	"fileEnd|数据文件尾部字符|default:OFDCFEND|[8,0]"
    ],
    "protocol":"FUND"
}

三:fund文件示例

OFDCFDAT
20  
H0       
xxx      
20151204
aa 
bb
H0      
ll      
003
TransactionCfmDate
FundCode
AvailableVol
00000010
20151204中国0 000000
20151204中国1 000100
20151204中国2 000200
20151204中国3 000300
20151204中国4 000400
20151204中国5 000500
20151204中国6 000600
20151204中国7 000700
20151204中国8 000800
20151204中国9 000900
OFDCFEND
Clone this wiki locally