Как да създадете нов запис и да отворите страница в APEX 5

Опитвам се да свържа „Изпълнение на PL/SQL код“ към бутон с помощта на динамични действия, след което отворя страница с новия идентификатор (execid)

begin
insert into SMIG_EXECUTION(EXECNAME, CALL, STEPID, DURATIONMIN)
values('bla bla',REPLACE(:P31_CALLTEMPLATE,'#STEPID#',to_char(:P31_STEPID)), :P31_STEPID, 0)

returning execid into :P31_NEWEXECID ;
end;

PL/SQL кодът работи, но не мога да се отърся от връзката за отваряне на новата страница като динамично действие и предаване на тази нова стойност като P2_EXECID.

въведете описание на изображението тук


person PollusB    schedule 06.11.2015    source източник
comment
къде е кодът/линкът за отваряне на нова страница?   -  person brenners1302    schedule 09.11.2015
comment
Благодаря, Саймън, зададохте въпроса, който задавам. Ако знам къде е, няма нужда да питам. Как мога да отворя страница с помощта на динамично действие?   -  person PollusB    schedule 09.11.2015
comment
По какъв начин искате да отворите нова страница? Просто навигирайте до страница с подробности с новия идентификатор? Или говориш за модален диалог?   -  person Tom    schedule 09.11.2015
comment
Искам да отворя страница СЛЕД 2-те динамични действия по-горе. Не виждам никакво динамично действие за отваряне на страница. Бутонът ИЗПЪЛНЕНИЕ може да съдържа {Изпращане на страница, Пренасочване към страница в това приложение или Дефинирано от динамично действие} Моят бутон се дефинира с по-късния. Но също така искам да отворя страница, което ме накара да повярвам, че не мога да направя и двете, защото нямам отворена страница в динамично действие.   -  person PollusB    schedule 09.11.2015
comment
Просто не разбирам защо искате да отворите нова страница, след като сте пуснали DA's. Какво не е наред с използването на клон?   -  person Tom    schedule 10.11.2015
comment
Бих искал да се разклоня. Как мога да разклоня с помощта на динамични действия?   -  person PollusB    schedule 12.11.2015


Отговори (1)


Можете да постигнете това, като използвате window.open() (javascript функция)

методът open() отваря нов прозорец на браузъра.

  • #P3#
  • #P4#
  • #P5#
    window.open('f?p='+$v('pFlowId')+':'+$v('pFlowStepId')+':'+$v('pFlowInstance')+'::::<page item here>:<value of the item to be passed>:','_self');
    

Забележка:
$v('pFlowId') => ИДЕНТИФИКАТОР НА ПРИЛОЖЕНИЕТО
$v('pFlowStepId') => НОМЕР НА СТРАНИЦА
$v('pFlowInstance') => ИДЕНТИФИКАТОР НА СЕСИЯ

  • Ако трябва да бъдат предадени няколко елемента/стойности, можете да направите това, като посочите елементите/стойностите със запетая като разделител

    т.е. 'f?p=.....:P2_ITEM1,P2_ITEM2,P2_ITEM3:1,2,3:';

РЕДАКТИРАНЕ: добавен втори параметър

person brenners1302    schedule 10.11.2015
comment
Изглежда не работи. И не бих искал да отварям нов прозорец, затова се опитвам да намеря друга алтернатива. - person PollusB; 12.11.2015
comment
можете ли да публикувате тук какво сте направили във вашето динамично действие? Вторият параметър на отворените методи ви позволява да решите къде искате да отворите URL адреса (главна страница, нов раздел или нов прозорец). - person brenners1302; 12.11.2015