2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

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

1 :デフォルトの名無しさん:2014/07/12(土) 19:55:29.68 ID:zUgpYhfE.net
みんなで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のロケールに対応した地域・文化固有機能、既存プログラムとの互換)

2 :デフォルトの名無しさん:2014/07/12(土) 20:52:49.19 ID:F4aYCw9D.net
【コボル】COBOL不要論【ただのDSLだよね?】
http://peace.2ch.net/test/read.cgi/tech/1316444803/
COBOL vs Java 2戦目
http://peace.2ch.net/test/read.cgi/tech/1158154668/
【COBOLから】バッチ処理【Javaまで】
http://peace.2ch.net/test/read.cgi/tech/1200123517/
COBOL?極めてやんよ シュッシュ!!
http://peace.2ch.net/test/read.cgi/tech/1176986660/

3 :デフォルトの名無しさん:2014/07/13(日) 14:24:29.39 ID:ctB2P3i5.net
1>>様のCOBOL経験は何年ですか。
私は20年程やりました。

4 :デフォルトの名無しさん:2014/07/13(日) 14:35:17.24 ID:wXsIV8Q/.net
>>3
20年って凄いね。

20年前ってことはCOBOL85だと思うけど、
最近のCOBOLってどう?

5 :デフォルトの名無しさん:2014/07/13(日) 15:09:07.88 ID:ctB2P3i5.net
>>3
Cのポインタと同じようなことができる外部モジュールとか
オブジェクト指向とか結構機能は拡張されてますけど、
使う側が保守的なので組み方は変わってないですねー。

6 :デフォルトの名無しさん:2014/07/13(日) 15:11:24.84 ID:wXsIV8Q/.net
>>5
実際に使ってる処理系は、最新のCOBOLに対応してるんですか?

つまり、ずっと古いものを使っているのか、
最新のものに入れ替えたのに、最新機能使わずに
なんのために最新に入れ替えたのか意味不明状態なのか。

7 :デフォルトの名無しさん:2014/07/13(日) 15:32:04.97 ID:ctB2P3i5.net
>>5
対応しています。

保守的という言葉は悪かったかな。
従来のやり方を踏襲しているだけかも。
他所は知りませんけど。

8 :デフォルトの名無しさん:2014/07/13(日) 15:40:16.67 ID:ctB2P3i5.net
7です。
間違えました。

>>6でした。

対応しています。

保守的という言葉は悪かったかな。
従来のやり方を踏襲しているだけかも。
他所は知りませんけど。

9 :デフォルトの名無しさん:2014/07/13(日) 15:56:40.47 ID:wXsIV8Q/.net
>>7
そうなんだ。

プログラムなんて、新しいバージョンにしても
書き方を変えないと、生産性上がらないのにね。

俺だったら、これが今のCOBOLのやり方ですが?って言って
使っちゃうけど。

10 :デフォルトの名無しさん:2014/07/29(火) 21:44:36.13 ID:+64ULTir.net
COBOL2002とか実務で使うことあるんだろうか。

11 :デフォルトの名無しさん:2014/08/17(日) 18:10:20.70 ID:oEmocuYk.net
http://www.buzzword.jp/img/face10.png

12 :デフォルトの名無しさん:2014/08/27(水) 13:36:17.27 ID:2MXxvQfU.net
高2のころにVBで初めてプログラミングやって、高3でCOBOL、大学2年でC言語をやってきたが、
未だにこの3つ以外のプログラム言語は苦手だな。
26にもなってやったことのないプログラム言語を一から覚えろといわれてもきついw

13 :デフォルトの名無しさん:2014/08/27(水) 18:28:23.88 ID:ssyNn4ya.net
何を覚えろと言われたのか知らんけど
変な仕様のいっぱい残ってるCOBOLやCを既にやったんなら
たいしたことはないと思うがな

14 :12:2014/08/31(日) 21:33:25.45 ID:idfMo+5x.net
Javaやっとるけどマジわけわかやでw
趣味でホームページ(HTML・CSS)作ってたからJavaScriptはまだ何とかなるが、
あれはJavaの名を冠した別物だからなあ。
上から順にソースを追っていけない時点でもうキツイw

15 :デフォルトの名無しさん:2014/09/04(木) 00:17:16.29 ID:a8LqbcNn.net
お前さん、作り込んだC言語のソースを追ったことないだろ

16 :デフォルトの名無しさん:2014/09/14(日) 17:32:07.93 ID:EIEPRMug.net
ある区分Aについて処理をループさせて、そのなかで別の区分Bをまたループさせて・・・ 処理がある場合

配列つかって、
PERFORM UNTIL 区分Aの配列の数
  ・・・
  PERFORM UNTIL 区分B配列の数
  ・・・

ってな感じでやるものかな?と思うのですが、うちの会社のソースみてると

こんな感じの定義をしておいて
01 区分
 03 区分A
 03 区分B

PERFORM UNTIL 区分Aについてエンドフラグが建つまで
 if 区分Aが○○なら・・ (区分毎の処理いっぱいでここで区分を書き換えたりしてる)

  PERFORM UNTIL 区分Bのエンドフラグが建つまで
  if 区分Bが○○なら・・ (区分毎の処理いっぱいで・・略)
  ・・・

ってな感じの記載なんですが、こういう書き方のメリットってなんかあるんすかね?

17 :デフォルトの名無しさん:2014/09/15(月) 04:59:48.14 ID:Y+BqygTU.net
>>16
逆に聞きたいが、その制御構成のデメリットは何だと考えてますか?
メリットを書くのは簡単だけど、書いても分かろうとしないでしょ。
だったら、デメリットと思う所を挙げてもらって、
それと対比した形でメリットを書きます。

18 :デフォルトの名無しさん:2014/09/15(月) 08:12:14.07 ID:7pljNkXx.net
こちらが思う所のデメリットの対を書くのなら簡単ですね、分からないのなら結構です

分かってる方だとしても、わざわざそのような人を小馬鹿にした文章を書くような人から教わる気はありません

19 :デフォルトの名無しさん:2014/09/15(月) 08:27:12.19 ID:Y+BqygTU.net
>>18
そうじゃない。>>16で何を問題にしてるのか不明なんですよ。これの何処がデメリットと見てるのか。
その理由が分からなければまともに噛み合う返事は返せないだろう。
こっちが思いついた事だけ書いても、貴方がデメリットと感じてるのと的外れになったら不毛だろう。

例えばだ。
ループ制御に配列数を使うと、配列サイズの変更でかなりのロジック変更が起きる。
配列サイズの変更を繁茂に必要とする環境なら、考慮が必要だ。
UNTIL カウンタ > 配列数 じゃなく
UNTIL カウンタ > 区分A-TLB-END とか書く。

更には、テーブルエンドまで見ない場合もある。
テーブルサーチで見つければそこでループ脱出などの時も、
UNTIL カウンタ > エンドフラグ で抜ける。

提示したコードが曖昧なので、評価しようがないんだよ。

20 :デフォルトの名無しさん:2014/09/15(月) 11:18:07.34 ID:hX/Y5+gq.net
数字タイプの項目Nにゼロを入れる場合って、
「MOVE ZERO TO N」も「COMPUTE N = ZERO」も同じ?

21 :デフォルトの名無しさん:2014/09/15(月) 12:52:36.09 ID:YLIhTCmU.net
>>20
うん

22 :デフォルトの名無しさん:2014/09/15(月) 12:57:55.69 ID:YLIhTCmU.net
>>16
その書き方でメリットがありそうなのって配列の数変わってもロジックそのものを修正する
必要がない、くらいじゃね?

仕事の場合、数字変えるだけだろって思うかもだがロジックそのものを変えない方に重きをおく

23 :デフォルトの名無しさん:2014/09/15(月) 20:19:00.85 ID:Y+BqygTU.net
質問して返事が来たなら、然るべきリアクションをするのが礼儀。

質問して返答が気に食わんと、捨てレスするのは、どっちが小馬鹿にしてるのか。

小僧の質問レスはこういうのが多くて嫌になる。

24 :デフォルトの名無しさん:2014/09/15(月) 21:28:20.13 ID:+Hmyp71x.net
>>21
なるほど。数字項目に「数字または数字項目」を入れる場合は、
MOVE文とCOMPUTE文のどちらを使っても問題無いということか。
数字項目以外と書き方を合わせるならMOVE文、
他のプログラム言語と書き方を合わせるならCOMPUTE文だな。

少し上でも「エンドフラグ」って出てたけど、
フラグとかスイッチって初期値ゼロで条件満たしたら1を入れてループ脱出という使い方が多いのに、
何故か数字タイプではなく文字タイプ(PIC X(1))にすることが多いイメージがある。

25 :デフォルトの名無しさん:2014/09/16(火) 01:03:06.51 ID:137PZYjK.net
>>24
文字タイプのスイッチは危ないですよ。
初期化(INITIALIZE命令)しても空白になるので、”ON”、”OFF”、”1”、”0”とか入れとかなきゃならんのを失念すると、
スイッチをすっぽ抜ける事あります。
昔、初心者だった頃、それで数日悩んだ覚えが有ります。

基本、スイッチは数字タイプで取りましょう。
但し、スイッチがオンかオフか、明示的にコード化したい時もあります。(”ARI”、”NASI” みたいに読解生を高めたい時など)
副作用持たないならば、ロジックSECTIONの各先頭に初期化する習慣をつけると良いです。

26 :デフォルトの名無しさん:2014/09/16(火) 09:17:19.97 ID:uPaM3qgT.net
スイッチならLOW-VALUE HIGH-VALUEの二択をオススメする
それ以外に複数の選択肢がいるなら表現にそったものを

27 :デフォルトの名無しさん:2014/10/24(金) 00:14:41.82 ID:+wWmb0ng.net
COBOL2002って規格は作ったけど、実際使ってる企業はあるのかな?

28 :デフォルトの名無しさん:2014/10/25(土) 20:18:05.17 ID:/NjFMW2w.net
見たことないね。85ばかり。

29 :デフォルトの名無しさん:2014/11/07(金) 13:26:55.17 ID:tCwEoRvN.net
うちのシステムのソース見ると85より古いな。
END-IFやEND-PERFORMさえまともに使ってない。

30 :デフォルトの名無しさん:2014/11/08(土) 06:21:37.78 ID:/jaAU5zd.net
それらは省略できるから書いてないのでは

31 :デフォルトの名無しさん:2014/12/03(水) 21:18:02.28 ID:8KH7aNH2.net
一生懸命、俺は宮大工と自慢して、省略せず書いていたやつがいたが
その会社は一年後に倒産しましたw

32 :デフォルトの名無しさん:2014/12/03(水) 22:22:00.91 ID:5y8TVmXz.net
>>30
書いた方が気持ちがいい、そういうもんだろコボラーなら

33 :デフォルトの名無しさん:2014/12/05(金) 01:53:55.01 ID:Dlw3L7fi.net
昔のステップ数稼ぎ

34 :デフォルトの名無しさん:2014/12/16(火) 12:28:21.98 ID:m3IeqqnT.net
COBOLの仕事がドッカンと出てきたな

35 :デフォルトの名無しさん:2014/12/19(金) 12:52:16.00 ID:JYrlm17r.net
IBM汎用機でバッチPGMのみの経験
汎用機でのDB経験なし
情報処理旧2種
日商簿記2級
こんなんじゃ雇わんか

36 :デフォルトの名無しさん:2014/12/20(土) 23:51:09.00 ID:ju2bEFwe.net
>>35
いや、年数がモノ言うところもあるからあながち無理でもない。
案件内容と面接時のアピール次第だな。

面接は合格しようと考えず、不合格にならないよう考えろ。要するに、
・筋道立てて経歴を説明する。
・アホな質問しない。
・マイナスになる事は一切言わない。

面接官は何十人と来るコボラーを、優れた者を採用しようと考えて面接はしてない。
使え無い要素有りな者は全て×、と消去法で面接してるのさ。

37 :デフォルトの名無しさん:2014/12/25(木) 11:44:26.87 ID:D1gJKcDI.net
>>35
今後プログラマになる予定なら
Javaとかオブジェクト指向で作れるようになることを勧める。
COBOLだけだと、金融系COBOL案件しか回されなくなる。
結果仕事が全然面白くなくなるし、転職のつぶしもきかない。

38 :デフォルトの名無しさん:2015/02/25(水) 23:59:54.56 ID:6tF30j5r.net
現在COBOL案件は金融以外でも多数あるのだけれど、下々の請負が取り合いw

39 :デフォルトの名無しさん:2015/03/04(水) 22:13:18.64 ID:jopEltpH.net
既存のCOBOLソース見るとELSEの中に丁寧にネスト構造にして新たにIF文作ってるケースがしばしばあるな。
確かにCOBOLはELSE IF(言語によってはelif)が出来ないから三択や四択の条件ならそうしたくなる気持ちも分からなくはないが、
せっかくEVALUATE TRUEなるものがあるのに使わないのは勿体無いなあと思ってしまう。

40 :デフォルトの名無しさん:2015/03/05(木) 07:08:20.05 ID:Q8cxjToI.net
昔はEVALUATEが無かったんだと思ってる。

41 :デフォルトの名無しさん:2015/03/05(木) 22:30:59.06 ID:AUcVsTjZ.net
>>40
どんくらい昔を言ってるのかは知らんが、少なくとも20年前にはすでにあったと思うが

42 :デフォルトの名無しさん:2015/03/05(木) 22:42:35.94 ID:Ms8m2L+N.net
3月になってからものすごくCOBOL、コボルの求人が増えた

43 :デフォルトの名無しさん:2015/03/06(金) 19:29:27.71 ID:9PZJa+Jo.net
頑張れ俺
COBOLのCODEを見たくない

44 :デフォルトの名無しさん:2015/03/20(金) 16:20:39.12 ID:aSHaF1KB.net
┏IF (A IS NOT NUMERIC) OR
┃  (B IS NOT NUMERIC) OR
┃  (C IS NOT NUMERIC) OR
┃  (A = ZERO)
┣THEN
┃ DISPLAY "ERROR!"
┣ELSE
┃ COMPUTE D = B ** 2 - 4 * A * C
┃┏EVALUATE TRUE
┃┣WHEN D > ZERO
┃┃ COMPUTE X1 = (- B + D ** 0.5) / (2 * A)
┃┃ COMPUTE X2 = (- B - D ** 0.5) / (2 * A)
┃┃ DISPLAY "X=" X1 "," X2
┃┣WHEN D = ZERO
┃┃ COMPUTE X1 = - B / (2 * A)
┃┃ DISPLAY "X=" X1
┃┣WHEN B = ZERO
┃┃ COMPUTE X1 = (- D) ** 0.5 / (2 * A)
┃┃ COMPUTE X2 = - (- D) ** 0.5 / (2 * A)
┃┃ DISPLAY "X=" X1 "i," X2 "i"
┃┣WHEN OTHER
┃┃ COMPUTE X1 = - B / (2 * A)
┃┃ COMPUTE X2 = (- D) ** 0.5 / (2 * A)
┃┃ COMPUTE X3 = - ((- D) ** 0.5) / (2 * A)
┃┃┏IF A > ZERO
┃┃┣THEN
┃┃┃ DISPLAY "X=" X1 "+" X2 "i," X1 X3 "i"
┃┃┣ELSE
┃┃┃ DISPLAY "X=" X1 X2 "i," X1 "+" X3 "i"
┃┃┗END-IF
┃┗END-EVALUATE
┗END-IF.

45 :デフォルトの名無しさん:2015/03/28(土) 14:53:43.15 ID:CkOb/fLX.net
俺がコーディング規約作るとしたら、新規プログラムでのIF文の使用は禁止(EVALUATE TRUEを使用)、
修正プログラムにおいても、IFを修正する際はEVALUATE TRUEに置き換えるようにしたいなw
てかCOBOLのIF文って存在意義無くね?

46 :デフォルトの名無しさん:2015/03/30(月) 00:21:19.34 ID:AdlO8Mhm.net
>>45
意義がないとまでは思わんよ、EVALUATEは多分岐しなきゃいかんときは積極的に使うけど
黒か白かだけならIFで十分

47 :デフォルトの名無しさん:2015/03/30(月) 01:23:55.36 ID:2ns9eDzN.net
>>46
そりゃそうだけどさ、例えばコーディングした時点では二択で良かったけど、
それから暫くしてそのプログラムに修正を加えることになった際に三択や四択になった場合でも、
最初からEVALUATE TRUEにしとけば修正が楽になると思う。
最初はIF文にしておいて、三択や四択になった際にEVALUATE TRUEに書き換えるのでもいいんだけど、
そうすると意味的には同じでもソースに差異があるから分岐を全部テストしろとか言い出す頭の固い現場が多いしねぇ…。

48 :デフォルトの名無しさん:2015/05/14(木) 04:18:50.13 ID:IB8YiHBu.net
COBOL85とNetCOBOLってどれくらい違うの?

49 :デフォルトの名無しさん:2015/06/06(土) 00:55:44.72 ID:P/3xXADg.net
今からCOBOL独学で身につけるのに良いテキストとかある?

50 :デフォルトの名無しさん:2015/06/07(日) 19:44:12.18 ID:HFYQ4Fm5.net
動画が一番よ

51 :デフォルトの名無しさん:2015/06/08(月) 00:59:42.92 ID:gClj0kRp.net
コードを書くだけなら、COBOL85の古本で十分だと思う。作法以外は易しい言語だし。
処理系を作ろうとしてるなら、余りいい資料はないね。

52 :デフォルトの名無しさん:2015/06/09(火) 01:18:03.15 ID:nEDvbq3E.net
サンクス
内定貰った所がCOBOL出来る人欲しいみたいで独学で少し勉強しようかと

53 :デフォルトの名無しさん:2015/07/01(水) 08:28:43.36 ID:CanH2pqd.net
FLG をENDみたいな文字列で管理するのって何か理由あるん?

54 :デフォルトの名無しさん:2015/07/01(水) 09:07:04.47 ID:HWVP8VZ2.net
わかりやすいからだとは思う

55 :デフォルトの名無しさん:2015/07/07(火) 17:33:43.80 ID:cACmMHdh.net
ディレード処理ってなに?

56 :デフォルトの名無しさん:2015/07/07(火) 23:53:37.67 ID:+l8J4iG6.net
>>55 遅延処理。主に大量のリアルタイムデータが発生する場合の更新処理に使われる
株取引での例
証券会社別取引集計等、遅れて処理もいい場合
顧客マスター等に索引部があると障害復旧時に時間がかかる場合がある
リアルタイム処理用は別途、専用顧客ファイルを随時参照・更新しマスターへは後から更新したりする事をいう

57 :デフォルトの名無しさん:2015/07/23(木) 09:32:21.44 ID:EBuZLXYo.net
オンライントランザクションの対極に位置する処理方法やね
クライアントはとにかくリクエストやメッセージをサーバに送ればそれで処理完了(サーバからの応答はいらない)
サーバ側はキューにたまっているリクエストやメッセージをどんどん処理していけばいいだけ
だから最悪の場合、通信回線やサーバが死んでいてもクライアントは処理が続けられる
そこはディレイド通信システムなんかのミドルウェアがうまく取り計らってくれるから

58 :デフォルトの名無しさん:2015/07/27(月) 16:13:24.04 ID:Fr5b2dsE.net
>>57
今はオンライントランザクションでは使わへんの?
株取引、銀行の送金(内為)システムでの取り扱い高集計処理なんかの多少遅延が発生しても良い部分は別プロセスにしてたけどなあ

59 :デフォルトの名無しさん:2015/07/27(月) 21:46:39.56 ID:H/VKBPMI.net
今でもあるっしょ!
たしかBMP処理とか言ってたなぁ。
ディレードは、同じ取引でも読込件数が多いとディレードに処理を移行させてた。

60 :デフォルトの名無しさん:2015/07/29(水) 10:40:42.99 ID:M/KYhGG/.net
>>58
クライアントからメッセージを投げた時点でいったんトランザクションが終わるんだよね
サーバでメッセージを受信して処理するときはまた別のトランが発生している
分散トランとかじゃなくて全く何の関係もない2つのトランで1つの処理が完了すること
になるから、これとOLTPと呼んでいいのかと言われるとたぶん違う気がする
あくまでバッチ処理だね

61 :デフォルトの名無しさん:2015/07/29(水) 14:31:08.92 ID:VZHqONMD.net
>>60 うん、バッチだよ
> 分散トランとかじゃなくて全く何の関係もない2つのトランで1つの処理が完了すること
ここ、違う。一つのトランを別々、同期をとる為に即時処理する部分と多少遅延が発生してもいい部分に分けて処理する事

62 :デフォルトの名無しさん:2015/07/29(水) 16:15:52.68 ID:M/KYhGG/.net
それはクライアントアプリの作りの話だね
つうか、ディレイド処理する時点で通常のDBMSとは別のリソースマネージャ
(たとえばIBM MQ)を使うことになるから、そこが2つのトランに分かれるのは当然の話
そこをあえて1つにしたければ、それこそ分散トランを使うしかないが
そんなことをすると性能が出ないから、普通はやんないだろうね

ちなみに俺が言ってたのはクライアントとバッチ処理するサーバでトランザクションが違うってことね
一般的なオンライン処理だとDBへの単独アクセスは1トランで済むが、
ディレイド通信を使うと最低でも2トラン発生するってこと(間に中継サーバがいるから)
だから君の言ってる処理だと、普通のDBアクセスで1回、ディレイド処理で1回、
バッチ処理サーバで1回と合計3回のトランザクションが発生することになる。

63 :デフォルトの名無しさん:2015/07/29(水) 18:56:29.44 ID:VZHqONMD.net
>>62 ?
ごめん、どんなシステムを想定しているのかわからない。通常サーバー側の仕様を指すものでクライアントアプリなんて関係ないと思うんだが
例えば、本来ライトスルーで処理したいところをアクセス頻度が高過ぎてメモリ上でライトバック処理にした
しかし、障害後や過去ログとして扱うにはHDに書き込まなきゃいけないわけで、そこの処理の部分を指すものと思って

64 :デフォルトの名無しさん:2015/07/30(木) 00:40:05.93 ID:zu+fb4uo.net
>>53
> FLG をENDみたいな文字列で管理するのって何か理由あるん?

Cとか列挙型あるよね。COBOLだと88レベルというのがある。多分、実装者が設計者の意に反して利用しなかっただけ
使い方を知らなかった、全て大文字表記のために変数なのか条件項目なのかわかりづらい等…

65 :デフォルトの名無しさん:2015/07/31(金) 17:51:13.47 ID:RTjhKcYb.net
01 FLG PIC 9(1).
88 END VALUE 1.

IF END
STOP RUN.
こう書くんだっけ?

66 :デフォルトの名無しさん:2015/07/31(金) 23:06:08.79 ID:ELLe19Dv.net
VBAでFLAGをENDって文字列で管理してる人が居るのだが、元コボラーなのかな

67 :デフォルトの名無しさん:2015/09/04(金) 20:50:47.11 ID:JgHnM/Ye.net
すみません、可変長ファイルをREADする時、その行の厳密なレコード長でREADすることはできますでしょうか?
最大レコード長より短いレコードの場合、次のレコードの先頭が後ろにくっついてきてしまうので困っています。

68 :デフォルトの名無しさん:2015/09/04(金) 21:40:30.29 ID:wHwoqiVO.net
>>67
確かレコード長は調べられるよ

69 :デフォルトの名無しさん:2015/09/04(金) 21:44:36.81 ID:wHwoqiVO.net
>>67
連投スマン
次のレコードを読み込むのは仕様。
レコード長が取得できるのは汎用機だけかも知れん。
レコード識別でどのレコードか判断するのが一般的な気がする

70 :デフォルトの名無しさん:2015/09/05(土) 02:15:38.50 ID:A+wJuGT9.net
COBOLの可変長てLength付きレコードじゃなかったけ?(C形式はU:不定長)
レコード間にもギャップがついていたような…ラベルの定義(STANDARD or OMITED)がプログラムとファイルで違う為に認識してくれない?

71 :デフォルトの名無しさん:2015/09/05(土) 05:52:58.54 ID:GuBxHCNr.net
>>70
各レコードの先頭には、レコード長をビッグエンディアン保持した4バイトのRDWが付くよ

72 :デフォルトの名無しさん:2015/09/05(土) 14:52:50.16 ID:QNTRf1Xv.net
皆様、ご回答ありがとうございます。また返答が遅くなりましてすみません。

先頭に4バイトのレコード長情報が入っているのはわかったのですが、これを参照する方法がわかりませんでした。
どなたかご存知ないでしょうか?ちなみに富士通のOSWなのですが。

73 :デフォルトの名無しさん:2015/09/05(土) 14:56:54.35 ID:QNTRf1Xv.net
連投ですみません。
LENGTH OF IN-DATAとしたら、最大レコード長が返されてしまい、読み込んだ行の実際のサイズにはなりませんでした。

74 :デフォルトの名無しさん:2015/09/05(土) 16:16:43.58 ID:QNOt0PZ2.net
OSW MSP へぇ懐かしい

75 :デフォルトの名無しさん:2015/09/05(土) 16:46:28.63 ID:QNTRf1Xv.net
はい。未だこのようなものを使っております。
この資産をWindowsに移行するため、可変長ファイルをレコードの種類ごとにタブ区切りで書き出そうとしてつまずいています。

76 :デフォルトの名無しさん:2015/09/05(土) 16:55:56.85 ID:GuBxHCNr.net
>>73
OSIVなら、 どうやったか忘れたけどレコ長を調べられるよ。
マニュアルCOBOL利用手引書を調べるか、IKBの質問応答ページを検索してみて!

77 :デフォルトの名無しさん:2015/09/05(土) 17:58:36.87 ID:GuBxHCNr.net
IKB探してみたけど、情報ないなぁ
確か全銀協のマルチフォーマットファイルを振り分けるために、COBOLプログラム内でRDWを判定してた筈なんだけど。
もしかしたらシステムサブルーチンを呼び出してたかも知れん。
自分で作ってないから完全に忘れてしまってる
スマン

78 :デフォルトの名無しさん:2015/09/05(土) 21:08:54.43 ID:A+wJuGT9.net
Fは使ったことないんで、間違えているだろうけどJCLのファイル定義で読取り方法をフィジカルにするとかかな?…
先ずはユーティリティでファイルコピーした?

79 :デフォルトの名無しさん:2015/09/05(土) 23:33:09.96 ID:zka9+imO.net
>>75
ナカーマ!
うちのはXSPだけど、資産移行してるとこ。
レコード識別はないの?
COBOLソースの移行でLIBEの出力が可変長だった時は、システムユーティリティで固定長にしてからFEXPORTかけたけど

80 :79:2015/09/06(日) 08:06:08.89 ID:RXvOTaSJ.net
FEXPORTじゃなくて、FIMPORTだった

81 :デフォルトの名無しさん:2015/09/06(日) 16:23:00.38 ID:aOrqrRoK.net
ソースならLOW-VALUEで初期化した固定長(80byte)のSFを作成して標準のエディタの外部への保存を行えばよくね?

82 :デフォルトの名無しさん:2015/09/06(日) 22:19:38.45 ID:ueJiDwlS.net
そんなんユーザーに富士通からやりかたマニュアルを
くれているだろう
それみたらぜんぶわかる

83 :デフォルトの名無しさん:2015/09/07(月) 05:28:50.35 ID:jBGEqyji.net
皆様、ご回答ありがとうございます。レコード識別はあるのですが、時期によって長さが違いまして、その確実な記録も残っていないので、データを全部調べなければなりません。
FIMPORTはCOMPの問題があるので難しいですね。
マニュアルは調べているのですが、RDWを扱える記述がまだ見つけられません。今日は本腰を入れて調べてみます。

84 :79:2015/09/07(月) 07:02:23.13 ID:RIVpA9m1.net
>81
自分は、PFD でソースを表示させて、LISTAコマンドで表示用の一時ファイル(username.R9999)を調べて、そのファイルをimportしてた。

85 :79:2015/09/07(月) 08:43:56.64 ID:RIVpA9m1.net
>>83
問い合わせ事例があるはずだから、 あっさりサポートに聞いたほうが早いかも。
FIMPORTはCOMPあってもBINARYなら転送可能だよ?でも可変長対応してないからなぁ。

あと、レコード長が調べられたとしても、結局その後、文字コードの移行しなきゃならんから、どのコピー句で変換させるかを完璧に押さえ込んでないと、本番移行が怖いよ(汗)

86 :デフォルトの名無しさん:2015/09/07(月) 18:31:52.80 ID:cwmOOF7z.net
皆様、ご回答ありがとうございます。
マニュアルを調べたものの、RDWがどういうものかの記述はあれど、どうすれば情報を取り出せるかがどうしても見つからず、現在担当CEに
調べてもらっています。
>79
目からうろこですね。CVTFILEというユーティリティを見つけたのですが、構文エラーでうまく行っていません。
>84
PFDの表示だとCOMPがドット表示となり、全角で文字化けしてしまいます。
>85
ご指摘のとおり、可変長なのでFIMPORTはダメでした。

87 :79:2015/09/07(月) 19:37:20.45 ID:Ah+UmXLL.net
>>86
CVTFILEはXSP専用だと思われます
MSPだと、GENERかGEM3ユーティリティ辺りが使えるかも。
ソートとかも簡易編集出来たりします。

PFDの表示は、GEM管理下のCOBOLソースをFIMPORTする裏ワザです
GEM管理下は直接FIMPORT出来ないので。
したがって、compなどを含む順編成ファイルは直接FIMPORTして、バイナリ指定にするだけで転送出来ますよ

88 :デフォルトの名無しさん:2015/09/08(火) 12:34:00.17 ID:rNQ2RjAj.net
データ部のレコード句、DEPENDING ON 変数名でREAD時のレコード長が変数名に設定されてくるんじゃなかったかな?

89 :デフォルトの名無しさん:2015/09/08(火) 17:57:19.03 ID:6Y4HNjjy.net
皆様、ご回答ありがとうございます。
>88
その通りでした。RECORD句のVARYINGも調べていたのですが、RDWに関する記述がまったくなくて、まさかこれだとは思いませんでした。
先ほど実験してみたところ、きちんとレコード長が戻されました。
皆様、どうもご協力ありがとうございました。

90 :デフォルトの名無しさん:2015/09/08(火) 18:21:22.71 ID:vkstXjQv.net
景気がよくなるとこれだけ情報投資があるんだな
デフレ時はCOBOLはほんの少ししか仕事がなかった

91 :デフォルトの名無しさん:2015/09/09(水) 20:49:18.41 ID:Ub7GxYmP.net
消費落ち込んでるのに景気がよくなってるとか……

92 :デフォルトの名無しさん:2015/09/10(木) 14:44:35.29 ID:SIwNJgUK.net
経営者が2〜3年先は上と思ってれば投資は伸びる

93 :デフォルトの名無しさん:2015/10/21(水) 17:41:10.08 ID:mNcocD1t.net
1レコード読み込むごとに出力するのではなく、
最後に一括して、ファイルに出力する方法を教えて下さい。

例)入力ファイルを最後まで読み込み、全レコードがえらーがない場合のみ、
  入力ファイルの全レコードを出力ファイルに出力する。

よろしくお願いいたします。

94 :デフォルトの名無しさん:2015/10/21(水) 19:00:58.80 ID:ZXMR/M8n.net
>>93
君は下のスレにも、書き込んでいるけど、
2chではマルチポスト禁止だよ。
書き込むスレは、1つだけにすべし

くだすれPython(超初心者用) その27
ttp://peace.2ch.net/test/read.cgi/tech/1441317912/633

95 :デフォルトの名無しさん:2015/10/21(水) 19:52:39.87 ID:0O4ctYur.net
>>93
全部チェックしたらCLOSE-OPENして、全件READ-WRITEすりゃいいじゃん

まぁそもそも俺ならそんな設計にしないけど。

96 :デフォルトの名無しさん:2015/10/22(木) 12:53:37.75 ID:U0VHjROY.net
>>94

すみません…
間違いました

97 :93です:2015/10/22(木) 12:55:42.16 ID:U0VHjROY.net
>>95

どのような設計にされますか?
考えつかないので教えてください。
よろしくお願いします。

98 :デフォルトの名無しさん:2015/10/22(木) 16:39:55.27 ID:kqL6nEw1.net
>>97
もっと大きなくくりで何をやりたいのか聞く必要があるが、
チェックエラーがある時だけ、RETURN-CODEに5点入れて終了
JOB制御で0点なら次の処理。とかにすれば、全件正常の時だけ次のステップが流れる。

99 :93です:2015/10/22(木) 17:36:13.76 ID:kusYMIqN.net
回答ありがとうございます。
RETURN−CODEで制御する方法もあるのですね。

今回やりたいことは、以下の通りです。
入力ファイルのチェック処理を行い、チェックエラー有無によって
出力ファイルの内容を可変にしたいです。

前提として、チェックエラーの有無に関わらず、次のステップを行うようにしたいです。
(これについては、JOB制御でコードを判定すれば、
RETURN-CODEが0点でなくても大丈夫ということですね!)

大きな仕様としては
チェックエラーありの場合→0件ファイルを出力。
チェックエラーなしの場合→入力ファイルを全件出力

という感じです。

文章にすると単純なのですが、実際コーディングすると
良い実現方法が分かりませんでした。

100 :デフォルトの名無しさん:2015/10/22(木) 23:30:35.35 ID:kqL6nEw1.net
そもそも正常、エラーの振り分けをやって、エラーのみリスト出力の方が綺麗だとおもう。
エラー有り時は、JOB正常終了させなければ、次の処理にも進まないし。

でも、あなたの仕様で一番簡単なのは、こんな感じかな?
OPENCLOSE技はあまりカッコいいとは言えないけど、内部テーブルやソート使うやり方よりシンプルに出来る気がする。

PROC-RTN.
IF エラーあり?
THEN MOVE 1TO ERROR-SW
MOVE "END" TO END-SW
END-IF

END-RTN
CLOSE FILE1.
*エラー時、出力データ削除
IF ERROR-SW = 1
THEN OPEN OUTPUT FILE1
CLOSE FILE1
END-IF

101 :デフォルトの名無しさん:2015/10/22(木) 23:33:44.14 ID:kqL6nEw1.net
COBOLはレコード処理なので、
正常時のみ全件出力よりも、とりあえす処理済みレコード出力しておいて、エラー時に出力を無かったことにする方が簡単。

102 :デフォルトの名無しさん:2015/10/22(木) 23:50:06.84 ID:kqL6nEw1.net
もっと真面目に書いてみた

PERFORM INIT-RTN.
PERFORM PROC-RTN
UNTIL END-SW = "END".
PERFORM END-RTN.

INIT-RTN.
OPEN INPUT INFILE.
OPEN OUTPUT OUTFILE.
PERFORM READ-RTN.
EXIT.

PROC-RTN.
IF エラーなし?
THEN WRITE OUT-REC FROM IN-REC
ELSE MOVE 1TO ERROR-SW
MOVE "END" TO END-SW
END-IF
PERFORM READ-RTN.
EXIT.

END-RTN
CLOSE INFILE.
CLOSE OUTFILE.
*エラー時、出力データ全件削除
IF ERROR-SW = 1
THEN OPEN OUTPUT OUTFILE
CLOSE OUTFILE
END-IF.
EXIT.

103 :デフォルトの名無しさん:2015/10/23(金) 09:37:13.78 ID:f1Y5hyCL.net
昨日酔って書いたから終了条件少し変だ(汗)

104 :93です:2015/10/23(金) 12:36:58.37 ID:BHTqhpgW.net
>102

丁寧なご回答ありがとうございます。
自分では全くできない発想なので、とても感動しました!!

また、COBOLはレコード処理なので、毎回出力する方が簡単という
ご説明もあり、とても分かりやすかったです。

実際に例を参考にコーディングさせていただきたいと思います。

ありがとうございました。

105 :デフォルトの名無しさん:2015/10/29(木) 17:53:19.51 ID:E2ef5d3f.net
レコード長

106 :デフォルトの名無しさん:2016/01/11(月) 05:41:34.73 ID:mrupJf8M.net
今までに無い全く新しい手法!
http://goo.gl/B9ISvH

107 :デフォルトの名無しさん:2016/04/05(火) 02:46:49.45 ID:2X2ng6yq.net
かけ

108 :デフォルトの名無しさん:2016/05/29(日) 10:25:31.70 ID:+agYc6M6.net
BOSとかEOSのSって何のS?

109 :sinapusu2002:2016/06/04(土) 09:42:05.95 ID:+EQYNnyVz
COBOL 勉強2日目なんだが
サルでもわかるCOBOL
http://www16.plala.or.jp/hiyokogumi/3/m204cnt004.html1
を写経して
https://ideone.com/6NQcvW
を書いたんだ。
コードの詳細と仕様はリンク先を見てくれ。
サルでもわかるの通りにコードが動かず。
1からWCNTまでの値の間でcntが10の倍数になったときだけ表示するというプログラム。
なぜかわからないのでDISPLAYで表示してみたら
cnt1が10になるたびに0に戻すはずがなぜかcntが0に戻ってる。
何が起きててどうすれば解決するのか
教えて偉い人。

110 :デフォルトの名無しさん:2016/06/07(火) 21:14:45.45 ID:lkFumbLd4
仲間という人物に行われている集団ストーカー
PCの画面も24時間盗撮配信
それを多くの人間で楽しんでいる

111 :デフォルトの名無しさん:2016/07/04(月) 11:42:19.48 ID:wohCeOEw.net
エンドオブセンチュリー

112 :デフォルトの名無しさん:2016/07/04(月) 20:47:10.56 ID:a5sGRq8m.net
それはEOCだろ!いい加減にしろ!

113 :デフォルトの名無しさん:2016/07/04(月) 21:15:17.39 ID:NfMIw++W.net
申し訳ない!

114 :デフォルトの名無しさん:2016/07/14(木) 22:50:00.60 ID:fYPLXyfd.net
SEQUENTIAL と LINE SEQUENTIAL って何が違うの?

115 :デフォルトの名無しさん:2016/07/16(土) 07:11:07.74 ID:lpfzSywq.net
C言語でいうと前者がバイナリ、後者がテキスト
レコード単位でアクセスするか、改行文字で区別して行単位でアクセスするかの差
LINE SEQUENTIALだとWRITE文使った時に改行文字が追加出力される

文法的にはORGANIZATION IS SEQUENTIALと書いたときは
ORGANIZATION IS RECORD SEQUENTIALと指定したのと同じ意味
(SEQUENTIALはRECORDがデフォルト設定なので)

116 :デフォルトの名無しさん:2016/07/16(土) 15:25:34.98 ID:BQ4/9uyp.net
>>115
わかりやすい解説ありがとうございます。

117 :デフォルトの名無しさん:2016/09/03(土) 19:03:16.93 ID:YfCK8gma.net
さいしーん

118 :デフォルトの名無しさん:2016/11/10(木) 01:31:03.65 ID:OAKAAmWh.net
やってるひといる?

119 :デフォルトの名無しさん:2016/11/19(土) 21:22:18.07 ID:NB2bKCn7.net
ハローワーク求人128,214件の平均月給197,300円〜268,000円
その中からCOBOLの求人486件の平均月給251,800円〜432,000円
https://goo.gl/E3yXUJ

120 :デフォルトの名無しさん:2016/12/23(金) 13:28:57.31 ID:x26VaV3/.net
cobolを全然触ったことない初心者なんですが
仕事でcobolを使うことになったので勉強しようとしてます。

opencobolで環境構築して動かそうと思ったのですが上手くいきません。
どんな風に構築したか書いていいでしょうか?
そしてどこが悪いのか教えてもらえますでしょうか?

121 :デフォルトの名無しさん:2016/12/23(金) 13:38:43.01 ID:3xdKhrkh.net
Ok.

122 :デフォルトの名無しさん:2016/12/23(金) 14:07:51.89 ID:x26VaV3/.net
>>120です。

ありがとうございます。

ある参考書を買ってそこに書いてあるOpenCobolを構築しようと思いました。

http://www.mingw.org/
まずはMinGWを上記からダウンロードし、インストールして
ライブラリをインストールしました。
その後、環境変数のPATHにMinGWを格納したパス:C:\MinGWを設定。

次にOpenCobol(Guncobol)をダウンロードして
ダウンロードした中のフォルダをMinGWのフォルダの中に上書き

環境変数COB_CONFIG_DIRを作成し、パスをC:\MinGW\configに設定

その後、コマンドプロンプトでcobcと入力しても
『"cobc"は、内部コマンドまたは外部コマンド、操作可能なプログラムまたは
バッチファイルとして認識されていません。』と表示されます。

どこが悪いか教えてください。
お願い致します。

123 :デフォルトの名無しさん:2016/12/23(金) 14:14:01.43 ID:x26VaV3/.net
書き忘れました。

Opencobolは下記からダウンロードしました。
https://ja.osdn.net/projects/sfnet_open-cobol/

124 :片山博文MZ ◆T6xkBnTXz7B0 :2016/12/23(金) 14:23:19.35 ID:3xdKhrkh.net
PATHにC:\MinGWを指定したのが間違い。EXEがある場所を指定しないといけない。

125 :デフォルトの名無しさん:2016/12/23(金) 18:42:41.98 ID:x26VaV3/.net
>>124
すいません。
PATHに指定していたのはC:\MinGW\bin
でした。

126 :デフォルトの名無しさん:2016/12/23(金) 18:55:41.29 ID:g4TeXtAZ.net
簡単なCOBOLなら下のサイトで動かせるよ
ideone.com

127 :デフォルトの名無しさん:2016/12/23(金) 21:45:24.82 ID:x26VaV3/.net
>>126
ありがとうございます。

環境構築できないのは残念ですが
仕事で使うまでに基本的な文法を学びたかったので
これで学習できそうです。

128 :デフォルトの名無しさん:2017/01/25(水) 07:10:31.78 ID:UsTZ20bb.net
生前退位による新年号はCOBOLで運用されているシステムに影響を与えますか?

129 :デフォルトの名無しさん:2017/01/25(水) 09:28:41.21 ID:wLIm92JN.net
>>128
ソースとオーバーレイを"平成"でgrepしたら山ほど出てきた(;´Д`)

130 :デフォルトの名無しさん:2017/01/25(水) 14:52:44.02 ID:0R47tUcT.net
そら消費税よりは頻度が少ないからなぁ。
でも平成に切り替わる時にある程度やったんでわ?

131 :デフォルトの名無しさん:2017/01/31(火) 19:59:45.96 ID:l4XzwBX4.net
仕事に生かしたいためCOBOLを学びたいのですが環境構築で躓いてます

http://labs.netbata.com/cobol/index.html#opencobolを見て
https://sourceforge.net/projects/mingw/?source=typ_redirectをDLしてそこからがわかりません
Windows7 x64なんですがどうしたらCOBOL環境を作れますか?

132 :デフォルトの名無しさん:2017/01/31(火) 20:36:59.82 ID:l4XzwBX4.net
http://www.kunst1080.net/entry/2015/05/07/235848
どうにもできないのでこちらの方法でやってみたのですが、nkfのセットアップというところでmakeコマンドでコマンドが見つかりませんといわれます
環境構築でもかなりむずかしいですね

133 :デフォルトの名無しさん:2017/01/31(火) 22:24:28.64 ID:l4XzwBX4.net
誰も居ないみたいなので質問を取り下げます

134 :デフォルトの名無しさん:2017/01/31(火) 22:31:32.25 ID:XX2qe95y.net
opensourceCOBOLがwindows対応してなかったっけ?
俺ならCENTOSに入れちゃうから、windows+エミュレータは良くわからん

135 :デフォルトの名無しさん:2017/02/02(木) 15:46:21.71 ID:VBIg+0Ly.net
VisualStudioにも対応してたけど、一個前バージョンは酷かった
色々間違ってて手直ししないとビルド通らなかった

136 :デフォルトの名無しさん:2017/02/06(月) 13:28:58.58 ID:LDGcqjUw.net
1) VMWareやVirtualBoxなどの仮想環境用ソフトをWindows環境に入れる
2) 64bit日本語環境版Ubuntuを↑にisoイメージからインストールする(他と違って自力で設定する必要がある箇所がほとんどないので)
ttp://cdimage.ubuntulinux.jp/releases/16.04/ubuntu-ja-16.04-desktop-amd64.iso
3) 仮想環境でUbuntuを立ち上げて、端末からsudo apt-get updateとsudo apt-get upgradeを実行して完了を待つ
(最初はランチャーに端末が表示されてないので、左上にあるアイコンからshellで検索する必要あり)
4) ウェブブラウザでopensource COBOL v1.5.1J [UTF-8, Source Package, include vbisam (extend OSSCons patch)]をダウンロード(githubの方には手を出さない)
5) 不足しているパッケージを追加インストール、端末からsudo apt-get install libgmp-dev libncurses5-dev libncursesw5-dev autoconfする
6) ファイラから(ランチャーの上から二番目)ダウンロードを選び、opensource-cobol-1.5.1J-utf8.tar.gzをダブルクリックホームへ展開する
7) 端末からcd open*して移動後にcd vbisam、sudo chmod 777 configure、./configure、make、sudo make install、cd ..の順で実行
8) sed -e "s/lncurses/lncursesw/g" configure > configure2、sudo chmod 777 configure2、./configure2 --with-vbisam --enable-utf8の順に実行
9) make、sudo make install、sudo ldconfig、make checkを順に実行、エラーが出て無けりゃCOBOL環境構築完了

仮想環境の機能使って共有フォルダ設定してやれば、Windows環境で使い慣れたテキストエディタを使って作業できる
普段Windowsで作業する人も学習用にLinux環境用意オススメ(作業環境壊して泣かないために)

137 :デフォルトの名無しさん:2017/06/19(月) 19:37:54.70 ID:ZCic6a6S.net
ubuntuにCOBOL
なるほど

138 :デフォルトの名無しさん:2017/06/21(水) 19:10:58.81 ID:45DL/MYm.net
kvmでもいいぞ

139 :デフォルトの名無しさん:2017/07/02(日) 02:23:04.72 ID:VN9W5bJ/.net
学習用途ならLinuxのクソ環境をいじくらなくてもいいようにUbuntu選ぶのが正解

140 :デフォルトの名無しさん:2017/07/02(日) 17:07:30.78 ID:Tlkwp/C0.net
ubuntuにCOBOL
データーベースは何を使うの?

141 :デフォルトの名無しさん:2017/07/02(日) 23:20:37.64 ID:fIlB2U+F.net
vbisamより、BerkeleyDBのほうが好き

142 :デフォルトの名無しさん:2017/09/08(金) 22:13:22.22 ID:JHORw4Vr.net
接続出来ない>>140

143 :デフォルトの名無しさん:2017/09/09(土) 07:20:23.25 ID:wUVCv6WH.net
>>142
直接じゃないけど、ポスグレ接続できるよ

144 :デフォルトの名無しさん:2017/11/17(金) 16:18:34.95 ID:tQLykjgm.net
COBOL資産をJava(C#)に移行しようとしてプロジェクト頓挫
金融、自治体であちがちな事件

145 :デフォルトの名無しさん:2017/11/18(土) 22:43:59.62 ID:Mkyxv3PW.net
フロントをJava んでCOBOLで受けて処理、DBはOracle
OSはUNIX
以前やった某金融系のお仕事

>>144もよくありがちなんだろうけど、どこに原因があるんだろかね
COBOLに未来はなさそうだから他言語に移したいってのは判るけど

146 :デフォルトの名無しさん:2017/11/20(月) 18:42:55.39 ID:g7dlYbN1.net
>>145
そもそも金額計算面倒で桁多い金融系にC言語系が向く訳無い

147 :デフォルトの名無しさん:2017/12/23(土) 21:45:20.14 ID:GYTiMrG9.net
ライブラリでやればいいのでわないかい

148 :デフォルトの名無しさん:2018/02/21(水) 18:38:55.96 ID:2qIuM6xQ.net
>>147
ライブラリ設計にもよる
言語仕様には変えられない

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

150 :デフォルトの名無しさん:2018/02/21(水) 18:45:21.16 ID:2qIuM6xQ.net
>>140
my SQL
http://www.geocities.jp/sanpontze/mysql.html

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

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

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

Open-COBOLでバッチ処理

UIはPHPかPythonかRubyかPerl

これで無料

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

RBHX3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

君のFILLERを埋めるよ?

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

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

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

キモい w

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

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

200 :デフォルトの名無しさん:2019/03/08(金) 07:28:07.42 ID:IGi7MMC9.net
>>178
Berkley DBはUNIXの世界ではとても実績があるDBで、クライアント(?)ツールも多いが、もう新規で使う理由はないだろうな。

201 :デフォルトの名無しさん:2019/03/11(月) 14:23:50.24 ID:9dlR0saH.net
>>UNIXの世界
Linuxのシェア考えれば少ない

202 :デフォルトの名無しさん:2021/01/19(火) 21:22:51.02 ID:zC6k9wqY.net
え?

203 :デフォルトの名無しさん:2021/02/14(日) 19:41:57.15 ID:7CeYpqGj.net
COBOLにも初心者いるのか?

204 :デフォルトの名無しさん:2021/05/02(日) 06:55:02.21 ID:LI1qVkRj.net
>>167
長崎県庁事例のUI部分はPHPまたはCurl言語だよ
PHP→php_opencobol.so→opencobolで生成した.soファイル
 →CALL文でlibperlを使ったFUNCTION呼出→perlのDBD/DBIでmysqlアクセス

205 :デフォルトの名無しさん:2021/05/02(日) 08:43:37.22 ID:1EUsoqFa.net
>>204
Perlね

206 :デフォルトの名無しさん:2021/05/08(土) 08:22:00.31 ID:zRTT7G9X.net
>>205
で?

207 :デフォルトの名無しさん:2021/07/24(土) 08:25:10.28 ID:UjEZlBZt.net
COBOLを外した経産省の愚かなこと

208 :デフォルトの名無しさん:2021/09/01(水) 16:42:41.83 ID:zgEnee8Z.net
GnuCOBOLの実例が少ない

209 :デフォルトの名無しさん:2021/09/01(水) 16:53:29.54 ID:zgEnee8Z.net
富士通のNetCOBOLのライセンス料金が半端無い
Linuxで動かせるけど運用コスト半端無いので導入企業は限られるな

210 :デフォルトの名無しさん:2021/09/03(金) 21:18:23.74 ID:AMHyFvYz.net
>>204
長崎県の例は他に転用しづらい
PHPのUIって後々のメンテとか大丈夫なの?
MySQL使ってるの良いとしてPostgreSQLも使える方が良いと思うけど

211 :デフォルトの名無しさん:2021/09/04(土) 07:14:43.65 ID:fZer1WxN.net
今時Postgresql使っている情弱なんているの?
普通にH2でいいじゃん

212 :デフォルトの名無しさん:2021/09/07(火) 16:42:04.60 ID:miop6AOg.net
H2は容量節約ぐらいしかメリット無い

213 :デフォルトの名無しさん:2021/11/07(日) 11:50:47.69 ID:khCyKtci.net
自宅は今も Postgre だが。

まあ、BSDを今も使ってる変わり者だけどな。

214 :デフォルトの名無しさん:2023/02/10(金) 17:46:34.83 ID:eVutpcx3.net
初心者でわからないんですが、COBOLのバッチプログラムってなんでサーバーへの転送先や入力ファイルの配置先などパラメータファイルをいちいち作ってそれを読み込んで、出力して橋渡しで作らないといけないんですか?
直接パラメータをバッチに書いてはいけないのでしょうか?
JP1という日立のジョブ動かすツールがいまいち意味がわからないです。

バトン渡しで全部ファイルでの受け渡しする意味がわからない

215 :デフォルトの名無しさん:2023/02/18(土) 10:38:01.51 ID:Ebr4Xmt8.net
サブルーチンへcall分でアクセスしてる方法が意味わらかん
どういう方法で関数じみたサブルーチンへアクセスしてるのかやからん

216 :デフォルトの名無しさん:2023/02/22(水) 00:00:07.43 ID:Ring3gPO.net
それって単にボクが大好きな言語とやりかた違うのはゆるさないじょ!というお気持ち表明でしかないのでは?

217 :デフォルトの名無しさん:2023/04/26(水) 14:45:05.47 ID:sHzDMVPm.net
COBOLのソースを追跡するマクロを教えて欲しいです
サクラエディタでありますでしょうか?

218 :デフォルトの名無しさん:2023/05/10(水) 13:10:40.90 ID:TouZAjTe.net
>>214
JP1の汎用性考えてそうしてるんでは?

219 :デフォルトの名無しさん:2023/05/21(日) 10:49:08.06 ID:S/tXedr3.net
>>217
無い

220 :デフォルトの名無しさん:2023/08/17(木) 14:28:50.19 ID:FsZbmZpT.net
('o')0OOOOO

221 :デフォルトの名無しさん:2023/09/07(木) 19:35:40.67 ID:LtMRL3lH.net
初心者ですみませんが、IF分の()のつけ方で以下の場合、挙動変わりますか?
パターンA
IF (A = 1 or 2 and (B = 1 or 2))
パターンB
IF ((A = 1 or 2) and (B = 1 or 2))

222 :デフォルトの名無しさん:2023/10/03(火) 13:57:04.64 ID:3V/991/jl
>>221
変わります。
「A」が1か2でかつBが1か2のときを表したいのであれば
パターンBがよろしいかと。
パターンAでは「A」が1のときELSEになるように見えます。

63 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★