ページの先頭行へ戻る
Interstage Data Effector スタートガイド
Interstage

A.6.3 開発

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

可能です。

Data Effectorが呼び出すユーザー定義関数は、C言語のプログラムで作成されている必要があります。このため、COBOL言語で作成されたプログラムを呼び出すようなC言語プログラムを作成してください。

なお、COBOL開発環境にNetCOBOL製品を使用されるときは、以下のビルド(翻訳・リンク)および実行時の注意事項に従ってください。


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

  • 各動作環境ファイルのParallelNumパラメタに「1」を指定した場合

    WindowsWindows x86版 NetCOBOLを使用されている場合

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

    WindowsWindows x64版 NetCOBOLを使用されている場合

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

    SolarisSolaris版 NetCOBOLを使用されている場合

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

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

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

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


  • 各動作環境ファイルのParallelNumパラメタに「2以上」を指定した場合

    WindowsWindows x86版 NetCOBOLを使用されている場合

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

    WindowsWindows x64版 NetCOBOLを使用されている場合

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

    SolarisSolaris版 NetCOBOLを使用されている場合

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

    LinuxLinux 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版の製品は、すべての製品でマルチスレッド機能を使用することができます。

マルチスレッド機能を使用できる製品名を以下に示します。

WindowsWindowsの場合

  • Windows x86版 NetCOBOL Base Edition サーバ運用パッケージ

  • Windows x86版 NetCOBOL Standard Edition サーバ運用パッケージ

  • Windows x86版 NetCOBOL Enterprise Edition サーバ運用パッケージ

  • Windows x64版 NetCOBOL Enterprise Edition サーバ運用パッケージ


SolarisSolarisの場合

  • 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 運用パッケージ


LinuxLinuxの場合

  • 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 運用パッケージ