如何将参数传递给Oracle Apex应用程序进程?

时间:2017-01-11 18:44:45

标签: oracle oracle-apex

我正在使用Oracle Apex 5.我有一个ajax例程,可以获取房间号列表:

apex.server.process("getRooms"
                   ,{pageItems:"#P1_ROOM"}
                   ,{dataType:"text"})
  .done(function(pReturn){ 
   -- my processing code --
})

不是硬编码#P1_ROOM,我可以传递一个参数吗? (我在页面上有很多房间号码。)我是否可以以某种方式传递其他参数,例如表格字段#P1_ROOM存在的div id?

此外,'getRooms'应用程序进程引用表单字段的相同硬编码值:: P1_ROOM。我也可以参数化吗?

declare
    roomList varchar2(32000) := '';
begin
  IF(:P1_ROOM)!= ' ' THEN
      for c in
          (select distinct room_id from RTP_PERSON_VIEW
          where upper(room_id) LIKE upper(:P1_ROOM) || '%'
          order by room_id)     
      loop
        roomList :=  roomList || '~' || c.room_id;
      end loop;
      htp.prn( roomList );
  END IF;
end;

2 个答案:

答案 0 :(得分:1)

使用Apex JavaScript API语法$v("P1_ROOM")传递参数。

您最多可以传递10个值:

apex.server.process ( 
  "MY_PROCESS"
,   {   x01: $v("P1_ROOM")
    ,   x02: $v("P1_CATS")
    ,   x03: $v("P1_DOGS")
    ,   x04: 'my last variable'
    }
 , { dataType: 'text'
 ,success: function(pData){alert(pData)}
}
); 

Here您有更多关于如何使用Apex JavaScript API的示例。

Here您可以找到有关如何使用apex.server.process传递10个以上值的教程

答案 1 :(得分:1)

还有另一种方式:

k config set-context --current --namespace=delivery
k port-forward screenshot-history-7f76489574-wntkf 8000:8000 &

OR

k -n delivery port-forward screenshot-history-7f76489574-wntkf 8000:8000 &