并判断是否是目录,递归访问目录,mac 返回上一层目录录功能

他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)博客访问: 344070
博文数量: 18
博客积分: 128
博客等级: 入伍新兵
技术积分: 152
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: LINUX
1.获取当前工作目录
& #include <unistd.h>
char *getcwd(char *buf,size_t size);
其中,buf为缓冲区地址,size为给出的最大路径名长度。如果当前工作目录的路径名长度大于给定的长度,则返回NULL并置errno为ERANGE。函数调用成功时,返回指向路径名的指针;否则返回NULL
char *name = new char[256];
if(getcwd(name,255)!=NULL)
&&&&cout<<"current dir is: "<<name<<endl;
delete [] name;
2. stat结构体
#include <sys/stat.h>
struct stat
&&mode_t st_mode;&&&&&& //文件类型和权限信息
&&ino_t st_ino;&&&&&&&& //i结点标识
&&dev_t st_dev;&&&&&&&& //device number (file system)
&&dev_t st_rdev;&&&&&&& //device number for special files
&&nlink_t st_nlink;&&&& //符号链接数
&&uid_t st_uid;&&&&&&&& //用户ID
&&gid_t st_gid;&&&&&&& &//组ID
&&off_t st_size;&&&&&&& //size in bytes,for regular files
&&time_t st_st_atime;&&&//最后一次访问的时间
&&time_t st_mtime;&&&&& //文件内容最后一次被更改的时间
&&time_t st_ctime;&&&&& //文件结构最后一次被更改的时间
&&blksize_t st_blksize; //best I/O block size
&&blkcnt_t st_blocks;&& //number of disk blocks allocated
获取文件stat结构体信息的三个函数
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
int stat(const char *path, struct stat *buf);
int fstat(int fieldes, struct stat *buf);
int lstat(const char *path, struct stat *buf);
成功则返回0,否则返回-1.
其中,fstat的第一个参数int fields为文件的描述符。
fstat区别于另外两个系统调用的地方在于,fstat系统调用接受的是 一个“文件描述符”,而另外两个则直接接受“文件全路径”。文件描述符是需要我们用open系统调用后才能得到的,而文件全路径直接写就可以了。
stat与lstat的区别:
当文件是一个符号链接时,lstat返回的是该符号链接本身的信息;而stat返回的是该链接指向的文件的信息。可以这样记,lstat比stat多了一个l,因此它是有本事处理符号链接文件(link)本身的。
3.dirent结构体,可以只关注d_name字段
#include <dirent.h>
struct dirent
&&long d_ino;&&&&&&&&&&&&&&& /* inode number 索引节点号 */   
&&off_t d_off;&&&&&&&&&&&&&& /* offset to this dirent 在目录文件中的偏移 */  
&&unsigned short d_reclen;&& /* length of this d_name 文件名长 */  
&&unsigned char d_type;&&&& &/* the type of d_name 文件类型 */
&&char d_name [NAME_MAX 1];& /* file name (null-terminated) 文件名,最长255字符 */  
4.读取目录的操作
//可能用到的函数
#include <sys/types.h>
#include <dirent.h>
DIR *opendir(const char *dirname);
struct dirent *readir(DIR *dirp);
void rewinddir(DIR *dirp);
int closedir(DIR *dirp);
//一个完整的递归遍历目录下子目录及文件的函数
#include <unistd.h>
#include <stdio.h>
#include <dirent.h>
#include <string.h>
#include <stdlib.h>
void printdir(char *dir, int depth)
&&DIR *dp;
&&struct direct *entry;
&&struct stat statbuf;
&&if( (dp = opendir(dir))!=NULL )
&&&&chdir(dir);&&&&&&&& //changedir,进入dir目录
&&&&while( (entry = readdir(dp))!=NULL )
&&&&&&lstat(entry->d_name,&statbuf);
&&&&&&if( S_ISDIR(statbuf.st_mode) )
&&&&&&&&if(strcmp(".",entry->d_name)==0 || strcmp("..",entry->d_name)
&&&&&&&&&&continue;
&&&&&&&&printf("%*s%s/\n",depth," ",entry->d_name);
&&&&&&&&printdir(entry->d_name,depth+4);
&&&&&&else
&&&&&&&&printf("%*s%s\n",depth," ",entry->d_name);
&&&&chdir("..");
&&&&closedir(dp);
&&&&fprintf(stderr,"cannot open directory: %s\n",dir);
&&&&return;
int main()
&&printf("Directory scan of /home:\n");
&&printdir("/home",0);
&&printf("Success!\n");
&&exit(0);
&5.注意:判断文件是目录文件还是普通文件有两种方式
struct dirent *entry;
struct stat st;
entry = opendir(dir);
lstat(entry->d_name,&st);
S_ISDIR(st.st_mode); //是目录文件则函数返回true
S_ISREG(st.st_mode); //是普通文件则函数返回true
//S_ISDIR和S_ISREG均为宏定义,可参见sys/stat.h.
//或者用以下方式
(st.st_mode & S_IFMT)==S_IFDIR //目录文件为true
(st.st_mode & S_IFMT)==S_IFREG //普通文件为true
//其中S_IFMT在sys/stat.h中被定义为八进制数170000,通过与st_mode进行位的与操作可得类型,另有S_IFBLK、S_IFCHR、S_IFIFO类型
阅读(6089) | 评论(2) | 转发(7) |
给主人留下些什么吧!~~
Linux程序设计上的。经典啊
请登录后评论。Node仿Tree指定层级输出树形文件目录结构 - 简书
Node仿Tree指定层级输出树形文件目录结构
前言这段时间空余时间蛮少,后来特地腾出晚上的时间来开发自己的玩具。 今天讲的是为玩具所开发的一个小模块的一个功能。 具体来说它是一个仿Tree命令能够罗列给定目录的树形结构。而且我的做法是开发一个命令行工具,但这里先不提,我们就专注这个目录列表功能。 需要输出相同的结构。我们先来看下需要达到的效果
正文我们先来探讨一下如何获得目录结构。因为我们最终需要的是给路径-&获得目录结构-&数据处理(输出/另外操作)在Node里有这么几个APIfs.readdir(path, callback)该方法是 readdir(3) 的异步执行版本,用于读取一个目录的内容。callback 接收两个参数 (err, files),其中 files 是一个数组,数组成员为当前目录下的文件名,不包含 . 和 ..。fs.readdirSync(path)该方法是 readdir(3) 的同步执行版本,返回一个不包含 . 和 .. 的文件名数组。...这里就列两个,其他的请自行去官网查API0-0一开始我试图用异步方法来获取,但是最后因为没处理好Promise和其它异步操作,导致最后数据没有存储下来。因此现在我们讲的是用同步方式获取。异步方式也将在这个模块写完之后再去写一版本。基本上网上的方法都是递归调用方法来获取整个目录结构。这里也不例外。不过我们需要注意我们需要的将整个目录关系都缓存在一个Object里。而且因为我需要指定层级目录输出。因此每个文件/目录还将有一个属性就是deep,它作为一个告诉调用者该目录层级的深度。如果是0,说明是指定目录的根目录下同级的文件/目录。依次类推。当然这里就直接贴出代码_getAllNames: function(level, dir) {
var filesNameArr = []
let cur = 0
// 用个hash队列保存每个目录的深度
var mapDeep = {}
mapDeep[dir] = 0
// 先遍历一遍给其建立深度索引
function getMap(dir, curIndex) {
var files = fs.readdirSync(dir) //同步拿到文件目录下的所有文件名
files.map(function(file) {
//var subPath = path.resolve(dir, file) //拼接为绝对路径
var subPath = path.join(dir, file) //拼接为相对路径
var stats = fs.statSync(subPath) //拿到文件信息对象
// 必须过滤掉node_modules文件夹
if (file != 'node_modules') {
mapDeep[file] = curIndex + 1
if (stats.isDirectory()) { //判断是否为文件夹类型
return getMap(subPath, mapDeep[file]) //递归读取文件夹
//console.log(subPath)
getMap(dir, mapDeep[dir])
//console.log(mapDeep)
function readdirs(dir, folderName,myroot) {
var result = { //构造文件夹数据
path: dir,
name: path.basename(path),
type: 'directory',
deep: mapDeep[folderName]
var files = fs.readdirSync(dir) //同步拿到文件目录下的所有文件名
result.children = files.map(function(file) {
//var subPath = path.resolve(dir, file) //拼接为绝对路径
var subPath = path.join(dir, file) //拼接为相对路径
var stats = fs.statSync(subPath) //拿到文件信息对象
//console.log(subPath)
if (stats.isDirectory()) { //判断是否为文件夹类型
// console.log(mapDeep[file])
return readdirs(subPath, file,file) //递归读取文件夹
return { //构造文件数据
path: subPath,
name: file,
type: 'file'
return result //返回数据
filesNameArr.push(readdirs(dir, dir))
return filesNameArr
},过滤掉node_modules是必须的,因为开发中这个目录一直存在。。。是个极大干扰源。这里我代码都加了注释应该很好理解。我们来输出下缓存的目录结构{ path: './',
name: '[object Object]',
type: 'directory',
[ { path: '.DS_Store', name: '.DS_Store', type: 'file' },
{ path: '.babelrc', name: '.babelrc', type: 'file' },
{ path: '.gitignore', name: '.gitignore', type: 'file' },
{ path: 'README.MD', name: 'README.MD', type: 'file' },
{ path: 'bin',
name: '[object Object]',
type: 'directory',
children: [Object] },
{ path: 'lib',
name: '[object Object]',
type: 'directory',
children: [Object] },
{ path: 'package.json', name: 'package.json', type: 'file' },
{ path: 'test',
name: '[object Object]',
type: 'directory',
children: [Object] } ] }[ { path: './',
name: '[object Object]',
type: 'directory',
[ [Object],
[Object] ] } ]针对./这个当前目录的路径,程序返回上面的结构。 这样我们就得到了第一步最基础的数据。现在第一个步骤是为了模仿Tree工具输出命令。这里给个例子参考:├── .DS_Store├── .babelrc├── .gitignore├── README.MD├── bin│
├── .DS_Store│
├── folderTree.js│
├── lib2│
├── .DS_Store│
└── testa│
└── testb│
└── .DS_Store├── lib│
├── .DS_Store│
├── folderFactory.js│
└── testlib│
└── testlibfile.js├── package.json└── test
├── .DS_Store
├── index.js
└── testFolder
├── .DS_Store
└── c它有几个注意点,一个是每当你的文件或者目录是当前层级最后一个,那么输出└──前缀如果是普通的输出├── 前缀。 如果是多层级,那么最前面依旧需要│ 来进行上下层级的联系。而且还有很多小细节需要处理。一开始最好的解决方法其实是递归。但是我觉得有点复杂,我想试下迭代方法。最后结果如开头的效果。基本上如果根目录中最后一个file是目录类型。那么它是正常的。但是如果根目录中最后一个文件是文件类型类型。我这段迭代并没有进行处理。我们先来看下这个有缺陷的代码:
var stack = [obj[0]]
var isFinal = false
function printFolder(arr, folderName, isLastFolder) {
if (arr.deep &= level) {
for (var i = 0; i & arr.children. i++) {
var isLastFile = i == arr.children.length - 1 ? true : false
var isRootLast = i == arr.children.length - 1
isFinal = isFinal == true ? true :
arr.deep == 0 && arr.children[i].type == 'directory' && i == arr.children.length-1
printFile(arr.children[i], folderName, arr.deep, isLastFile, isLastFolder,isFinal)
if (arr.children[i].type == 'directory') {
//console.log('directory')
var t = arr.children[i].path
if (i == arr.children.length - 1) {
printFolder(arr.children[i], t, true)
printFolder(arr.children[i], t, false)
function printFile(file, folderName, deep, isLastFile, isLastFolder) {
if (file[0] != '.') {
// console.log("Folder:"+folderName)
// console.log(deep)
//console.log(isLastFile)
//console.log(isLastFolder)
var name = file.path.replace(folderName + '/', '')
//console.log(isFinal)
if (deep == 0) {
if (isLastFile) {
console.log('└── ' + name)
console.log('├── ' + name)
if (deep & 0) {
if (!isLastFolder) {
if (!isLastFile) {
console.log('│
'.repeat(deep) + '├── ' + name)
console.log('│
'.repeat(deep) + '└── ' + name)
if (!isLastFile) {
console.log('
'.repeat(deep) + '├── ' + name)
if(isFinal){
console.log('
'.repeat(deep) + '└── ' + name)
var str = '
'.repeat(deep) + '└── ' + name
var temp = str.split('')
temp[0] = '│'
console.log(temp.join(''))
printFolder(obj[0], '', false)
console.log('目录及文件罗列完毕')我做了很多判断,但还是低估了一个目录它可能的复杂性(目录中有空目录,目录中有空文件,文件和目录的多个嵌套等等)。因为我开发的时候是根据几个example来进行调节判断。当我最后写完,重新再去测试几个目录的时候发现出现上述的file缺陷。 如图:
因此需要改写为递归方式。我们不可能根据别的属性来进行判断。因此我们需要依赖的还是之前的那份目录结构缓存。这里也直接贴源码:_showList(obj, level) {
var sourceStruct = obj[0]
var dirCount = 0
var fileCount = 0
var charSet = {
'node': '├── ', //节点
'pipe': '│
', // 上下链接
'last': '└── ', // 最后的file或folder需要回勾
'indent': '
function log(file, depth, parentHasNextSibling) {
// console.log("log:")
if (!parentHasNextSibling && depth.length & 1) {
// Replace a pipe with an indent if the parent does not have a next sibling.
depth[depth.length - 2] = charSet.
if(file.lastIndexOf('/') & -1){
file = file.substring(file.lastIndexOf('/')+1)
console.log(depth.join('') + file);
// 由于已经有缓存数据了,因此对数据进行遍历搜索
// 如果type 是file 就不需要继续
// 如果type 是directory 对临时数组
function walk(path, depth, parentHasNextSibling) {
console.log(path)
var childrenLen = path.length - 1
// console.log(childrenLen)
var loop = true
if (depth.length &= level) {
loop = false
if (loop) {
path.forEach(function walkChildren(child, index) {
var newdepth = !!depth ? depth.slice(0) : []
var isLast = (index &= childrenLen)
if (isLast) {
newdepth.push(charSet.last)
newdepth.push(charSet.node)
if(child.type == "file"){
log(child.name, newdepth, parentHasNextSibling)
log(child.path, newdepth, parentHasNextSibling)
if (child.type == "directory") {
var childPath = child.children
if (!isLast) {
newdepth.pop()
newdepth.push(charSet.pipe)
walk(childPath, newdepth, !isLast)
loop = !loop
walk(sourceStruct.children, [])
//console.log(sourceStruct)
console.log('level:' + level)
console.log('目录及文件罗列完毕')
},这里只需要判断文件类型,利用递归的特性将每个文件的路径存于newpath,然后判断长度,如果大于level就跳过。具体注释都在源码里了。
结尾第一个模块总算完成,四月第一篇文章居然在中旬也算对得起拖延症了~
非野生前端~
pdf下载地址:Java面试宝典 第一章内容介绍 20 第二章JavaSE基础 21 一、Java面向对象 21 1. 面向对象都有哪些特性以及你对这些特性的理解 21 2. 访问权限修饰符public、private、protected, 以及不写(默认)时的区别(201...
Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式, 使用Spring Cloud开发人员可以快速地支持实现这些模式的服务和应用程序。他们将在任何分布式...
单例模式 适用场景:可能会在场景中使用到对象,但只有一个实例,加载时并不主动创建,需要时才创建 最常见的单例模式,把业务逻辑和判断耦合在一起,如果业务逻辑变化不大的话使用 以登录组件框为例: var createLoginLayer = (function (){}var ...
第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是一个语句。 语句(statement)是为了完成某种任务而进行的操作,比如下面就是一行赋值语句: vara =1+3; 这条...
1.创建文件夹 !/bin/sh mkdir -m 777 &%%1& 2.创建文件 !/bin/sh touch &%%1& 3.删除文件 !/bin/sh rm -if &%%1& 4.删除文件夹 !/bin/sh rm -rf &%%1& 5.删除一个目录下所有的文件...
1.查看可以被删除的untracked files git clean -f -n 2.删除untracked files git clean -f If you want to also remove directories, run git clean -f -d or...
1.带着浓浓的爱给爸妈300元的生活费,祝福他们身体健康,幸福美满。感恩父母给予生命。 2.带着浓浓的爱给婆婆300元生活费,祝福婆婆身体健康,笑容满满,感恩婆婆生了一个这么好的儿子给我当老公,让我每天滋润在爱里。 3.带着浓浓的爱给智库网捐款2元,祝福更多人学到智慧,改变...
01 晚上18点45分,聪聪准点回到了家。 路上看到了烤面筋和烤红薯,吸了吸鼻子忍住没买。 小区门口依旧堆满了各种小商贩,如果不是熟悉了这条路,大概都快要找不到小区门口在哪。 楼道里停着两辆电瓶车,大概也是刚刚下班或者刚刚接到孩子的邻居。但是聪聪不认识他们。现代的生活就是这...
从古至今,先听两个故事: 他弃医从文,向全世界证明笔比手术刀更尖锐,他用手中的笔揭露了黑暗社会吃人的本质,刺激了中国人民的麻木神经。他是适合文学的,几欲呐喊,几欲彷徨,连野草都变得永生!于是,他成为一代文学大师,成为历史最值得铭记的人。一句“横眉冷对千夫指,俯首甘为孺子牛”...
我是个跑者。一千多个日夜的坚持,初衷也只不过为了减肥;我亦是写手,擎一双素手,描摹的也只不过是平凡生活。 42.195KM的征程,犹如编纂一部长篇。从开始的1KM,构思酝酿整个布局,剧本缓缓拉开序幕。所有的一切还都是铺垫,所有的力气还都谨慎小心地保留在丹田。渐渐舒展放开的腿...返回总目录
&&CU网友原创,转载请注明出处ChinaUnix.net及作者
5.&&&&&& 程序开发部分
5.10.1 UDB/400 数据库JDBC 访问方法
5102& JDBC
&&&&&& 关于程序开发,想强调的是:业务流程先于程序——程序是给计算机看得,流程是人执行的;程序是死的,而流程则是一个相对模糊的东西。所以在写程序前,要先弄清楚自己到底要做什么,然后将自己的思想表达给计算机——这个过程就是CODING。
&&&&& RPG的长处在于数据库处理,界面交互能力倒是其次。所以最开始需要了解一些关于数据库文件的相关知识(这里就只强调跟400有关的)。在下面的操作中,假设朋友已经会用STRPDM,会文件的COPY,修改。
&&&&&& 数据文件PF:COPY一个已经有的比较快点。然后修改一下里面的数据,就是自己的。
A*假设文件名字叫BAE
A&&&&&&&&&
R BAER&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
A&&&&&&&&&&&
AREA&&&&&&&&&&
3&&&&&&&&&
COLHDG('AREA CODE') &field
A&&&&&&&&&&&
AREANM&&&&&&& 22 &&&&&&&&&COLHDG('AREA DESC ')&field
&*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
A&&&&&&&&&
K AREA&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&& 关于域定义的参考,请在程序里面输入,然后在该行按F4,再在要看得参数上按F1,就可以得到详细信息。
&&&&&& 数据文件LF:逻辑文件的作用是按特定的关键字顺序来检索数据库里面的记录。LF中的域定义可以是任意顺序,不必跟PF中顺序的一致。更进一步,LF可以先过滤一部分的记录,减少搜索的范围。下面先看LF如何定义,具体使用程序中再说:
A&&&&&&&&&
R BAER&&&&&&&&&&&&&&&&&&&&&
A&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
PFILE(BAE) &表示这个LF引用的是BAE文件
A&&&&&&&&&
K AREA&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&搜索关键字是AREA CODE
这个是简单的,再看一个稍微复杂点的:
A&&&&&&&&&
R BAER&&&&&&&&&&&&&&&&&&&&&
A&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
PFILE(BAE)
A&&&&&&&&&
K AREANM&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
A&&&&&&&&&
S AREA&&&&&&&&&&&&&&&&&
&&&&COMP(EQ '001')
上面的片断里面,关键字S表示“选择”,COMP表示比较,EQ表示等于。整句连起来就是:只选择AREA等于001的那些记录。
&&&&&& PS:如果一个PF每个库里面都有,如何确保被引用的就是自己希望的那个?将目标文件放在位于库列表的最上面的库里面。
&&&&&& DDS的创建,有些朋友用SDU(屏幕设计工具)比较快。但是如果是有类似的界面,则COPY一下比较方便。以下片断是几乎每个DDS都要的,除了REF那句可选以外。
A* 假设显示文件名字叫EX001D
A&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
DSPSIZ(24 80 *DS3)&设定显示屏大小
A&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
REF(*LIBL/BAE01L)&参考文件,subfile中使用
A&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
CHGINPDFT&&&&&&&
A&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
PRINT&&&&&&&&&&&
再来看看接下来要定义什么东西:
A&&&&&&&&&
R C0&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&显示画面的名字
A&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
CA11(11 ' 退出 ')
A&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
CF08(08 ' 测试 ')
现在我们知道我们有一个显示画面叫C0(因为一个程序可能不止一个画面,这样需要定义不同的画面来处理不同的事务);而且这个画面还有3个命令键可以响应:F11,F8,ENTER(ENTER是系统默认的处理键)
再给这个画面添上几个域:
001 A&&&&&&& &&&&&&&&&&&&&&&&&&&&&&&&&&5
19' 选项 ..........:' &常量,说明用
002 A&&&&&&&&&&&
VSELEC&&& R&&&&&&& B &5 38REFFLD(DICT/SELEC
003 A&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
DSPATR(HI CS MDT)&&&&&&&&&
004 A&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
VALUES('1' '2' '3')&&&&&
005 A*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
006 A&&&&&&&&&&&
VNAME &&&&&&&&&6A& I& 7 20
007 A*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
008 A& 81&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
9 20' 查询日期 :'&&&&&&&&&&&
009 A&&&&&&&&&&&
VDDATE&&& R&&&&&&& B&&& +1REFFLD(DICT/O8DAT
010 A&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
DSPATR(HI UL)&&&&&&&&&&&&&
a.001和008行定义了2个显示常量,在屏幕上起提示和说明作用;
b.002行定义了一个选择域VSELEC,R表示是参考数据库里面已经有的域格式,B代表输入输出双向(双向的意思就是域里面的信息被程序修改了以后还可以反馈给画面),
5 38表示在第5行第38列,REFFLD(DICT/SELEC DICT00F)表示参考系统DICT00F文件里面的SELEC域的格式。003行和004行表示VSELEC的属性,003行是显示控制:HI高亮、CS字符分割方式、MDT必须输入。004行表示这个域可能/只能输入的值。
c.006行表示一个自己定义的域,名字叫VNAME,
6个字符长,I表示只做输入用
d.009行表示定义了一个VDDATE域,用来显示日期。010行表示显示控制:HI高亮、UL下划线。
e.008行的81是一个指示符,意思是当81号指示符是1的时候,“查询日期”才显示。
&&& 这样,显示文件就算定义完毕。
&&& 一个程序划分的粗一点,也就是2个部分:一是数据定义,一是执行代码。数据定义包括了文件引用(相当于C语言里面的头文件)、内部DS定义、普通常量等等;执行代码则包括主过程和子程序,也就是程序的主体及要调用的子函数。(详细定义方式请参见RPG400 REFERENCE)。
&&& 整个程序的执行过程如下:
&&&&&& 定义部分(包括H/F/E/I/D等)à程序初始化(如果有INZ函数则自动执行,否则就是用户自己定义的变量初始化程序,也可以2个都执行)àMAIN循环(包括人机交互、数据处理、反馈)à退出(用户按退出命令键或者程序自动退出)。
&&& 如果用代码的表示方式来讲,就是如下的结构:
H&&&&&&&&&&&
Y&&&&&&&&&&&&&&&&&&&&&&&&&&&
&头文件定义
F*----------------------------------------
FBAE01L& IF&
E&&&&&&&&&&
K&&&&&&& DISK&&& &引入LF,搜索用
FBAE02L& IF& E&&&&&&&&&&
K& &&&&&&DISK&&&&&&&&&&&&&&&&&&&&&
F&&&&&&&&&&&
BAE& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&KRENAMEBAE2
F*请注意以上的2句:在使用不同LF检索同一个PF的时候,由于PF记录名字相同而导致一个冲突,这里就通过将记录名字重新命名为BAE2而避免这个问题。
FEX001D& CF& E&&&&&&&&&&&&&&&&&&&
WORKSTN &&&&&&&&显示界面
I* 下面定义一个DS结构,示范用
I@PARM&&&&&& DS&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&结构名字叫@PARM
I&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
1&& 6 #FCDDI &结构体内部的域
I&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
7& 12 #TCDDI &起止范围可以不连续
C* 下面进入代码段,包括初始化,子程序
C&&&&&&&&&&
BEGSR&&&&&&&&&&&&&&&&&&&&
&本片断可以放在程序的任何地方
C&&&&&&&&&&&&&&&&&&&&
MOVE *OFF&&&&&
INDEX &40& &但无论放哪里都是最先执行
C&&&&&&&&&&&&&&&&&&&&
MOVE *ZERO&&&&
RESULT& 40
C&&&&&&&&&&
&&&&&&&&&&ENDSR&
C*请注意以上的2句,最后2个40的位置错开了一位,但是意义完全不一样。第一个表示是INDEX变量的长度是40,类型是字符型(默认的,可以省略);第二行的40表示RESULT长度是4,小数点位置在0位——这是个数字型的变量。在用F4查看的时候,会很清楚地看到区别。所以MOVE到变量的数据也不一样(*OFF是字符’0’,*ZERO是数字0)
C* 主体部分,包括接受命令和处理
010 C&&&&&&&&&&
DOWEQ*OFF&&&&&&&&&&&
&程序在此不断循环,知道LR被置ON
011 C&&&&&&&&&&
&&&&&&&&&&EXSR
MAIN&&&&&&&&&&
012 C&&&&&&&&&&&&&&&&&&&&
ENDDO&&&&&&&&&&&&&&&
C* 往下就是子程序定义了,包括按钮处理在里面
C&&&&&&&&&&
MAIN &&&&&BEGSR&&&&&
C& &&&&&&&&&&&&&&&&&&&EXFMTC0&&& &这句是让C0画面获得焦点成为活动画面,程序就停在这个地方,直到输入完数据按了F11/F8/ENTER中的一个。当MAIN执行完毕,程序会从上面的012行跳转到010行,继续执行,直到LR标志被置ON才退出整个程序。当再进来的时候,程序会再次停在这个地方,等待用户命令。
C* F11 = QUIT
C&&&&&&&&&&
*IN11 &&&&IFEQ
*ON &&&&&&&&&&&&&&&&&&&&&&&&&&&
C& &&&&&&&&&&&&&&&&&&&SETON&&&&&&&&&&&&&&&&&&&&
C&& &&&&&&&&&&&&&&&&&&ELSE
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
C* F8& = TEST&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&
C&&&&&&&&&&
*IN08 &&&&IFEQ *ON& &&&&&&&&&&&&&&&&
C&&&&& &&&&&VSELEC&&& IFEQ '1'&&&&&&&&&&&&&&&&&
C&&&&&&&&&&&&&&&&&&&&
MOVE 'AAAA'&&&
VNAME&&&&&
C&&&&&&&&&&&&&&&&&&&&
ENDIF&&&&&&&&&&&&&&&&&&&&
C&&&&&&&&&&
VSELEC&&& IFEQ
'2'&&&&&&&&&&&&&&&&&
C&&&&&&&&&&&&&&&&&&&&
MOVEL'BB'&&&&&
VNAME&&&&&
&请注意MOVE和MOVEL的区别
C&&&&&&&&&&&&&&&&&&&&
ENDIF&&&&&&&&&&&&&&&&&&&&
C&&&&&&&&&&&&&&&&&&&&
ELSE &&&&&&&&&&&&&&&&&&&&&
C* 如果有按键,既不是F11,也不是F8,那么就只有ENTER
C&&&&&&&&&&&&&&&&&&&&
MOVE & VDDATE &&&&&这个域是数字型的,外面不加引号
C&&&&&&&&&&&&&&&&&&&&
EXSR SEARCH&&&&&&&&&
&&&&&&执行一个搜索子程序
C&&&&&&&&&&&&&&&&&&&&
C&&&&&&&&&&&&&&&&&&&&
C&&&&&&&&&&&&&&&&&&&&
C&&&&&&&&&&
BEGSR&&&&&&&&&&&&&&&&&&&&
C&&&&&&&&&&
*LOVAL&&& SETLLBAE& &&&&&&&&先将游标停到最低点,然后遍历整个数据库
C&&&&&&&&&&&&&&&&&&&&
READ BAE&&&&&&&&&&&&&
&&&&&&&&92
C&&&&&&&&&&
DOWEQ*OFF&&&&&&&&&&&&&&&&&&&&&&
C&&&&&&&&&&&&&&&&&&&&
MOVELAREANM&&& LIST&&&&&&&&&&&&
C&&&&&&&&&&&&&&&&&&&&
READ BAE& &&&&&&&&&&&&&&&&&&&&92
C&&&&&&&&&&&&&&&&&&&&
ENDDO&&&&&&&&&&&&&&&&&&&&&&&&&&
C* 上面的片断中READ数据库,如果有记录,那么结果指示符92为OFF状态。如果没有读到记录(到文件末尾了?)就会置为ON。通过检测这个指示符状态可以完成遍历。
C* 下面再来试验一下KEY是如何工作的。
C&&&&&&&&&&
KBAE& &&&&KLIST&&&&&&&&&&&&&&&&&&
&定义一个搜索键
C&&&&&&&&&&&&&&&&&&&&
KFLD&&&&&&&&&&
C*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
C&&&&&&&&&&&&&&&&&&&&
MOVE ‘AAA’&& KNAME&&&&&&&&&&&
&要查找的目标
C&&&&&&&&&&
SETLLBAE&&&&&&&&&&&&&&&&&&&&&&&
&还原游标位置
C&&&&&&&&&&
CHAINBAE&&&&&&&&&&&&&&&&&
93 &&&&找到名字为AAA,93就置OFF
C&&&&&&&&&&
DOWEQ*OFF&&&&&&&&&&&&&&&&&&&&&&
C&&&&&&&&&&&&&&&&&&&&
MOVE AREANM& &&TMPSTR&&&&&&&&&&
C&&&&&&&&&&
READECUSHD&&&&&&&&&&&&&&&&&&&
93&如果数据库有重复记录
就多次查找
C&&&&&&&&&&&&&&&&&&&&
ENDDO&&&&&&&&&&&&&&&&&&&&&&&&&&
C&&&&&&&&&&&&&&&&&&&&
&&& 关于KLIST的使用:KLIST中FLD的定义必须跟要检索的目标LF中的域一一对应,但可以只有部分。比如LF中定义5个KEY域,分别是1
2 3 4 5,那么KLIST中的定义可以有1,1 2,1 2 3,但不能是2 3。各个对应的域的类型、大小都必须一样。
&&& 编译过程可以排除大部分的明显错误:字符拼错、未定义的变量、重复定义。编译完会产生一个SPLF,里面包含错误列表。编译过程不排除逻辑错误。
&&& 去掉逻辑错误就是调试的任务。比如A
B两个变量,A 12CHAR, B 8CHAR。希望去掉A的高4位,那么MOVE A&& B, 再MOVE B& A就可以。但是这中间如果不CLEAR A,那么A的内容还是没有变化的。程序大了以后逻辑比较复杂,调试有时很困难,这个时候就是需要心细加耐心。
&&& RPG是采用一种结构化的语言,整个的结构可以采用模块化的编程方法。另外要注意的是变量的定义是即定义即用,而且都是全局的。这个将变量局部化的工作就留给程序员来完成——在其它地方不用就是咯~~~
在RPG中如果要对数据库进行读取,更新,删除,追加记录的操作,必须以相对应的方式说明对这个文件的引用。关于对数据库各种操作的组合及相应的文件引用声明,总结如下:
只从文件读取纪录
FFILENAME &&&IF& E&&&&&&&&&&
K&&& &&&&DISK
只向文件里面写纪录而不读取
FFILENAME &&&O& E&&&&&&&&&&&&&&&&&&&
读取纪录并更改和/或删除,不追加纪录
FFILENAME &&UF& E&&&&&&&&&&
K&&&&&&& DISK
读取纪录并更改和/或删除,且追加纪录
FFILENAME &&UF& E&&&&&&&&&&
DISK&&&&&&&&&&&&&&&&&&&&&
读取纪录和追加纪录,不更新和删除
FFILENAME &&IF& E&&&&&&&&&&
DISK&&&&&&&&&&&&&&&&&&&&&
需要注意的是对文件的操作必须和声明相对应,即有追加调用声明必须有WRITE, 有更新或删除声明必须有UPDAT和DELET操作。
在对文件进行操作的时候,通常会用到指示器来判断对数据库的操作是否成功的情况,关于指示器的位置及其所代表的意义,图示如下:
&&& 对文件进行更新或者删除操作的时候,需要注意的一点是更新和删除属于独占操作,同一时间只能为一个SESSION所独占,因而如果有一个SESSION锁定一条纪录,之后再有其他SESSION想以独占的方式读取这个纪录的时候,就会发生显示界面停滞60秒的情况,所以这种现象必须避免。
&&& 这种现象的避免相对来说在带有显示界面的程序中更为重要。因为中间有停顿的过程,所以如果在停顿前锁住某一条纪录,整个停顿期间其他人都不能试图以独占的方式来读取纪录。考虑到这种情况,独占的时间必须要尽可能短。对文件声明UF的时候,一般情况下在对文件纪录进行读取操作的时候,在下面的指示器前的H的位置加上N,这样文件就不是以独占的方式进行读取。
CL0N01N02N03FACTOR1+++OPCDEFACTOR2+++RESULTLENDHHILOEQCOMMENTS++++
C&&&&&&&&&&
SDKY0A&&& &&CHAINDBREC&& &&&&&&&&&&&&&&&N9899&&&&&&&&&&&&&&
在确认需要更新的时候,可以在临更新前锁住纪录,在对需要改变的字段赋值以后,立即进行更新操作。尽可能减少其间的代码以减少独占的时间来防止出现停滞的现象。
5.3.6.ROLBKCOMIT
&&& COMIT和ROLBK主要目的是为了数据的统一性,&一般用在要同时对几个数据库进行增,删,改,&确保几个数据库都能正确写入,删除,更新数据,&在程序(CL或RPG都可以,&其他语言不清楚)中,&只有执行了COMIT命令后,数据操作才真正被执行。&只要任何一个数据库的操作出错,&可以用ROLBK命令将之前的数据回档。这样的程序,&如果因为某种原因(如被其他用户强行终止,&短电...)而终止,系统会自动ROLLBACK。
&&& 对需要进行COMIT的文件的声明:
&&& FFILENAMEIPEAF........L..I........DEVICE+......KEXIT++ENTRY+A....U
FFILENAMEUF& &E&&&&& K&& DISK&&&&&&
KCOMIT&&&&&&&&&&&&&
& 数据库纪录的写入或者更新等都不变,有变动的就是根据实际的条件进行确认或者回滚。
CL0N01N02N03FACTOR1+++OPCDEFACTOR2+++RESULTLENDHHILOEQCOMMENTS++++
C&&&&&&&&&&&&&&&&&&
&&&&&&ROLBK&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
CL0N01N02N03FACTOR1+++OPCDEFACTOR2+++RESULTLENDHHILOEQCOMMENTS++++
C&&&& &&&&&&&&&&&&&&&&&&&&COMIT&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
带有COMIT的RPG程序一般通过CL程序进行调用,在调用这个程序的时候有一些针对COMIT的操作,包括:
1、创建日志和日志收集器&CRTJRN&和CRTJRNRCV
2、把PF加入日志&STRJRNPF
3、用CL&执行STRCMTCTL和&ENDCMTCTL上面具体用法去查CL&REFERENCE
这样任何对该文件的修改都会记日志,当碰到COMIT&命令时确认修改,碰到ROLBK放弃更新.关于后两步的部分代码如下:
STRJRNPF FILE(FILENAME1)
JRN(JOURNAL)&&&&&&&&&&&
&&STRJRNPF FILE(FILENAME2)
JRN(JOURNAL)&&&&&&&&&&&
&&STRCMTCTL& LCKLVL(*CHG)&&&&&&&&&&&&&&&&&&&&&&
&&CALL&&&& PGM(PGMNAME)
PARM(&PARM1 &PARM2)&&&
&ENDCMTCTL&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&ENDJRNPF FILE(FILENAME1)
JRN(JOURNAL)&&&&&&&&&&&
&ENDJRNPF FILE(FILENAME2)
JRN(JOURNAL)&&&&&&&&&&&
5.3.7.SDA+
RPG IV 进行子文件系统设计
1、PF定义:
&Columns . . . :&&& 1& 71&&&&&&&&&&
Browse&&&& &&&&&&&&&&&&&&&&QINGZHOU/QDDSSRC
&SEU==&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&FMT A* .....A*.
1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7&
*************** Beginning of data *************************************
0001.00&&&&& A* DATA
DICTIONARY REFERENCE FILE&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
0002.00&&&&& A* CREATE BY
TRF.LIU YUANY YAO &&&&&&&&&&&&&&&&&&&&&&&&&
0003.00&&&&& A*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
0004.00&&&&& A&&&&&&&&&
R REFMT&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
0005.00&&&&& A&&&&&&&&&&&
CODE&&&&&&&&&&
5A&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
0006.00&&&&& A&&&&&&&&&&&
NAME&&&&&&&&&
12O&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
0007.00&&&&& A&&&&&&&&&&&
DESCRPT&&&&&& 30O&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
0008.00&&&&& A&&&&&&&&&&&
QUATITY&&&&&&&
7& 0&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
0009.00&&&&& A&&&&&&&&&&&
PRICE&&&&&&&&
11& 2&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
0010.00&&&&& A&&& &&&&&&&&AMOUNT&&&&&&&
15& 2&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
****************** End of data
****************************************
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&F3=Exit&& F5=Refresh&& F9=Retrieve&& F10=Cursor&& F11=Toggle&& F12=Cancel&&&&&
&F16=Repeat find&&&&&&&
F24=More keys&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
(C) COPYRIGHT IBM CORP. .&&&
&Columns . . . :&&& 1& 71&&&&&&&&&&
Browse&&&&&&&&&&&&&&&&&&&&
QINGZHOU/QDDSSRC
&SEU==&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&INVOICE
&FMT A* .....A*.
1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7&
*************** Beginning of data
*************************************
0001.00&&&&& A* INVOICE DDS
SOURCE CODE&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&
0002.00&&&&& A* CREATE BY
TRF.LIU YUAN YAO &&&&&&&&&&&&&&&&&&&&&&&&&&
0003.00&&&&& A*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
0004.00&&&&& A&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
REF(*LIBL/REFILE)&&&&&&&&&
0005.00&&&&& A&&&&&&&&&
R IV_FMT&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
0006.00&&&&& A&&&&&&&&&&&
IV_CODE&& R&&&&&&&&&&&&&&
REFFLD(CODE)&&&&&&&&&&&&&&&
0007.00&&&&& A&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
COLHDG(' 发票 ')&&&&&&&&&&&
0008.00&&&&& A&&&&&&&&&&&
IV_NAME&& R&&&&&&&&&&&&&&
REFFLD(NAME)&&&&&&&&&&&&&&&
0009.00&&&&& A&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
COLHDG(' 名称 ')&&&&&&&&&&&
0010.00&&&&& A&&&&&&&&&&&
IV_QUTITY R&&&&&&&&&&&&&&
REFFLD(QUATITY)&&&&&&&&&&
0011.00&&&&& A&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
EDTCDE(O)&&&&&&&&&&&&&&&&&&
0012.00&&&&& A&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
COLHDG(' 总数 ')&&&&&&&&&&&
0013.00&&&&& A&&&&&&&&&&&
IV_AMOUNT R&&&&&&&&&&&&&&
REFFLD(AMOUNT)&&&&&&&&&&&&&
0014.00&&&& &A&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
COLHDG(' 总金额 ')&&&&&&&&&
0015.00&&&&& A&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
EDTCDE(O)&&&&&&&&&&&&&&&&&&
0016.00&&&&& A&&&&&&&&&&&
IV_DESC&& R&&&&&&&&&&&&&&
REFFLD(DESCRPT)&&&&&&&&&&&&
0017.00&&&&& A&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&COLHDG('
备注 ')&&&&&&&&&&&
0018.00&&&&& A*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
0019.00&&&&& A&&&&&&&&&
K IV_CODE&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
****************** End of data ****************************************
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&F3=Exit&& F5=Refresh&& F9=Retrieve&& F10=Cursor& &F11=Toggle&& F12=Cancel&&&&&
&F16=Repeat find&&&&&&&
F24=More keys&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
2、SDA设计subfile:
A、使用SDA设计子文件:
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Design Screens&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Type choices, press Enter.&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& Source file . . . . . . . .&& QDDSSRC&&&&& Name, F4 for
list&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&& Library . . . . . .
. . .&& QINGZHOU&&&& Name, *LIBL, *CURLIB&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& Member& . . . . . . . . . .&& subfile1&&&& Name, F4 for
list&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&F3=Exit&&&& F4=Prompt&&&& F12=Cancel&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&
Work with Display Records&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&File& . . . . . . :&& QDDSSRC&&&&&&&&&&&&&&&
Member . . . . . . :&&
SUBFILE1&&
&& Library . . . . :&&&& QINGZHOU&&&&&&&&&&&&
Source type& . . . :&& DSPF&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Type options, press Enter.&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& 1=Add&&&&&&&&&&&&
2=Edit comments&&&&&&&&&
3=Copy&&&&&& &&&4=Delete&&&&&&&&&
&& 7=Rename&&&&&&&&&
8=Select keywords&&&&&&
12=Design image&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Opt& Order&&& Record&&&&&&&
Related Subfile&&
Date&&&&&&&
DDS Error&
&1&&&&&&&&&&&&
SFL01&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& (No records in file)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&F3=Exit&&&&&& &&&&&&&&&&&&&&F12=Cancel&&&&& F14=File-level
keywords&&&&&&&&&&&
&F15=File-level comments&&&& F17=Subset&&&&& F24=More keys&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&Add New
Record&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&File& . . . . . . :&& QDDSSRC&&&&&&&&&&&&&&&
Member . . . . . . :&&
SUBFILE1&&
&& Library . . . . :&&&& QINGZHOU&&&&& &&&&&&&Source
type& . . . :&& DSPF&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Type choices, press Enter.&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& New record& . . . . . . . . . . . . . . .&& SFL01&&&&&&&
Name&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& Type& . . . . . . . . . . . . . . . . .
.&& SFL&&&&&&&&&
RECORD, USRDFN&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
SFLMSG&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
WINDOW, WDWSFL&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
PULDWN, PDNSFL&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
MNUBAR&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&F3=Exit&&&& F5=Refresh&&&& F12=Cancel&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&Add
New Record&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&File& . . . . . . :&& QDDSSRC&&&&&&&&&&&&&&&
Member . . . . . . :&&
SUBFILE1&&
&& Library . . . . :&&&& QINGZHOU&&&&&&&&&&&&
Source type& . . . :&& DSPF&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Type choices, press Enter.&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& New record& . . . . . . . . . . . . . . .&& SFL01&&&&&&&
Name&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& Type& . . . . . . . . . . . . . . . . .
.&& SFL&&&&&&&&
&RECORD, USRDFN&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
SFLMSG&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
WINDOW, WDWSFL&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
PULDWN, PDNSFL&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
MNUBAR&&&&&&&&&&&&&
&& Subfile control record& . . . . . . . . .&& SFL01C&&&&&&
Name&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&F3=Exit&&&& F5=Refresh&&&& F12=Cancel&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
B、子文件主体设计:
&&&&&&&&&&&&&&&&&&&&&
Work with Display Records&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&File& . . . . . . :&& QDDSSRC&&&&&&&&&&&&&&&
Member . . . . . . :&&
SUBFILE1&&
& &Library . . . . :&&&& QINGZHOU&&&&&&&&&&&&
Source type& . . . :&& DSPF&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Type options, press Enter.&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& 1=Add&&&&&& &&&&&&2=Edit
comments&&&&&&&&&
3=Copy&&&&&&&&&
4=Delete&&&&&&&&&
&& 7=Rename&&&&&&&&&
8=Select keywords&&&&&&
12=Design image&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Opt& Order&&& Record&&&&&& &Type&&&&& Related
Subfile&& Date&&&&&&&
DDS Error&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&12&&&&& 10&&& SFL01&&&&&&&&
SFL&&&&&&&&&&&&&&&&&&&&&&&&
12/25/04&&&&&&&&&&&&&&
20&&& SFL01C&&&&&&&
SFLCTL&&& SFL01&&&&&&&&&&&&
12/25/04&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&F3=Exit&&&&&&&&&&&&&&&&&&&&
F12=Cancel&&&&& F14=File-level
keywords&&&&&&&&&&&
&F15=File-level comments&&&& F17=Subset&&&&& F24=More keys&&&&&&&&
&&&&&&&&&&&&&
SFL01 added to member SUBFILE1.&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Select Database Files&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Type options and names, press
Enter.&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& 1=Display database field
list&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& 2=Select all fields for input
(I)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& 3=Select all fields for output
(O)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& 4=Select all fields for both (B)
input and output&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Option&&& Database File&& Library&&&&& Record&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& 1&&&&&&&
INVOICE&&&&&&&
QINGZHOU&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&F3=Exit&&&& F4=Prompt&&&& F12=Cancel&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&
Select Database Records&&&&&&& &&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Database file& . . . . . :&& INVOICE&&&&&&& Library
. . . :&& QINGZHOU&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Type options, press Enter.&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& 1=Select&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Option&& Record&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& 1&&&&& IV_FMT&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Bottom
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&F3=Exit&& F12=Cancel&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&
Select Database Fields&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Record . . . :&& IV_FMT&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Type information, press Enter.&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& Number of fields to roll& . . . . . . . . . . . . . . . . .
.&& &&8&&&&&&&&&
&& Name of field to search for . .
. . . . . . . . . . . . . . .&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Type options, press Enter.&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& 1=Display extended field
description&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& 2=Select for input (I), 3=Select
for output (O), 4=Select for both (B)&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Option& Field&&&&&&&
Length&& Type&&& Column Heading&&&&&&&&&&&&&&&&&&&&&&&&&&
&& 3&&&& IV_CODE&&&&&&&&&&
5&&& A&&&&&& 发票&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& 3&&&& IV_NAME&&&&&&&&&
12&&& O&&&&&& 名称&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& 3&&&& IV_QUTITY&&&&&& 7,0 &&&P&&&&&& 总数&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& 3&&&& IV_AMOUNT&&&&& 15,2&&& P&&&&&& 总金额&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& 3&&&& IV_DESC&&&&&&&&&
30&&& O&&&&&& 备注&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&1:IV_CODE 2:IV_NAME 3:IV_QUTITY
4:IV_AMOUNT 5:IV_DESC&&&&&&&&&&&&
&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&
&1&&&&&&&&
&2&&&&&&&&&&&&
&3&&&&&&&&&&&&
&4&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&1:IV_CODE 2:IV_NAME 3:IV_QUTITY
4:IV_AMOUNT 5:IV_DESC&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&& &-6,666,666,666,666.66&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&1:IV_DESC&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Work with Fields&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Record . . . :&& SFL01&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Type information, press Enter.&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& Number of fields to roll . . . .
. . . . . . . . . . . . . .&&&& 6&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Type options, change values, press
Enter.&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& 1=Select keywords&& 4=Delete field&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Option&& Order&& Field&&&&&& Type Use& Length& Row/Col& Ref Condition& Overlap
&&&&&&&&&&&&
10&& IV_CODE&&&&&&&&&&
5&& 07 015&& Y&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&
20&& IV_NAME&&&&&& O&& O&&&&&& 12&& 07 024&& Y&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&
30&& IV_QUTITY&&&&&&&&
7,0&& 07 041&& Y&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&
40&& IV_AMOUNT&&&&&&&&
15,2&& 07 056&& Y&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&
&50&& OPTX&&&&&&&&&&&&&
1&& 07 012&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
& Add&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
H&&&&&&&&&&&
Hidden&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
& Add&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
P&&&&&&&&&&&
Program-to-system&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&F3=Exit&& F6=Sort by row/column&& F12=Cancel&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
keywords...: SFLPAG:&&&
12&&&&&&&&
SFLLIN:&&&&
0&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I &OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&& -6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&& &-6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&1:IV_DESC&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
C、定义子文件隐藏字段:
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Work with Fields&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Record . . . :&& SFL01&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Type information, press Enter.&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& Number of fields to roll . . . .
. . . . . . . . . . . . . .&&&& 6&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Type options, change values, press
Enter.&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& 1=Select keywords&& 4=Delete field&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Option&& Order&& Field&&&&&& Type Use& Length& Row/Col& Ref Condition& Overlap
&&&&&&&&&&&&
10&& IV_CODE&&&&&&&&&&
5&& 07 015&& Y&&&&&&&&&&&&&&&&&&&&
&&&&&&& &&&&&20&& IV_NAME&&&&&& O&& O&&&&&& 12&& 07 024&& Y&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&
30&& IV_QUTITY&&&&&&&&
7,0&& 07 041&& Y&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&
40&& IV_AMOUNT&&&&&&&&
15,2&& 07 056&& Y&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&
50&& OPTX&&&&&&&&&&&&&
1&& 07 012&&&&&&&&&&&&&&&&&&&&&&&&
&& 1&&&&&&&&
60&& IV_DESC&&&&&&&&&&
30&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
& Add&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&H&&&&&&&&&&&
Hidden&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
& Add&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
P&&&&&&&&&&&
Program-to-system&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&F3=Exit&& F6=Sort by row/column&& F12=Cancel&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Select Field Keywords&&&&&&& &&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Field . . . . . :&& IV_DESC&&&&&&&&&&&&&
Usage . . :& H&&&&&&&&&&&&&&&&&&&&&&&
&Length& . . . . :&& 30&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Type choices, press Enter.&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Y=Yes&& For Field
Type&&&&&&&&&&&&&&&&&&&&
&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& Keying options& . . . . . . . . .&&&&&&&&
Hidden, Input or Both&&&&&&&&&&&&&
&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& General keywords& . . . . . . . .&&&&&&&&
All types&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& Database reference& . . . . . . .&& Y&&&& Hidden, Input,
Output, Both&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& TEXT keyword& . . . . . . . . . .&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&F3=Exit&& F4=Display Selected
Keywords&& F12=Cancel&&&&&&&&&&&&&&&
&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&
Define Database Reference&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Field . . . . . :&& IV_DESC&&&&&&&&&&&&&
Usage . . :& H&&&&&&&&&&&&&&&&&&&&&&&
&Length& . . . . :&& 30&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Type choices, press Enter.&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Keyword&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& Reference field& . . . . . . . .&& REFFLD&& Y&&&&&&&&&&&
Y=Yes&&&&&&&&&&&&&&
&& Reference current DDS source . .&&&& *SRC&&&&&&&&&&&&&&&
Y=Yes&&&&&&&&&&&&&&
&& Field (if different) . . . . .
.&&&&&&&&&&&
IV_DESC&&&&&
Name&&&&&&&&&&&&&&&
&& Database file& . . . . . . . . .&&&&&&&&&&&
INVOICE&&&&&
Name&&&&&&&&&&&&&&&
&&&& Library& . . . . . . . . . . .& &&&&&&&&&&QINGZHOU&&&& Name, *LIBL, *CURLIB
&&&& Record . . . . . . .
. . . . .&&&&&&&&&&&&&&&&&&&&&&&&
Name&&&&&&&&&&&&&&&
&& Override existing field
definition:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&& New field length . .
. . . . .&&&&&&&&&&&&&&
&&&&&&&&&&+nnnn,
-nnnn, nnnn&
&&&& New decimal
positions& . . . .&&&&&&&&&&&&&&&&&&&&&&&&
+n, -n, nn&&&&&&&&&
&&&& New keyboard shift .
. . . . .&&&&&&&&&&&&&&&&&&&&&&&&
N A X W I D M&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
J O E G&&&&&&&&&&&&
&& Ignore previously
specified:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&& Validity check . . . . . . . .&& DLTCHK&&&&&&&&&&&&&&&
Y=Yes&&&&&&&&&&&&&&
&&&& Editing& . . . . . . . . . . .&& DLTEDT&&&&&&&&&&&&&&&
Y=Yes&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&F3=Exit&& F12=Cancel&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&& -6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&& -6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&1:IV_DESC&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Exit SDA Work Screen&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Select one of the following:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&& 1. Save work since
last Enter and exit work screen&&&&&&&&&&&&&&&&&&&&&&&&
&&&& 2. Exit without
saving any work done on the work screen&&&&&&&&&&&&&&&&&&&
&&&& 3. Resume work
screen session&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&
&Selection&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&& 1&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&F12=Cancel&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
D、子文件控制设计:
&&&&&&&&&&&&&&&&&&&&&
Work with Display Records&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&File& . . . . . . :&& QDDSSRC&&&&&&&&&&&&&&&
Member . . . . . . :&&
SUBFILE1&&
&& Library . . . . :&&&& QINGZHOU&&&&&&&&&&&&
Source type& . . . :&& DSPF&&&&&&
&&&&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Type options, press Enter.&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&& 1=Add&&&&&&&&&&&&
2=Edit comments&&&&&&&&&
3=Copy&&&&&&&&&
4=Delete&&&&&&&&&
&& 7=Rename&&&&&&& &&8=Select keywords&&&&&&
12=Design image&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&Opt& Order&&& Record&&&&&&&
Related Subfile&&
Date&&&&&&&
DDS Error&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
10&&& SFL01&&&&&&&&
SFL&&&&&&&&&&&&&&&&&&&&&&&&
12/25/04&&&&&&&&&&&&&&
&12&&&&& 20&&& SFL01C&&&&&&&
SFL01&&&&&&&&&&&&
12/25/04&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&Bottom
&F3=Exit&&&&&&&&&&&&&&&&&&&&
F12=Cancel&&&&& F14=File-level
keywords&&&&&&&&&&&
&F15=File-level comments&&&& F17=Subset&&&&& F24=More keys&&&&&&&&&&&&&&&&&&&&&
updated for record SFL01.&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&& &&&&&&I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
screen for SFL01C. SFL01
displayed as additional record.&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&
*date&&&&&&&&&&&&&&&&&&&
发票查询&&&&&&&&&&&&&&&&&&
*sysname&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
*username&&&&&&&
&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&& -6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&& -6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&1:IV_DESC&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
DD/DD/DD&&&&&&&&&&&&&&
发票查询&&&&&&&&&&&&&&&&&
SSSSSSSS&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&
5= 明细查询&&&&&&&&&&&&&&&&&&&&&&&&&&
UUUUUUUUUU&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&
#&& &2p&&&&&& &3p&&&&&&&&&&&&
&4p&&&&&&&&&&&&&
&5p&&&&&&&&&&&&&&&&&&
--& -----&&& ------------&&&& ---------&&&&&
--------------------&&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&& -6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&& -6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&& -6,666,666&&&&
-6,666,666,666,666.66&&&
&&&&&&&&&&
I& OOOOO&&& OOOOOOOOOOOO&&&

我要回帖

更多关于 perl递归访问目录 的文章

 

随机推荐