ヘッダーをスキップ
Oracle Databaseプラットフォーム共通日本語README
11g リリース2(11.2)
B56292-13
  目次
目次

前
 
次
 

Pro*COBOL 10.1 README

原典情報: $ORACLE_HOME\precomp\doc\pro1x\readme.txt


目次

バージョン10.1から、バージョン1.xのPro*COBOLは、Pro*COBOL 10.1で置き換えられています。

概要

バージョンのマトリックス

V6互換動作のサポート中止

バージョン1.8.52の新機能

バージョン1.8.51の新機能

バージョン1.8.50の新機能

バージョン1.8.25の新機能

バージョン1.8.78の変更点

バージョン1.8.75の変更点

バージョン1.8.52の変更点

バージョン1.8.51の変更点

バージョン1.8.50の変更点

バージョン1.8.27の変更点

バージョン1.8.26の変更点

バージョン1.8.25の変更点

バージョン1.8.2/1.6.26の変更点

バージョン1.7.3/1.6.9の変更点

バージョン1.7.2/1.6.8の不具合修正(抜粋)

バージョン1.6.7以前の不具合修正(抜粋)

PROFORの制限事項


重要

バージョン10.1から、バージョン1.xのPro*COBOLは、Pro*COBOL 10.1で置き換えられています。

概要

バージョン10.1から、プリコンパイラのバージョン1.xセットに含まれているのは、Pro*Fortranのみです。

Pro*Fortranは現在メンテナンス・モードです。重大な欠陥は修正されますが、新機能は追加されません。

バージョンのマトリックス

  STATUS         RDBMS      PRO*FOR
  Production     10.1.0.2   1.8.78.0

  STATUS         RDBMS  PRO*COB, PRO*FOR
  Production     9.2.0      1.8.77
  Beta           9.2.0      1.8.77
  Beta           9.0.0      1.8.75
  Production     8.1.7      1.8.52
  Production     8.1.6      1.8.51
  Production     8.1.5      1.8.50
  Production     8.0.5      1.8.27
  Production     8.0.4      1.8.26
  Production     8.0.3      1.8.25
  Production     7.3.4      1.8.4  

V6互換動作のサポート中止

Oracle7には、Oracle7アプリケーションを開発するアプリケーション開発者がOracle6の動作をエミュレートできるように、バージョン6[V6]互換性フラグが用意されていました。Oracleリリース8.0.3では、すべてのOracle8製品(PL/SQL8、すべてのOracleプリコンパイラ、Oracle8 Oracle Call Interface、SQL*ModuleおよびSQL*Plusなど)でバージョン6互換性フラグのサポートが即時に中止されることを示す警告が表示されます。V6互換性フラグのサポート中止は、あるバージョン・リリースから別のバージョン・リリースへのアップグレード間で下位互換性と動作をサポートするというオラクル社の方針と一貫しています。つまり、Oracle6からOracle7へのアップグレードについてはサポートされますが、複数のバージョン・リリースのアップグレードについてはサポートされません。

特に、V6互換性フラグでは、Oracle7でOracle6の動作の次の側面がエミュレートされていました。

Oracle8では、V6互換性フラグのサポート中止に伴い、これらの動作のサポートがすべて中止となります。

バージョン1.8.52の新機能

新機能はありません。

バージョン1.8.51の新機能

新機能はありません。

バージョン1.8.50の新機能

新機能はありません。

バージョン1.8.25の新機能

Pro*COBOLでのNCHARデータのサポート

NCHARデータがカーネルにより完全にサポートされるようになりました。以前のリリースのプリコンパイラでは、このデータ型はNLS_LOCALオプションを使用してサポートされていました。新規アプリケーションの場合は、データベース・サポートに依存し、それに従ってプリコンパイル時にNLS_LOCAL=NOに設定することをお薦めします。

注意: 次に示すすべての不具合の説明で、製品名(Pro*COBOL、Pro*FORTRANなど)が記載されていない場合、修正はすべてのPro*バージョン1に適用されます。

バージョン1.8.78の変更点

3100988
不十分なCUDバッファ・サイズが原因で、一部のプラットフォームでPROFORがクラッシュしました。不十分なCUDバッファ・サイズが原因で、一部のプラットフォームでPROFORがクラッシュしました。
2425918
ホスト変数としてCHARACTER*(*)を使用すると、不正なコードが生成されました。ホスト変数としてCHARACTER*(*)を使用すると、不正なコードが生成されました。これはPRO*FORの制限事項です。
2370012
PROFOR/F90アプリケーションの実行時にコア・ダンプが生成されました。PROFORアプリケーションに対してF90コンパイラを使用すると、(最初の)実行時にコア・ダンプが発生しました。コア・ダンプが発生したのは、SQLBF1のコール時の不整列リテラル値が原因です。

バージョン1.8.75の変更点

746347
動的SQLメソッド4で、エラーがある列の番号を指す不正なsqlerrd[4]値が生成されました。修正により、sqlerrd[4]に正しい値が割り当てられます。
1175132
INSERTに不要な解析が実行されるためパフォーマンスが低下しました。INSERT文が原因でORA-00001エラーが発生するたびに、INSERT文の再解析がトリガーされ、パフォーマンスが低下します。ORA-01403、ORA-01405およびORA-01406の場合のみ、再解析は実行されませんでした。修正により、解析エラーが発生しないかぎり再解析は実行されません。
1416079
標識変数がない場合に配列フェッチのパフォーマンスが低下しました。標識変数を使用しない配列フェッチの場合は1行に対してフェッチが実行され、リリース8iではデータのフェッチを目的としたサーバーへのラウンドトリップ回数が増加していました。修正により、FETCHのコール回数がリリース8.0.6と同じになっています。
1508116
SQLMOVが常に引用符付きで生成されました。一部のプラットフォームでは、特定のプロシージャのコールがアポストロフィ(')で囲まれます。ただし、SQLMOVは常に引用符(")で囲まれ、エラーが生成されました。修正により、デフォルトの場合とlitdelim=quoteの場合、SQLMOVは引用符(")で囲まれますが、litdelim=apostの場合、SQLMOVはアポストロフィ(')で囲まれます。
1576145
不要な定義が原因でリリース8.0に比べてリリース8.1のパフォーマンスが低下しました。ループに1つFETCH文がある場合、リリース8.0に比べてリリース8.1のパフォーマンスが低下しました。これは、すべての反復でホスト変数ごとに不要なDEFINEがコールされるためでした。修正により、すべてのホスト変数が解析され定義された後の同じFETCH文では、次の反復時にはDEFINEがコールされません。

バージョン1.8.52の変更点

819158
PROCOBで不正なコードが生成され、コンパイル・エラーが発生しました。PROCOBで不正なコードが生成され、VARCHAR変数が生成されました。この結果、コンパイル・エラーが生成されました。修正により、適切なインデントを使用した正しいコードが生成されます。
968261
PROCOBでモード=ansiを使用すると不正なコードが生成されました。mode=ansiを使用すると、procobで、一部のコンパイラに対してREDEFINES句およびGLOBAL句が不正に生成されました。修正により、正しいコードが生成されます。
973363
不正な生成コードによりコンパイル・エラーが生成されました。INTO句でホスト変数としてグループ名(要素の1つにFILLERがあるグループ)を使用すると、PROCOBで不正なコードが生成されました。この不正なコードによりコンパイル・エラーが生成されました。修正により、正しいコードが生成されます。

バージョン1.8.51の変更点

936178
接続にXAを使用するアプリケーションがRELEASE_CURSOR=YESを指定してプリコンパイルされている場合、メモリー・リークが発生しました。
913475
複数の接続を使用するアプリケーションで、non-lst connect/diconnectループ内でデータをフェッチすると、「ORA-01002: フェッチ順序が無効です。」というエラーが発生する場合がありました。
909020
非問合せSQL文を使用するEXEC SQL DESCRIBE SELECT LISTでは、「ORA-24338: 文の処理が実行されません。」という実行時エラーが戻されました。
904273
DESCRIBE BIND VARIABLES文を含む動的メソッド4のアプリケーションで、EXECUTE文のFOR句にホスト配列を使用すると、実行時にコア・ダンプが発生しました。
869146
mode=ansi13を指定してアプリケーションをプリコンパイルすると、procob18で、コミット後にカーソルをクローズするコードが生成され、実行時に「ORA-01001: カーソルが無効です。」が発生しました。
821874
CONNECT時にAT句が使用されるたびに不要なsqlus.msbエラー・ハンドルがオープンされました。修正により、エラーが発生するまでsqlus.msbのオープンは遅延するようになりました。
792409
長いソース・ファイル名が使用された場合、PROFORで不正なコードが生成されました。DATA SQLFNMは、ソース・ファイル名を使用して生成されます。ファイル名が非常に長く、行をまたいで72列目より後で名前を分割する必要がある場合は、次の行での継続が正しく行われませんでした。修正により、正しいコードが生成されます。
791384
NULLのLOBにLOBを追加するとエラーになります。ただし、SQLLIBから戻されるエラー・メッセージには、この状況が記述されませんでした。
772411
動的メソッド4のアプリケーションのCLOSE CURSOR文で、実行時にコア・ダンプが生成されました。
772048
Pro*Cobolのプリコンパイル中にコア・ダンプが発生しました。このコア・ダンプを修正するために、適切な条件チェックが適用されるようになりました。
720030
AUTO_CONNECT=YESを指定してプリコンパイルすると、カーソル変数に大きい値が生成されました。
716236
Pro*Forで、SAVE文に対して余分なコードが生成されました。
693939
文字列型、ANSIの可変文字列型およびANSIの固定文字列型は、ANSI動的プログラムで使用されると空白で埋められませんでした。修正により空白で埋められるようになり、戻される長さフィールドは不定です。
650069
CONFIGオプションで長い構成ファイル名が使用された場合、またはシステムのデフォルトの構成ファイルが長い絶対パス名の場所から使用された場合は、プリコンパイラによってコア・ダンプが生成されました。この修正により、長いファイル名はリスト・ファイルに出力される前に切り捨てられます。
638805
SQL-2113のメッセージ・テキストがVMSに固有であり、汎用化する必要がありました。

バージョン1.8.50の変更点

764952
インジケータの配列も要求した場合、DMLのRETURNING句で列値の配列が正常に戻されませんでした。
754066
埋込みSQLのDML RETURNING文に3つ以上の列があると誤動作が発生しました。
752463
NCHARホスト変数を使用し、NLS_LOCAL=YESを指定してプリコンパイルした場合、メモリー・リークが発生しました。
735298
EXEC TOOLS GET文に使用されるメモリーが、使用後も解放されませんでした。
729969
procob18で、配列変数のサイズに関係なく、一時標識変数にサイズ1を生成していました。この結果、境界を超えて項目にアクセスする場合などに、メモリー・エラーが発生していました。
717698
インジケータを-1に設定して埋込みPL/SQLを実行すると、メモリー・エラーまたは実行時エラーになりました。
709191
可変(varchar)型のホスト変数を同値化する型が使用された場合、procob18でコア・ダンプが生成されました。
704985
NLS_LOCAL=YESを使用した場合、2バイト以下の長さを指定したマルチバイト・キャラクタのホスト変数をフェッチできませんでした。
652497
shiftベースのマルチバイト・キャラクタ・セット・アプリケーションに対し、Pro*COBOLで不正なコードが生成されました。
644711
PREPAREまたはEXECUTE IMMEDIATEで引用符なしの文字列を使用した場合、不正なコードが生成されました。文字列内の単語の区切りとして使用されているすべての空白が削除されました。
For example,
   EXEC SQL PREPARE S1 FROM
      DECLARE
        CURSOR C1 IS SELECT 0 FROM DUAL;
      BEGIN
        FOR R1 IN C1 LOOP
          NULL;
        END LOOP;
      END;
   END-EXEC.

generated incorrect code as:
01  SQ0001.
    02  FILLER PIC X(68) VALUE "DECLARECURSORC1ISSELECT0FROMDUAL;
-        "BEGINFORR1INC1LOOPNULL;ENDLOOP;END;".

which generated runtime errors.

With the fix, following correct code is being generated:

01  SQ0001.
    02  FILLER PIC X(82) VALUE "DECLARE CURSOR C1 IS SELECT 0 FRO
-        "M DUAL;BEGIN FOR R1 IN C1 LOOP NULL;END LOOP;END;".
606918
生成されるグループ項目の要素が1行を超えている場合、Pro*COBOLではVARYING変数に対して不正なコードが生成されました。マルチバイト環境では、マルチバイト・キャラクタのバイト間に改行が発生し、コンパイル時エラーになることがあります。
602746
Pro*FORTRANに関するこの不具合は、具体的で明確な情報がいずれのドキュメントにも記載されていないためにレポートされました。Pro*FORTRANによるFORTRANコンパイラの最適化の使用はサポートされていません。FORTRANコンパイラの最適化はオフにしてください。これは実際にはDOCの不具合ですが、新しいPro*FORTRAN DOCは提供されないため、このreadme.txtファイルで明確に記載します。
596907
DECLARE TABLE文を使用した場合、procob18でプリコンパイル時にコア・ダンプが生成されました。
563793
使用可能なオプションの数と割り当てられた領域の不一致によって、一部のプラットフォームでコア・ダンプが発生していました。使用可能なオプションに対する表エントリ数が修正されました。
422430
Pro*FORTRAN: MVSに対するFortranコンパイラの制限によって、サブスクリプト化変数はINTEGER*4で宣言する必要がありました。SQCNTは、生成済のサブスクリプト化変数で、常にINTEGER*2で宣言されていました。MVSの場合、SQCNTはINTEGER*4で宣言されるようになりました。
414298
EXEC SQL EXECUTE IMMEDIATEの文テキストをホスト変数(EXEC SQL EXECUTE IMMEDIATE :create_as_select;など)で指定すると、sqlca.sqlerrd内で処理済行数が更新されませんでした。sqlca.sqlcodeは、文の実行結果を正確に反映するように更新されました。

バージョン1.8.27の変更点

644711
PREPAREまたはEXECUTE IMMEDIATEで引用符なしの文字列を使用した場合、不正なコードが生成されました。文字列内の単語の区切りとして使用されているすべての空白が削除されました。
For example, 
    EXEC SQL PREPARE S1 FROM
       DECLARE
          CURSOR C1 IS SELECT 0 FROM DUAL;
       BEGIN
         FOR R1 IN C1 LOOP
           NULL;
         END LOOP;
       END;
    END-EXEC.

generated incorrect code as:

01  SQ0001.
    02  FILLER PIC X(68) VALUE "DECLARECURSORC1ISSELECT0FROMDUAL;
-       "BEGINFORR1INC1LOOPNULL;ENDLOOP;END;".

 which generated runtime errors. 
        
 With the fix, following correct code is being generated:

01  SQ0001.
    02  FILLER PIC X(82) VALUE "DECLARE CURSOR C1 IS SELECT 0 FRO
-        "M DUAL;BEGIN FOR R1 IN C1 LOOP NULL;END LOOP;END;".
642112
埋込みSQL CONNECT文を介して接続されていない場合、SQLLIBでORA-01012エラー・メッセージが戻されました。
622811
カーソルのクローズ時にメモリー・リークが発生していました。
606918
生成されるグループ項目の要素が1行を超えている場合、Pro*COBOLではVARYING変数に対して不正なコードが生成されました。マルチバイト環境では、マルチバイト・キャラクタのバイト間に改行が発生し、コンパイル時エラーになることがあります。
602746
Pro*FORTRANに関するこの不具合は、具体的で明確な情報がいずれのドキュメントにも記載されていないためにレポートされました。Pro*FORTRANによるFORTRANコンパイラの最適化の使用はサポートされていません。FORTRANコンパイラの最適化はオフにしてください。これは実際にはDOCの不具合ですが、新しいPro*FORTRAN DOCは提供されないため、このreadme.txtファイルで明確に記載します。
583044
CALL文のVARCHARホスト変数が正常に拡張されず、COBOLコンパイラの最適化処理により排除されました。
このため、SQL文が正常に実行されませんでした。
553658
Windows NTプラットフォームでは、プリコンパイラ・オプションnls_charおよびnls_localを使用したアプリケーションでコア・ダンプが発生しました。Windows NTのマルチスレッド化アプリケーションの場合、グローバル・ランタイム・コンテキストは適切なnls_charおよびnls_local情報を取得しないために、コア・ダンプが発生しました。
549812
ファイル名として3つ以上の名前(x x xなど)を指定すると、Pro*でコア・ダンプが発生しました。Pro*はコマンドライン・オプションを処理するときに、入力ファイル名1つと出力ファイル名1つを想定しています。コマンドラインで3つ以上のファイル名を指定でき、適切なエラー・メッセージが表示されるように、Pro*が修正されました。
480085
Pro*COBOL: インクルード・ファイルが存在しない場合にエラー・メッセージが発行されませんでした。インクルードするファイルがいずれかのincludeディレクトリまたはローカル・ディレクトリに存在しない場合は、次のエラー・メッセージが生成されるようになりました。
PCC-S-0013:  Unable to open include file "..." at line ... 
             in file sample.pco
422430
Pro*FORTRAN: MVSに対するFortranコンパイラの制限によって、サブスクリプト化変数はINTEGER*4で宣言する必要がありました。SQCNTは、生成済のサブスクリプト化変数で、常にINTEGER*2で宣言されていました。MVSの場合、SQCNTはINTEGER*4で宣言されるようになりました。

バージョン1.8.26の変更点

変更点はありません。

バージョン1.8.25の変更点

480085
Pro*COBOLで、インクルード・ファイルが存在しない場合にエラー・メッセージが発行されませんでした。
397677
型を同値化した暗黙的なVARCHARホスト変数に対して、Pro*COBOLで不正なコードが生成されました。この結果、実行時にORA-01465エラーが発生しました。
383782
列72より後のカーソル宣言に対して、Pro*COBOLでコードが生成される場合がありました。
372681
END-EXECの後がピリオド(.)ではなく空白の場合、Pro*COBOLで不正なコードが生成されました。
369874
VALUE句にホスト変数の値が指定されていない場合、Pro*COBOLで不正なコードが生成されました。次に例を示します。
01  PASSWD   PIC X(8) VALUE.
369866
EXEC SQL EXECUTE IMMEDIDATEにLITDELIM=QUOTEを指定すると、デリミタとしてアポストロフィが使用されました。
369862
MAXLITERALに対する不正な値がリスト・ファイルに表示されました。
369858
Pro*COBOLで、LITDELIMオプションのインライン指定が無視されました。
366790
VARCHAR(PIX VARYING)宣言が記述されている行に順序番号があると、Pro*COBOLでセグメンテーション・エラーが発生しました。
345014
FORMAT=TERMINAL指定時に埋込みSQL文が正確に33文字の場合、Pro*COBOLで不正なコードが生成されました。この結果、コンパイル・エラーが発生しました。
319845
入力ファイル名の長さが100文字を超えた場合、Pro*COBOLでセグメンテーション・エラーが発生しました。ユーザーが指定した入力ファイル名(入力ファイル名のパスを含む)が100文字を超えた場合、100文字の内部制限のためにプリコンパイラでセグメンテーション・エラーが発生しました。

バージョン1.8.2/1.6.26の変更点

46734
EXECUTE文のUSING句の後に構文エラーがあった場合、プリコンパイラではエラー・メッセージを生成していませんでした。プリコンパイル時にエラーは検出されませんでしたが、実行時にエラーが発生しました。
63012
カーソルがクローズしているときにアプリケーションでrelease_cursor=yesを使用しないかぎり、後続のフェッチでエラーは戻されず、データが正常に取得されました。
161029
USAGE IS DISPLAY句がPIC X(n)宣言で使用されていた場合、Pro*Cobolで誤ってエラーが生成されました。
228054
varchar(可変)宣言のユーザーによるインデントがPro*Cobolで保持されませんでした。この拡張によって、生成されたコードでユーザーによるインデントが保持されるようになりました。
244692
CURRENT OF句にスペルミスがあると、Pro*COBOLでセグメンテーション・エラーが発生しました。
259033
変数名のサイズが長く、インデント幅が広い(ただし20未満)場合、Pro*Fortranで列72より長い行が生成されました。
272453
プリコンパイラのヘルプ画面の内容が多すぎて、sqlcheckの値の構文がわかりづらい状態でした。ヘルプ画面のフォーマットが変更されました。
277841
接続を確立できなかった場合、sqlcaで一般的なエラー・メッセージが戻されました。これは、たとえば、TWO_TASK環境変数に不正な値が設定されている場合に発生する可能性があります。一般的なエラー・メッセージが戻されるのは、接続を確立できず、メッセージ・ファイルがクライアント側に存在しない場合のみになりました。
280423
Pro*Cobolで不正なPIC X宣言が生成されました。maxliteralを指定すると、PIC X変数のサイズと文字列値の長さの両方が不正になりました。
282450
Pro*Fortranで.pc0ファイルが2回クローズされ、一部のプラットフォームでメモリー例外の問題が発生していました。
282466
通常の(USING句が指定されていない)EXECUTE文に対して、プリコンパイラによってバインド変数が生成されていました。この問題は、同じ文名がEXECUTE USING文で使用されている場合、次のような通常のEXECUTE文で発生していました。
  ...
  EXEC SQL EXECUTE S USING :a, :b;
  ...
  EXEC SQL EXECUTE S;
  ...
286704
Pro*Cobolで、変数のサイズとしては大きすぎる非常に大きい値でSQLCTX初期化が生成されていました。SQLCTXは型S9(9)で宣言され、割り当てられる値は10桁でした。
286765
動的SQLを使用してホスト配列をPL/SQL表にバインドする際、ランタイム・エラーが発生しました。
287771
切断時に、シャドウ・プロセスが動作したままになり、再接続またはプロセス終了までそのままでした。
288212
動的メソッド4のバインドおよび選択記述子用にインクルードされたファイルには、64ビット・アーキテクチャ・マシンの変更に固有のポートが必要です。
289201
非常に大きい(約100,000行を超える)pro*ソース・ファイルから生成されたプリコンパイラ・アプリケーションに対して、ランタイム・エラーが生成されました。
291358
Pro*Cobで、条件付きプリコンパイル文(EXEC ORACLE IFDEF/DEFINE/ELSE/ENDIF)のEND-EXECに"."(ピリオド)がないためにコンパイル時エラーが発生した場合、これらの文がコメント化されませんでした。
293284
Pro*FortranまたはPro*CobolでEXEC TOOLS MESSAGEがコーディング領域(列72)を超えて記述された場合、内部エラー・メッセージが発行されました。
297549
画面上のエラー・メッセージに、正しくないエラー行(通常は、エラーがある実際の行に続く次の行)が示されていました。この問題が発生するのは、Pro*CobolおよびPro*Fortranのみでした。
299716
複数の行が、EXEC SQL文、varchar宣言、あるいはEXEC SQL文またはvarchar宣言の後のコメント行に続いた場合、Pro*Cobolでは列7の/(スラッシュ)が*(アスタリスク)に変更されていました。
308436
プリコンパイラで、30文字を超える入力ファイル名を使用できませんでした。この問題は、1.6.8+および1.8ベータ・バージョンに影響しました。
308877
Pro*COBOLで、IDENTICATION DIVISIONのコメント・エントリを適切に処理できませんでした。コメント・エントリにはすべてのASCII文字を使用できます。また、コメント・エントリはIDENTIFICATION DIVISIONでのみ許可されます。
309750
プログラムで動的メソッド4を使用し、かつ接続文と宣言文でデータベースの基本名としてホスト変数を使用した場合、Pro*Fortranでアクセス違反またはコンパイル・エラーの原因となるコードが生成されました。
315856
END文がない場合、Pro*Fortranが無限ループに入りました。

バージョン1.7.3/1.6.9の変更点

234550
Pro*Cobolで、format=terminalで誤った文字列継続が生成されました。
264560
FORMAT=TERMINALを指定したEXEC SQL INCLUDE SQLCAの使用は、COMP5=YESも使用されている場合は動作しませんでした。
265143
Pro*Cobolは、バイトではなく列に基づいて文字列継続を実行しました。このため、行の長さを72列ではなく72バイトに制限しているCOBOLコンパイラで問題が発生しました。
275498
文に宣言されていないSQL識別子がある場合、プリコンパイラでエラーではなくセグメンテーション・エラーが発生しました。たとえば、"exec sql update emp set sal = 8000 where current of S;"という文で、Sが宣言されたカーソルでない場合、「SQL識別子"%s"が宣言されていません。」エラーではなく、セグメンテーション・エラーが発生しました。
277265
プリコンパイラのホスト・オプション値を言語固有にする必要がありました。
278919
同じ文識別子を再使用すると、ORA-02117が発生する場合がありました。次の一連の文では、アプリケーションがmode=ansiでプリコンパイルされた場合、ORA-02117エラーが発生しました。
 PREPARE s for . . . (e.g. an insert) 
 EXECUTE s 
 PREPARE s for select . . . 
 DECLARE c1 cursor for s 
 OPEN c1 
280423
maxliteralを指定した場合、Pro*Cobolでマルチバイト入力に対して不正なPIC X宣言が生成されました。PIC X変数のサイズと文字列値の長さの両方が不正になりました。
286704
Pro*Cobolで、変数のサイズとしては大きすぎる非常に大きい値でSQLCTX初期化が生成されていました。SQLCTXは型S9(9)で宣言され、割り当てられる値は10桁でした。
289201
非常に大きい(約100,000行を超える)pro*ソース・ファイルから生成されたプリコンパイラ・アプリケーションに対して、ランタイム・エラーが生成されました。

バージョン1.7.2/1.6.8の不具合修正(抜粋)

159536
PRO*で、FIPS=YESの場合に、CREATE TRIGGER/PROCEDURE/などのFIPSフラグ付けが実行されませんでした。
187108
sample10.pplのエラーによって、VMSプラットフォームでプロセスがクラッシュしました。
208483
PRO*Pascalアプリケーションで文字列リテラルのEXECUTE IMMEDIATEがエラーになりました。
227880
sample10.pcoが64ビット・アーキテクチャで動作するには変更が必要でした。
227882
sample10.pcoが64ビット・アーキテクチャで動作するには変更が必要でした。
232998
EXEC SQLの前のインデントが大きい場合、Pro*Pascal A.V.が発生しました。
234392
Pro*FORTRANでEXECUTE USING DESCRIPTORに対して不正なコードが生成されました。
240736
PREPARE文でホスト変数にLONG VARCHAR型を使用できません。
241616
多数のSQL文がある場合は、Pro*FORTRANで複数のSQCNT宣言が生成されました。
241962
ソースにEND文がない場合、Pro*Fortranが無限ループに入りました。
249976
ORACA(ORASTXTC)の保存された文テキストが正しくない場合がありました。
250474
長いSQL文とAUTO_CONNECT=YESの指定で解析エラーが発生しました。
252217
sqlcpr.hのプロトタイプが生成されたコードのプロトタイプと異なりました。
252492
ANSI形式のプロトタイプがパブリック・ヘッダーsqlcpr.hにありませんでした。
252654
PRO*1.6で、SQLCODE変数がDECLARE SECTIONで宣言されていない場合、SQLCODE変数が使用されませんでした。
257248
ソースにENDがない場合、Pro*Fortranが無限ループに入りました。
258928
関数gensqfをPro*Fortranアプリケーションからコールできませんでした。
259349
ファイル名の長さが最大長を超えている場合にエラーが発生しませんでした。
260457
oracle_forms.messageプロシージャが正常に完了しないことがありました。
261282
プリコンパイラ・コマンドライン・オプションの使用方法が正しくチェックされていませんでした。
262332
パスワードがユーザーIDオプションで指定されていない場合、Pro*でパスワードを要求されませんでした。
264068
EXEC TOOLS文のEXEC SQL IFDEFが正しく動作しませんでした。
265136
マルチバイト環境でmaxlitを指定した場合、Pro*Cobolで不正なSQL文が生成されました。
265424
SQL関数の使用中に誤ったプリコンパイル・エラーが発生する場合がありました。
267024
format=terminalを指定した場合、Pro*FORTRANで、生成されたコードが正しくインデントされませんでした。
270254
オープン・カーソルの数がMaxCurを超えた場合、ORA-02100エラーが生成されました。

バージョン1.6.7以前の不具合修正(抜粋)

273548
code=ansi_cの指定で、不正な型のsqlstm.stmtが生成されます(Pro*C)。
256436
EXEC SQL TYPEでVarcharを指定すると、生成されたコードで長さが0(ゼロ)になります(Pro*C)。
240736
LONG VARCHARホスト変数からの文の準備中にエラー02108が発生します。
227634
有効なデータベース接続のない状態で実行すると、プログラムでコア・ダンプが発生します。
226183
sqlcheck=fullの指定と宣言されていないホスト変数によって、Pro*Cobolでセグメンテーション・エラーが発生します。
224364
文が列9で始まる場合は、Pro*Fortranのプリコンパイラで前処理されません。
219215
タイムアウトによる再接続後の再準備/再実行でORA-01012/01001が発生します。
217245
カーソルのオープンに失敗した場合でもカーソルにオープンのマークが付けられました。
216274
multi=noを指定した場合、Pro*Fortranで宣言が生成されませんでした。
212820
ソースの99列目に「A」の文字がある場合は、Pro*Fortranで不正なコードが生成されました。
210998
multisubprog=noを指定し、入力にDECLAREセクションがない場合は、アクセス違反が発生しました。
209717
ホストとインジケータ配列のディメンションが異なる場合でもエラーが発生しませんでした。
206153
ANSIモードの動的SQLに対して、カーソルの状態が正しく保持されませんでした。
199380
COMMIT WORKを含むプログラムで、mode=ansi&hold_cur=yesの場合はORA-02114エラーが発生しました。
198808
行の終わりに引用符がある場合、不正なコードが生成されました(Pro*Cobol)。
192959
multisub=noを指定してデータベースに再接続した場合、Pro*forでプログラム・エラーが発生しました。
191554
ORACAを使用するPRO*COBターミナル・フォーマットのアプリケーションでコンパイル・エラーが発生しました。
189568
PRO*ランタイム・ライブラリで、データベースに対して必要以上のコールが生成されました。
187443
hold_cursor=yesを指定している場合でも、Pro*AdaでSQL文が常に再解析されました。
184461
LANGUAGE=nationalcharstの場合、PRO*FORで空のCOMMON文が生成されました。
183591
VARCHAR配列へのポインタを使用すると、様々な問題が発生する可能性がありました。
168678
ユーザーIDを指定せずにSQLCHECK=SEMANTICSを使用すると、DECLARE TABLE文が無視されます。
149317
SQLCHECK=FULLの場合でも、プリコンパイラでFETCH文のエラーが無視されました。
147034
動的カーソルの2回目の実行で、XAアプリケーションでORA-01001が発生しました。
135528
COMMIT/ROLLBACKによるRELEASEが失敗した場合は、再接続しようとすると失敗しました。

PROFORの制限事項

2425918
PROFORでのCHARACTER*(*)の使用方法に関する制限を明確にします。
PROFOR DOCのマニュアルは既存のライブラリでのみ提供しているため、PROFORマニュアルは今後更新されることはありません。かわりに、このREADMEが更新されます。
次の変更に注意してください。
Pro*Fortranマニュアルの表1-3に記載されているCHARACTER(*)変数型を削除してください。
表1-3の注意2は、次のように読み替えてください。
CHARACTER*(*)変数の長さは事前に決定されていません。これらの変数は、サブルーチン宣言でダミー引数を指定するために使用します。実際の引数の最大長は、LEN組込み関数によって戻されます。CHARACTER*(*)変数は有効なFORTRAN変数名ですが、ホスト変数としてはサポートされていません。