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 keyids:

  1. HeaderVVO
  2. TeachersVVO
  3. 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.

Другие вопросы по тегам