Oracle 应用程序 - 下一步属性

问题描述

使用 Oracle 数据库前端应用程序时,在 Shipping Transactions 屏幕下,有一个名为“下一步”的属性。此属性位于“线路状态”属性旁边。我的问题是,此属性“下一步”在标准 Oracle 后端表/视图 中的何处保留,以便我可以查询此值?

这个属性内容通常是这样的:

  • 发货确认/关闭行程中止
  • 处理移动订单
  • 挑选发布

如果回答者可以提供表名或视图名,即 WSH_DELIVERY_DETAILS,那就太好了。

谢谢!

解决方法

“下一步”项目由运输交易表单的程序单元之一中的函数 get_next_step() 生成,请参阅下面的代码。 要在 SQL 中使用它,可以将此函数逻辑转换为 case 语句,您可以在 ONT Order Headers and Lines Blitz Report 中找到它的代码示例,它显示了生成的 Excel 文件的 CB 列中的“下一步”。

    function get_next_step(p_detail_id in number,p_current_released_status in varchar2,p_source_code in varchar2,p_oe_interfaced_flag in varchar2,p_inv_interfaced_flag in varchar2,p_container_flag  in varchar2
                           ) return varchar2 is
begin
--
--bug#3264295 : next step for lpns should be 'not applicable' 
--
 if p_container_flag in ('Y','C') then
   return(:parameter.not_applicable_next);
 else
   if p_current_released_status = 'C' then       
     --bug 9671087 - standalone and lsp project changes to populate
     --            - "next step" as "not applicable" after interfacing with inv.
     if p_source_code = 'OE' and p_inv_interfaced_flag in ('X','Y') and
     (
     p_oe_interfaced_flag = 'Y' or
     p_oe_interfaced_flag = 'X' and (:parameter.p_wms_deployment_mode = 'D' or :parameter.p_wms_deployment_mode = 'L' and name_in(:parameter.p_dlvb_mode||'.CLIENT_ID') is not null)
     )
     or
     --bug11680443::for shipped oke lines  if inv flag is 'x',--             'next status' should be 'not applicable '
     p_source_code <> 'OE' and p_inv_interfaced_flag in ('X','Y') then
       return(:parameter.not_applicable_next);
     else
       return(:parameter.interface_trip_stop_next);
     end if;
   elsif p_current_released_status in ('B','R') then
     -- bug # 6689448 (replenishment project):
     if name_in(:parameter.p_dlvb_mode||'.replenishment_status') = 'R' then
     -- replenishment requested dd line.
       return(:parameter.replenishment_complete_next);
     else 
       return(:parameter.pick_release_next);
     end if;      
     -- bug # 6689448 (replenishment project):     
   elsif p_current_released_status = 'S' then
     --anxsharm,x-dock
     if name_in(:parameter.p_dlvb_mode||'.move_order_line_id') is null then
       -- displayed value is planned x-dock
       return(:parameter.receive_xdock_next);
     else -- mol is not null
       return(:parameter.pick_confirm_move_order_next);
     end if;      
     --anxsharm,end of x-dock
   elsif p_current_released_status in ('X','Y') then
     return(:parameter.ship_confirm_next);
   elsif p_current_released_status = 'D' then
     return(:parameter.not_applicable_next);
   elsif p_current_released_status = 'N' then
     return(:parameter.progress_order_next);
   end if;
 end if; 
end get_next_step;