NullSearch ユーティリティ

NullSearch ユーティリティは、実行時に Enterprise Server に渡されたカスタム レコード クラスに含まれる NULL 値フィールドを識別します。NULL 値フィールドは無効であり、ランタイムの実行を妨げます。

NullSearch を使用するシナリオ

Enterprise Server に渡されたカスタム レコード マッピングに NULL 値フィールドが 1 つでも含まれていると、実行時に次の一般的なエラー メッセージが返されます。

Sorry cannot have a null as value. Run the NullSearch utility.

NullSearch ユーティリティは、値が NULL であるフィールドを識別します。これは、カスタム レコード マッピングに多数のフィールドが含まれている場合に特に役立ちます。たとえば、顧客レコード A の内部クラス BString 型の 1000 個の要素を含む配列が格納されているとします。それらのいずれかの String 要素の値が NULL であるために実行時に上記のエラー メッセージが表示された場合、NullSearch ユーティリティがなければ、問題のあるフィールドを手動で特定しなければなりません。

NullSearch ユーティリティの使用方法

NullSearch ユーティリティは、Java プログラムから呼び出される nullSearch.jar という名前の Java .jar ファイルとして提供されます。nullSearch.jar は、デフォルトでは %ProgramFiles(x86)%\Micro Focus\Enterprise Developer\javaee ディレクトリに格納されています。

nullSearch.jar を使用する手順は次のとおりです。

  1. nullSearch.jar をシステムの classpath 環境変数に追加します。さらに、検索するカスタム レコードで拡張されるクラスに応じて、次に示す該当する .jar ファイルも nullSearch.jar に加えて追加します。
    拡張されるクラス .jar ファイル
    com.microfocus.cobol.connector.cci.CustomRecord mfejblib.jar
    com.microfocus.cobol.lang.CustomRecord mfcobolpure.jar
  2. Java プログラムで、parseFields メソッドを呼び出す com.microfocus.tools.NullSearch オブジェクトを作成します。次の Java プログラムの例の custom_record はカスタム レコードの名前です。
    public class testSearch {
    	    public static void main(String[] args){
    		        custom_record field = new custom_record();
            		Object[] params = field.getParameters();
    	        	com.microfocus.tools.NullSearch search = new com.mf.NullSearch();
            		search.parseFields(params);	
        	}
    }
  3. Java プログラムを実行します。
  4. 出力でキーワード null を検索します。
    出力は、クラスで識別されるフィールドを列挙したリストで構成されます。次の例では、クラス classA$classE のサブクラス [LclassF$classG$classH; に含まれる 2 番目のフィールド 1.0.2 が NULL フィールドとして識別されています。
    Field 0 is: classA$classB
    Field 0.20 is: classA$classB$classC
    Field 0.24 is: classA$classB$classD
    Field 1 is: classA$classE
    Field 1.0 is: [LclassF$classG$classH;
    Field 1.0.2 is null