枝番を自動で取得したい
概要
新基幹システムの販売未収マスタのような複合キーの内に枝番がキーとしてあるマスタにおいて、新規登録画面により自動で枝番を取得したい場合のコード。
請求先コード/商品コード/未収区分/SEQ/EDA
コード例
00010 02 FLG-AREA.
00020 03 CNT-EDA PIC 9(03).
00030 03 EDA-FLG PIC 9(01).
00040
00050*====*> EDA
00060 CHECK-EDABAN.
00070 IF ( MENU = 1 )
00080 AND ( GD-ATEN NOT = "F091" ) AND ( GD-ATEN NOT = "F092" )
00090 THEN
00100 INITIALIZE CNT-EDA GD-EDABAN EDA-FLG
00110 PERFORM VARYING CNT-EDA FROM 1 BY 1
00120 UNTIL ( CNT-EDA > 99 ) OR ( EDA-FLG = 1 )
00130 MOVE GD-SEQCOD TO MMHB-KEY-SEQCOD
00140 MOVE GD-SHNCOD TO MMHB-KEY-SHNCOD
00150 MOVE GD-MSYKBN TO MMHB-KEY-MSYKBN
00160 MOVE GD-SEQBAN TO MMHB-KEY-SEQBAN
00170 MOVE CNT-EDA TO MMHB-KEY-EDABAN
00180 MOVE MMHB-KEY-SEQCOD TO MMHBSEQCOD OF MSMHBF
00190 MOVE MMHB-KEY-SHNCOD TO MMHBSHNCOD OF MSMHBF
00200 MOVE MMHB-KEY-MSYKBN TO MMHBMSYKBN OF MSMHBF
00210 MOVE MMHB-KEY-SEQBAN TO MMHBSEQBAN OF MSMHBF
00220 MOVE MMHB-KEY-EDABAN TO MMHBEDABAN OF MSMHBF
00230 MOVE ZERO TO BTRV-STS
00240 READ MSMHBF
00250 INVALID KEY
00260 MOVE 4 TO BTRV-STS
00270 END-READ
00280 PERFORM FLSTS-CVT
00290 EVALUATE TRUE
00300 WHEN BTRV-OK
00310 IF ( CNT-EDA > 98 )
00320 MOVE 1 TO EDA-FLG
00330 MOVE 1 TO ERR-FLG
00340 MOVE CNT-EDA TO GD-EDABAN
00350 END-IF
00360 WHEN OTHER
00370 IF ( CNT-EDA > 99 )
00380 MOVE 1 TO ERR-FLG
00390 END-IF
00400 MOVE 1 TO EDA-FLG
00410 MOVE CNT-EDA TO GD-EDABAN
00420 END-EVALUATE
00430 END-PERFORM
00440 EVALUATE GD-EDABAN ALSO ERR-FLG
00450 WHEN 1 THRU 99 ALSO 0
00460 CONTINUE
00470 WHEN 99 ALSO 1
00480 MOVE L-ERR62 TO SV-ERRMSG
00490 MOVE " ※空番割当エラー " TO GD-ERRDSP
00500 WHEN OTHER
00510 MOVE 1 TO ERR-FLG
00520 MOVE L-ERR61 TO SV-ERRMSG
00530 MOVE " ※例外エラー " TO GD-ERRDSP
00540 END-EVALUATE
00550 END-IF.