Files
cobol-java-v3/test-data/cobol/category_cics/CI01_CICS.cbl
T
NB-076 943ec8ad17 fix: L1キーワード部分文字列FPを修正 - CALL/MAP/SYSIN/EXEC SQL
第三者監査で発見された4つの変数名起因のFPを修正:

FP1: WS-CALL-COUNT → 子程序调用(変数名にCALL)
FP2: WS-MAP-FIELD → online(変数名にMAP)
FP3: 01 SYSIN PIC X(80) → SYSIN(変数名がSYSIN)
FP4: DISPLAY 'EXEC SQL...' → DB操作(文字列リテラル内)

対策:
- CALL: re:\s*CALL\s (行頭のCALL文のみ)
- EXEC SQL: re:(?:\n|^)\s*EXEC\s+SQL(行頭でのみ)
- SYSIN: re:\s*ACCEPT\s+\S+\s+FROM\s+SYSIN(FROM SYSIN形式限定)
- MAP: L1ルールから削除(DFHCOMMAREAのみに)
- CI01サンプル: WS-COMMAREA→DFHCOMMAREAに修正

回帰: 767 passed(0 new failures)
2026-06-21 20:27:16 +08:00

32 lines
1021 B
COBOL

* ==== TYPE: CI01 CICS ====
*> FEATURE: DFHCOMMAREA + MAP simulation
*> NOTE: CICS keywords marked with *> not for compilation
IDENTIFICATION DIVISION.
PROGRAM-ID. CI01.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 DFHCOMMAREA.
05 WS-CA-LENGTH PIC S9(4) COMP.
05 WS-CA-DATA PIC X(100).
01 WS-MAP-RECV.
05 WS-MAP-INPUT PIC X(50).
01 WS-MAP-SEND.
05 WS-MAP-OUTPUT PIC X(50).
01 WS-RESPONSE PIC S9(8) COMP.
PROCEDURE DIVISION.
*> EXEC CICS RECEIVE MAP('MAP01')
*> INTO(WS-MAP-RECV)
*> RESP(WS-RESPONSE)
*> END-EXEC.
DISPLAY 'RECEIVED MAP'.
*> EXEC CICS SEND MAP('MAP01')
*> FROM(WS-MAP-SEND)
*> RESP(WS-RESPONSE)
*> END-EXEC.
DISPLAY 'SENT MAP'.
*> EXEC CICS RETURN
*> COMMAREA(WS-COMMAREA)
*> END-EXEC.
STOP RUN.