【初心者歓迎】最新COBOLについての質問スレ

1デフォルトの名無しさん2014/07/12(土) 19:55:29.68ID:zUgpYhfE
みんなでCOBOLの話題をしましょう。
質問あったらどうぞ。

最新リリース COBOL 2002
http://ja.wikipedia.org/wiki/COBOL

■ フリーCOBOL
OpenCOBOL
http://jp.opencobol.org/
TinyCOBOL
http://tiny-cobol.sourceforge.net/index.php

第4次COBOL規格 COBOL2002のご紹介
http://www.cobol.gr.jp/knowledge/next_standard/standard002.html
COBOL2002では、全体で約150の追加変更が行われています。ただし、追加変更項目の互換性の保持には
十分に注意がはらわれており、従来のCOBOLプログラムから外れるものではありません。大きな追加機能項目として次の項目があります。
1. コンパイル時指示機能
2. 自由形式の正書法
3. ビット操作機能
4. 漢字等の多オクテット文字機能
5. 浮動小数点データ操作機能
6. ポインタ項目とアドレス付け機能
7. 利用者定義のデータ型機能
8. 利用者定義の関数機能
9. ファイルの共用と排他制御の機能
10. 画面処理機能
11. 例外割り込み処理機能
12. データの妥当性検査機能
13. オブジェクト指向機能
14. 言語間連絡の拡張
15. 標準算術演算と31桁への拡張
16. その他(POSIXのロケールに対応した地域・文化固有機能、既存プログラムとの互換)

147デフォルトの名無しさん2018/02/21(水) 18:40:59.94ID:2qIuM6xQ
>>143
フロントエンドはJavaで無くてもVB.netでも十分でしょ
APサーバー、DBサーバーをUNIX(Linux)にするか、Windowsサーバーにするかはアレだけど

148デフォルトの名無しさん2018/02/21(水) 18:45:21.16ID:2qIuM6xQ

149デフォルトの名無しさん2018/02/21(水) 19:03:31.34ID:LoH3KZF5
BerkeleyDBでトラキャンとか出来るらしいけど、GNU-COBOLの実装どうなってんだろ?

150デフォルトの名無しさん2018/02/25(日) 16:34:48.01ID:ze5ivbpq
>>138
PostgreSQLでも良い

151デフォルトの名無しさん2018/03/02(金) 15:40:36.57ID:kun9P1d+
PostgreSQL+Linuxサーバー+Apache

Open-COBOLでバッチ処理

UIはPHPかPythonかRubyかPerl

これで無料

152デフォルトの名無しさん2018/05/23(水) 20:59:29.93ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

RBHX3

153デフォルトの名無しさん2018/07/05(木) 00:54:52.37ID:RfoszcD2
O82

154デフォルトの名無しさん2018/08/09(木) 18:06:40.92ID:WuBnCjxh
>>150,151
今後DB部分はMariaDBかPostgreSQLに移行するだろう
JavaはPHP、Python、JavaScriptに移行
バッチはOpenCOBOLでOKだが、GUI関連をPHPとかからCOBOLに引き継ぎ出来るか、だな

155デフォルトの名無しさん2018/08/11(土) 18:01:28.87ID:RChMnkgH
PHP、Python、Ruby、JavaScript、Perlとかのスクリプト系言語で金額計算が誤差無く出来る言語が出ない限りCOBOLの代わりにはならない
Java、C#もライブラリで何とか対応してるだけ
金額計算だけで見ればVB.NETでも変わらん

156デフォルトの名無しさん2018/08/12(日) 21:59:35.48ID:pHS7/xf6
VBならDecimal型があるしな。

157デフォルトの名無しさん2018/08/15(水) 00:51:17.14ID:xwISYCtn
>>151
長崎県庁とかOpenCOBOLでDBアクセス部分はPerl(外部サブルーチン)→MySQLだと
UI部分をPerlでやってるかOpenCOBOLでUI作ってるみたいね

158デフォルトの名無しさん2018/08/22(水) 20:13:51.70ID:vF3JdWVP
opencobolって日本語の変数って使えるの?

159デフォルトの名無しさん2018/08/22(水) 20:38:31.84ID:cvxUQ6/s
>>158
変数名は無理
日本語データは扱える
https://www.lancard.com/archives/000513.html

160デフォルトの名無しさん2018/08/22(水) 20:44:48.09ID:cvxUQ6/s
そもそもOSに依存する漢字を変数名に使用する時点でおかしいわな
システム移行(マイグレーション)する場合に足かせになる

161デフォルトの名無しさん2018/08/22(水) 20:51:46.04ID:HhSOSIoP
>>159
やっぱり使えないのか。ありがとう。

>>160
まさにそのマイグレーション案件なんだわ

162デフォルトの名無しさん2018/08/22(水) 21:14:06.68ID:e5DhnedG
>>161
すごいね
オンラインとかどーすんのよ?

163デフォルトの名無しさん2018/08/22(水) 21:44:33.88ID:cvxUQ6/s
>>162
オンライン部分はOpenCOBOLじゃないだろ
OpenCOBOLは基本的にバッチ処理メイン
UI部分は他の言語で実装してんじゃね
>>161
変数名はJavaみたいにアルファベットでローマ字読みぐらいにするしか無いと思うぞ

164デフォルトの名無しさん2018/08/22(水) 21:48:39.57ID:cvxUQ6/s
>>161
こういう例は元々、移行元がOS依存の漢字をシステムオープン化する事想定せず運用してたツケだろうな
それなのにオープン化するってプロジェクトそのものが失敗し易い所からスタートしてる事になる

165デフォルトの名無しさん2018/08/22(水) 22:11:11.00ID:cvxUQ6/s
なお、これは長崎県庁での汎用機のOpenCOBOL+Perlへのオープン化事例だが
https://docsplayer.net/41528190-Osc_opencobol-pptx.html
UI部分はPerlでそれをCOBOLに引き継いでると思われる
RDBアクセスもPerl
バッチ処理はCOBOLで印刷部分は色々と工夫はしてる様だ

166デフォルトの名無しさん2018/08/22(水) 22:11:19.76ID:vF3JdWVP
>>162
>>163
オンラインもバッチもCOBOLのまま動かすんだよ。オンラインはjavaからCOBOLを動かす。163が言う通り変数名は辞書作って変換するしかない。

>>164
日本のCOBOLが気を利かせすぎなんだよ。

167デフォルトの名無しさん2018/08/22(水) 22:25:08.25ID:cvxUQ6/s
>>166
>>JavaからCOBOL
出た!!
UI自体はJavaで裏でOpenCOBOL稼働か
Javaのライセンスうんぬんはプロジェクトリーダーは理解してんかな?

168デフォルトの名無しさん2018/08/22(水) 22:52:29.57ID:e5DhnedG
JAVA+opencobolなのね
東京システムハウスもそんな感じでやってたな
あと困るのは、データベースへのアクセスだろな
既存がREAD WRITEインターフェースでデータベースアクセスしてるなら、RDBにした場合、アクセスサブ作んなきゃならんので、大変そう

169デフォルトの名無しさん2018/08/22(水) 22:59:52.03ID:cvxUQ6/s
RDBアクセス部分はJavaで専用オブジェクトクラス作成だろうな
で、OpenCOBOLからも呼び出してRDBアクセス処理を任せるパターン

170デフォルトの名無しさん2018/08/22(水) 23:15:16.24ID:e5DhnedG
呼び出すとCALLインターフェース使うってこと?
READWRITEからCALLにCode直すのが面倒じゃない?

171デフォルトの名無しさん2018/08/22(水) 23:24:23.16ID:cvxUQ6/s
>>170
元々の汎用機でのCOBOLの実装はREAD、WRITEでSAMファイルやVSAMファイルを扱ってるが、この部分は汎用機での固有コーディングなのよ
でOpenCOBOLにするとCOBOLの実装の中でSQL文を組み立ててRDBに対して実行するか、RDBにアクセスするオブジェクトをCALLしてデータ貰うか、OpenCOBOLの固有コーディングになる
どの道、汎用機でのCOBOLコーディングはそのまま使えないので、RDBアクセス部分はJava使う方がOracle使おうがSQL Server使おうがMySQL使おうがMariaDB使おうがPostgreSQL使おうが、Java側で対処する様にしとけば、OpenCOBOL側は何のRDB使ってるか意識せず実装出来る

172デフォルトの名無しさん2018/08/23(木) 00:56:38.23ID:KAnCCL4p
Java(OpenJDK?)からJDBC使ってRDBにアクセスするロジックを作っておく
OpenCOBOLからは、それを利用する様にするだけ

173デフォルトの名無しさん2018/08/23(木) 01:40:51.91ID:KAnCCL4p
OpenCOBOL→GnuCOBOLになってから大部進化してんだな
https://www.softantenna.com/wp/software/gnucobol-2-2/
>>166
オンラインもOpenCOBOL(GnuCOBOL)で動かすとしてるが、汎用機でのプログラムはそのまま使えないし、汎用機のUIとオープンシステムのUIなんて同じには出来ない
マイグレーション出来ると思ってるんかね?

174デフォルトの名無しさん2018/08/23(木) 12:23:17.24ID:nYRc3RV5
BerkeleyDBならREADWRITEインターフェースで、そのままアクセス可能だけどね
オンラインだと、ポスグレなどのRDBにしたほうが、後々便利なんだろうなぁ

ただ、アクセス部分を汎用的に作れないのがイタイ
個別に作るのが面倒なんだよねぇ

レコード定義から、COBOL+SQLでのアクセスサブルーチンを生成するツールみたいのを
公開してくれたらありがたいんだけど

175デフォルトの名無しさん2018/08/23(木) 12:26:30.63ID:nYRc3RV5
DB連携ツール openCOBOL ESQLを使えば、CURSOR制御で順次アクセスはすぐ作れるけど、
エラー制御とか何処まで必要か分からんのよね

176デフォルトの名無しさん2018/08/23(木) 15:44:39.30ID:RbMgRth3
>>174,175
>>BerkeleyDB

実用事例が少ないDBは採用されない

>>レコード定義から、COBOL+SQLでのアクセスサブルーチンを生成するツールみたいのを公開してくれたらありがたいんだけど

そこの部分をJavaで作っとけって話

177デフォルトの名無しさん2018/08/23(木) 16:18:49.02ID:nYRc3RV5
>>176
BerkeleyDBはISAM使った場合の、gnucobol標準サポートだけどね
直接アクセスできるツールやユーティリティが無いからなぁ

javaで作るとどんな感じになるのか、気になるな

COBOLプログラムの
READ FILE1 INVALID KEY
をCALL に変えるんだよね?

178デフォルトの名無しさん2018/08/23(木) 17:26:58.67ID:RbMgRth3
>>177
RDBアクセス部分はGnuCOBOLで外部モジュール化は出来ると思うが、JavaでOracleやMySQL、PostgreSQLにJDBC経由でアクセスする例は過去から事例が多い
そのノウハウ持ってるSierは他の案件で開発した実装事例を持って来るだけだと思う
後はGnuCOBOLからCALLして呼び出すメソッドを定義付けすれば良いだけかと
まあ、書き込み有ったヤツのプロジェクトがどういう方針か不明なので何とも言えんが

179デフォルトの名無しさん2018/08/24(金) 00:00:04.60ID:ngexklth
https://sugaryo1224.hatenablog.com/entry/2018/02/14/053410
新人にCOBOLをやらせる会社が悪い、と言うかやらせる新人にも向き不向きが居るからな
それを見極められない会社も悪い
そもそも可読性重視のCOBOLの重要度を否定してる時点でこのHPのヤツはプログラマとしては二流だな

180デフォルトの名無しさん2018/08/24(金) 03:59:58.03ID:aszYuZqI
>>166
http://rinta.hatenablog.com/entry/20110114/p1
COBOL→Javaに移行してもCOBOLに近い実装になってしまう事実
それならCOBOLのままオープン化した方が安くつく

181デフォルトの名無しさん2018/08/25(土) 04:07:56.03ID:BPRCEJL7
>>166の案件はEclipseでも使ってるんだろうな
COBOLとJavaのソース混在してるんだろう

182デフォルトの名無しさん2018/08/25(土) 10:30:23.91ID:8URk/odh
>>181
オンラインの画面制御ミドルをjavaで動かすんじゃないか?

富士通なら、表示ファイルのDCFILEか、メッセージファイル作ってCOBOLに渡せばいい

うちのシステムもマイグレしたいが、リスク取れないから、次もXSP動作機構で動かすんだろなぁ

183デフォルトの名無しさん2018/08/30(木) 21:06:37.76ID:1rD3/Svv
>>182
なるほどね
画面制御をJava、PHP、Perl、Ruby、Python、JavaScript色々選べそうだが
画面制御JavaでOpenJDKで収まるんかな
でないとライセンス発生する

184デフォルトの名無しさん2018/08/30(木) 21:27:39.03ID:unDMAXDu
JavaEEは?

185デフォルトの名無しさん2018/08/30(木) 22:34:55.90ID:1rD3/Svv
>>184
Java EEってSEじゃないでしょ
OpenSDK=Java SEだし

186デフォルトの名無しさん2018/09/05(水) 14:55:09.56ID:njSWZAvd
273 デフォルトの名無しさん [sage] 2018/09/04(火) 08:29:51.03 ID:TKsJiWYY
信用の問題だろ
OracleがOpenJDKを潰そうと思えば直接的な法的手段を用いるまでもない
Oracleはいつでもディストリビュータに対するTCKの提供を停止することができ、それにより既にGPL化で配布されたOpenJDKも即座に破綻する
OracleはTCKのテストケースに対して著作権を有しており、これを侵害することなく互換テストを再構築することは事実上不可能だ
これが現在想定される最悪のシナリオだが、Oracleならやりかねないと思われてしまったこと自体が問題

187デフォルトの名無しさん2018/09/05(水) 15:25:37.29ID:NMjTwTd+
ライセンスは過去に遡って(既にライセンスを受けたライセンシーに対して)変更出来るものじゃないと思うけど

188デフォルトの名無しさん2018/09/10(月) 04:07:12.96ID:9RVfrSjw
>>184
そもそもJava8以降、JDBCはJDKから外れた
https://docs.oracle.com/javase/jp/7/technotes/guides/jdbc/bridge.html

JDBCは使うDB毎にインストール必要だが、そこの部分がJDKから外れる以上、ライセンスの発生するネタになる
つまりJavaでOpenJDKの範囲内でDBアクセスオブジェクトなど作れないって事
これだけでJavaはオワコン

189デフォルトの名無しさん2018/09/10(月) 04:42:13.29ID:9RVfrSjw
>>184
Java EEはCORBA同様、Java9以降削除されてる
https://qiita.com/mao172/items/dbf41e7a246c3f87dcbe

190デフォルトの名無しさん2018/09/10(月) 07:08:14.10ID:Mt+oyuPe
>>188
すげー妄想…これがCOBOL脳かw

191デフォルトの名無しさん2018/09/10(月) 09:39:32.55ID:NlM4X/bY
いままで無償で使用できたのが異常なだけで
値段も高くないし普通にOracleに金払えば済む話じゃん

192デフォルトの名無しさん2018/09/10(月) 14:56:26.19ID:xzPfTlro
>>191
やだよ

193デフォルトの名無しさん2018/09/14(金) 11:43:16.81ID:FuCQtUp3
30代のCOBOLのSEに

君のFILLERを埋めるよ?

と言ったら爆笑されて,
食事の約束こぎ着けた

194デフォルトの名無しさん2018/09/14(金) 12:04:18.28ID:ldS9DH1A
オレのFILLERは空白で埋まってるぜ!

195デフォルトの名無しさん2018/09/14(金) 17:47:23.35ID:Rix9Ja+2
>君のFILLERを埋めるよ?

キモい w

196デフォルトの名無しさん2018/11/30(金) 22:45:34.84ID:USigc4Jv
プログラミング言語「COBOL」がTwitterトレンド入り AWS Lambdaのサポート言語に追加、技術者がざわつく
http://www.itmedia.co.jp/news/articles/1811/30/news102.html

197デフォルトの名無しさん2018/12/01(土) 22:50:02.59ID:OU/U1BcR
ランバダ

新着レスの表示
レスを投稿する