Tivoli Service Desk 6.0 Developer's Toolkit ツールおよびユーティリティーの手引き

第 5 章 5: Developer's Toolkit インタープリター

目次に戻る


概要

概説

Developer's Toolkit インタープリターは、Developer's Toolkit 実行時システムのコアです。Developer's Toolkit インタープリターは、Developer's Toolkit アプリケーションから構成されるステートメントと式を実行します。

.kb ファイルの検索

知識ベースのディレクトリーの検査

Developer's Toolkit インタープリターが明示的に指定されていないディレクトリーを検索するときには、次の順序でディレクトリーを調べます。

  1. -u (または -f) 引き数によるか、またはファイル名の指定の一部として他の .kb ファイルについてコマンド・プロンプトで指定されたディレクトリー。
  2. 現行ディレクトリー
  3. kmli510 ライブラリーが含まれているディレクトリー (Windows および OS/2 の場合のみ)
  4. SAIPATH に指定されたディレクトリー
  5. dpath に指定されたディレクトリー (OS/2 のみ)
  6. パスに指定されたディレクトリー

コマンド・プロンプトの引き数

Developer's Toolkit インタープリターのコマンド・プロンプトの引き数

Developer's Toolkit インタープリターは、次の構文のコマンド・プロンプトからの引き数を受け入れます。

kml [option ...] .kb file

有効な Developer's Toolkit インタープリターの引き数には、次の表にリストされた引き数が含まれます。

注: これらの引き数は UNIX では大文字です。

引き数 コメント
-u<path > 使用 渡されたパスにあるディレクトリーを、検索するディレクトリーのリストに追加します。これは、root .kb ファイルで使用された .kb ファイルに対応する .kbc ファイルを見つけたときに行なわれます。 (root .kb ファイルは他の .kb ファイルに対する親です。). このパスは、セミコロンで区切られた多くの修飾ディレクトリー名から構成されることがあります。

注: UNIX ではコロンが必要です。

-t トレース (デバッガー) Developer's Toolkit インタープリターをトレース・モードで開始します。 Developer's Toolkit インタープリターは、root .kb ファイルの 1 行目を実行する前に、Developer's Toolkit デバッガーに入ります。
-l ログ Developer's Toolkit インタープリターに、ログ・メッセージを kml.log という名前のファイルに書き込ませます。これは、kml.log ファイルのステートメントごとに現行ディレクトリーで行なわれます。このオプションは、大量のディスク・スペースを消費してアプリケーションの実行を遅くする可能性があるので、注意して使用してください。
-o 最適化オフ .kbc ファイルの要求時ロードをオフにします。
-? -HELP

-H

ヘルプ 受け入れるコマンド行スイッチの簡単な要約を表示します。
-d DLLname プログラムの初期化中に dll を "プリロード" します。これは、主として開発中のデバッグのために使用されます。
-c ディレクトリー プログラムの初期化中に現行ドライブまたはディレクトリー (あるいはその両方) を変更します。
-f KBCfilename ロードする 1 つまたは複数の .kbc ファイルを指定する代替方式として使用されます。1 つのコマンド・プロンプトで複数の -f=<filename > を指定することができます。また、USES チェーンによって関連づけされていないプロセスに複数の .kbc をロードすることもできます。.kbc ファイルは解析時に他の .kbc ファイルを認識しませんが、CallFunction ステートメントを介して前後に呼び出すことができます。 root .kb ファイルは、常にコマンド・プロンプトで -F によって指定される最後のファイルになります。
-p netPort Developer's Toolkit のネットワーキング拡張をサポートします。

インタープリターのエラー

Developer's Toolkit インタープリターのエラー

次の表に、Developer's Toolkit インタープリターで報告されたエラー条件を要約して示します。

エラー 説明
外部ルーチン <routine > に対して Developer's Toolkit の引き数をパックしようとしているときに、タイプ変換が失敗しました。 外部ルーチンに引き数として渡された値を、そのルーチンが必要とするタイプに変換できません。
外部ルーチン <routine > から Developer's Toolkit 形式に戻された値を変換しようとしているときに、内部エラーが起こりました。 これはアンダーフロー条件を示しており、外部ルーチンから戻された値が外部ルーチンに対して宣言されたタイプに適合していません。
外部ルーチン <routine > の引き数リストのパック中に、使用可能な最大記憶域を超えました。 外部ルーチンの引き数リスト全体が、Developer's Toolkit インタープリターによって課された 4096- バイトの限界を超えました。
外部ルーチン <routine > の呼び出し時に、$UNKNOWN を有効な C/C++ に変換できません。 外部ルーチンにパラメーターとして (またはパラメーターとして渡されたレコードのフィールドとして) 不明な値が渡されて、ルーチンが必要としているタイプにデフォルト値が指定されていません。値を C または C++ ルーチンに渡す方法はありません。
メモリー不足 Developer's Toolkit インタープリターが、追加のメモリーを割り振ることができません。
"<ファイル名 >" の <行番号 > 行目で内部エラーが検出されました。 Developer's Toolkit インタープリター内にエラー条件が存在します。ファイル名と行番号を記録して IBM サポート・センター (ISC) に連絡してください。
指標 <n > が境界外 コードが、中に n アイテムしか入っていない配列またはリストの n 番目のアイテムにアクセスしようとしました。
<filename > 動的リンク・ライブラリー (DLL) をロードできません。 指定されたライブラリーが見つかりません。ライブラリーが存在していてパスに入っていることを確認してください。
機能 < > (<filename >) が実行されません。 Developer's Toolkit インタープリターが、指定された機能にアクセスできませんでした。正しいバージョンの Developer's Toolkit をインストールしていて、それがシステムで使用可能な唯一のバージョンであることを確認してください。
ファイル "<ファイル名 >" の読み取り時にエラーが起こりました。 これは、ファイルが読み取り専用の設定になっているか、ファイルが存在しないかまたは削除されているか、あるいはディスクまたはネットワークの障害によって起こっていることがあります。
$EventParm #<n > が存在しません。有効な範囲は 1 - <n > です。 Developer's Toolkit Script 言語解説書 でイベントに有効なイベント・パラメーターを調べてください。
EventParm #<n > のタイプ (<type >) が宣言されたタイプ (<type >) と一致しません。 Developer's Toolkit Script 言語解説書 でイベントに有効なイベント・パラメーターを調べてください。
$EventParm #<n > への割り当ては、参照によって渡されていないので違法です。 $EventParm 割り当てが違法です。この割り当ては、イベント・ハンドラーのインスタンス・データまたはグローバル変数のフィールドを使用して避けることができます。
ファイル "<filename >" を無効なモード <mode > でオープンしようとしています。 示された内部定数 ($Read$Write、または $Create) を使用してファイルをオープンしてください。
機能 <name > の仮パラメーター・リストをコマンド行の引き数にバインドすることはできません。 機能の引き数が正しいタイプのものであることを確認してください。このエラーは、再解析が必要な古い .kbc ファイルによって起こっていることもあります。
ファイル "<filename >" をオープンできません。 これは、ファイルが読み取り専用の設定になっているか、ファイルが存在しないかまたは削除されているか、あるいはディスクまたはネットワークの障害によって起こっていることがあります。
ファイルがコンパイル済みの知識ベース <filename > ではありません。 現行ディレクトリーに入っているか、またはこの章ですでに示しているパスの 1 つに入っている .kbc (.kb ではない) の名前を指定していることを確認してください。詳細については、.kb ファイルの検索の項を参照してください。
ファイル <filename > が廃止されたバージョンのパーサーで解析されています。 この問題を避けるために、.kb ファイルを -b パラメーター (ビルド) で再解析してください。
ファイル <name >.kbc が正しく生成されていません。対応する知識ベースを再解析してください。 .kbc ファイルが壊れています。再解析する必要があります。
ファイル <filename > が知識ベース <name > に対して古いものです。 この問題を避けるために、ファイルを -b パラメーター (ビルド) で再解析してください。
<filename > でゼロによる除算 Developer's Toolkit デバッガーを使用して、ゼロによる除算が行なわれている場所を調べて、追加のコードを加えてこれを防止してください。
負の数 <n > の平方根 Developer's Toolkit デバッガーを使用して、これが行なわれている場所を調べて、追加のコードを加えてこれを防止してください。
不明の値を文字列 "<name >" の文字 #<n > に割り当てようとしています。 Developer's Toolkit のコードで次のような操作を実行しようとしています。
 TYPES
s : string;
ACTIONS
s[5] := $UNKNOWN;
END;

Developer's Toolkit デバッガーを使用して、これが行なわれている場所を調べて、追加のコードを加えてこれを防止してください。

認識されないオプション <option > Developer's Toolkit インタープリターのコマンド・プロンプトで使用した構文が認識されません。
アプリケーション内に 65535 個を超えるタイプが定義されました .kb ファイルが特に大きい場合を除き、このエラーは内部エラーによって起こっているか、または .kbc ファイルが壊れている可能性があります。再解析してやり直してください。
文字列 {{<reference string >}} を値と置き換えることができません。 参照文字列のどこかが無効です。
無効な bind パラメーターが見つかりました。パラメーターの構文が正しくないか、またはマーカーと関連づけるパラメーター・データがありません。 SQL 関数呼び出しの構文にエラーがあります。
"<name >" という名前の項目に、サポートされていないタイプ (<typespec >) があります。 これは、内部エラーか、.kbc ファイルが古いかまたは壊れているために起こっている可能性があります。再解析してやり直してください。
知識ベース <name > に入力ルーチンがありません。 有効な入力ルーチンは次の要件に適合するプロシージャーです。
  1. 関数ではなくてプロシージャーである
  2. モジュールの有効範囲にある (たとえば、別のルーチンにネストされていない)
  3. PUBLIC 関数として定義されている
<drive letter > をデフォルトのドライブにすることができません。 示された文字のドライブが存在することを確認してください。
"<name >" を現行ディレクトリーにすることができません。 示されたディレクトリーが存在することを確認してください。
名前が <filename > のファイルが見つかりません。代わりに <filename >を使用しています。この動作は将来のリリースではサポートされません。 .kb ファイルの USES セクションに .kb ファイル名を指定する場合には、その .kb ファイルが入っているファイルと同じ大文字または小文字でなければなりません。.kb ファイルが同じ大文字または小文字を使用していないと、Developer's Toolkit インタープリターはこれを見つけることができず、エラー・メッセージが表示されます。

Tivoli Service Desk 6.0 Developer's Toolkit ツールおよびユーティリティーの手引き

目次に戻る

著作権