首页 > 学技术 > 技术网文 > IBM AS400应用论坛 > 正文

[精彩] 外国公司面试AS400开发人员常见的几个技术问题


来源 chinaunix.net 酷勤网整理

经过多年的洗刷,皮都磨厚了,写出来,共后继者借鉴。

1)function key CA 与 CF 的区别;
2)dataQ 与 data area 的区别;
3)chain 与 reade 的区别;
4)callb 与 callp 的区别
5)一个RPG程序中打开文件的最大数是多少?
6)RPG程序中一个字符型变量的长度是多少?
    6)OS400下一个文件名的最大长度是多少?(对不起!我写不对了,没有这么简单的问题,呵呵。)
7)数字型数组的求和操作符是什么?

高级程序员:

1)procedure id 如何定义?长度 default 值是多少?
2)使用RPG程序,C表中非要写代码吗?

其它想到再补充。

[ 本帖最后由 passthru 于 2005-12-10 10:24 编辑 ]



 mamei 回复于:2005-12-10 09:46:52

1) reset的用法!
2) *cat, *tcat, *bcat


 mamei 回复于:2005-12-10 09:48:33

callp和callp怎么区别??


 mamei 回复于:2005-12-10 09:49:18

subfile是一定要考的!


 wildfish 回复于:2005-12-10 10:15:07

1)function key CA 与 CF 的区别; 
CA响应时不过逻辑判断 CF响应时会做逻辑判断
2)dataQ 与 data area 的区别;
说实话DataQ没用过,所以不是很清楚,希望后面的人补充
3)chain 与 reade 的区别;
chain是定位单条,reade是读等于,可以循环读
4)callb 与 callp 的区别
callb应该算是编译时代码嵌入,callp :)不是太了解,是不是call api?
5)一个RPG程序中打开文件的最大数是多少?
..........不懂
6)OS400下一个文件名的最大长度是多少?
10
7)数字型数组的求和操作符是什么?
.........

高级程序员:

1)procedure id 如何定义?长度 default 值是多少?
..........
2)使用RPG程序,C表中非要写代码吗?
............

1) reset的用法!
清空一个record,比如屏幕的record pf的record
2) *cat, *tcat, *bcat 
*cat 不去空格的加 *tcat去开头空格的加 *bcat 去末尾空格的加

subfile
这个我不知道怎么考,其实subfile不外乎,copy-edit~~

看来我还是菜鸟-尤其针对数组,因为比较少用。api/service program也应用的比较少,
一般就写一些function procedure.

c/s b/s里面一个如果需要进行事务操作,那么对应的pf一定要加journal.


 passthru 回复于:2005-12-10 10:30:16

引用:原帖由 wildfish 于 2005-12-10 10:15 发表
1)function key CA 与 CF 的区别; 
CA响应时不过逻辑判断 CF响应时会做逻辑判断
2)dataQ 与 data area 的区别;
说实话DataQ没用过,所以不是很清楚,希望后面的人补充
3)chain 与 reade 的区别;
chain是 ... 



1)fail
3)fail

interview fail (hehe)


 wildfish 回复于:2005-12-10 10:30:34

稍微看了一下dataq好像可以用于不同job的交换数据。比如我在a机发送一个dataq给b机的某个job,他的效率比数据库文件,messageque来得快。dataarea应该是单job的系统对象。


 mamei 回复于:2005-12-10 10:37:40

5)一个RPG程序中打开文件的最大数是多少?

这问题,被考过,
回来查资料没查到!!


 wildfish 回复于:2005-12-10 10:38:04

呵呵,主要是对rpg不是很精通。我真正做rpg才1年多,其他的时间都在做别的。


 mamei 回复于:2005-12-10 10:40:34

ca不需要在rpg中处理,cf就要在rpg中处理!


 ewmiscc 回复于:2005-12-10 13:38:52

5)一个RPG程序中打开文件的最大数是多少?

曾经修改一个程序时碰到这个问题,好像是50个。个人觉得这种问题没什么意思,正如wildfish说的很多时候是copy & paste


 sa_hata 回复于:2005-12-10 13:43:14

引用:原帖由 mamei 于 2005-12-10 10:40 发表
ca不需要在rpg中处理,cf就要在rpg中处理! 



在一份资料上面看到过,
CA 不会将更改的资料送回程序
CF 会将更改的资料送回程序,   

明白这个意思,可是不知怎么个表达.


 qingzhou 回复于:2005-12-10 14:33:24

补充3个:

1、RPG程序最多能定义多少个SUBFILE?自己最多有做个多少级的SUBFILE文件?

2、RPG程序的流程是什么?

3、自己参与过哪些项目?如果有参与,自己是担当什么角色?


 pbj968 回复于:2005-12-10 15:10:53

给个答案passthru  老兄,有的没有找到


 springAS400 回复于:2005-12-11 15:54:01

我也来加入几个:
1.  RPG  代表什么意思 ?
2.  如何读取一个文件的最后一条记录 (两个操作代码)
3.  SKIPA , SKIPB , SPAECE 的区别 ?
4.  在 CL 中如何获得用户名 ?
5.  CA,CF 以及 CHAIN ,READE 的区别。

:D:D:em02::em02:


 wnai 回复于:2005-12-11 23:17:21

2) *cat, *tcat, *bcat 
*Cat   Concatenation
*Tcat  Blank truncation with concatenation
*Bcat Blank insertion with concatenation

RPG程序最多能定义多少个SUBFILE? 12个

如何读取一个文件的最后一条记录 (两个操作代码)
SETGT READP


 35200159 回复于:2005-12-12 09:03:25

呵呵,好帖,俺没面试过400方面的知识,
谁有面试400的经历,分享一下呵


 span1024 回复于:2005-12-12 09:48:51

5)一个RPG程序中打开文件的最大数是多少?

50个


 尘 回复于:2005-12-12 12:41:11

引用:原帖由 passthru 于 2005-12-10 10:30 发表


1)fail
3)fail

interview fail (hehe) 




我觉得第3题答对了啊


 pl421 回复于:2005-12-12 12:55:05

搂主给正确答案吧


 passthru 回复于:2005-12-12 16:05:58

chain 只能定位读数据库第一条纪录;
reade 只能下顺序读取满足键值的纪录,不能返回读取(READPE),可能发生eof问题。


一个RPG程序中打开文件的最大数是多少? 
RPG 400:
A maximum of 50 files can be described per program. Only one primary file can be
specified; however, the presence of a primary file is not required.
RPG ILE:
There is no limit for the maximum number of files allowed.

[ 本帖最后由 passthru 于 2005-12-12 16:38 编辑 ]


 尘 回复于:2005-12-12 16:13:01

引用:原帖由 passthru 于 2005-12-12 16:05 发表
chain 只能定位读数据库第一条纪录;
reade 只能下顺序读取满足键值的纪录,不能返回读取(READPE),可能发生eof问题。


一个RPG程序中打开文件的最大数是多少? 
RPG 400:
A maximum of 50 files can be ... 




chain是随机读取记录,reade后可以加indicate就可以判断eof了啊


 戎马 回复于:2005-12-12 16:26:14

引用:原帖由 sa_hata 于 2005-12-10 13:43 发表


在一份资料上面看到过,
CA 不会将更改的资料送回程序
CF 会将更改的资料送回程序,   

明白这个意思,可是不知怎么个表达. 


如果变更一个画面的一个FIELD的值,用CA来继续下面的操作,则这个FIELD还是初始值,而用CF来继续下面的操作则这个FIELD的值会被更新为画面上的值.就这个区别.


 UNIXwlc 回复于:2005-12-12 17:16:56

CA:It is to be used as a command attention (CA) key. No input data is transmitted from the device. Response indicators 01 through 99 are valid.

CF:It is to be used as a command function (CF) key to transmit changed data as opposed to a command attention (CA) key, which does not transmit changed data. Response indicators 01 through 99 are valid.

From IBM iSeries Information Center


 leason 回复于:2005-12-13 12:33:51

好帖子,收藏起来先


 lordlost 回复于:2005-12-19 14:23:27

引用:原帖由 戎马 于 2005-12-12 16:26 发表

如果变更一个画面的一个FIELD的值,用CA来继续下面的操作,则这个FIELD还是初始值,而用CF来继续下面的操作则这个FIELD的值会被更新为画面上的值.就这个区别. 



不知是否有誤解您的意思:

CA:不傳回RPG畫面被修改後的值?!
CF:會傳回RPG畫面被修改後的值?!


 lordlost 回复于:2005-12-19 14:45:44

以下為個人見解,非正確答案,請各位指正!
引用:
1)function key CA 与 CF 的区别;
2)dataQ 与 data area 的区别;
3)chain 与 reade 的区别;
4)callb 与 callp 的区别
5)一个RPG程序中打开文件的最大数是多少?
6)RPG程序中一个字符型变量的长度是多少?
    6)OS400下一个文件名的最大长度是多少?(对不起!我写不对了,没有这么简单的问题,呵呵。)
7)数字型数组的求和操作符是什么?

高级程序员:

1)procedure id 如何定义?长度 default 值是多少?
2)使用RPG程序,C表中非要写代码吗?


1.CA似乎是不更改畫面值,CF會更改。
2.只用過DATAQ,沒用過DATAarea,所以無從比較起!
3.chain會找到符合KEY的第一筆資料,READE是以目前指標位置讀入符合KEY的資料。
4.CALLB & CALLP都沒用過....
5.RPGIV最大50,RPGLE好像沒限定!
6.10嗎?(不解題意)
7.XFOOT嗎?(沒自信!)

ultra 1.procedure id.....連這個東西是什麼都不知道.....
ultra 2.C表中沒寫代碼....就算可以compiler,這支程式能做什麼事情??

唉~~殘念!這家公司肯定進不去了!!

[ 本帖最后由 lordlost 于 2005-12-20 17:15 编辑 ]


 eric55555 回复于:2005-12-19 15:40:25

LZ整理一份标准答案吧,特别是CA与CF,看着有点晕,平时用CA的时候多

[ 本帖最后由 eric55555 于 2005-12-19 16:05 编辑 ]


 Eagle_wolf 回复于:2005-12-19 18:24:29

dtaq和dtaara的最大长度不同 存取方式不同 而且dtaq可以用key存取
callp 可以返回值 可以利用过程指针 callb不可以
数组求和好像是xfoot 不过从没用过 
一认真较起细节就完了


 戎马 回复于:2005-12-20 08:44:00

引用:原帖由 lordlost 于 2005-12-19 14:23 发表


不知是否有誤解您的意思:

CA:不傳回RPG畫面被修改後的值?!
CF:會傳回RPG畫面被修改後的值?! 


对的.


 gnqqd 回复于:2005-12-20 09:11:03

期待......

[ 本帖最后由 gnqqd 于 2005-12-20 09:16 编辑 ]


 pinggle 回复于:2005-12-20 17:07:02

looking for the answers........


 afeng2000 回复于:2005-12-21 01:09:39

好久没来了,留名。


 eric55555 回复于:2005-12-22 10:20:48

等LZ解答呢,怎么不来呢?


 tnokiay 回复于:2005-12-24 11:44:29

一个RPG程序中打开文件的最大数是多少?


最多是不能超过50个file!


 utirei 回复于:2005-12-24 18:01:46

一个RPG程序中打开文件的最大数是多少?


最多是不能超过50个file! 

最多1个主文件
最多1个记录地址文件
最多8个报表文件


 Stealer 回复于:2006-01-04 13:25:24

有答案吗?


 raykiwang 回复于:2006-01-05 14:47:02

看了帖子之后很惭愧 基础知识不是很扎实 只能回答上部分问题


 19830120LJZ 回复于:2006-01-09 11:07:58

1):em02:function key CA 与 CF 的区别;
如果更改了画面上栏位的值,CA不保存,CF保存
2)dataQ 与 data area 的区别;
没用过DATAQ,问同事,DATAQ可以写进多条记录,读的时候,会读一笔少一笔,不知道对否?
DATE AREA  只有一笔资料(自己定义长度),可以多人共用,不会说读完就没了;
3)chain 与 reade 的区别;
CHAIN 随机读到一笔与KEY值相等的记录, READE可用循环控制读取全部与KEY相等的记录。
4)callb 与 callp 的区别
都用于FREE格式;
CALLB PGMA  绊定PGMA 的 SOURCE,在编译时嵌入代码,如果PGMA改变,则该程式需要重新编译;
CALLP PGMA  不绊定PGMA 的SOURCE,如果PGMA改变,则该程式不需重新编译;
5)一个RPG程序中打开文件的最大数是多少?    50个
6)RPG程序中一个字符型变量的长度是多少?     10位
6)OS400下一个文件名的最大长度是多少?   10位  
7)数字型数组的求和操作符是什么?
没用过,不知道,
8)RPG程序最多能定义多少个SUBFILE?自己最多有做个多少级的SUBFILE文件?
12个
不知道
9)RPG程序的流程是什么?  
什么意思,没明白
10)procedure id 如何定义?长度 default 值是多少?
不是很明白题目的意思
不知道指的是不是这种,C /COPY source/QRPGSRC,@HELP
11)使用RPG程序,C表中非要写代码吗? 
好象要,要不会反绿;
RPGLE不要可以
12)RPG代表什么意思 ?  
REPORT PROGRAM GENERATOR
丢人,这个是去查的才知道
13)如何读取一个文件的最后一条记录 ?(两个操作代码)
SETGT   (指针指到文件最后)
READP   (向前读)
14)SKIPA , SKIPB , SPAECE 的区别 ?
在PRTF中用的吧
SKIPA 和SKIPB是跳页,SKIPA没用过,SKIPB任何PRTF开头都有这个
SPACEE是应该是跳行
15)在 CL 中如何获得用户名 ?
RTVJOBA USER(&user)
:em03:


 sz_lixlx 回复于:2006-01-17 17:09:41

受益匪浅,惭愧惭愧


 fxf_china 回复于:2006-01-25 16:46:59

3)chain 与 reade 的区别;
CHAIN 和当前指针无关,从文件开头读起,遇到第一条与KEY值相等的记录返回
READE 和当前指针有关,从当前指针位置读起,遇到第一条与KEY值相等的记录返回


 fxf_china 回复于:2006-01-25 16:54:22

1)function key CA 与 CF 的区别;
CA:不将画面值回送到程序,典型用法:F3(作为退出功能键,直接退出,忽略你画面上输入的任何值)
CF:将画面值回送到画面文件的各对应域中,供程序中判断


 gl_nuaa 回复于:2006-02-06 14:59:50

rpg中打开文件不能超过50个!


 gl_nuaa 回复于:2006-02-06 15:05:55

dateq和datearea都用过。。
dateq就是数据队列,先进先出
datearea就是一个相当于外边的数据变量,可以存放一个数据。


 Ray001 回复于:2006-02-08 00:34:44

完了。一点都不懂。


 chinagirlwang 回复于:2006-02-08 11:24:17

请楼主快给答案吧,现在正需要。


 sbbctyv 回复于:2006-04-22 10:27:23

CA不返回数据
CF返回数据


 sbbctyv 回复于:2006-04-22 10:34:51

数组求和好像是XFOOT


 paradiser 回复于:2006-04-22 12:34:10

数字型数组求和是不是用xfoot?


 paradiser 回复于:2006-04-22 12:37:53

一个屏幕最多定义几个子文件?2
一个文件中最多能定义几个子文件?
12


 nhxingliang 回复于:2006-04-22 17:24:48

引用:原帖由 paradiser 于 2006-4-22 12:34 发表
数字型数组求和是不是用xfoot? 





我看到一些程序中是这样用的,但我没有用过!


 saleman 回复于:2006-04-25 10:19:06

支持,感谢




原文链接:http://bbs.chinaunix.net/viewthread.php?tid=666251
转载请注明作者名及原文出处



收藏本页到: