The "Next Step" item is generated by function function get_next_step() in one of the shipping transaction form's program units, see code further below.
To use it in SQL, this function logic can be transformed into a case statement, for which you find a code example in the ONT Order Headers and Lines Blitz Report, which shows the 'Next Step' in column CB of the generated Excel file.
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;