怎么在as/400上创建tab键分隔的文件

时间:2016-07-08 ┊ 阅读:8,459 次 ┊ 标签: 开发 , 编程 , 设计

平时我们在rpg程序中,用逗号(x'6b')来分隔字段以生成csv文件,导出后方便用户查看。但有时需要以tab键来分隔字段,对齐比较方便,在as400上该怎么做到呢?
其实tab键是在pc下分隔字段的方便,在db2上是不支持tab做为列分隔符的。但是我们可以用 IFS 命令CPYTOIMPF (Copy to Import File) 来创建tab分隔的文件:
CPYTOIMPF FROMFILE(library/filename) TOSTMF('pathnamefilename.ext') STMFCODP
AG(PCASCII) RCDDLM(CRLF) STRDLM('"') FLDDLM(x'05')

注意参数 FLDDLM (Field Delimiter),其默认值为逗号(‘,’). 在 ASCII 码中 tab 的ASCII码为 x’09’,对应于 as/400 上的 EBCDIC 码 x’05’. 在as/400上,用WRKTBL 可以查看 QASCII 转换表.
WRKTBL TBL(QASCII):
QASCII QSYS EBCDIC TO ASCII TRANSLATE TABLE
1.png
2.png
3.png
4.png
5.png
6.png

文本版:
Hex Hex Hex Hex Hex Hex
Input Output Input Output Input Output
00 00 0F 0F 1E 1E
01 01 10 10 1F 1F
02 02 11 11 20 80
03 03 12 12 21 81
04 9C 13 13 22 82
05 09 14 9D 23 83
06 86 15 85 24 84
07 7F 16 08 25 0A
08 97 17 87 26 17
09 8D 18 18 27 1B
0A 8E 19 19 28 88
0B 0B 1A 92 29 89
0C 0C 1B 8F 2A 8A
0D 0D 1C 1C 2B 8B
0E 0E 1D 1D 2C 8C
2D 05 3C 14 4B 2E
2E 06 3D 15 4C 3C
2F 07 3E 9E 4D 28
30 90 3F 1A 4E 2B
31 91 40 20 4F 21
32 16 41 A0 50 26
33 93 42 A1 51 A9
34 94 43 A2 52 AA
35 95 44 A3 53 AB
36 96 45 A4 54 AC
37 04 46 A5 55 AD
38 98 47 A6 56 AE
39 99 48 A7 57 AF
3A 9A 49 A8 58 B0
3B 9B 4A 5B 59 B1
5A 5D 69 B9 78 C2
5B 24 6A 7C 79 60
5C 2A 6B 2C 7A 3A
5D 29 6C 25 7B 23
5E 3B 6D 5F 7C 40
5F 5E 6E 3E 7D 27
60 2D 6F 3F 7E 3D
61 2F 70 BA 7F 22
62 B2 71 BB 80 C3
63 B3 72 BC 81 61
64 B4 73 BD 82 62
65 B5 74 BE 83 63
66 B6 75 BF 84 64
67 B7 76 C0 85 65
68 B8 77 C1 86 66
87 67 96 6F A5 76
88 68 97 70 A6 77
89 69 98 71 A7 78
8A C4 99 72 A8 79
8B C5 9A CB A9 7A
8C C6 9B CC AA D2
8D C7 9C CD AB D3
8E C8 9D CE AC D4
8F C9 9E CF AD D5
90 CA 9F D0 AE D6
91 6A A0 D1 AF D7
92 6B A1 7E B0 D8
93 6C A2 73 B1 D9
94 6D A3 74 B2 DA
95 6E A4 75 B3 DB
B4 DC C3 43 D2 4B
B5 DD C4 44 D3 4C
B6 DE C5 45 D4 4D
B7 DF C6 46 D5 4E
B8 E0 C7 47 D6 4F
B9 E1 C8 48 D7 50
BA E2 C9 49 D8 51
BB E3 CA E8 D9 52
BC E4 CB E9 DA EE
BD E5 CC EA DB EF
BE E6 CD EB DC F0
BF E7 CE EC DD F1
C0 7B CF ED DE F2
C1 41 D0 7D DF F3
C2 42 D1 4A E0 5C
E1 9F F0 30 FF FF
E2 53 F1 31
E3 54 F2 32
E4 55 F3 33
E5 56 F4 34
E6 57 F5 35
E7 58 F6 36
E8 59 F7 37
E9 5A F8 38
EA F4 F9 39
EB F5 FA FA
EC F6 FB FB
ED F7 FC FC
EE F8 FD FD
EF F9 FE FE

通过参数FLDDLM(x’05’),告诉系统用16进制的‘05’来分隔字段(列),导到pc上会自动转换成16进制码‘09’,就是tab符了。

文章评论

添加新评论

温馨提醒:如果您是第一次在本站留言,需要审核后才能显示哦!

相关文章

ValueError: Error getting directory

ValueError: Error getting directory

ssl证书过期了 明明自动renew的 然后看log已经好久没更新成功了 查半天是当前server不信任远程连接 只能自己改代码 报错: 21-12-17 13:01:11 Generate CSR...amkevin.csr amkevin.csr generated. /home/www...
阅读全文>>
Introduction to ILE RPG Activation Groups

Introduction to ILE RPG Activation Groups

Learn how activation groups can help your ILE RPG programs run more efficiently, how to specify the type of group to use, and closing and reclaimin...
阅读全文>>
popup.js怎么和content.js通信?[JQuery]

popup.js怎么和content.js通信?[JQuery]

这两天为了实现一个谷歌浏览器插件功能,研究了半天怎么让插件来改特定网页里的特定字段的值,而这个值又来自popup的网页预先设定,下一步实现动态加载,可以让更多组实现便利。 目的很简单,我们有一个list,需要填到网页的某个字段,当然是好几个,这些值是设定好的,网页系统我们没法改,input想...
阅读全文>>
如何绕过登录抓取js动态加载网页数据[Python]

如何绕过登录抓取js动态加载网页数据[Python]

今天经历了一翻折腾,把一个需要登录网站并js动态加载的数据一一给抓下来了。 首先,登录时有cookie,我们需要把cookie保存下来,用urllib2构建request时加入header信息,这时还多了一点,虚构了浏览器信息,让服务器以为是正常的浏览器发起的请求,这样可以绕过简单的反爬虫策略...
阅读全文>>
终于用上了专业版的PyCharm含激活方法链接[Python]

终于用上了专业版的PyCharm含激活方法链接[Python]

就直接上图片吧: 激活方法链接:https://www.cnblogs.com/pupilheart/p/9734124.html
阅读全文>>