Interstage Data EffectorはCOBOL言語で作成されたプログラムを、ユーザー定義関数として指定できますか?

Interstage Data Effector の技術情報はこちら

COBOL言語で作成されたプログラムを、ユーザー定義関数として指定できますか?
V9.2から、対応しています。
Data Effectorが呼び出すユーザー定義関数は、C言語のプログラムで作成されている必要があります。このため、COBOL言語で作成されたプログラムを呼び出すようなC言語プログラムを作成してください。
なお、COBOL開発環境にNetCOBOL製品を使用されるときは、以下のビルド(翻訳・リンク)および実行時の注意事項に従ってください。

■ビルド(翻訳・リンク)

  • 各動作環境ファイルのParallelNumパラメタに「1」を指定した場合
    Windows x86版 NetCOBOLを使用している場合

    COBOL32 EXCOBOL.COB
    LINK EXCOBOL /DLL F3BICIMP.LIB LIBC.LIB

    Windows x64版 NetCOBOLを使用している場合

    COBOL EXCOBOL.COB
    LINK EXECOBOL /DLL /NOENTRY F4AGCIMP.LIB

    Solaris版 NetCOBOLを使用している場合

    cobol -c EXCOBOL.COB
    cobol -G -dy -Tm -olibEXCOBOL.so EXCOBOL.o

    Linux x86版またはLinux Intel64版 NetCOBOLを使用している場合

    cobol -c EXCOBOL.COB
    cobol -G -dy -Tm -olibEXCOBOL.so EXCOBOL.o

    ParallelNumパラメタを2以上に変更した場合、実行時にエラーとなります。


  • 各動作環境ファイルのParallelNumパラメタに「2以上」を指定した場合
    Windows x86版 NetCOBOLを使用している場合

    COBOL32 -WC, "THREAD(MULTI)" EXCOBOL.COB
    LINK EXCOBOL /DLL F3BICIMP.LIB LIBC.LIB

    Windows x64版 NetCOBOLを使用している場合

    COBOL -WC, "THREAD(MULTI)" EXCOBOL.COB
    LINK EXECOBOL /DLL /NOENTRY F4AGCIMP.LIB

    Solaris版 NetCOBOLを使用している場合

    cobol -c -Tm EXCOBOL.COB
    cobol -G -dy -Tm -olibEXCOBOL.so EXCOBOL.o

    Linux x86版またはLinux Intel64版 NetCOBOLを使用している場合

    cobol -c -Tm EXCOBOL.COB
    cobol -G -dy -Tm -olibEXCOBOL.so EXCOBOL.o

    COBOLのデータ部(WORKING-STORAGE SECTIONに記述されたデータ)をヒープに割り当てるため、オブジェクトサイズおよびDLLのサイズが小さくなります。


■実行時

  • JMPCINT2、JMPCINT3について
    COBOLプログラムを呼び出す場合、COBOLプログラムを呼び出す前にJMPCINT2()、COBOLプログラムの呼び出しが終わったらJMPCINT3()を必ず呼び出してください。
    また、JMPCINT2()を呼び出した場合、必ずJMPCINT3()を呼び出してください。


  • 各動作環境ファイルのParallelNumパラメタに「2以上」を指定した場合
    ParallelNumパラメタに2以上を指定した場合、COBOLプログラムはマルチスレッドで動作します。COBOLプログラムをマルチスレッドで動作させる場合は、「NetCOBOL 使用手引書」の「マルチスレッド」を参照してください。


■NetCOBOL製品との組合せについて

マルチスレッド機能は、サーバ向け運用環境製品固有の機能です。
マルチスレッド機能を使用する場合、マルチスレッド機能を使用できるNetCOBOL製品を使用してください。
Windows版の製品は、製品名に文字列「サーバ運用」が含まれている場合は、マルチスレッド機能を使用できます。製品名に文字列「クライアント運用」が含まれている場合は、マルチスレッド機能を使用できません。Solaris版およびLinux版の製品は、すべての製品でマルチスレッド機能を使用することができます。
マルチスレッド機能を使用できる製品名を以下に示します。


 Windowsの場合
  • Windows x86版 NetCOBOL Base Edition サーバ運用パッケージ
  • Windows x86版 NetCOBOL Standard Edition サーバ運用パッケージ
  • Windows x86版 NetCOBOL Enterprise Edition サーバ運用パッケージ
  • Windows x64版 NetCOBOL Enterprise Edition サーバ運用パッケージ

 Solarisの場合
  • Solaris版 NetCOBOL Base Edition 開発・運用パッケージ
  • Solaris版 NetCOBOL Standard Edition 開発・運用パッケージ
  • Solaris版 NetCOBOL Professional Edition 開発・運用パッケージ
  • Solaris版 NetCOBOL Enterprise Edition 開発・運用パッケージ
  • Solaris版 NetCOBOL Base Edition 運用パッケージ
  • Solaris版 NetCOBOL Standard Edition 運用パッケージ
  • Solaris版 NetCOBOL Enterprise Edition 運用パッケージ

 Linuxの場合
  • Linux x86版 NetCOBOL Base Edition 開発・運用パッケージ
  • Linux x86版 NetCOBOL Standard Edition 開発・運用パッケージ
  • Linux x86版 NetCOBOL Enterprise Edition 開発・運用パッケージ
  • Linux Intel64版 NetCOBOL Enterprise Edition 開発・運用パッケージ
  • Linux x86版 NetCOBOL Base Edition 運用パッケージ
  • Linux x86版 NetCOBOL Standard Edition 運用パッケージ
  • Linux x86版 NetCOBOL Enterprise Edition 運用パッケージ
  • Linux Intel64版 NetCOBOL Enterprise Edition 運用パッケージ
製品・サービス区分 Interstage
製品・サービス情報
対象製品 Interstage Data Effector
バージョン V9
プラットフォーム Windows, Solaris, Linux
アンサー種別 設計/開発
このページの先頭へ