Динамическое действие не получает значение элемента страницы - Apex 5.1 - PullRequest
0 голосов
/ 05 июня 2018

У меня есть страница с 2 полями даты и кнопкой.Создается динамическое действие с кодом PLSQL, который ссылается на значение из двух полей даты.По какой-то причине значения элемента страницы не передаются в динамическом действии.Когда я использую постоянные значения, DA работает без проблем, но когда я ссылаюсь на значения элемента, он не работает.Понятия не имею почему.Может кто-нибудь, пожалуйста, помогите ??

Я включил код DA (не работает) и DA, который работает.

Не работает DA

DECLARE
    I_VCNAME VARCHAR2(200);
    I_LPARAMS PK_JRXML2PDF_REPGEN.TPARAMLIST;
    I_VCDIR VARCHAR2(200);
    I_VCFILENAME VARCHAR2(200);
    bl BLOB;
BEGIN
    I_VCNAME:='Fundraiser_Stats';
    I_VCDIR := 'FUNDAMENTAL_FTP';
    I_LPARAMS(1).vcName:='date_from';
    I_LPARAMS(1).vcValue:=:R1_FROM_DATE;
    I_LPARAMS(2).vcName:='date_to';
    I_LPARAMS(2).vcValue:=:R1_TO_DATE;
    I_LPARAMS(3).vcName:='fundraiser';

    FOR fundraiser_name IN (SELECT DISTINCT B.FUNDRAISER fundraiser FROM WAYSACT_SRC_VW A, PLEDGE_EXT B WHERE A.PLEDGE_ID = B.PLEDGE_ID
                       AND A.PLEDGE_DATE BETWEEN :R1_FROM_DATE AND :R1_TO_DATE)
        LOOP
            I_LPARAMS(3).vcValue:= fundraiser_name.fundraiser;
            I_VCFILENAME := fundraiser_name.fundraiser||'-'||to_char(sysdate,'dd-Mon-yyyy')||'.pdf';
            PK_JRXML2PDF_REPGEN.PR_RUN_TO_FILE(I_VCNAME => I_VCNAME, I_LPARAMS => I_LPARAMS, I_VCDIR => I_VCDIR,I_VCFILENAME => I_VCFILENAME);
    END LOOP fundraiser_name;
    --APEX_APPLICATION.STOP_APEX_ENGINE;
END;

Рабочая DA:

DECLARE
    I_VCNAME VARCHAR2(200);
    I_LPARAMS PK_JRXML2PDF_REPGEN.TPARAMLIST;
    I_VCDIR VARCHAR2(200);
    I_VCFILENAME VARCHAR2(200);
    bl BLOB;
BEGIN
    I_VCNAME:='Fundraiser_Stats';
    I_VCDIR := 'FUNDAMENTAL_FTP';
    I_LPARAMS(1).vcName:='date_from';
    I_LPARAMS(1).vcValue:='02-jun-2018';
    I_LPARAMS(2).vcName:='date_to';
    I_LPARAMS(2).vcValue:='02-jun-2018';
    I_LPARAMS(3).vcName:='fundraiser';

    FOR fundraiser_name IN (SELECT DISTINCT B.FUNDRAISER fundraiser FROM WAYSACT_SRC_VW A, PLEDGE_EXT B WHERE A.PLEDGE_ID = B.PLEDGE_ID
                       AND A.PLEDGE_DATE BETWEEN '02-jun-2018' AND '02-jun-2018')
        LOOP
            I_LPARAMS(3).vcValue:= fundraiser_name.fundraiser;
            I_VCFILENAME := fundraiser_name.fundraiser||'-'||to_char(sysdate,'dd-Mon-yyyy')||'.pdf';
            PK_JRXML2PDF_REPGEN.PR_RUN_TO_FILE(I_VCNAME => I_VCNAME, I_LPARAMS => I_LPARAMS, I_VCDIR => I_VCDIR,I_VCFILENAME => I_VCFILENAME);
    END LOOP fundraiser_name;
    --APEX_APPLICATION.STOP_APEX_ENGINE;
END;

1 Ответ

0 голосов
/ 05 июня 2018

Это динамическое действие «Выполнить код PL / SQL», не так ли?В разделе «Настройки» DA есть поле « Элементы для отправки » - введите названия всех элементов, которые вы используете в этом коде;Я заметил

R1_FROM_DATE, R1_TO_DATE

Вы узнаете, есть ли дополнительные.Если это так, включите их в список.

...