第一范文网 - 专业文章范例文档资料分享平台

AS400开发入门-By adan

来源:用户分享 时间:2025/5/28 11:27:39 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

* that is used as an index into a character array containing * the names of the months. Then extract the day from the * timestamp to a 2-byte character field which can be used in * an EVAL concatenation expression to form a string. * For example, if LOGONDATE is March 17, 1996, LOGMONTH will * contain 03, LOGDAY will contain 17, and DATE_STR will contain * 'March 17'. C EXTRCT LOGONDATE:*M LOGMONTH 2 0 C EXTRCT LOGONDATE:*D LOGDAY 2 C EVAL DATE_STR = %TRIMR(MONTHS(LOGMONTH)) C + ' ' + LOGDAY C SETON LR ** CTDATA MONTHS January February March April May June July August September October November

December

SUBDUR:计算两个时间之间的间隔时间或者是某一时间之前一段时间。

C

OR C

DATE/TIME/TIMESTAMP SUBDUR DURATION:DURATION_CODE

DATE/TIME/TIMESTAMP

错误判断方法与ADDDUR同

例:

* Determine a LOANDATE which is xx years, yy months, zz days prior to * the DUEDATE. C DUEDATE SUBDUR XX:*YEARS LOANDATE C SUBDUR YY:*MONTHS LOANDATE C SUBDUR ZZ:*DAYS LOANDATE * Add 30 days to a loan due date

C SUBDUR -30:*D LOANDUE * Calculate the number or days between a LOANDATE and a DUEDATE. C LOANDATE SUBDUR DUEDATE NUM_DAYS:*D 5 0 * Determine the number of seconds between LOANDATE and DUEDATE.

C LOANDATE SUBDUR DUEDATE NUM_SECS:*S 5 0 例:

DATE/TIME/TIMESTAMP SUBDUR DATE/TIME/TIMESTAMP DURATION:DURATION_CODE

61676237.doc – 第 33 页 共 39 页

D CURDATE S D DATFMT(*ISO) C C*ADDDUR C TIME CURDATE C CURDATE DSPLY C ADDDUR 1:*Y CURDATE C CURDATE DSPLY C ADDDUR 1:*M CURDATE C CURDATE DSPLY C ADDDUR 1:*D CURDATE C CURDATE DSPLY C*EXTRCT C TIME CURDATE C EXTRCT CURDATE:*Y YEAR 4 0 C YEAR DSPLY C EXTRCT CURDATE:*M MONTH 2 0 C MONTH DSPLY C EXTRCT CURDATE:*D DAY 2 0 C DAY DSPLY C*SUBDUR C TIME CURDATE C CURDATE DSPLY C SUBDUR 1:*Y CURDATE C CURDATE DSPLY C SUBDUR 1:*M CURDATE C CURDATE DSPLY C SUBDUR 1:*D CURDATE C CURDATE DSPLY C C C ENDPGM TAG C EVAL *INLR = '1' C RETURN

TEST

检查一个DATE/TIME/TIMESTAMP变量是否搬含有效的值。

如果我们要检查的一个变量是DATE/TIME/TIMESTAMP类型的变量,那么: C DATE/TIME/TIMESTAMP FORMATE TEST(E) C DATE FORMATE C TIME FORMATE 例:

TEST(DE) TEST(ET) TEST(EZ)

DATE/TIME/TIMESTAMP

如果我们要检查的是一个Char/Num类型的变量,那么:

DATE TIME

C TIMESTAMPE FORMATE TIMESTAMP

61676237.doc – 第 34 页 共 39 页

* Indicator 18 will not be set on, since the character field is a * valid *ISO timestamp field, without separators. C *ISO0 TEST (Z) Char_TSGMp 18 * Indicator 19 will not be set on, since the character field is a * valid *MDY date, without separators.

C *MDY0 TEST (D) Char_Date 19 * %ERROR will return '1', since Num_Date is not *DMY. C *DMY TEST (DE) Num_Date * No Factor 1 since result is a D data type field * %ERROR will return '0', since the field * contains a valid date C TEST (E) Datefield * In the following test, %ERROR will return '1' since the * Timefield does not contain a valid USA time. C *USA TEST (ET) Char_Time * In the following test, indicator 20 will be set on since the * character field is a valid *CMDY, but there are separators. C *CMDY0 TEST (D) char_date2 20 * In the following test, %ERROR will return '0' since * the character field is a valid *LONGJUL date. C *LONGJUL TEST (DE) char_date3

时间类型关键字:

*YEARS for the year (*Y)

*MONTHS for the month (*M)

*DAYS for the day of the month (*D)

*HOURS for the hours (*H)

*MINUTES for the minutes (*MN)

*SECONDS for the seconds (*S)

61676237.doc – 第 35 页 共 39 页

改变了一些操作码的写法

RETRN?RETURN UPDAT?UPDATE LOKUP?LOOKUP COMIT->COMMIT DEFN->DEFINE DELET->DELETE EXCPT->EXCEPT REDPE->READPE SELEC->SELECT SETOF->SETOFF UNLCK->UNLOCK

附:RPG III 与 RPG IV 的实体名称长度区别

Description Field/Array Name DS Name Record Name File Name Max Number of Files Character Field Size Named Constant DS Size No of Decimal Places No of Array Elements No of Subroutine

RPG III 6 6 8 8 50 256 256 9999 9 9999 256

RPG IV 10 10 10 10 None 32767 1024 32767 30 32767 None

4.可视化调试(源级调试)

ILE 提供允许源级调试的调试程序,可随列表文件一起使用调试程序,并且允许设置中断点、显示变量或进入或跨过一条指令。执行这些操作不一定要通过命令行输入命令。可以通过热键实现。

预备工作:在使用CRTRPGMOD或者CRTBNDRPG编译程序的时候,将参数DBGVIEW设置为*SOURCE。

开始调试程序:

STRDBG PGM(MYLIB/MYPGM) UPDPROD(*YES)

61676237.doc – 第 36 页 共 39 页

搜索更多关于: AS400开发入门-By adan 的文档
AS400开发入门-By adan.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c7fhu10stwv76vac3m04b_9.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top