カスタムスケジューラルールのコンパイルとリンク

スケジューラのユーザコードをコンパイルし、リンクするには、Microsoft Visual C++ Version 6.0 Service Pack 3 以上が必要です。コマンドプロンプトから使用するための設定オプションをオンにして Microsoft Visual C++ をインストールしていない場合は、PATH、LIB、および INCLUDE 環境変数が正しく設定されない可能性があります。これらの変数を設定するには、VCVARS32.BAT を実行します。このファイルは Visual C++ インストールの \bin サブディレクトリにあります。

カスタムルールの作成に必要な手順のサマリは、「カスタムスケジュールルールの作成」を参照してください。

カスタムのスケジューラルールをコンパイルしてリンクするには、次の手順に従います。

  1. データベースディレクトリを作成し、MAKEFILE および USER.DEF の各ファイルを \Program Files\Infor\Scheduler\USERCODE ディレクトリからそのディレクトリにコピーします。例:

    $ cd USERCODE

    $ mkdir mydb

    $ cd mydb

    $ copy ..\MAKEFILE

    $ copy ..\USER.DEF

  2. MAKEFILE を編集し、ファイルの冒頭近くにある「OBJFILES」行を変更して、.C カスタムコードファイルをリストするようにします。ファイルを指定する際は、.C ファイル拡張子の代わりに、.OBJ ファイル拡張子を使用する必要があります。たとえば、FILE1.C、FILE2.C、および FILE3.C は次のように指定されます。

    OBJFILES = file1.obj file2.obj file3.obj

    大文字小文字は区別しなくてかまいません。ほとんどの場合、このファイルでは何も変更する必要はありません。ただし、カスタムコンパイルやリンクオプション、またはプログラムにリンクする追加のライブラリ用に、その他の変数が用意されています。

  3. カスタムコードが uccschd0 または uccsched などの関数を呼び出す場合は次のステップを実行する必要があります。それ以外の場合はステップ 4 へ進んでください。

    カスタムイベントをスケジュールする場合、リンカで使用する .DEF ファイルに関数宣言の行を追加する必要があります。詳細については、弊社サポートサイトからダウンロードできる、 『Scheduling Customization Guide』 (スケジューリングカスタマイズガイド)を参照してください。上記資料に記載されているように、AIM_SUSR.DEF ファイルをコピーしたり編集したりする代わりに、ステップ 1 でコピーした USER.DEF ファイルを編集する必要があります。USER.DEF ファイルの最後に、カスタムイベント関数の名前で構成される行を追加します。.C ファイルに表示された名前と大文字小文字が一致する必要があります。各カスタムイベント関数に関してこのステップを繰り返します。

  4. これで、NMAKE コマンドの実行によりコンパイルとリンクを実行できるようになります。MS-DOS コマンドプロンプトで、ディレクトリをデータベースディレクトリに変更し、NMAKE コマンドを実行します。このコマンドは、MAKEFILE ファイルを読み取り、その命令に従い、ユーザコードをコンパイルし、リンクします。処理を続行する前に、コンパイルまたはリンクのエラーを全て修正してください。例:

    $ cd USERCODE\mydb

    $ nmake

  5. これで、スケジューラを実行できます。スケジューラはカスタムコードを使用します。カスタムコードを変更するたびに、このプロセスで該当するステップを繰り返す必要があります。
関連トピック