COBOLヒント集
コーディング命名規約
●入力ファイル名
INnn-FILE
IN(固定)、nn(連番01、02〜)、-FILE(固定)
●出力ファイル名
OTnn-FILE
IN(固定)、nn(連番01、02〜)、-FILE(固定)
●レコード名(01レベル)
XXXXXXX-REC
XXXXXXX(コピー句ID)、-REC(固定)
●データ項目名(03レベル以下)
nnn-XXXXXXXX
nnn(プレフィクス、略称標準化一元管理)、-(固定)、XXXXXXXX(任意文字列)
●セクション名
nnn-XXXXXXXX
nnn(セクションIDピリオドなし)、-(固定)、XXXXXXXX(任意文字列)
データ項目名命名指針、ローマ字はヘボン式
●ハイフォンを含め10文字以内
●A001など連番はやめる
●原則として子音法を適用する。
●例外はあっても、一貫性を保つ。
●ローマ字はヘボン式を使用する。
あ行 A I U E O
か行 KA KI KU KE KO
さ行 SA SHI SU SE SO
た行 TA CHI TU TE TO
な行 NA NI NU NE NO
は行 HA HI HU HE HO
ま行 MA MI MU ME MO
や行 YA −− YU −− YO
ら行 RA RI RU RE RO
わ行 WA −− −− −− −−
ん N −− −− −− −−
が行 GA GI GU GE GO
ざ行 ZA JI ZU ZE ZO
だ行 DA JI ZU DE DO
ば行 BA BI BU BE BO
ぱ行 PA PI PU PE PO
Windows 2000には、ルータからIPアドレスを受け付けません きゃ行 KYA −− KYU −− KYO
しゃ行 SYA −− SYU −− SYO
ちゃ行 CYA −− CYU −− CYO
にゃ行 NYA −− NYU −− NYO
ひゃ行 HYA −− HYU −− HYO
みゃ行 MYA −− MYU −− MYO
りゃ行 RYA −− RYU −− RYO
ぎゃ行 GYA −− GYU −− GYO
じゃ行 JYA −− JYU −− JYO
びゃ行 BYA −− BYU −− BYO
ぴゃ行 PYA −− PYU −− PYO
撥音(はねる音):Nで表現する。 品目→HINMOKU
促音(つまる音):次にくる最初の子音を� �ねる 結果→KEKKA
長音(のびる音):前の母音を重ねる 融資→YUUSHI
カラムの位置
[C8]:カラム位置8カラム目
[+2]:2カラム空ける
000100[C7]***************************************************[C70]
000300*[C10]サブシステム名 [C25]:[C26]資材所要量計画■■■■■■M[C70]*
001700 [C8]IDENTIFICATION [C31]DIVISION.
001800 [C8]PROGRAM-ID. [C31]SAMPLE03.
002300 FILE-CONTROL.
002300 [+4]SELECT [+2]IN01-FILE ASSIGN IN01.
005100*----ワークエリア----------------------------------------------*
005200 01 WRK-AREA.
004100 03 CAN-AREA.
004200 05 CAN-PGMID [C41]PIC X(08) VALUE "SAMPLE03".
013400****************************************************************
013500* [C12]SAMPLE03 [C50](0.0) *
013600****************************************************************
016400 [C12]OPEN INPUT IN01-FILE.
016500 [C12]OPEN OUTPUT OT01-FILE.
025900 [C12]MOVE [C18]TOT-AAA001 [C36]TO [C40]TOT-BBB001.
026400 [C12]IF [C16]AAAAA [C28]NOT [C32]= [C35]BBBBB
命令記述について
●GOTO命令
原則使用不可
ただし、同一セッションのEXIT、モジュール終了のEXIT PROGRAMへ飛ぶのは可
●PERFORM命令
PERFORM SECTION名を使用してTHRUは使用しない
●IF命令
IF命令のネスト5個を上限とする。ネストが深い場合EVALUATEを使用する
●CONTINUEの使用
IF命令のELSEが無実行の場合、CONTINUEは省略できる。但し、END-IFは省略しない
EVALUATE命令のELSEが無実行の場合、CONTINUEは省略できる。但し、END-EVALUATEは省略しない
●算術演算について
COMPUTE命令に統一する
剰余が必要な除算に限り、DIVIDE命令を使用
●比較演算子について
NOTと不等記号の組合せは使用しない。
100≦AAA≦300の場合
不可 IF (X NOT 300)
可 IF (X >= 100) AND (X
( )を活用して、比較関係を分り易くする。
●帳票出力について
改ページ、改行はAFTER句で統一する。
ADVANCINGとLINES句は記述を省略する。
領域の初期化について
●領域の初期化はMOVE命令を使用する。INITIALIZE命令は使用しない
●ワーク領域はVALUE句で初期化しない。
●頻繁に初期化する時は、ワーク0をMOVEして初期化する。回さない。
例1ではなく、例2を使用する。
例1-------------------------------------
01 AAA.
03 AAA1 OCCURS 50.
05 AAA11 PIC 9(03).
05 AAA12 PIC 9(03).
PERFORM VALYING IX FROM 1 BY 1
UNTIL IX > 50
MOVE 0 TO AAA11(IX)
MOVE 0 TO AAA12(IX)
END-PERFORM.
例2-------------------------------------
01 AAA.
03 AAA1 OCCURS 50.
05 AAA11 PIC 9(03).
05 AAA12 PIC 9(03).
01 ZZZ.
03 FILLER OCCURS 50.
05 ZZZ11 PIC 9(03) VALUE 0.
05 ZZZ12 PIC 9(03) VALUE 0.
0 コメント:
コメントを投稿