如何将数据库中的字段显示为Shipping Transaction Form

时间:2016-04-09 06:06:59

标签: oracle

屏幕截图上有两个箭头: Lot []

鉴于拍品,我需要在 mtl_lot_number 表格中显示 supplier_lot_number 并将其显示在 [] 字段。

如何使用个性化进行此操作?

enter image description here

1 个答案:

答案 0 :(得分:1)

在LPNS块上写入POST-QUERY触发器。每次触发此触发器都是从数据库查询的记录,它表示每次记录,而不是每次查询一次!在此触发器查询中,选择此类supplier_lot_number

declare
    cursor c_lot is
      select supplier_lot_number
        from mtl_lot_number
        where lot = :your_block.lot;
begin
    open c_lot;
    fetch c_lot into :your_block.supplier_lot_number;
    close c_lot;
end;

用户会更改LOT项目吗?如果是这样,请在LOT项目上使用WHEN-VALIDATE-ITEM触发器,或者使用带有checked属性的值列表"从List"验证。

  1. LOT项目上的WHEN-VALIDATE-ITEM触发器 - 每次Oracle Forms验证项目时都会触发此触发器。请参阅表单帮助:
  2.   

    在验证项目过程中触发。具体而言,它将作为具有“新建”或“已更改”验证状态的项目的项目验证的最后一部分触发。

    触发器可能如下所示:

    declare
        cursor c_lot is
          select supplier_lot_number
            from mtl_lot_number
            where lot = :your_block.lot;
    begin
        open c_lot;
        fetch c_lot into :your_block.supplier_lot_number;
        if c_lot%NOTFOUND then
            close c_lot;
            message('Bad lot value');
            raise form_trigger_failure;
        close c_lot;
    end;
    

    FORM_TRIGGER_FAILURE导致停止验证过程。 Bad LOT值仍然未经验证,用户必须给出正确的值。

    1. LoV on LOT item - 使用select

      创建值列表

      选择lot,supplier_lot_number,some_other_column_describing_lot   来自mtl_lot_number;

    2. 将列映射中的返回项设置为LOT和SUPPLIER_LOT_NUMBER(在此对话框中设置项目名称不带冒号)。 将LoV附加到LOT项目并将Validate from List属性设置为True。

        

      指定表单生成器是否应根据附加LOV中的值验证文本项的值。

      现在,您为用户提供了值列表,以便更轻松地设置正确的值。另外 - 当用户给出不好的值时,表单会显示Lov的一组正确的值。

      我希望这会有所帮助。