COBOL2002 ユーザーズガイド
HTMLテンプレートに埋め込むHTML拡張言語の文法について説明します。
$%変数名%$
<HTML> <HEAD> <TITLE>変数名</TITLE> </HEAD> <BODY> Name : $%ITEM1%$ </BODY> </HTML>
IDENTIFICATION DIVISION. PROGRAM-ID. CGIMAIN. DATA DIVISION. WORKING-STORAGE SECTION. 01 NAMELIST USAGE ADDRESS VALUE NULL. 01 NAMEX PIC X(28). 01 VALUEX. 02 VALUE-LEN PIC S9(9) USAGE COMP. 02 VALUE-STRING. 03 PIC X OCCURS 1024 DEPENDING ON VALUE-LEN. PROCEDURE DIVISION. *> CGIリスト作成 CALL 'CBLCREATELIST' USING NAMELIST. MOVE 'ITEM1' TO NAMEX. COMPUTE VALUE-LEN = FUNCTION LENGTH('COBOL2002'). MOVE 'COBOL2002' TO VALUE-STRING. CALL 'CBLADDPAIR' USING NAMELIST NAMEX VALUEX. *> COBOL副プログラムの呼び出し CALL 'CGISUB' USING NAMELIST. *> CGIリスト削除 CALL 'CBLDESTROYLIST' USING NAMELIST. STOP RUN.
Name:COBOL2002
$%REPEAT%$ $%変数名%$ $%END-REPEAT%$
$%REPEAT%$ $%変数名1%$ $%変数名2%$ : $%END-REPEAT%$
名前 | 値 |
---|---|
ITEM1 | DATA01 |
ITEM2 | DATA02 |
ITEM1 | DATA11 |
ITEM2 | DATA12 |
$%REPEAT%$ $%ITEM1%$ $%ITEM2%$ $%END-REPEAT%$
DATA01 DATA02 DATA11 DATA12
<HTML> <HEAD> <TITLE>REPEAT</TITLE> </HEAD> <BODY> $%REPEAT%$ $%CITY%$ : $%COLOR%$ <BR> $%END-REPEAT%$ </BODY> </HTML>
IDENTIFICATION DIVISION. PROGRAM-ID. CGIMAIN. DATA DIVISION. WORKING-STORAGE SECTION. 01 NAMELIST USAGE ADDRESS VALUE NULL. 01 NAMEX PIC X(28). 01 VALUEX. 02 VALUE-LEN PIC S9(9) USAGE COMP. 02 VALUE-STRING. 03 PIC X OCCURS 1024 DEPENDING ON VALUE-LEN. PROCEDURE DIVISION. *> CGIリスト作成 CALL 'CBLCREATELIST' USING NAMELIST. MOVE 'CITY' TO NAMEX. MOVE 5 TO VALUE-LEN. MOVE 'TOKYO' TO VALUE-STRING. CALL 'CBLADDPAIR' USING NAMELIST NAMEX VALUEX. MOVE 'COLOR' TO NAMEX. MOVE 4 TO VALUE-LEN. MOVE 'GRAY' TO VALUE-STRING. CALL 'CBLADDPAIR' USING NAMELIST NAMEX VALUEX. MOVE 'CITY' TO NAMEX. MOVE 7 TO VALUE-LEN. MOVE 'FUKUOKA' TO VALUE-STRING. CALL 'CBLADDPAIR' USING NAMELIST NAMEX VALUEX. MOVE 'COLOR' TO NAMEX. MOVE 3 TO VALUE-LEN. MOVE 'RED' TO VALUE-STRING. CALL 'CBLADDPAIR' USING NAMELIST NAMEX VALUEX. *> COBOL副プログラムの呼び出し CALL 'CGISUB' USING NAMELIST. *> CGIリスト削除 CALL 'CBLDESTROYLIST' USING NAMELIST. STOP RUN.
TOKYO:GRAY FUKUOKA:RED
<FORM NAME="MAIN" METHOD="POST" ACTION= "/scripts/cgisample.exe"> <INPUT TYPE="text" NAME="INPUTTEXT1" VALUE="DATA1" MAXLENGTH="20"><BR> <TEXTAREA COLS="60" ROWS="8" NAME="TEXTAREA1"> </TEXTAREA><BR> <INPUT TYPE="hidden" NAME=".REPEAT.TERMINATOR" VALUE="1"> <INPUT TYPE="text" NAME="INPUTTEXT1" VALUE="DATA2" MAXLENGTH="20"><BR> <TEXTAREA COLS="60" ROWS="8" NAME="TEXTAREA1"> </TEXTAREA><BR> <INPUT TYPE="hidden" NAME=".REPEAT.TERMINATOR" VALUE="1"><INPUT TYPE="submit" NAME="submit" VALUE="送信" ><BR></FORM> :
: $%REPEAT%$ データ名:$%INPUTTEXT1%$ <BR> データ内容: $%REPEAT%$ $%TEXTAREA1%$ $%END-REPEAT%$ <BR> $%END-REPEAT%$ :
:$%REPEAT%$$%NAME1%$$%END-REPEAT%$ :
$%IF ( 変数名 演算子 'リテラル文字' )%$ : {$%ELSE%$} : $%END-IF%$
$%IF ( 変数名1 演算子 変数名2 )%$ : {$%ELSE%$} : $%END-IF%$
$%IF ( 変数名1 演算子 NULL )%$ : {$%ELSE%$} : $%END-IF%$
Content-type: text/HTML <HTML> <HEAD> <TITLE>IF ELSE END-IF</TITLE> </HEAD> <BODY> $%IF ( ITEM = 'VALUE-X' )%$ ITEM IS 'VALUE-X'. <BR> $%ELSE%$ NOT FOUND 'VALUE-X'. <BR> $%END-IF%$ </BODY> </HTML>
IDENTIFICATION DIVISION. PROGRAM-ID. CGIMAIN. DATA DIVISION. WORKING-STORAGE SECTION. 01 NAMELIST USAGE ADDRESS VALUE NULL. 01 NAMEX PIC X(28). 01 VALUEX. 02 VALUE-LEN PIC S9(9) USAGE COMP. 02 VALUE-STRING. 03 PIC X OCCURS 1024 DEPENDING ON VALUE-LEN. PROCEDURE DIVISION. *> CGIリスト作成 CALL 'CBLCREATELIST' USING NAMELIST. MOVE 'ITEM' TO NAMEX. MOVE 7 TO VALUE-LEN. MOVE 'VALUE-X' TO VALUE-STRING. CALL 'CBLADDPAIR' USING NAMELIST NAMEX VALUEX. *> COBOL副プログラムの呼び出し CALL 'CGISUB' USING NAMELIST. *> CGIリスト削除 CALL 'CBLDESTROYLIST' USING NAMELIST. STOP RUN.
ITEM IS 'VALUE-X'
$%-- コメント --%$
Content-type: text/HTML <HTML> <HEAD> <TITLE>COMMENT</TITLE> </HEAD> <BODY> Webページに出力される <!-- Webページに出力されるが表示されない --> $%-- Webページに出力されないコメント --%$ </BODY> </HTML>
IDENTIFICATION DIVISION. PROGRAM-ID. CGIMAIN. DATA DIVISION. WORKING-STORAGE SECTION. PROCEDURE DIVISION. *> COBOL副プログラムの呼び出し CALL 'CGISUB'. STOP RUN.
Webページに出力される
<HTML> <HEAD> <TITLE>COMMENT</TITLE> </HEAD> <BODY> Webページに出力される <!-- Webページに出力されるが表示されない --> </BODY> </HTML>
All Rights Reserved. Copyright (C) 2013, 2016, Hitachi, Ltd.
All Rights Reserved. Copyright (C) 2002, 2011, Microsoft Corporation.