KCORAL/NCORAL/CANOAID言語をCOBOLに変換します。(System−i版はWeb化対応も可能です)
CORAL言語はオンライン処理やバッチ処理を簡便に記述できる簡易言語で、日立の汎用機ユーザーでよく使われています。
CANOAIDはKCORALの文法をベースにリポジトリ機能やCASEツール機能付加したキャノンソフトウェア鰍フ言語で、日立やIBMの汎用機ユーザー向けに提供されています。(CANOAIDの汎用機版は2010年で保守打切りになっています)
当社ツールではCORAL/CANOAIDのシンタックス(文法)からCOBOL言語プログラムを自動生成することができます。
現在はSystem−i(AS/400[IBMi])だけでなく、IMS DB/DC対応版もあります。
以下にCORALをCOBOL言語に変換した例を掲載します。
IGMNR02 MPPR
DGMNM02 IGMNM02
DGMNM04 OGMNM04
DWRKDV020 UWRKDR020
DGMNCTS00 UCTS
*
*REMARKS*************************************************
* 1.SYSTEM : トウロク システム *
* 2.FUNCTION : ウリアゲ トウロク *
* 3.ETC : *
*********************************************************
-EJECT-
-NOGEN-
* ----------------------------------------
*
* モジユ-ル テイギシヨ
*
* ----------------------------------------
*
T メインコントロ-ル ... #00
*
T ニユリヨクコウモクチエツク ... #10
*
T トウロクDBツイカ ... #11
*
T ガメンヒヨウジシヨリ ... #12
*
-EJECT-
* ----------------------------------------
*
* リヤクシヨウ テイギシヨ
*
* ----------------------------------------
*
T MIB ... GMNM02I
*
T MOB ... GMNM02O
*
T PFK ... GMNM02I-PFK
-EJECT-
* --------------------------------
*
* ワ-ク エリア テイギ
*
* --------------------------------
@GMNPR001 オ テンカイ スル.
@GMNPR002 オ テンカイ スル.
@GMNPR003 オ テンカイ スル.
@GMNPR42D オ テンカイ スル.
*
JWRKDR020-RD SELECT *
- FROM WRKDR020
-EJECT-
******************************************************************
* メイン コントロ-ル *
******************************************************************
#00.
#00-10.
GMNM02 オ ヨム.
オワリ ナラ #00-90 ヘ イク.
*
GMNM02 オ クリア スル.
SPACE ---> ERRMSG-NO:GMNM02O
ERRMSG-XO:GMNM02O.
'GMNM02' ---> NOW-MAP:CTS.
'GMNT02' ---> NOW-TC:CTS.
'GMNR02' ---> NOW-PGM:CTS.
GMNPR003 オ シヨキカ スル.
'00' ---> ERR-CD:GMNPR003.
*
@GMNPR501 オ テンカイ スル.
#00-90.
シユウリヨウ.
-EJECT-
******************************************************************
* ニユリヨクコウモク チエツク *
******************************************************************
#10.
#10-10.
モシ YORU-FLGI:GMNM02I = 'Y' OR 'N'
デナケレバ
#10-20 オ シヨリ スル.
#10-90 ヘ イク.
*
#10-20.
@GMNPR101(YORU-FLGA:GMNM02O,11,39,'07')
オ テンカイ スル.
#10-90.
#10 オ デル.
-EJECT-
******************************************************************
* トウロクDB ツイカ *
******************************************************************
#11.
#11-10.
モシ ERR-CD:GMNPR003 = '00' ナラ
#11-20 オ シヨリ スル.
#11-90 ヘ イク.
#11-20.
IDENTIFICATION DIVISION.
PROGRAM-ID. GMNR02.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
COPY GMNCTS00C.
COPY GMNM04I.
COPY GMNM04O.
中略
COPY WRKDV020 ・・・・・
COPY WRKDV020I ・・・・・
*
*REMARKS*************************************************
* 1.SYSTEM : トウロク システム *
* 2.FUNCTION : ウリアゲ トウロク *
* 3.ETC : *
*********************************************************
EJECT.
* -NOGEN-
* ----------------------------------------
*
* モジユ-ル テイギシヨ
*
* ----------------------------------------
*
*T メインコントロ-ル ... #00
*
*T ニユリヨクコウモクチエツク ... #10
*
*T トウロクDBツイカ ... #11
*
*T ガメンヒヨウジシヨリ ... #12
*
EJECT.
* ----------------------------------------
*
* リヤクシヨウ テイギシヨ
*
* ----------------------------------------
*
*T MIB ... GMNM02I
*
*T MOB ... GMNM02O
*
*T PFK ... GMNM02I-PFK
EJECT.
* --------------------------------
*
* ワ-ク エリア テイギ
*
* --------------------------------
COPY 'GMNPR001'.
COPY 'GMNPR002'.
COPY 'GMNPR003'.
COPY 'GMNPR42D'.
*
*JWRKDR020-RD SELECT * FROM WRKDR020
EJECT.
******************************************************************
* メイン コントロ-ル *
******************************************************************
LINKAGE SECTION.
COPY CPYLINK.
PROCEDURE DIVISION
USING LINKAGE-AREA.
MAIN-RTN SECTION.
MAIN-RTN-START.
PERFORM INIT-RTN
PERFORM L00
PERFORM FINAL-RTN.
MAIN-RTN-EXT.
EXIT.
L00 SECTION.
L00-10.
CALL DSPAPI USING LINKAGE-AREA
DSPAPI-CTLI
GMNM02-INF
GMNM02I
中略
MOVE GMNM02-OUTCURS-LIN TO WK-CURS-LIN
MOVE GMNM02-OUTCURS-COL TO WK-CURS-COL
中略
INITIALIZE GMNPR003
MOVE '00' TO ERR-CD OF GMNPR003.
*
COPY 'GMNPR501'.
中略
*
L00-90.
PERFORM FINAL-RTN
中略
EJECT.
******************************************************************
* ニユリヨクコウモク チエツク *
******************************************************************
L10 SECTION.
L10-10.
IF GMNM02-YORU-FLG-I = 'Y' OR 'N'
THEN
CONTINUE
ELSE
PERFORM L10-20
THRU L10-20-EXT
END-IF
GO TO L10-90.
*
L10-20.
COPY 'GMNPR101' ・・・・・
L10-20-EXT.
EXIT.
L10-90.
GO TO L10-EXT.
L10-EXT.
EXIT.
EJECT.
******************************************************************
* トウロクDB ツイカ *
******************************************************************
L11 SECTION.
L11-10.
IF ERR-CD OF GMNPR003 = '00'
THEN
PERFORM L11-20
THRU L11-20-EXT
END-IF
GO TO L11-90.
L11-20.
中略
*--------------------------------------------
* 初期処理
*--------------------------------------------
INIT-RTN SECTION.
INIT-RTN-START.
中略
*ワークステーションID
CALL '#JOBNAMEG' USING CD-SCA-TERMINAL.
* DATE/TIME
COPY ACDATETIME.
中略
*ファイルのオープン
INIT-RTN-EXT. EXIT.
*--------------------------------------------
* 終了処理
*--------------------------------------------
FINAL-RTN SECTION.
FINAL-RTN-START.
中略
* 画面出力域=>CTSに退避
中略
*ファイルのクローズ
FINAL-RTN-EXT. EXIT.