免费注册 查看新帖 |

Chinaunix

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

程序 覆盖 新鲜 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-02-22 17:07 |只看该作者 |倒序浏览
DSPF:
  1.      A*%%TS  SD  20060207  093152  LIUJ        REL-V5R1M0  5722-WDS
  2.      A*%%EC
  3.      A                                      DSPSIZ(24 80 *DS3)
  4.      A                                      INDARA
  5.      A          R DTARCD                    SFL
  6.      A*%%TS  SD  20060207  093152  LIUJ        REL-V5R1M0  5722-WDS
  7.      A            CODE           1A  I 10  5VALUES('p' ' ')
  8.      A            DATES#         8Y 0O 10  8EDTWRD('    /  /  ')
  9.      A            TIMES#         6Y 0O 10 21EDTWRD('  :  :  ')
  10.      A            YYMM#          6Y 0O 10 31EDTWRD('    /  ')
  11.      A            WEEK#          2S 0O 10 42
  12.      A            CDATE#         8Y 0O 10 48COLOR(GRN)
  13.      A                                      EDTWRD('    /  /  ')
  14.      A            CTIME#         6Y 0O 10 61EDTWRD('  :  :  ')
  15.      A            PEMN#          7S 0O 10 72
  16.      A          R CTLRCD                    SFLCTL(DTARCD)
  17.      A*%%TS  SD  20060207  085937  ZHAOS       REL-V5R1M0  5722-WDS
  18.      A                                      SFLSIZ(9999)
  19.      A                                      SFLPAG(0010)
  20.      A                                      CA03(03 'EXIT')
  21.      A                                      OVERLAY
  22.      A  95                                  SFLDSP
  23.      A  85                                  SFLDSPCTL
  24.      A  75                                  SFLCLR
  25.      A            DATES@         8Y 0O  2  2EDTWRD('    /  /  ')
  26.      A                                      COLOR(PNK)
  27.      A                                  4  2USER
  28.      A                                      COLOR(PNK)
  29.      A                                  3  2TIME
  30.      A                                      COLOR(PNK)
  31.      A                                  2 70'F03:EXIT'
  32.      A                                      COLOR(PNK)
  33.      A                                  6  4'年月:'
  34.      A                                      DSPATR(HI)
  35.      A            YYMM@          6Y 0B  6 12DSPATR(HI)
  36.      A                                      EDTWRD('    /  ')
  37.      A                                      EDTMSK('    &  ')
  38.      A                                  8  4'OPT'
  39.      A                                  8  8'截止日期'
  40.      A                                  8 20'截止时间'
  41.      A                                  8 32'年月'
  42.      A                                  8 40'周别'
  43.      A                                  8 48'确认日期'
  44.      A                                  8 60'确认时间'
  45.      A                                  8 72'到职号'
  46.      A                                  9  4'-----------------------------------
  47.      A                                      ------------------------------------
  48.      A                                      -------'
  49.      A                                  3 27'*  周结料况平衡 *'
  50.      A                                  4 27'*****************************'
  51.      A                                  2 27'*****************************'
  52.      A                                  7  4'-----------------------------------
  53.      A                                      ------------------------------------
  54.      A                                      -------'
  55.      A          R RCD
  56.      A*%%TS  SD  20060206  170309  ZHAOS       REL-V5R1M0  5722-WDS
  57.      A                                      KEEP
  58.      A  95                      23  3'OPT:  Y--数据确认   P--列印报+
  59.      A                                      表'
  60.      A                            22 36'操作说明'
  61.      A                                      COLOR(PNK)
  62.      A N95                     23  4'请在<所属年月>栏位输入恰当日+
  63.      A                                      期进行询'
  64.      A                                 22 47'---------------------------------'
  65.      A                                      COLOR(BLU)
  66.      A                                 22  2'---------------------------------'
  67.      A                                      COLOR(BLU)
复制代码


RPGLE:

  1.      H DATEDIT(*YMD) OPTION(*NODEBUGIO)
  2.      FHGS60     IF   E           K DISK
  3.      FHGDI60    CF   E             WORKSTN INDDS(INDICATOR)
  4.      F                                     SFILE(DTARCD:RRN)
  5.      DRRN              S              4  0
  6.      DINDICATOR        DS
  7.      DEXIT                     3      3N
  8.      DSFLDSP                  95     95N
  9.      DSFLCTL                  85     85N
  10.      DSFLCLR                  75     75N
  11.       /FREE
  12.          DOU EXIT;
  13.            EXSR SFL@;
  14.            IF RRN>0;
  15.              SFLDSP='1';
  16.            ELSE;
  17.              SFLDSP='0';
  18.            ENDIF;
  19.            SFLCTL='1';
  20.              WRITE RCD;
  21.              EXFMT CTLRCD;
  22.            SFLCTL='0';
  23.            READC(E) DTARCD;
  24.            DOU %EOF;
  25.              SELECT;
  26.                WHEN CODE='p' OR CODE='P';
  27.                  EXSR CALL@;
  28.                OTHER;
  29.                  LEAVE;
  30.              ENDSL;
  31.              READC DTARCD;
  32.            ENDDO;
  33.            CODE=' ';
  34.          ENDDO;
  35.       /END-FREE
  36.      C                   SETON                                        LR
  37.      *******
  38.      **SFL@*
  39.      *******
  40.       /FREE
  41.          BEGSR SFL@;
  42.            SFLCLR='1';
  43.            WRITE CTLRCD;
  44.            SFLCLR='0';
  45.            RESET RRN;
  46.            SETLL YYMM@ HGS60;
  47.            DOU %EOF(HGS60);
  48.            READE YYMM@ HGS60;
  49.              IF NOT %EOF;
  50.                CLEAR DTARCD;
  51.                RRN=RRN+1;
  52.                DATES#=DATES;
  53.                TIMES#=TIMES;
  54.                YYMM#=YYMM;
  55.                WEEK#=WEEK;
  56.                CDATE#=CDATE;
  57.                CTIME#=CTIME;
  58.                PEMN#=PEMN;
  59.                WRITE DTARCD;
  60.              ELSE;
  61.                LEAVE;
  62.              ENDIF;
  63.            ENDDO;
  64.          ENDSR;
  65.       /END-FREE
  66.      *************
  67.      **CALL@**
  68.      *************
  69.      C     CALL@         BEGSR
  70.      C                   CALL      'HGEXSMRI'
  71.      C                   PARM                    HRTNO#
  72.      C                   PARM                    HCKNO#
  73.      C                   UPDATE    DTARCD
  74.      C                   ENDSR
复制代码

重要的是DSPF中:

OPT:  Y-- 数据确认    P-- 列印报表                                            
                                                                              
---------------------------------  操作说明  ---------------------------------
   请在 < 所属年月 > 栏位输入恰当日期进行查询     
         
     
"请在 < 所属年月 > 栏位输入恰当日期进行查询"这一行是画面首先要出现的,所以先在这按PF06,分别在填入
Activate indicators . . . . . . . . . . . . .        Y
Indicators to be turned ON  . . . . . . . . . 95    95是显示SUBFILE。  
按ENTER后这行消失,大家可以试下。      
接着把“OPT:  Y-- 数据确认    P-- 列印报表”这行移到刚才消失的这行,也按PF06进去后,在以下填入:
Activate indicators . . . . . . . . . . . . .          N  
Indicators to be turned ON  . . . . . . . . .   95      
大家可以对着程式看,最好是可以也做一遍,会很有收获的哦~~

为了让程序完整,把PF也帖出来:

  1.      A          R RHGS60  
  2.                A            DATES          8  0       COLHDG('截止日期')
  3.                A            TIMES          6  0       COLHDG('截止时间')
  4.                A            YYMM           6  0       COLHDG('年月')
  5.                A            WEEK           2  0       COLHDG('周别')
  6.                A            CDATE          8  0       COLHDG('确认日期')
  7.                A            CTIME          6  0       COLHDG('确认时间')
  8.                A            PEMN           7  0       COLHDG('到职号')
  9.                A            NAME          10O         COLHDG('姓名')
  10.                A            FLAG1          1          COLHDG('月末标记')
  11.                A          K YYMM
  12.                A          K WEEK
复制代码

      欢迎大家的指正,欢迎互相探讨~~

[ 本帖最后由 liu__jiang 于 2006-2-22 17:09 编辑 ]

评分

参与人数 1可用积分 +2 收起 理由
居士 + 2

查看全部评分

论坛徽章:
0
2 [报告]
发表于 2006-02-22 17:12 |只看该作者
沙发
顶一下,希望能多多看到这样的帖子

论坛徽章:
0
3 [报告]
发表于 2006-02-22 19:40 |只看该作者
多subfile ,切换subfile的做一下?还有业务逻辑不是那么简单的也做以下??:)

论坛徽章:
0
4 [报告]
发表于 2006-02-22 19:44 |只看该作者
看不懂什么意思

论坛徽章:
0
5 [报告]
发表于 2006-02-23 08:19 |只看该作者
原帖由 wildfish 于 2006-2-22 19:40 发表
多subfile ,切换subfile的做一下?还有业务逻辑不是那么简单的也做以下??:)


多SUBFILE的其实也差不多,比如还是以上面为例子,你在DSPF中做2个SUBFILE,主要是在程序中设置就好了,尤其是以下这几行:
      
  1. SFLCTL='1';
  2.           IF……;
  3.         WRITE RCD1;
  4.              EXFMT CTLRCD;
  5.           ELSEIF……;
  6.          WRITE RCD2;
  7.          EXFMT CTLRCD;
  8.        ENDIF;      
  9.           SFLCTL='0';
复制代码
   
通过与下面对比
       SFLCTL='1';
             WRITE RCD;
             EXFMT CTLRCD;
           SFLCTL='0';
可以发现~~
这里所体现的是公用一个表头,不知道是否可以满足你的需要~~~

[ 本帖最后由 liu__jiang 于 2006-2-23 08:23 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP