You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle Apex 24.2级联LOV报错:Ajax请求模型清除及元数据/重复ID问题

Oracle Apex 24.2.0级联多列LOV报错:Model cleared/metadata错误

问题描述

我在Oracle Apex 24.2.0中搭建了一个级联LOV:父控件为选择列表,子LOV基于多列LOV实现。选择父项值后,打开子LOV时触发两个错误:

  • Model cleared during ajax request
  • Model: incorrect metadata or duplicate record id detected

子LOV查询(共享组件定义)

SELECT  
ORDER_NUMBER,  
DIVISION,  
demand_no,  
SHADE_ID,  
shad_name,  
DESCRIPTION,  
ORDERED_QUANTITY,  
HEADER_ID ,  
LINE_ID,  
LINE_NUMBER,  
inventory_item_id,  
GREIGE_ORDER_QTY_MTR,  
GREIGE_ORDER_QTY_MTR_TOL,  
ORDER_TYPE  
FROM XX_OE_LOV1_t  
WHERE e_type = :P15_PO_TYPE

子LOV配置细节

  • 作为子LOV的batcher_id列已配置对应附加列
  • 子LOV的附加输出配置如下:
ORDER_NUMBER:P15_BATCHER_ID,DIVISION:P15_DIV,DEMAND_NO:P15_GR_DMD_ID,SHADE_ID:P15_SHADE_ID,SHAD_NAME:P15_SHADE_NAME,DESCRIPTION:P15_CONSTRUCTION,ORDERED_QUANTITY:P15_ACTUAL_LENGTH,HEADER_ID:P15_HEADER_ID,LINE_ID:P15_LINE_ID,LINE_NUMBER:P15_LINE_NUMBER,INVENTORY_ITEM_ID:P15_INVENTORY_ITEM_ID,GREIGE_ORDER_QTY_MTR:P15_GREIGE_ORDER_QTY_MTR,GREIGE_ORDER_QTY_MTR_TOL:P15_GREIGE_ORDER_QTY_MTR_TOL,ORDER_TYPE:P15_ORDER_TYPE

父选择列表已关联P15_PO_TYPE参数。


解决方案

  1. 确保子LOV有唯一标识列
    多列LOV必须有唯一的返回值列,Apex靠它识别每条记录。当前查询没有明确指定唯一键,大概率是返回的记录存在重复的LINE_ID或HEADER_ID+LINE_ID组合。
  • 修改LOV配置,将LINE_ID设为返回值列(订单行ID通常是唯一的)
  • 检查XX_OE_LOV1_t表数据,若存在重复行,在查询中添加DISTINCT或通过WHERE条件过滤重复
  1. 修正附加输出的映射逻辑
    附加输出中ORDER_NUMBER:P15_BATCHER_ID的映射存在问题:batcher_id作为子LOV的绑定列,应该对应LOV的唯一返回值列(比如LINE_ID),而非ORDER_NUMBER。这种错误会导致Apex无法维护模型状态,触发"Model cleared"错误。调整映射,让绑定列对应正确的唯一标识列。

  2. 验证父参数传递有效性
    开启页面调试模式,查看AJAX请求中P15_PO_TYPE参数是否正确传递。若参数为空或值异常,会导致查询返回不符合预期的数据,进而触发元数据错误。

  3. 核对附加列与查询列的一致性
    进入共享组件的子LOV配置页,确认"附加列"的名称、顺序与查询返回的列完全匹配(注意大小写,Apex对列名大小写敏感)。若存在不匹配,会导致元数据识别错误。

内容的提问来源于stack exchange,提问作者usman newton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.10 15:03:10