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(Windows) または /javaee(UNIX) ディレクトリに格納されています。

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