UNIX上で、COBOLプログラムからShellを起動したいのですが、その方法が判りません。
CALL文を使うのかな?と思ったのですが、翻訳時にLinkエラーになってしまいます。
その時書いた文 => CALL "TEST.sh"
ひょっとして、出来ないのでしょうか?
COBOLが詳しくないので、単純に書き方が悪いのかも知れませんが...

申し訳ありませんが、ご教授願います。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

メーカ系SEです。


プログラマではないので、コーディング等細かいことは言えませんが、私のプロジェクトではこのようにしています。

(1)C言語のサブルーチンでsystem()とかいう関数でスクリプトを実行。
(2)このサブルーティンをCOBOLからCALLする。

これじゃだめですかね?
    • good
    • 0

コンパイラでリンク定義する事で可能と思います。


(静的リンク定義にすればいいと思います。)
又、COBOLはJCLというもので起動されるので、JCLで記述する事ができる方法もあるのでは?

※昔、開発でサブルーチンがC言語で作成され、
 メインプログラムがCOBOL言語という環境で仕事をした事があります。
 ただ、かなり昔なのでどう対処したか記憶が薄くなっています。
 錯誤の回答の場合はご容赦下さい。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qクレジットカードとponta(ローソン)のポイント

航空チケットをコンビニで支払おうか迷っています。

今、楽天カード(クレジットカード)とpontaをもっています。

もし、航空チケット(13万くらい)をローソンで楽天カード(VISA)により

支払った場合(pontaを添えて)は、楽天カード、pontaのそれぞれにポイントはたまるのでしょうか?

Aベストアンサー

Loppiからのチケット類は、Pontaのポイントは付かないですね。

http://www.lawson.co.jp/ponta/static/about/point.html
こちらのポイントが付与されない商品・サービスを参照してください。


ただし、来店ポイントは付くみたいですが。

QCOBOLのCALL文がいまいちつかめません。

いつもお世話になっています。
WINDOWSでCOBOL85を使いながら、COBOLの勉強をしています。
JAVAを基本情報試験のために勉強したくらいの初心者です。
シーケンシャルファイルでマッチング処理を行う、
小さなプログラムを課題としている途中、
CALL文を使ってサブプログラムを作ってみてくださいと言われました。

そこで質問なのですが、
メインプログラムの集団項目をUSING指定で引数として、
サブプログラムで受け取り、処理をするまではいいのですが、
戻り値をどのようにして受け取ればいいのかが
イメージがつかめません。
・戻り値を受け取るための命令
・戻り値は1つだと思うのですが、どの変数?に返ってくるのか
(集団項目ごと返ってくる?)
など、何かあればご助言をいただけないでしょうか?

ソースは次の通りです。
よろしくお願いいたします。

■メイン
IDENTIFICATIONDIVISION.
PROGRAM-ID.MACHING_TEST.
(省略)
WORKING-STORAGESECTION.
  01 JUDGE_F.
   03 KEY_F    PIC 9(01).
   03 CHANGE_F    PIC X(06).
   03 EXCEP_M    PIC 9(01).
(省略)
CALL "JUDGE_FEMALE" USING JUDGE_F
ON EXCEPTION
  DISPLAY N"エラーです。プログラムを終了します"
  STOP RUN

  NOT ON EXCEPTION
   IF EXCEP_M = 9
THEN
MOVE"ERRER!"TO FEMALE_OUT
ELSE
 IF EXCEP_M = 1
THEN
MOVE CHANGE_F TO FEMALE_OUT
 END-IF
   END-IF
   END-CALL.
(以下略)

■サブ
IDENTIFICATIONDIVISION.
PROGRAM-ID.JUDGE_FEMALE.

DATADIVISION.
LINKAGESECTION.
01 JUDGE_F.
 03 KEY_FPIC 9(01).
 03 CHANGE_FPIC X(06).
 03 EXCEP_MPIC 9(01).

PROCEDUREDIVISIONUSINGJUDGE_F.

IF KEY_F = 1
 THEN
  MOVE "オトコ" TO CHANGE_F
  MOVE 1 TO EXCEP_M
 ELSE
  IF KEY_F = 2
THEN
 MOVE "オンナ" TO CHANGE_F
 MOVE 1 TO EXCEP_M
ELSE
 MOVE 9 TO EXCEP_M
END-IF
END-IF.
PROGRAM-END.
 STOP RUN.

いつもお世話になっています。
WINDOWSでCOBOL85を使いながら、COBOLの勉強をしています。
JAVAを基本情報試験のために勉強したくらいの初心者です。
シーケンシャルファイルでマッチング処理を行う、
小さなプログラムを課題としている途中、
CALL文を使ってサブプログラムを作ってみてくださいと言われました。

そこで質問なのですが、
メインプログラムの集団項目をUSING指定で引数として、
サブプログラムで受け取り、処理をするまではいいのですが、
戻り値をどのようにして受け取ればいいのかが
...続きを読む

Aベストアンサー

メインからは
CALL "JUDGE_FEMALE" USING JUDGE_F
とJUDGE_Fいう項目を使ってサブをコールしてます。
質問文では書かれてませんが、CALLする前に、KEY-Fに1、2、もしくはそれ以外がセットされてるんだと思います。
つまり、8バイトの頭1バイトだけセットしてコールするわけです。
  01 JUDGE_F.
   03 KEY_F     PIC 9(01).
   03 CHANGE_F     PIC X(06).
   03 EXCEP_M     PIC 9(01).

サブの側ではコール元のプログラムが、KEY-Fに何をセットしてきたかを判定して、CHANGE-FとEXCEP-Mにデータをセットしています。

メインはサブから返されたJUDGE-Fを使って引き続き処理を行います。集団項目で渡して集団項目で帰ってくるだけです。この場合、CHANGE-FとEXCEP-Mをセットするためのサブプログラムですが、作りようによって何項目でも返せます。(必要なだけ定義して集団項目にすればよいです)

メインからは
CALL "JUDGE_FEMALE" USING JUDGE_F
とJUDGE_Fいう項目を使ってサブをコールしてます。
質問文では書かれてませんが、CALLする前に、KEY-Fに1、2、もしくはそれ以外がセットされてるんだと思います。
つまり、8バイトの頭1バイトだけセットしてコールするわけです。
  01 JUDGE_F.
   03 KEY_F     PIC 9(01).
   03 CHANGE_F     PIC X(06).
   03 EXCEP_M     PIC 9(01).

サブの側ではコール元のプログラムが、KEY-Fに何をセットしてきたかを...続きを読む

QモバイルPonta クレジットカードみたいなもの?

モバイルPontaってクレジットカードみたいなものでしょうか?
カードで持つか、携帯で持つかの違いだけですか?

Aベストアンサー

違います。
そもそもPontaはポイントサービスなので、クレジットカードとはまったく別物です。
クレジットカードと組み合わされたPontaカードが多いので混同されているのでしょう。

で、モバイルPontaですが、たぶん、カードか携帯かを選ぶのではなく、まずカード会員になり、モバイルとしても使いたい場合に設定するものだと思います。
(単に私がその流れで設定して使用しているので)

私はローソンとケンタッキーだけでしか使ってませんが、モバイルPontaが使えるのはローソンだけで、ケンタッキーではカードを出すしかありません。


使い方の違いは、カードではもちろん、支払いの時に店員にカードを渡します。

モバイルPontaでは、次のようになります。
(1) 「支払いはEdyで」のように、電子マネーで支払う意思を伝える。
(2) おサイフケータイをレジのリーダー部分に置き、レジの画面に表示された電子マネーのアイコン(私の場合はEdy)を選択する。
(3) 支払い完了して渡されたレシートを見ると、下の方に「Ponta会員ID ********」「来店ポイント 1P」「買上ポイント *P」「ポイント残高 ***P」といったPontaポイントが付けられているのが確認できる。

つまり、Pontaカードの存在を意識することなく、おサイフケータイで支払いをすると、勝手にPontaポイントも手続きが済んでいる、ということです。
便利ですよ。

違います。
そもそもPontaはポイントサービスなので、クレジットカードとはまったく別物です。
クレジットカードと組み合わされたPontaカードが多いので混同されているのでしょう。

で、モバイルPontaですが、たぶん、カードか携帯かを選ぶのではなく、まずカード会員になり、モバイルとしても使いたい場合に設定するものだと思います。
(単に私がその流れで設定して使用しているので)

私はローソンとケンタッキーだけでしか使ってませんが、モバイルPontaが使えるのはローソンだけで、ケンタッキーではカード...続きを読む

QCOBOLのCALL文について

普段ほとんどCOBOLには触らないCOBOL初心者です。暇つぶしに業務のCOBOLソースを読んでいたら下記のような記述があったのですが、REFERENCEとVALUEが何を意味しているのかよくわかりません。

CALL "abc" USING AAA
REFERENCE BBB
VALUE CCC

http://www.tsh-world.co.jp/sp/support/manual/V701html/gtman3/gt3_163.htm
上のサイトなどで調べたところ、CALL文にはBY REFERENCEやBY VALUEなどが続く事があるようですが、それとは微妙に異なる気がします。それはBY REFERENCEは参照渡し、BY VALUEは値渡しを指定しているという認識ですので、2つを同時に指定するのはありえないという考えからです(BYの記述がないのも気になりますが)。
何かわかる方おりましたらご教示お願いします。
情報が足りなければ、その旨書いて頂ければ補足いたします。(といっても手元にソースがなかったり)

普段ほとんどCOBOLには触らないCOBOL初心者です。暇つぶしに業務のCOBOLソースを読んでいたら下記のような記述があったのですが、REFERENCEとVALUEが何を意味しているのかよくわかりません。

CALL "abc" USING AAA
REFERENCE BBB
VALUE CCC

http://www.tsh-world.co.jp/sp/support/manual/V701html/gtman3/gt3_163.htm
上のサイトなどで調べたところ、CALL文にはBY REFERENCEやBY VALUEなどが続く事があるようですが、それとは微妙に異...続きを読む

Aベストアンサー

COBOLの文法をよく読んでください。

>2つを同時に指定するのはありえないという考えからです
引数毎にBY REFERENCE、BY VALUEが指定できます。

>CALL "abc" USING AAA
>REFERENCE BBB
>VALUE CCC
引数がAAA、BBB、CCCの3個で、
AAAはBY句が省略されているので、BY REFERENCE
BBBはREFERENCEなので、BY REFERENCE
CCCはVALUEなので、BY VALUE
です。
マニュアル読めばすぐに分かること。

参考URL:http://software.fujitsu.com/jp/manual/manualfiles/M050003/B1WW6981/01/cobrw.pdf

QローソンポイントはPontaへ。ならば、GEOや昭和シェルなどで今まで貯まったポイントは使える。

現在、旧ローソンパスVISAカードを持っています。(JMBではありません)
こちらのポイントが5000ほど貯まっています。

先日、ローソンのポイントはPontaとなりましたが、
このポイントを、ゲオや昭和シェルなどで使用できるのでしょうか?

Aベストアンサー

はい使えます。
ただしレンタルは、会員登録が必要です

Qcobol サブルーチンのlink

cobol言語プログラミングでの質問です。
サブルーチンで 【ダイナミックLINK】と【スターティックLINK】というのがあるようですが、どのような違いがあるのでしょうか?今、私の認識は以下の通りなのですが正しいでしょうか??→例えば、ダイナミックはサブルーチンを修正し、コンパイル完了するとメインをコンパイルしなくてもサブルーチンの修正が反映される。スターテックはサブルーチンを修正し、コンパイル完了してもメインをコンパイル完了するまではサブルーチンの修正が反映されない。どうでしょうか????

Aベストアンサー

ちょっと惜しいです。
スタティックリンクは、メインルーチンとサブルーチンが一体化されてリンクされて1つのモジュールになっています。サブルーチンを修正&コンパイルしたら、メインルーチンと再リンクが必要です。
ダイナミックリンクは、メインルーチンとサブルーチンが別々にリンクされそれぞれ独立したモジュールになっています。サブルーチンを修正&コンパイルしたら、サブルーチンの再リンクが必要ですが、メインルーチンを再リンクする必要はありません。

多くのメインルーチンで使われているサブルーチンを修正した場合、スタティックリンクだと多くのメインルーチンの再リンクが必要ですが、ダイナミックリンクだと不要です。

Qクレジットカードのローソンpontaカード

でローソンの店頭で公共料金の支払いはできますか?

Aベストアンサー

できません。公共料金を払えるのは現金だけです
セブンイレブンならnanaco払いは可能です

QCOBOLでSHELLを作成することは可能ですか?

一度質問したのですが、何故か反映されていないみたいなので再度質問させていただきます。
これは又聞きなんですがCOBOLでSHELL自体を構築することは可能なんでしょうか?
私はCOBOLに関しては全くの初心者でSHELLに関してはCシェル又はBシェルの概略ぐらいしかわかりません。
この話の信憑性を問う意見がありましたので詳しい方がいれば教えてください。

Aベストアンサー

SHELLにどういった機能を持たすかにもよりますが可
能です。
昔はCOBOL上でBASICのソースプログラムをよく動かしたものです。
その逆もありです。BASIC上でCOBOLを動かす。

Q昭和シェル石油でのオイル交換について。

昭和シェル石油でのオイル交換について。


神奈川県の中井町井ノ口( テルモ前 )のシェル石油にて、ブレーキオイルの交換を考えていますが、やって頂けるのでしょうか?

金額もわかれば教えて頂きたく思います。


因みに車は、タントカスタム( L375S )RSです。
宜しくお願い致します。

Aベストアンサー

ガソリンスタンドには整備士はいません
国家整備士うんぬんんってデカデカで宣伝してるところもありますが
ハッキリいってお笑いです
いちいち国家整備士なんて言い方するところが更に・・
整備資格がたまたま国の資格であるだけなのにいかにもって感じで・・

この言い回しをすると調理師も国家調理師・・ 爆笑です

さて、いまどきの車はABSが標準装備であったりします
アンチャンバイトのレベルのスタンド店員に
それらを理解して的確な作業が行えるとは思いません

ワタシがディーラーの整備士だったころ
スタンドでブレーキオイルを交換してから
ABSランプが点灯したとの入庫を数件経験しています
見るとあっちこちブレーキオイルで汚したままで
更に外したと思われる部材がきちんとついてない・・

トラブルの元なのでやめたほうがいいと思います
ブレーキですからね もしものことを考えると・・

QDOS上で、UNIXのShellに代替されるものってありますか?

あるPCから別のマシンにftpを使ってファイルを転送するのですが、作業者(ファイル転送をする人)がftpコマンドなどが使えないため、
パソコンのDOS画面(コマンド実行)から、キーをひとつたたけば、ファイル転送してくれる仕組みをつくりたいのです。(ファイル名は固定のものが数個。転送するのは1ファイル単位でまとめての転送はしない)
UNIX上ならftpコマンドを発行するシェルを作れば済むと思うのですが、DOS上ではどうなのでしょうか?
UNIXのシェルのようなものはあるのでしょうか?

Aベストアンサー

> UNIXのシェルのようなものはあるのでしょうか?
文脈からするとシェルスクリプトのような気がしますが、これはDOSの場合ではバッチファイルが相当します。
シェルスクリプトと比べるとかなり貧相ですけどね。
Win上のDOS窓ならVBスクリプトなども使えます。

バッチファイルでftpの自動化をしたい場合は、実行したいコマンドを羅列したテキストファイルを用意して、ftp -s:の後にそのファイルを指定すれば、勝手に実行されます(これはバッチファイルというよりftpコマンドの機能ですけど)。
「ftp -s:ファイル名」と書かれたバッチファイルを用意しておけば、コマンド一発で転送できるようになります。
http://www.atmarkit.co.jp/fwin2k/win2ktips/270ftpscript/ftpscript.html

参考URL:http://www.atmarkit.co.jp/fwin2k/win2ktips/270ftpscript/ftpscript.html


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング