//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
|