销售订单行上行号:LINE_SHIPMENT_OPTION_NUMBER
取值:
( 1)
Line块的块级触发器POST-QUERY调用:
OE_LINE.Post_Query;(来自于库OEXOELIN)
( 2)
库OEXOELIN里Line_Shipment_Option_Number赋值代码:
OE_CONCAT_VALUES.LINE_SHIPMENT_OPTION
(
Name_in(‘Line.Line_Number‘ ),
Name_In(‘Line.Shipment_Number‘ ),
Name_In(‘Line.Option_Number‘ ),
x_concat_values,
Name_In(‘Line.Component_Number‘ ),
Name_In(‘Line.Service_Number‘ )
);
COPY(x_concat_values, ‘Line.Line_Shipment_Option_Number‘ );
( 3)
OE_CONCAT_VALUES包代码:
PACKAGE BODY oe_concat_values IS
PROCEDURE line_shipment_option(line_number IN NUMBER ,
shipment_number IN NUMBER ,
option_number IN NUMBER ,
p_concat_value OUT VARCHAR2 ,
component_number IN NUMBER DEFAULT NULL ,
service_number IN NUMBER DEFAULT NULL ) IS
BEGIN
--=========================================
--
Added for identifying Service Lines
--=========================================
IF service_number IS NOT NULL THEN
IF option_number IS NOT NULL THEN
IF component_number IS NOT NULL THEN
p_concat_value := line_number || ‘.‘ ||
shipment_number || ‘.‘ ||
option_number || ‘.‘ ||
component_number || ‘.‘ ||
service_number;
ELSE
p_concat_value := line_number || ‘.‘ ||
shipment_number || ‘.‘ ||
option_number || ‘..‘ ||
service_number;
END IF ;
---
if a option is not attached
ELSE
IF component_number IS NOT NULL THEN
p_concat_value := line_number || ‘.‘ ||
shipment_number || ‘..‘ ||
component_number || ‘.‘ ||
service_number;
ELSE
p_concat_value := line_number || ‘.‘ ||
shipment_number || ‘...‘ ||
service_number;
END IF ;
END IF ; /*
if option number is not null */
--
if the service number is null
ELSE
IF option_number IS NOT NULL THEN
IF component_number IS NOT NULL THEN
p_concat_value := line_number || ‘.‘ ||
shipment_number || ‘.‘ ||
option_number || ‘.‘ ||
component_number;
ELSE
p_concat_value := line_number || ‘.‘ ||
shipment_number || ‘.‘ ||
option_number;
END IF ;
---
if a option is not attached
ELSE
IF component_number IS NOT NULL THEN
p_concat_value := line_number || ‘.‘ ||
shipment_number || ‘..‘ ||
component_number;
ELSE
/*Bug2848734
- Added IF condition */
IF (line_number IS NULL AND shipment_number IS NULL) THEN
p_concat_value := NULL ;
ELSE
p_concat_value := line_number || ‘.‘ ||
shipment_number;
END IF ;
END IF ;
END IF ; /*
if option number is not null */
END IF ; /*
if service number is not null */
END line_shipment_option;
END oe_concat_values;
SELECT ool.line_id
,to_char(ool.line_number) ||
decode (ool.shipment_number,
NULL ,
NULL ,
‘.‘ ||
to_char(ool.shipment_number)) ||
decode (ool.option_number,
NULL ,
NULL ,
‘.‘ ||
to_char(ool.option_number)) ||
decode (ool.component_number,
NULL ,
NULL ,
decode (ool.option_number, NULL , ‘.‘, NULL )
|| ‘.‘ ||
to_char(ool.component_number)) ||
decode (ool.service_number,
NULL ,
NULL ,
decode (ool.component_number, NULL , ‘.‘, NULL )
||
decode (ool.option_number, NULL , ‘.‘, NULL )
|| ‘.‘ ||
to_char(ool.service_number)) line_num
,msi.segment1 item_number
,ool.ordered_quantity
FROM oe_order_lines_all
ool, mtl_system_items msi
WHERE ool.header_id
= &header_id
AND ool.ship_from_org_id
= msi.organization_id(+)
AND ool.inventory_item_id
= msi.inventory_item_id(+)
AND ool.item_type_code
<> ‘INCLUDED‘ ;