poniedziałek, 29 września 2014

Wykorzystanie parametrów (apex.server.process)

Kontynuując poprzedni wpis, tym razem pokażę w jaki sposób można wykorzystywać parametry poprzez apex.server.process, oraz jak odwoływać się do przekazanej wartości.

Poprzedni wpis dotyczący wykorzystania apex.server.process do zapisywania wartości Item do sesji, można znaleźć tutaj.

Załóżmy, że chcemy wykorzystać dwa parametry.
Korzystając z apex.server.process, możemy wykonać to w następujący sposób:


-- Kod zadziała tylko uruchomiony w aplikacji APEX !


apex.server.process ( "dummy", {
    x01: 'wartość parametru 1', 
    x02: 'wartość parametru 2'
},{
    dataType: 'text',
    success: function( pData ) { alert(pData); }
} );

Przykład odwołania się w "Application process":

begin
    htp.p('Wartosc parametru 1 wynosi: '||apex_application.g_x01);
    htp.p('Wartosc parametru 2 wynosi: '||apex_application.g_x02);
end;


Pamiętajmy, że domyślnie możemy wykorzystać maksymalnie dziesięć parametrów (od g_x01 do g_x10).
Co zrobić kiedy funkcjonalność będzie wymagać wykorzystania większej ilości parametrów?
Możemy utworzyć własne "Application Items" i wykorzystać je w apex.server.process.

-- Kod zadziała tylko uruchomiony w aplikacji APEX !

apex.server.process ( "dummy", {
    x01: 'wartość parametru 1', 
    x02: 'wartość parametru 2',
    x03: 'wartość parametru 3', 
    x04: 'wartość parametru 4',
    x05: 'wartość parametru 5', 
    x06: 'wartość parametru 6',
    x07: 'wartość parametru 7', 
    x08: 'wartość parametru 8',
    x09: 'wartość parametru 9', 
    x10: 'wartość parametru 10',
    p_appitems_names: ['G_11','G_12'],
    p_appitems_values: ['wartość parametru 11','wartość parametru 12']
},{
    dataType: 'text',
    success: function( pData ) { alert(pData); }
} );
gdzie:
p_appitems_names jest tablicą przechowującą nazwy kolejnych Application Items
p_appitems_values jest tablicą przechowującą wartości kolejnych Application Items

Odwołujemy się za pomocą "dwkuropka" :g_11 lub :g_12

Przykład odwołania się w "Application process":

begin
    htp.p('Wartosc parametru 10 wynosi: '||apex_application.g_x10 );
    htp.p('Wartosc parametru G_11 wynosi: '||:G_11 );
    htp.p('Wartosc parametru G_12 wynosi: '||:G_12 );
end;

Ważne: Korzystając z Application Items w apex.server.process należy zmienić Session State Protection wybranego Application Item na "Unrestricted".

Brak komentarzy:

Prześlij komentarz