■  DUPLICATEの実験


EASYでは入力データに重複がある場合も制御できます。
、 下記サンプルの結果をみて想像してください。

EX)
//FILEA    DD *                    ←入力データ
000 NO.1
001 NO.2
001 NO.3
003 NO.4
003 NO.5
111 NO.6
999 NO.7
//SYSLIN   DD   *
LIST OFF
PARM LIST(NOPARM NOFILE)
FILE FILEA                        ←入力データ定義
TEN  1 3 N
DAT  * 7 A
*
JOB INPUT (FILEA KEY(TEN))
  IF DUPLICATE FILEA
      DISPLAY '##DUPLICATE##'
      DISPLAY TEN DAT
   ELSE
      DISPLAY '##DUPLICATE ELSE##'
      DISPLAY TEN DAT
   END-IF
   IF FIRST-DUP FILEA
      DISPLAY '@@FIRST DUPLICATE@@'
      DISPLAY TEN DAT
   ELSE
      DISPLAY '@@FIRST DUPLICATE ELSE@@'
      DISPLAY TEN DAT
   END-IF
   IF LAST-DUP FILEA
      DISPLAY '**LAST DUPLICATE**'
      DISPLAY TEN DAT
   ELSE
      DISPLAY '**LAST DUPLICATE ELSE**'
      DISPLAY TEN DAT
   END-IF
 /*

           ↓実行結果

##DUPLICATE ELSE##
000 NO.1
@@FIRST DUPLICATE ELSE@@
000 NO.1
**LAST DUPLICATE ELSE**
000 NO.1
##DUPLICATE##
001 NO.2
@@FIRST DUPLICATE@@
001 NO.2
**LAST DUPLICATE ELSE**
001 NO.2
##DUPLICATE##
001 NO.3
@@FIRST DUPLICATE ELSE@@
001 NO.3
**LAST DUPLICATE**
001 NO.3
##DUPLICATE##
003 NO.4
@@FIRST DUPLICATE@@
003 NO.4
**LAST DUPLICATE ELSE**
003 NO.4
##DUPLICATE##
003 NO.5
@@FIRST DUPLICATE ELSE@@
003 NO.5
**LAST DUPLICATE**
003 NO.5
##DUPLICATE ELSE##
111 NO.6
@@FIRST DUPLICATE ELSE@@
111 NO.6
**LAST DUPLICATE ELSE**
111 NO.6
##DUPLICATE ELSE##
999 NO.7
@@FIRST DUPLICATE ELSE@@
999 NO.7
**LAST DUPLICATE ELSE**
999 NO.7

 



BEFORE PAGE

TOP PAGE