2017-01-24 11 views
0

は、私は、フィールドActualDelivery日が空であるかどうかチェックするJavaエージェントを持っているかどうかを確認するために:同じフィールド名、異なるデータ型どのようにIBMのノートで空

String ActualDeliveryDate = orderRegelDocument.getItemValueString("ActualDeliverydate"); 
if (ActualDeliveryDate.equals("") ){ 

しかし、問題は、このフィールドActualDeliverydateがあるということです一部のドキュメントではテキストフィールド、一部のドキュメントではDateTimeフィールドとして設定されています。テキストフィールドであることを知り、その文字列を取得する方法と、DateTimeとして取得する方法を教えてください。ので、ちょうどそれを見て、それをデバッグ、

答えて

2

項目値の代わりにを入手してください。項目のType propertyを確認し、必要に応じて変換を行う

Item theItem orderRegelDocument.getFirstItem("ActualDeliverydate"); 

その後:

String ActualDeliveryDate; 
if (theItem.getType() == Item.DATETIMES) 
{ 
DateTime dt = theItem.getDateTimeValue(); 
ActualDeliveryDate = dt.getLocalTime(); 
} 
else 
{ 
ActualDeliveryDate = orderRegelDocument.getItemValueString("ActualDeliverydate"); 
} 
-1

私はIBMのノートを使用していないが、これは

Object actualDeliveryDate = orderRegelDocument.getItemValue("ActualDeliverydate"); 
if(actualDeliveryDate instanceOf String){ 
    //compare with a string 
}else if(actualDeliveryDate instanceOf Date){ 
    //do something else 
} 

私が使用しているactuelオブジェクトについて知らない動作するはずです。

+0

getItemValueString()は常に文字列を返します。代わりに 'orderRegelDocument.getItemValue(" ActualDeliverydate ")。elementAt(0)'を使用してください。 –

+0

'String'は' Date'ではありません。 – CKing

+0

@KnutHerrmann私は最終的にactualDeliveryDate instanceOf datetimeを実行できますか? – YdB

0

Aditionally、あなたは文書から空の日時や番号フィールドを削除することができます。従来のNotes開発では、InputValidationという単純な@If(@Text(@ThisValue) = ""; @DeleteField; @ThisValue)で作業を行うことができます。

関連する問題