免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3055 | 回复: 9
打印 上一主题 下一主题

各位在AS400上用RPG开发时的过程是怎样的? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-12-07 11:44 |只看该作者 |倒序浏览
在AS400上的开发是否跟传统的软件工程过程一样?技术层面上说如果要用RPG开发一个程序的话,基过程是什么?

论坛徽章:
0
2 [报告]
发表于 2005-12-07 12:58 |只看该作者
话题好大。

论坛徽章:
0
3 [报告]
发表于 2005-12-07 13:03 |只看该作者
本人是新人,操作还有点困难

论坛徽章:
0
4 [报告]
发表于 2005-12-07 15:54 |只看该作者
好象真正的DX们都不出来了?

论坛徽章:
0
5 [报告]
发表于 2005-12-07 16:01 |只看该作者
我不是DX,但是如果你想问要想学好RPG最基本的东西的话,操作码和内部函数是很重要的,还有就是你的逻辑能力。前提都是去大量的实践。当然经常来这里看看进步也是很大的!

论坛徽章:
0
6 [报告]
发表于 2005-12-07 16:02 |只看该作者
你的话题太大 没法回答

最好描述清楚你的情况,把问题具体化.

论坛徽章:
0
7 [报告]
发表于 2005-12-07 16:49 |只看该作者
看来真的是我的问题没问清楚. 试着再说一遍:
1. 想必大家都知道软件开发过程, 立项评估, 需求收集, 需求分析,概要设计/原型, 详细设计, 编码/单元测试, 功能测试, 集成测试, 交付测试, 上线准备, 培训, 上线, 上线后支持.
我的问题是: 在AS400上的开发也是这样一套过程吗?
2. 基于PACKAGE的定制或修改, 如SAP ABAP, JDE 的 Customization, Siebel Script的定制开发有可能不同.
3. 仅针对编码而言, 拿C语言举例吧,根据设计编写原代码,包括.c, .h. lib等,编译成二进制码,再编译成可执行代码,对于RPG而言是否也是这样的过程呢?

请原谅我对AS400了解太少.算是比较土的问题吧.

论坛徽章:
0
8 [报告]
发表于 2005-12-08 09:26 |只看该作者
原帖由 pinggle 于 2005-12-7 16:49 发表
看来真的是我的问题没问清楚. 试着再说一遍:
1. 想必大家都知道软件开发过程, 立项评估, 需求收集, 需求分析,概要设计/原型, 详细设计, 编码/单元测试, 功能测试, 集成测试, 交付测试, 上线准备, 培训, 上线, 上 ...

第一个问题,我个人的意见---是的。
第三个问题,过程可能会更简单些,写完,编译,查错、修改,通过,测试验证,发布,OK!
我感觉还是拿个例子你试着去看,可能效果会更好:
   H DEBUG DATEDIT(*YMD) OPTION(*NODEBUGIO)
     FSTAFFERPF UF A E           K DISK    RENAME(STAR:STAX)
     FSTAFFERLF IF     E           K DISK
     FSTAFFDSPF CF   E              WORKSTN SFILE(DTASFL:RRN)
     F                                                     INDDS(INDICATOR)
     DRRN                S              4  0
     DTOSNO            S                   LIKE(NO)
     DINDICATOR        DS
     DADD                      2      2N
     DEXIT                     3      3N
     DCANCEL              12     12N
     DERRMSG              40     40N
     DSFLDSP               90     90N
     DSFLCTL                80     80N
     DSFLCLR                70     70N
      /free
         dou exit;
           select;
             when code=*zero;
               exsr sfl@;
             when code<>*zero;
               exsr query@;
           endsl;
           if rrn>0;
             sfldsp='1';
           else;
             sfldsp='0';
           endif;
           sflctl='1';
             exfmt ctlsfl;
             IF ADD='1';
               EXSR ADD@;
             ENDIF;
           sflctl='0';
           readc dtasfl;
           dou %eof;
             select;
               when tcode='i' or tcode='I';
                 exsr detail@;
               when tcode='c' or tcode='C';
                 exsr change@;
               when tcode='d' or tcode='D';
                 exsr delete@;
               other;
                 leave;
             endsl;
           readc dtasfl;
           enddo;
           tcode=' ';
         enddo;
      /end-free
     C                   SETON                                        LR
      *********
      **sfl@
      *********
      /free
         begsr sfl@;
           sflclr='1';
           write ctlsfl;
           sflclr='0';
           reset rrn;
           setll tosno star;
             dou %eof(stafferlf);
               read stafferlf;
               if not %eof;
                 clear dtasfl;
                 rrn=rrn+1;
                 no@=no;
                 name@=name;
                 sex@=sex;
                 age@=age;
                 write dtasfl;
               else;
                 leave;
               endif;
               if rrn=1;
                 tosno=*loval;
               endif;
             enddo;
             reset code;
         endsr;
      /end-free
      ****************
      **detail@
      ****************
      /free
         begsr detail@;
           chain no@ star;
             if %found;
               ino@=no;
               iname@=name;
               isex@=sex;
               iage@=age;
               exfmt queryrec;
             endif;
         endsr;
      /end-free
      ****************
      **change@
      ****************
      /free
         begsr change@;
           chain no@ stax;
             if %found;
               cno@=no@;
               cname@=name@;
               csex@=sex@;
               cage@=age@;
               exfmt chgrec;
             endif;
             no=cno@;
             name=cname@;
             age=cage@;
             sex=csex@;
          // write stax;
             update stax;
         endsr;
      /end-free
      **************
      **delete@
      **************
      /free
         begsr delete@;
           chain no@ stax;
             if %found;
               delete stax;
             endif;
         endsr;
      /end-free
      ************
      **add@
      ************
      /free
         begsr add@;
           dou cancel;
             exfmt addrec;
             if cancel='1';
               leave;
             endif;
             no=ano@;
             name=aname@;
             sex=asex@;
             age=aage@;
             chain ano@ stax;
               if %found;
                 errmsg='1';
               else;
                 errmsg='0';
                 write stax;
           //    update stax; //只有增加是用write,否则用update.
               endif;
           enddo;
           eval ano@=*zero;
           eval aname@=*blanks;
           eval asex@=*blanks;
           eval aage@=*zero;
         endsr;
      /end-free
      *************
      **query@
      *************
      /free
         begsr query@;
           tosno=code;
           exsr sfl@;
         endsr;
      /end-free

实现的是基本的增加,查询,修改,删除。  你可以看看。

论坛徽章:
0
9 [报告]
发表于 2005-12-08 10:25 |只看该作者
you are so great help, thank you very much.

论坛徽章:
0
10 [报告]
发表于 2005-12-08 11:23 |只看该作者
liu__jiang   
骑士
真强啊,美女快追她,他是帅哥!哦
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP