現在、ホスト環境で稼動しているバッチ処理をサーバ環境へダウンサイジングすることになりました。
とりあえず小さなシステムから試しにダウンサイジングしてみようという感じなので未知数なことが多い状態です。
サーバ作業の経験がないもので困っているので助けていただきたいです。
(1)ホストのJCLの代わりになるものはbatファイルかなと思っているのですが、batファイルの作成について参考になるサイトがあれば教えて下さい。
(2)現在はCOBOLで稼動しているプログラムをc#にしてという指示がきたのですが、c#は教育で勉強しただけで実務となるとちょっと苦しいのでこれも参考になるものがあったら教えて下さい。
(3)同じような経験がある方の体験談をお聞きしたいです。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
最近のホストのバッチは使っていないので自信なしということで、思いついた範囲で、一応、IBM系(HITAC/FACOMを含む)ということで、ACOS4/6やUNISYSだとまたちょっと違いますから。
・DD文でのデバイスの静的割り当て割り当てが使えないので、すべてOPENに書き換える必要があります。
・ホストのようにデバイス間の違いをDD文で吸収するという仕組みはありません。ですから、テープに書いたりテープやカードにパンチ出力したければ、別プロセスが必要になります。
・SYSOUTは一つしか使えません、複数プリンタに出力するようなジョブだと、いったん中間ファイルに書いて改めて出力(多分プログラムが必要)になります。
・使える外部記憶はディスクだけと言っていいです。テープやカードから読んでいる部分は前もってディスク上にコンバートする必要があります。
・VSAMの互換性が低いので、VSAM部分は、大概書き直しになります。COBOL以外の言語にコンバートする際、一番苦労するのがここです。
・ソート/マージは概念自体がありませんから、プログラムを作る必要があります(コマンドのソートは用途が全く違います)。
・プロセスの考え方が全く違います。ホストではイニシエータがJCLデックにプロセスを割り当て、その中でロードモジュールやユーティリティーが呼び出されるので、途中でABENDすれば、何もしなければJOB終了ですが、shell scriptはバッチとは本質的に違います、これは、一つのプロセスが別のプロセスを呼び出すので、それぞれのプログラムは別プロセスになり、ABEND(という言葉は使わないけど)しても、ユーザーが明示的にエラー処理を指示していなければ粛々と次のプロセスが実行され、場合によっては大惨事になります(笑/泣)。
まあ、C#に書き直すのなら、すべて、そこで対処できる問題ですが、C#移行の工数を考えると。富士通や日立が出しているWindows用のCOBOL(OOCOBOL等)という選択もあると思います。
しっかりとしたドキュメントが残っていればそれほど問題ではないでしょうが、世の中にそんなケースは希有ですから(もしそうだとしたら失礼)。
TSSの移行だと画面が大問題になりますが、バッチなら何とかなるはずなので、がんばってください。
ご回答ありがとうございました。
ソートマージの問題は大きいと思います。
あとはデバイスの割り当てなどが問題でしょうか。
Windows用のCOBOLの存在は知っていましたが、
動作とかどうなのでしょうか。
いろいろ制約がありそうでc#でやろうということになったのですが・・・
なんとかがんばってみます。
No.4
- 回答日時:
(1)について
ホストでは、ジョブのスケジュール機能やプリント出力結果の制御機能等、ジョブやプリント出力結果を効率よく行う機能がありますが、UNIXなどではこのような機能が標準ではありませんので、運用設計等に負担が掛かる場合がありますので、(2)の言語変更よりこちらに重点おいた方が良いと思います。
(2)について
COBOLから他の言語に変更する場合、小数点の取り扱いを注意する必要があります。
COBOLの小数点は、一般的に固定小数点ですが他の言語では浮動小数点ですので、例えば0.1はCOBOLでは0.1と処理されますが、他の言語では近似値としての0.1(実際には0.099・・・になると思われます)になりますので、特に制限がない場合には、言語の変更をしない方が良いと思います。
変更する場合、小数点を考慮する必要がある計算では、特に注意する必要があります。
言語特性によっては、COBOL等で作成したプログラムを利用する必要が生じます。
返事が遅くなりましたが、ご回答ありがとうございました。
(1)については市販のジョブスケジュールソフトを使おうかなと思っています。小規模なシステムであればbatファイルを手作りでもいけそうですが、規模が大きくなると管理が難しくなると思うので。
(2)については実際に誤差が生じるのはよくないですが、小数点以下の数字はあまり重要としないので特に問題ないと思います。
No.3
- 回答日時:
#2です
Windows用のCOBOLはがんばっていますよ、出しているのが富士通と日立というのでわかるように、ホストの資産を継承することを真剣に考えてくれています。特に画面周りのコンバーターは感謝すら覚えます。PC系から入ったエンジニアにはわからないことを考えているんだあと思います。
それでも、OSの不親切さで苦労はしているようですが、一度アポイントを取って話を聞いてみるのは有意義かもしれません。こういうこと言うと贔屓になるかもしれませんが、なんでもかんでもダウンサイジングをお題目にする営業SEよりよほど誠実な人たちです。
こういうスキルを持った人材が少ないことが本当の危機なんでしょうね。
もう一つ思い出したことがありますが、WindowsやUnixではABENDのステータスをユーザーが知るのは困難です。プログラムの中で注意深くコーディングすれば別ですが、俗に言うx36系のリソース不足のABENDにたいして、unixやWindowsは完全に無力です。また、derailやmemory fault、divide errorについても、頼りにならないコアダンプしか出ず。ホストのエラー時のコアダンプとは話にならないくらい情報量が少ないのです。これは、OSの作り方の問題で、multics当時はサポートしていたのがunixでは省かれたのが大きいですね。windowsだとデバッガで(というより、いにしえのcodeview)くらいしか使えません。
何度もありがとうございます。
ホストメーカは顧客を逃がさないようにがんばっているわけですね。
しかしながら、上司の考えは現在はマイクロソフト中心の世界なのでマイクロソフト製品で作っておいた方が無難だろうということでCOBOLは使わないと思います。
No.1
- 回答日時:
メインフレームからPCへ移行しようと言うことでしょうか?
「サーバー環境」が何を指しているか不明確ですが、bat, C# 云々からWindows OSへの移行を考えているってことですね。
まず、WindowsでC#を使ってJCLのようなバッチ環境で作業すると言うイメージを改めたほうがよいでしょう。
GUIによる対話環境に移行するか、さもなければLinuxなどを使いCOBOL環境を温存するかを選択すべきです。
Windows、C#に固執しなくても、Linux+COBOLは移行に当たって十分検討に値するのではないでしょうか?
参考URLに示すとおり、FORTRANもCOBOLもLinux上で使えます。
shell scriptはJCLよりずっと快適なバッチ処理環境を提供します。
参考URL:http://japan.linux.com/enterprise/03/05/28/02162 …
ご回答ありがとうございました。
私の言葉足らずで申し訳ありません。
メインフレームからPCへの移行で間違いありません。
そしてすでに.NET環境で稼動しているGUI環境にバッチ処理を追加することになったのでc#を使用することになりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- IT・エンジニアリング プログラマーです 未経験から一年半汎用系(.NET、C#)システムを作っていました。自社なので1から 3 2023/03/16 20:13
- Microsoft ASP C#からvbsを実行したい 5 2022/11/24 17:31
- その他(教育・科学・学問) 面接試験で言おうと思ってる内容です 学校で先生に面接練習をお願いしたところこれで良いじゃんというふう 2 2022/11/18 20:16
- 画像編集・動画編集・音楽編集 【急】【Zbrush】3DCG初心者です。ノートPCでのZbrush動作環境につきまして 1 2023/08/19 17:38
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- 書類選考・エントリーシート 就活で病気から立ち直った経験を題材にしたいと考えています。 現在都内私文2年男です。現在は完治してお 4 2023/02/02 14:16
- 書類選考・エントリーシート 【急ぎです】指定校推薦の志望理由書の添削お願いしたいです! 商学部で1600字中1595字です 志望 1 2023/08/24 02:54
- サーバー ログオンユーザーがいない場合に自動再起動 1 2022/09/28 09:53
- サーバー FTPサーバについて詳しい方(アクセス権のないディレクトリを非表示にする方法) 4 2022/08/22 22:33
- 面接・履歴書・職務経歴書 こちらの文を添削して頂きたいです。 (現在パートで働いており、転職活動で使用します) 言い回しや付け 6 2023/02/08 13:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バックグラウンドのプロセスの...
-
Visual C++からpingを実行して...
-
explorer.exeが異様にメモリを食う
-
ウィンドウのタイトルからプロ...
-
API関数 GetExitCodeProcess
-
プロセスIDからウィンドウハ...
-
WINのタスクマネージャの強制終了
-
タスクマネージャーのプロセス...
-
Linuxでのスレッド間メッセージ...
-
EXE間でデータを受け渡し時のka...
-
C++のプログラムをバックグラウ...
-
完全な乱数を生成する方法
-
WebBrowserでPDF表示でのトラブル
-
VB.NET 自プログラムのプロセス...
-
Windowsでのfork方法
-
ADOでアクセスのレコードに...
-
sleep関数の精度について
-
別のプロセスの関数を呼び出す...
-
VBでエクセルを起動し、プロ...
-
C#でのbatファイル実行結果取得
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バックグラウンドのプロセスの...
-
explorer.exeが異様にメモリを食う
-
なぜ女性は男性が忘れたことを...
-
タスクマネージャーのプロセス...
-
プロセスのアタッチ・デタッチ...
-
非表示になったエクセルは?
-
Process.Startの戻り値を後で取得
-
C#でのbatファイル実行結果取得
-
プロセスIDからウィンドウハ...
-
c言語でプロセスIDを調べたい
-
Linuxでのスレッド間メッセージ...
-
プロセスIDの取得方法について
-
ADOでアクセスのレコードに...
-
怪しいプロセス教えてください。
-
vb.netでEXCEL起動がうまくでき...
-
別のプロセスの関数を呼び出す...
-
C++のプログラムをバックグラウ...
-
Visual C++からpingを実行して...
-
VBS(WSH)で開いたIEのウィンド...
-
IISがフリーズ
おすすめ情報