RUL-05717: идентификатор "xyz" здесь недействителен
Я пытаюсь добавить правила в свой словарь Oracle через программирование в ADF и JDeveloper:
Rule rule = ruleset.getRuleTable().add();
rule.setName(aliasRule);
rule.setAlias(aliasRule);
rule.setPriority(property);
rule.setAdvancedMode(true);
rule.setDescription(description);
return rule;
затем:
diccionaryRules.validate(exceptions, warnings);
У меня есть три предупреждения с одним и тем же сообщением:
RUL-05717: The identifier "Header.Teachers.Courses"
здесь недействительно
Где в моем файле Oracle.rules у меня есть три viewobjects
связаны ссылками через private key
ids
:
- HeaderVVO
- TeachersVVO
- CoursesVVO
И маршрут правильный Header.Teachers.Courses
,
Я создал выражение из следующего пути:
Header.Teachers
от:
Expression ePath = simpleTest.getExpressionTable().get(0);
ePath.setValue("Header.Teachers");
// Here comes some validation
List<SDKWarning> warnings = new ArrayList<SDKWarning>();
List<SDKException> exceptions = new ArrayList<SDKException>();
ePath.validate(exceptions, warnings);
это не дает предупреждений, но это:
ePath.setValue("Header.Teachers.Courses");
дает вышеупомянутое предупреждение.
Я не знаю, почему я получаю эти предупреждения.
1 ответ
Вы должны предположить, что большинство людей, пытающихся ответить на этот вопрос (включая меня), хотя и хорошо разбираются в ADF, мало знают о правилах Oracle.
Это, как говорится, похоже на проблему на стороне правил, а не на АПД. Как я вижу, вы используете объекты представления, вы, вероятно, можете проверить эту логику интеграции из Business Components Tester и внедрить свою логику правил с помощью пользовательских методов модулей приложения.
В итоге вы создаете клиент правил из Java, это не имеет прямого отношения к ADF. Если вы можете заставить свой клиент работать из метода java main (String [] args), он также будет работать и из ADF.