|
|
|
создание ID счета с помощью FND_KEY_FLEX.DEFINE (OeBS)
|
|||
|---|---|---|---|
|
#18+
Добрый день! Задача: необходимо "прикрутить" к форме функционал стандартного ОГП выбора счета. Нашел несколько инструкций (Oracle Developer Guide, статьи в интернете, которые по сути повторяют первый источник). Все сделал по шагам. Стандарная форма отображается. Всё в ней выбирается, но есть загвоздка. Если счет уже существует в стандартной таблице (GL_CODE_COMBINATION), то форма прекрасно его находит и возвращает мне ID этого счета (CODE_COMBINATION_ID). А вот если счета не существует, то форма, почему-то, новый ID не создает, хотя в guide написано, что должна бы. Инициализация моего ОГП. FND_KEY_FLEX.DEFINE( BLOCK=>'TRANSACTIONS', FIELD=>'ACCOUNT_FLEXFIELD', APPL_SHORT_NAME=> FLEX_FIELD_PKG.G_APPL_SHORT_NAME, CODE=>FLEX_FIELD_PKG.g_id_flex_code, NUM=>v_cao, ID=>'CODE_COMBINATION_ID', DESCRIPTION=>'', VALIDATE=>'FULL', QBE_IN=>'Y', DERIVE_ALWAYS=>'Y', REQUIRED =>'N', updateable => 'ALL', insertable => 'ALL', VRULE=>'\\nSUMMARY_FLAG\\nI\\nAPPL=SQLGL;NAME=GL_NO_PARENT_SEGMENT_ALLOWED\\nN', where_clause => 'summary_flag != ''Y''', QUERY_SECURITY =>'Y' ); Что я сделал не так или что забыл? От чего зависит создание нового счета? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 12:07 |
|
||
|
создание ID счета с помощью FND_KEY_FLEX.DEFINE (OeBS)
|
|||
|---|---|---|---|
|
#18+
grilliant, Открой в Forms Builder любую стандартную форму, в которой есть создание счета, и посмотри как там реализовано: при отсутствии введнной комбинации она создается отдеьным PL/SQL кодом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 13:40 |
|
||
|
создание ID счета с помощью FND_KEY_FLEX.DEFINE (OeBS)
|
|||
|---|---|---|---|
|
#18+
Через FND_KEY_FLEX.DEFINE создать счет точно не получится. grilliantСтандарная форма отображается. Что это за форма? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 13:46 |
|
||
|
создание ID счета с помощью FND_KEY_FLEX.DEFINE (OeBS)
|
|||
|---|---|---|---|
|
#18+
hominisЧерез FND_KEY_FLEX.DEFINE создать счет точно не получится. grilliantСтандарная форма отображается. Что это за форма? Как выложить скриншот? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 14:06 |
|
||
|
создание ID счета с помощью FND_KEY_FLEX.DEFINE (OeBS)
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 14:11 |
|
||
|
создание ID счета с помощью FND_KEY_FLEX.DEFINE (OeBS)
|
|||
|---|---|---|---|
|
#18+
Я так понял, что отдельного пакета для создания комбинации счета нету. Поэтому можно создать тупо вставкой в таблицу, примерно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. В вашем варианте, значения могут быть другие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 14:21 |
|
||
|
создание ID счета с помощью FND_KEY_FLEX.DEFINE (OeBS)
|
|||
|---|---|---|---|
|
#18+
спасибо, что помогаете.. подобные функции мне знакомы fnd_flex_ext.get_ccid fnd_flex_ext.get_combination_id но мне казалось, что эта махина сама все это делает.. сейчас еще раз в guide уточнюсь.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 14:33 |
|
||
|
создание ID счета с помощью FND_KEY_FLEX.DEFINE (OeBS)
|
|||
|---|---|---|---|
|
#18+
hominisЯ так понял, что отдельного пакета для создания комбинации счета нету. Есть. fnd_flex_ext.get_ccid ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 14:35 |
|
||
|
создание ID счета с помощью FND_KEY_FLEX.DEFINE (OeBS)
|
|||
|---|---|---|---|
|
#18+
Проще снять трассу с формы и посмотреть, как там делается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 14:36 |
|
||
|
создание ID счета с помощью FND_KEY_FLEX.DEFINE (OeBS)
|
|||
|---|---|---|---|
|
#18+
я вроде когда-то пользовал Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 14:53 |
|
||
|
создание ID счета с помощью FND_KEY_FLEX.DEFINE (OeBS)
|
|||
|---|---|---|---|
|
#18+
параметр VALIDATE 14 – 38 Oracle Applications Developer’s Guide Key or range flexfields only. For a key flexfield, you typically use FOR_INSERT for a combinations form and FULL for a foreign key form. For a range flexfield, you typically use NONE to allow users to enter any value into a segment or PARTIAL to ensure that users enter valid individual segment values that do not necessarily make up an actual valid combination. Use a validation type of FULL for a foreign key form to validate all segment values and generate a new code combination and dynamically insert it into the combinations table when necessary. If you specify FULL, your flexfield checks the values your user enters against the existing code combinations in the code combinations table. If the combination exists, your flexfield retrieves the code combination ID. If the combination does not exist, your flexfield creates the code combination ID and inserts the combination into the combinations table. If you (or an installer) define the flexfield structure with Dynamic Inserts Allowed set to ”No”, then your flexfield issues an error message when a user enters a combination that does not already exist. In this case, your flexfield does not create the new code combination. FULL is the usual argument for a form with a foreign key reference. Я правильно понимаю, что здесь написано? функция сама создает новый счет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 15:11 |
|
||
|
создание ID счета с помощью FND_KEY_FLEX.DEFINE (OeBS)
|
|||
|---|---|---|---|
|
#18+
Ошибка была моя, совершенно в неожиданном месте. Все прекрасно работает в том виде в каком описано в guide. Всем спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2010, 16:16 |
|
||
|
создание ID счета с помощью FND_KEY_FLEX.DEFINE (OeBS)
|
|||
|---|---|---|---|
|
#18+
Доброго всем! Делаю все шаги по доке, но не получается вернуть ID из окна КГП в форму(( В форме сделано следующее: в блоке создано 2 поля: LOCATOR (database item=No, LOV = ENABLE_LIST_LAMP, Validate from List = No) LOCATOR_ID (database item=yes) -- в WNFI fnd_key_flex.define ( BLOCK => 'PERSON_NORM' , FIELD => 'LOCATOR' , ID => 'LOCATOR_ID' , appl_short_name => 'INV' , code => 'MTLL' , num => locator_num , data_set => ':PARAMETER.ORG_ID' , required => 'N' , displayable => 'ALL' , VALIDATE => 'FULL' , QBE_IN => 'Y' , DERIVE_ALWAYS=>'Y' , QUERY_SECURITY =>'Y' , USEDBFLDS => 'N' , where_clause => '(DISABLE_DATE > SYSDATE or DISABLE_DATE IS NULL) AND SUBINVENTORY_CODE = :PERSON_NORM.SUBINVENTORY' , COLUMN => 'DESCRIPTION \\\"MyDesc\\\"(240)' , -- NO_COMBMSG => 'INV_LOCATOR_NOT_AVAILABLE', no_combmsg => 'FLEX-COMBINATION DISABLED' ); -- в соответствующих триггерах fnd_flex.event(<event_name>); -------- При попадании курсора на поле LOCATOR окно с выбором КГП выскакивает как надо, вываливает правильный список локаторов, пробую выбрать - окно исчезает, и поле LOCATOR остается пустым. Что не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2010, 08:31 |
|
||
|
|

start [/forum/topic.php?fid=51&gotonew=1&tid=1878812]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
171ms |
get topic data: |
12ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 247ms |
| total: | 535ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...