私は WODM ルール デザイナー V7.5 を使用しています。私の XOMはXSD です。
トランザクションの日付を現在の日付と比較する必要があるため、クライアントがトランザクションを行う場合、アカウントの有効期限は 1 年ずつ増加する必要があります。
XOMの日付は文字列なので、BOM のBOM TO XOM MAPPING部分で2 つのメソッドを作成しました。
実際の日付を文字列として返し、次のように言語化します:カレンダーの今日
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); Date date = new Date(); String s = dateFormat.format(date); return s;
文字列を取り、それを日付形式に変換し、年に 1 を加えて、次のように言語化した文字列を返します: {this} NewDate ({0})
String[] splitdata = d1.split("-"); int month = Integer.parseInt(splitdata[0]); int day = Integer.parseInt(splitdata[1]); int year = Integer.parseInt(splitdata[2]); Calendar cal = Calendar.getInstance(); cal.set(year, month, day); Date date = cal.getTime(); date.setYear(date.getYear() + 1); DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); String s = dateFormat.format(date); return s;
ルールは次のとおりです。
definitions
set 'variable1' to calendar NewDate (the transaction date of transaction) ;
if
the transaction date of transaction is today on the calendar
then
set the expiration date of account to variable1 ;
「2013-05-13」のように取引日を入力します。有効期限変数に「2014-05-13」と期待していましたが、この0181-10-05を取得しました
誰でも助けることができますか?ありがとう。