- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Oracle+ProCOBOLで項目のNULLを判定する方法)
Oracle+ProCOBOLで項目のNULLを判定する方法
このQ&Aのポイント
- Oracle8i、ProCOBOLで項目のNULLを判定する方法がわからず困っています。
- SymfoWareServerの場合は、SELECT文を実行した後で項目の内容を聞くことでNULLかどうか判定できました。
- しかし、Oracle+ProCOBOLの場合はどのようにすればNULLを判定できるのか分かりません。お知恵をお貸しください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
標識変数(9iではインジケータ変数になってます)を使います。 標識変数が-1の時、値はNULLです。 標識変数は、PIC S9(4) COMP として明示的に宣言します。 01 EMP-NAME PIC X(10) VALUE SPACE. 01 SALARY PIC S9(5)V99 COMP-3. 01 COMMISSION PIC S9(5)V99 COMP-3. 01 COMM-IND PIC S9(4) COMP. ... EXEC SQL SELECT SAL, COMM INTO :SALARY, :COMMISSION:COMM-IND FROM EMP WHERE EMPNO = :EMP-NUMBER END-EXEC. IF COMM-IND = -1 COMPUTE PAY = SALARY ELSE COMPUTE PAY = SALARY + COMMISSION. 詳細は、Oracle8i 8.1.7 Pro*COBOLプリコンパイラ・プログラマーズガイド P4-22から書いてありますのでOTNからダウンロードしてください(ユーザー登録すればマニュアルは無償で入手できますので)
お礼
ありがとうございました。 大変参考になりました。 参考URLも行ってみます。