文件记录体格式
序号
域 名
长度
位 置
填写说明
1
记录体标记
2
1-2
填“50”
2
话单生成日期
8
3-10
YYYYMMDD
3
SP企业代码
20
11-30
SP企业代码
同文件名中SP企业代码,右对齐,左补空格
4
业务代码
20
31-50
不包含免费业务
左对齐,右补空格
5
计费类型
2
51-52
01:按次
02:包月
03:包天
04:包次
6
资费
5
53-57
单位:分
不保留小数,小数位四舍五入
右对齐,左补0
7
SP分成比例
4
58-61
SP方的分成比例*1000
纯数字,不带小数点和百分符号的整数
右对齐,左补0
取值范围:0000-1000
8
话单条数
11
62-72
成功计费话单条数,不包含免费和“查询”类型的话单
右对齐,左补0
9
计费用户归属省代码
3
73-75
填写计费用户归属省代码,编码规则同对帐责任单位编码
10
信息费总额
12
76-87
单位:分
纯数字,不保留小数,小数位四舍五入
右对齐,左补0
信息费总额 = 话单条数 * 资费
11
保留字段1
31
88-118
填空格
12
回车
1
119
Carriage Return
13
换行
1
120
Line Feed
SELECT CONCAT(
'50',
a.t,
LPAD('901077', 20, ' '),
RPAD(a.serviceid, 20, ' '),
'01',
LPAD('100', 5, '0'),
LPAD('850', 4, '0'),
LPAD(a.total, 11, 0),
'591',
LPAD(a.sumfee, 12, 0),
REPEAT(' ', 31),
'\r',
'\n'
)
FROM
(
SELECT LEFT(log_time, 8) AS t, serviceid, COUNT(*) AS total, SUM(feecode) AS sumfee
FROM
mt_log_201107
WHERE
spcode = '901077' AND region = '0591' AND feecode > 0
GROUP BY t, serviceid
) a
生成文件
mysql -uroot -f spservice -Ne"
SELECT CONCAT(
'50',
a.t,
LPAD('901077', 20, ' '),
RPAD(a.serviceid, 20, ' '),
'01',
LPAD('100', 5, '0'),
LPAD('850', 4, '0'),
LPAD(a.total, 11, 0),
'591',
LPAD(a.sumfee, 12, 0),
REPEAT(' ', 31),
'\r'
)
FROM
(
SELECT LEFT(log_time, 8) AS t, serviceid, COUNT(*) AS total, SUM(feecode) AS sumfee
FROM
mt_log_201107
WHERE
spcode = '901077' AND region = '0591' AND feecode > 0
GROUP BY t, serviceid
) a
" > spdz_001_90107700000000000000_591_201107.txt &