質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
COBOL

COBOL(COmmon Business Oriented Langage)は、実務処理用に開発されたプログラミング言語です。

Q&A

解決済

2回答

4431閲覧

Pro*Cobolによるストアドプログラム実行

ARADDIO

総合スコア160

COBOL

COBOL(COmmon Business Oriented Langage)は、実務処理用に開発されたプログラミング言語です。

0グッド

0クリップ

投稿2015/07/13 11:39

お世話になります。

現在ProCobolにて開発実施中です。
Pro
CobolよりストアドをCALLしたいのですが、うまくいきません。

↓サイト参考に、下記のようなコードにて呼び出し試しています。
http://www.t3.rim.or.jp/~buchi/procobol/sld027.htm

実際のPro*Cobolソース
111111 EXEC SQL EXECUTE
111111 BEGIN
111111 DBMS_DDL.analyze_object( 'XX', 'XXXXX', 'X',
111111 :OUT1,:OUT2 );
111111 END;
111111 END-EXEC.

試しに、出力引数OUT1に初期値('9'とします)設定し、
コンパイル後実行ファイルを実行したところ'9'のままでした。
ストアドが実行されれば、'0'が返却されるはずなのですが、実行自体できていないようです。

# SI Object Browserによる、ストアドプログラムの実行確認自体はできております。

Pro*Cobol(もしくはCOBOL)にて、ストアドプログラムの呼び出し成功した実績のある方いらっしゃいましたら、
アドバイスいただけないでしょうか。

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

※環境:
OS:Windows 8
DB:Oracle Database 11g R2
DB Client: Oracle client 11g R2

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

すみません。自己解決しました。
ストアド側ではNUMBERで引数返却していたのですが、
COBOLではXTYPEで受けなければ取得できないようです(9TYPEで取得していた)
なぜこのようになっているのかは不明ですが、今回はストアドプログラム側で文字列返却するように変更し対応しました。

投稿2015/07/21 00:07

ARADDIO

総合スコア160

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

わかりやすいサイトですね。

OUT1,OUT2はExec Sql Declare sectionで定義してますか?

http://www.t3.rim.or.jp/~buchi/procobol/sld006.htm

また、エラーハンドリングすると解決のヒントになるかもしれません。

http://www.t3.rim.or.jp/~buchi/procobol/sld018.htm

実行環境がないので、サンプルコードを示すことができませんでごめんなさい、

投稿2015/07/13 13:53

iwamoto_takaaki

総合スコア2883

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問