标签: oracle-apex

如何使用javascript/html更新Oracle APEX中的表中的记录?

目前我在Oracle APEX中有一个所有基于html的页面.该页面实际上包含一个地图和一个区域,其中包含用户在地图上单击的位置的坐标.

我被困在如何使用html页面中的值更新APEX中的表格.

感谢您提供任何指导或帮助.

html javascript oracle oracle-apex

1
推荐指数
1
解决办法
8862
查看次数

Oracle APEX - 将 Shuttle 项目选择保存到新表

我有一个正在处理零件和订单的项目。每个订单可能包含许多零件,并且每个零件在其生命周期中都有可能处于多个订单上(尽管一次不超过一个活动订单)。我的表目前如下:

 PARTS_TABLE
      PART_NUMBER varchar2(20)
      ASSIGNED_ORDER_NUMBER number(5)
      ASSIGNED_ORDER_STATUS varchar2(20)


 ORDER_TABLE
      ORDER_NUMBER number (5)
      ORDER_STATUS varchar2(20)
      ORDER_PARTS_LIST varchar2(4000) //Comma delimited list generated by shuttle item.
Run Code Online (Sandbox Code Playgroud)

这个当前的设置对我们 atm 有用(在上一个问题的帮助下:上一个问题),但它需要在两个表中复制大量数据,并且它实际上不允许 PART 在其生命周期中处于多个 ORDERS 状态.

我想做的是在这两个表之间创建一个交叉引用表:

 ORDER_PARTS_TABLE
      ORDER_NUMBER number(5) (pk1)
      PART_NUMBER varchar2(20) (pk2)
      ORDER_STATUS varchar2(20)
Run Code Online (Sandbox Code Playgroud)

其中 PART_NUMBER 和 ORDER_NUMBER 创建联合主键。

我的主要问题是根据穿梭项目的值在 ORDER_PARTS_TABLE 中创建和编辑行。我能够有效地编辑/更新我当前的设置,但在我当前的设置中,我没有尝试创建行,我只是引用了 PARTS_TABLE 中的行。当一个人在 APEX 中的表单上使用穿梭项将 PARTS 添加到 ORDER 时,应在 ORDER_PARTS_TABLE 中创建新行,即:

 ORDER_TABLE
      ORDER_NUMBER     ORDER_PARTS_LIST     ORDER_STATUS
      12345            675:342:871:902      ACTIVE


 ORDER_PARTS_TABLE
      ORDER_NUMBER     PART_NUMBER     ORDER_STATUS
      12345            675             ACTIVE
      12345            342             ACTIVE
      12345            871             ACTIVE …
Run Code Online (Sandbox Code Playgroud)

sql oracle-apex

1
推荐指数
1
解决办法
1万
查看次数

Oracle Apex - 逗号分隔的 LOV

我正在使用 Oracle Apex 4,2。我有一个表格,其中有一列名为“版本”。在每一行的“版本”列中,有一个以逗号分隔的值列表,例如“1,2,3,4”。
我正在尝试创建一个选择列表,其值列表将是每个行中用逗号分隔的值。对此的 SQL 查询是什么?

例子:

表名:产品

Name     | Versions
--------------------
myProd1  | 1,2,3
myProd2  | a,b,c
Run Code Online (Sandbox Code Playgroud)

期望的输出:
两个选择列表。
第一个很明显,我只是从产品表中选择名称列。通过这种方式,用户可以选择他们想要的任何产品。第二个是我不确定的。假设用户从第一个选择列表中选择了“myProd1”。然后第二个选择应包含以下供用户选择的值列表:“1.0”、“1.1”或“1.2”。

sql select list oracle-apex

1
推荐指数
1
解决办法
2758
查看次数

Oracle APEX如何使用PL/SQL插入/更新提交页面,然后转换到下一页

我有一个Oracle APEX页面,它通过带有apex_item动态生成项目的经典报告来收集数据.像这样的东西:

select apex_item.radiogroup(qt.save_position, 1, qt.answer, null, null, null, null) col01
from   xxpay_360_questions qt
where  qt.questionnaire_id = 21
Run Code Online (Sandbox Code Playgroud)

然后,我使用提交按钮保存答案,该按钮使用"提交页面"并调用PL/SQL从上面插入/更新动态生成的项目.像这样的东西:

insert into xxpay_360_answers values (apex_application.g_user, APEX_APPLICATION.G_F01(1));    
commit;
Run Code Online (Sandbox Code Playgroud)

我的问题是如何在单击提交按钮时转换到动态生成的项目的下一页(因为我每页只有50个顶点变量).

提交按钮只有"提交页面"和"转换到页面"的选项,而不是"提交页面然后转换到页面".

有没有一种方法通过PL/SQL过渡作为提交代码的一部分?或者是否有一个事件可以在页面提交后转换?

此外,这如何处理错误和漂亮的"保存"飞过该顶点?

oracle oracle-apex

1
推荐指数
1
解决办法
2万
查看次数

oracle apex - 如何使用值验证名称长度

我正在尝试验证名称长度是否符合所需的值。

我做了一个代码,但它的工作方式很糟糕我试图查看输入的名称是否小于 3 并返回一个布尔值来打印消息。在某些情况下,代码会阻止任何输入的日期,另一个会保存数据,即使它小于 3 。

我的代码是

if length(':P11_first_name') < 3 then
return true;
else
return false;
end if;
Run Code Online (Sandbox Code Playgroud)

我需要做什么来解决这个问题。

oracle oracle-apex

1
推荐指数
1
解决办法
2697
查看次数

如何清除APEX_JSON写入的json对象

我是 ORDS 的新手。我正在使用 APEX_JSON 为源类型为 PL/SQL 的其他服务之一创建一个 json 对象。我正在创建的 json 对象很复杂。如果在创建 json 对象时有任何事情失败,那么我必须返回一个错误,该错误在正文中具有不同的 json 结构。因此,在为错误创建主体之前,我想清除到目前为止我创建的 json。我怎样才能做到这一点。或者有没有其他方法可以实现这一点。

PROCEDURE GETNODES(I_LOCATION IN NUMBER)
V_STATUS NUMBER;
BEGIN
    APEX_JSON.OPEN_OBJECT;
    APEX_JSON.OPEN_ARRAY('NODES');

    FOR nodes in (select NAME FROM NODES where location = I_LOCATION) LOOP
        APEX_JSON.OPEN_OBJECT;
        APEX_JSON.write('NAME',nodes.name);
        V_STATUS := getnodestatus(nodes.name); --This can throw an exception
        APEX_JSON.write('STATUS',V_STATUS);
        APEX_JSON.CLOSE_OBJECT;
    END LOOP;

    APEX_JSON.CLOSE_ARRAY;
    APEX_JSON.CLOSE_OBJECT;

EXCEPTION WHEN OTHERS THEN
--IF I get any error, then I have to write a different json, so I have to clear the json written till now, …
Run Code Online (Sandbox Code Playgroud)

json plsql oracle11g oracle-apex oracle-apex-5.1

1
推荐指数
1
解决办法
2833
查看次数

如何在无需提交页面的情况下创建 oracle apex 服务器端实时验证

我为客户创建了表单,我需要验证客户名称,例如

1 - type the new name into item P1_CUST_NAME.
2 - after leaving this item go to database and check if this name already exist or not. 
3 - display alert or message for the client.
4 - prevent the client from navigating a way from this item until he enter valid data.
Run Code Online (Sandbox Code Playgroud)

oracle oracle-apex

1
推荐指数
1
解决办法
4728
查看次数

具有可变刷新时间的 APEX 5.1 自动刷新区域

  • P998_SESS_INFO 是我的经典报告
  • P998_REFRESH 是隐藏物品
  • P998_REFRESH_RATE 是具有 STATIC 静态值的 LOV:
    • 10 世坤殿;10000,
    • 20世昆顿;20000,
    • 30 世坤殿;30000

我在更改设置值时定义了一个 java 脚本表达式类型的动态操作P998_REFRESH

$x('P998_REFRESH').value = $x('P998_REFRESH_RATE').value;
Run Code Online (Sandbox Code Playgroud)

HTML 标题:

<script type="text/javascript">
  var interval = `$`v("P998_REFRESH");
  // refresh every 10 seconds
  setInterval("jQuery('#P998_SESS_INFO').trigger('apexrefresh');", interval); 
</script>
Run Code Online (Sandbox Code Playgroud)

但这行不通。有什么建议吗?谢谢

javascript oracle-apex

1
推荐指数
1
解决办法
3229
查看次数

如何在Oracle APEX的交互式报表中提供超链接而不是值

我使用ORACLE APEX创建了一个交互式报告.该交互式报告的源代码是我给出的sql查询输出.

生成的SQL输出有一列,它具有整数值.现在我的要求是使用这个整数值(比如说"11111",这些整数值是变量值)和一个链接("www.xyz.com/",这是一个固定的字符串)并生成这两个的concat值字符串,它将创建一个超链接("www.xyz.com/11111"),所以这个链接我想用作我的报告中的整数值的超链接.

oracle-apex oracle-apex-5

1
推荐指数
1
解决办法
621
查看次数

Oracle APEX应用程序中软件包中匿名块的执行点

我正在从ORACLE APEX页面中的两个不同执行点调用同一程序包的两个不同过程。该软件包中包含匿名块。(写在包体末尾)

执行点: 加载时:在“主体”区域之前。 调用:pkg_name.proc_1 ;

项目只读部分。 调用:pkg_name.proc_2 ;

我已经在包中的匿名块中登录以检查其执行情况。我观察到它在页面渲染期间仅执行一次。但是,每当我对程序包进行调用时(通过动态操作),页面呈现后,匿名块就会被执行。

我在oracle apex中读过,每次对DB的调用都会从池中获得一个新的DB连接。

匿名块如何在程序包中执行->在数据库会话中一次执行还是在每次调用程序包时执行?

如果一次进入数据库会话,这是否意味着整个页面呈现都在一个数据库会话中发生,与动态操作不同?

请帮忙!

谢谢。

oracle plsql oracle-apex

1
推荐指数
1
解决办法
43
查看次数