Untitled
unknown
plain_text
3 years ago
52 kB
8
Indexable
create or replace PROCEDURE REQ_CZ_TMP_BBM_SLI_MESSAGE (
ORIGINATOR_REF IN VARCHAR, -- PREPARATIONS ORIGINATOR REFERENCE
YEAR_NUM IN INT, -- YEAR NUMBER
ORD_NUM IN INT, -- PREPARATIONS NUMBER
RESULTS OUT SYS_REFCURSOR
)
AS
DEPOT_CODE VARCHAR2(3);
ACTIVITY_CODE VARCHAR2(3);
BEGIN
DEPOT_CODE := 'TMP';
ACTIVITY_CODE := 'BBM';
OPEN RESULTS FOR
WITH
HL52110 AS(
SELECT DISTINCT 110 AS "SEQ", 0 AS "SEQ2", 0 AS "SEQ3", '0' AS "LINE_NB",
'HL52110'
|| CAST(ACTIVITY_CODE AS CHAR(3)) -- ACTIVITY CODE
|| CAST(DEPOT_CODE AS CHAR(3)) -- PHYSICAL DEPOT CODE
|| CAST(HL_PREPA_ENTETE.PENANN AS CHAR(2)) -- YEAR NUMBER
|| CAST(SUBSTR('000000000'||HL_PREPA_ENTETE.PENPRE, -9) AS CHAR(9)) -- PREPARATION NUMBER
|| CAST(HL_PREPA_ENTETE.PECTPR AS CHAR(3)) -- PREPARATION TYPE CODE
|| CAST(HL_PREPA_ENTETE.PECDES AS CHAR(13)) -- PREPARATION CONSIGNEE CODE
|| CAST(HL_PREPA_ENTETE.PECDES AS CHAR(13)) -- DESPATCH CONSIGNEE CODE
|| CAST(LTRIM(RTRIM(TO_CHAR(HL_PREPA_ENTETE.PEQTPP * 1000,'00000000000'))) AS CHAR(11))
-- TRANSPORT QUANTITY
|| CAST(' ' AS CHAR(3)) -- TRANSPORT QUANTITY UNIT
|| CAST(HL_PREPA_ENTETE.PECMOP AS CHAR(3)) -- PREPARATION ORDER REASON CODE
|| CAST(HL_PREPA_ENTETE.PECRGE AS CHAR(13)) -- DESPATCH GROUPING CODE
|| CAST(' ' AS CHAR(20)) -- TRANSPORT DESPATCH ID
|| '''' AS LINE
FROM SD_HLPRENP HL_PREPA_ENTETE
WHERE HL_PREPA_ENTETE.PENPRE = ORD_NUM
AND HL_PREPA_ENTETE.PENANN = YEAR_NUM
AND HL_PREPA_ENTETE.PERODP = ORIGINATOR_REF
AND HL_PREPA_ENTETE.PECACT = ACTIVITY_CODE
),
HL52120 AS(
SELECT DISTINCT 120 AS "SEQ", 0 AS "SEQ2", 0 AS "SEQ3", '0' AS "LINE_NB",
'HL52120'
|| CAST(ACTIVITY_CODE AS CHAR(3)) -- ACTIVITY CODE
|| CAST(DEPOT_CODE AS CHAR(3)) -- PHYSICAL DEPOT CODE
|| CAST(HL_PREPA_ENTETE.PENANN AS CHAR(2)) -- YEAR NUMBER
|| CAST(SUBSTR('000000000'||HL_PREPA_ENTETE.PENPRE, -9) AS CHAR(9)) -- PREPARATION NUMBER
|| CAST(SUBSTR('00'||HL_PREPA_ENTETE.PESLEP, -2) AS CHAR(2)) -- DESPATCH CONSIGNEE - PLANNED DELIVERY DATE - CENTURY
|| CAST(SUBSTR('00'||HL_PREPA_ENTETE.PEALEP, -2) AS CHAR(2)) -- DESPATCH CONSIGNEE - PLANNED DELIVERY DATE - YEAR
|| CAST(SUBSTR('00'||HL_PREPA_ENTETE.PEMLEP, -2) AS CHAR(2)) -- DESPATCH CONSIGNEE - PLANNED DELIVERY DATE - MONTH
|| CAST(SUBSTR('00'||HL_PREPA_ENTETE.PEJLEP, -2) AS CHAR(2)) -- DESPATCH CONSIGNEE - PLANNED DELIVERY DATE - DAY
|| CAST(SUBSTR('0000'||HL_PREPA_ENTETE.PEHDEP, -4) AS CHAR(4)) -- DESPATCH CONSIGNEE - PLANNED DELIVERY START TIME
|| CAST(SUBSTR('0000'||HL_PREPA_ENTETE.PEHFEP, -4) AS CHAR(4)) -- DESPATCH CONSIGNEE - PLANNED DELIVERY END TIME
|| '''' AS LINE
FROM SD_HLPRENP HL_PREPA_ENTETE
WHERE HL_PREPA_ENTETE.PENPRE = ORD_NUM
AND HL_PREPA_ENTETE.PENANN = YEAR_NUM
AND HL_PREPA_ENTETE.PERODP = ORIGINATOR_REF
AND HL_PREPA_ENTETE.PECACT = ACTIVITY_CODE
),
HL52130 AS(
SELECT DISTINCT 130 AS "SEQ", 0 AS "SEQ2", 0 AS "SEQ3", '0' AS "LINE_NB",
'HL52130'
|| CAST(ACTIVITY_CODE AS CHAR(3)) -- ACTIVITY CODE
|| CAST(DEPOT_CODE AS CHAR(3)) -- PHYSICAL DEPOT CODE
|| CAST(HL_PREPA_ENTETE.PENANN AS CHAR(2)) -- YEAR NUMBER
|| CAST(SUBSTR('000000000'||HL_PREPA_ENTETE.PENPRE, -9) AS CHAR(9)) -- PREPARATION NUMBER
|| CAST(SUBSTR('00'||HL_PREPA_ENTETE.PESREP, -2) AS CHAR(2)) -- DESPATCH CONSIGNEE APPOINTMENT DATE - CENTURY
|| CAST(SUBSTR('00'||HL_PREPA_ENTETE.PEAREP, -2) AS CHAR(2)) -- DESPATCH CONSIGNEE APPOINTMENT DATE - YEAR
|| CAST(SUBSTR('00'||HL_PREPA_ENTETE.PEMREP, -2) AS CHAR(2)) -- DESPATCH CONSIGNEE APPOINTMENT DATE - MONTH
|| CAST(SUBSTR('00'||HL_PREPA_ENTETE.PEJREP, -2) AS CHAR(2)) -- DESPATCH CONSIGNEE APPOINTMENT DATE - DAY
|| CAST(SUBSTR('0000'||HL_PREPA_ENTETE.PEHDRP, -4) AS CHAR(4)) -- DESPATCH CONSIGNEE APPOINTMENT START TIME
|| CAST(SUBSTR('0000'||HL_PREPA_ENTETE.PEHFRP, -4) AS CHAR(4)) -- DESPATCH CONSIGNEE APPOINTMENT END TIME
|| '''' AS LINE
FROM SD_HLPRENP HL_PREPA_ENTETE
WHERE HL_PREPA_ENTETE.PENPRE = ORD_NUM
AND HL_PREPA_ENTETE.PENANN = YEAR_NUM
AND HL_PREPA_ENTETE.PERODP = ORIGINATOR_REF
AND HL_PREPA_ENTETE.PECACT = ACTIVITY_CODE
),
HL52140 AS (
SELECT DISTINCT 140 AS "SEQ", 0 AS "SEQ2", 0 AS "SEQ3", '0' AS "LINE_NB",
'HL52140'
|| CAST(ACTIVITY_CODE AS CHAR(3)) -- ACTIVITY CODE
|| CAST(DEPOT_CODE AS CHAR(3)) -- PHYSICAL DEPOT CODE
|| CAST(HL_PREPA_ENTETE.PENANN AS CHAR(2)) -- YEAR NUMBER
|| CAST(SUBSTR('000000000'||HL_PREPA_ENTETE.PENPRE, -9) AS CHAR(9)) -- PREPARATION NUMBER
|| CAST(LTRIM(RTRIM(TO_CHAR(HL_PREPA_ENTETE.PET1PP,'000000000'))) AS CHAR(9))
-- PREPARATION - TOTAL LEVEL 1 TO PREPARE
|| CAST(LTRIM(RTRIM(TO_CHAR(HL_PREPA_ENTETE.PET2PP,'000000000'))) AS CHAR(9))
-- PREPARATION - TOTAL LEVEL 2 TO PREPARE
|| CAST(LTRIM(RTRIM(TO_CHAR(HL_PREPA_ENTETE.PET3PP,'000000000'))) AS CHAR(9))
-- PREPARATION - TOTAL LEVEL 3 TO PREPARE
|| CAST(LTRIM(RTRIM(TO_CHAR(HL_PREPA_ENTETE.PETBPP,'000000000'))) AS CHAR(9))
-- PREPARATION - TOTAL IN BASE LVS TO PREPARE
|| CAST(LTRIM(RTRIM(TO_CHAR(HL_PREPA_ENTETE.PETG1P,'000000000'))) AS CHAR(9))
-- PREPARATION - GENERAL TOTAL LEVEL 1 TO PREPARE
|| CAST(LTRIM(RTRIM(TO_CHAR(HL_PREPA_ENTETE.PETG2P,'000000000'))) AS CHAR(9))
-- PREPARATION - GENERAL TOTAL LEVEL 2 TO PREPARE
|| CAST(LTRIM(RTRIM(TO_CHAR(HL_PREPA_ENTETE.PEPNTA * 1000,'00000000000'))) AS CHAR(11))
-- PREPARATION - TOTAL NET WEIGHT TO PREPARE
|| CAST(LTRIM(RTRIM(TO_CHAR(HL_PREPA_ENTETE.PEPBTA * 1000,'00000000000'))) AS CHAR(11))
-- PREPARATION - TOTAL GROSS WEIGHT TO PREPARE
|| CAST(LTRIM(RTRIM(TO_CHAR(HL_PREPA_ENTETE.PEVTAP * 1000,'00000000000'))) AS CHAR(11))
-- PREPARATION - TOTAL VOLUME TO PREPARE
|| '''' AS LINE
FROM SD_HLPRENP HL_PREPA_ENTETE
WHERE HL_PREPA_ENTETE.PENPRE = ORD_NUM
AND HL_PREPA_ENTETE.PENANN = YEAR_NUM
AND HL_PREPA_ENTETE.PERODP = ORIGINATOR_REF
AND HL_PREPA_ENTETE.PECACT = ACTIVITY_CODE
),
HL52150 AS (
SELECT DISTINCT 150 AS "SEQ", 0 AS "SEQ2", 0 AS "SEQ3", '0' AS "LINE_NB",
'HL52150'
|| CAST(ACTIVITY_CODE AS CHAR(3)) -- ACTIVITY CODE
|| CAST(DEPOT_CODE AS CHAR(3)) -- PHYSICAL DEPOT CODE
|| CAST(HL_PREPA_ENTETE.PENANN AS CHAR(2)) -- YEAR NUMBER
|| CAST(SUBSTR('000000000'||HL_PREPA_ENTETE.PENPRE, -9) AS CHAR(9)) -- PREPARATION NUMBER
|| CAST(LTRIM(RTRIM(TO_CHAR(HL_PREPA_ENTETE.PET1PV,'000000000'))) AS CHAR(9))
-- PREPARATION - TOTAL LEVEL 1 CONFIRMED
|| CAST(LTRIM(RTRIM(TO_CHAR(HL_PREPA_ENTETE.PET2PV,'000000000'))) AS CHAR(9))
-- PREPARATION - TOTAL LEVEL 2 CONFIRMED
|| CAST(LTRIM(RTRIM(TO_CHAR(HL_PREPA_ENTETE.PET3PV,'000000000'))) AS CHAR(9))
-- PREPARATION - TOTAL LEVEL 3 CONFIRMED
|| CAST(LTRIM(RTRIM(TO_CHAR(HL_PREPA_ENTETE.PETBPV,'000000000'))) AS CHAR(9))
-- PREPARATION - TOTAL IN BASE LVS CONFIRMED
|| CAST(LTRIM(RTRIM(TO_CHAR(HL_PREPA_ENTETE.PETG1V,'000000000'))) AS CHAR(9))
-- PREPARATION - GENERAL TOTAL LEVEL 1 CONFIRMED
|| CAST(LTRIM(RTRIM(TO_CHAR(HL_PREPA_ENTETE.PETG2V,'000000000'))) AS CHAR(9))
-- PREPARATION - GENERAL TOTAL LEVEL 2 CONFIRMED
|| CAST(LTRIM(RTRIM(TO_CHAR(HL_PREPA_ENTETE.PEPNTV * 1000,'00000000000'))) AS CHAR(11))
-- PREPARATION - TOTAL NET WEIGHT CONFIRMED
|| CAST(LTRIM(RTRIM(TO_CHAR(HL_PREPA_ENTETE.PEPBTV * 1000,'00000000000'))) AS CHAR(11))
-- PREPARATION - TOTAL GROSS WEIGHT CONFIRMED
|| CAST(LTRIM(RTRIM(TO_CHAR(HL_PREPA_ENTETE.PEVTAV * 1000,'00000000000'))) AS CHAR(11))
-- PREPARATION - TOTAL VOLUME CONFIRMED
|| '''' AS LINE
FROM SD_HLPRENP HL_PREPA_ENTETE
WHERE HL_PREPA_ENTETE.PENPRE = ORD_NUM
AND HL_PREPA_ENTETE.PENANN = YEAR_NUM
AND HL_PREPA_ENTETE.PERODP = ORIGINATOR_REF
AND HL_PREPA_ENTETE.PECACT = ACTIVITY_CODE
),
HL52160 AS (
SELECT DISTINCT 160 AS "SEQ", 0 AS "SEQ2", 0 AS "SEQ3", '0' AS "LINE_NB",
'HL52160'
|| CAST(ACTIVITY_CODE AS CHAR(3)) -- ACTIVITY CODE
|| CAST(DEPOT_CODE AS CHAR(3)) -- PHYSICAL DEPOT CODE
|| CAST(HL_PREPA_ENTETE.PENANN AS CHAR(2)) -- YEAR NUMBER
|| CAST(SUBSTR('000000000'||HL_PREPA_ENTETE.PENPRE, -9) AS CHAR(9)) -- PREPARATION NUMBER
|| CAST(SUBSTR('00'||HL_PREPA_ENTETE.PESSOR, -2) AS CHAR(2)) -- PREPARATION - STOCK DESPATCH DATE - CENTURY
|| CAST(SUBSTR('00'||HL_PREPA_ENTETE.PEASOR, -2) AS CHAR(2)) -- PREPARATION - STOCK DESPATCH DATE - YEAR
|| CAST(SUBSTR('00'||HL_PREPA_ENTETE.PEMSOR, -2) AS CHAR(2)) -- PREPARATION - STOCK DESPATCH DATE - MONTH
|| CAST(SUBSTR('00'||HL_PREPA_ENTETE.PEJSOR, -2) AS CHAR(2)) -- PREPARATION - STOCK DESPATCH DATE - DAY
|| CAST(SUBSTR('000000'||HL_PREPA_ENTETE.PEHSOR, -6) AS CHAR(6)) -- PREPARATION - STOCK DESPATCH TIME
|| '''' AS LINE
FROM SD_HLPRENP HL_PREPA_ENTETE
WHERE HL_PREPA_ENTETE.PENPRE = ORD_NUM
AND HL_PREPA_ENTETE.PENANN = YEAR_NUM
AND HL_PREPA_ENTETE.PERODP = ORIGINATOR_REF
AND HL_PREPA_ENTETE.PECACT = ACTIVITY_CODE
),
-- HL52165
HL52199 AS (
SELECT DISTINCT 199 AS "SEQ", 0 AS "SEQ2", 0 AS "SEQ3", '0' AS "LINE_NB",
'HL52199'
|| CAST(ACTIVITY_CODE AS CHAR(3)) -- ACTIVITY CODE
|| CAST(DEPOT_CODE AS CHAR(3)) -- PHYSICAL DEPOT CODE
|| CAST(HL_PREPA_ENTETE.PENANN AS CHAR(2)) -- YEAR NUMBER
|| CAST(SUBSTR('000000000'||HL_PREPA_ENTETE.PENPRE, -9) AS CHAR(9)) -- PREPARATION NUMBER
|| CAST (NVL(HL_COMMENTAIRE.COTXTC, ' ') AS CHAR(70)) -- COMMENT
|| CAST (NVL(HL_COMMENTAIRE.COCFCO, ' ') AS CHAR(3)) -- COMMENT GROUP
|| '''' AS LINE
FROM SD_HLPRENP HL_PREPA_ENTETE
LEFT JOIN SD_HLCOMMP HL_COMMENTAIRE
ON HL_COMMENTAIRE.CONCOM = HL_PREPA_ENTETE.PENCOM
AND HL_COMMENTAIRE.COCFCO IN ('WSN', 'SRN', 'SH1', 'SH0')
-- IFC - if oreder was fully cancelled
-- SH1 - ShippingAgentCode
-- SH0 - ShippingAgentServiceCode
WHERE HL_PREPA_ENTETE.PENPRE = ORD_NUM
AND HL_PREPA_ENTETE.PENANN = YEAR_NUM
AND HL_PREPA_ENTETE.PERODP = ORIGINATOR_REF
AND HL_PREPA_ENTETE.PECACT = ACTIVITY_CODE
UNION ALL
-- IFC - if oreder was fully cancelled
SELECT DISTINCT 199 AS "SEQ", 0 AS "SEQ2", 0 AS "SEQ3", '0' AS "LINE_NB",
'HL52199'
|| CAST(ACTIVITY_CODE AS CHAR(3)) -- ACTIVITY CODE
|| CAST(DEPOT_CODE AS CHAR(3)) -- PHYSICAL DEPOT CODE
|| CAST(HL_PREPA_ENTETE.PENANN AS CHAR(2)) -- YEAR NUMBER
|| CAST(SUBSTR('000000000'||HL_PREPA_ENTETE.PENPRE, -9) AS CHAR(9)) -- PREPARATION NUMBER
|| CAST ('FULLY CANCELLED ORDER' AS CHAR(70)) -- COMMENT
|| CAST ('IFC' AS CHAR(3)) -- COMMENT GROUP
|| '''' AS LINE
FROM SD_HLPRENP HL_PREPA_ENTETE
JOIN SD_HLPRPLP HL_PREPA_LIGNE
ON HL_PREPA_ENTETE.PECACT = HL_PREPA_LIGNE.P1CACT
AND HL_PREPA_ENTETE.PECDPO = HL_PREPA_LIGNE.P1CDPO
AND HL_PREPA_ENTETE.PENANN = HL_PREPA_LIGNE.P1NANP
AND HL_PREPA_ENTETE.PENPRE = HL_PREPA_LIGNE.P1NPRE
JOIN SD_HLCOMMP HL_COMMENTAIRE
ON HL_COMMENTAIRE.CONCOM = HL_PREPA_LIGNE.P1NCOM
AND HL_COMMENTAIRE.COCFCO IN ('OOS', 'CCL')
WHERE HL_PREPA_ENTETE.PENPRE = ORD_NUM
AND HL_PREPA_ENTETE.PENANN = YEAR_NUM
AND HL_PREPA_ENTETE.PERODP = ORIGINATOR_REF
AND HL_PREPA_ENTETE.PECACT = ACTIVITY_CODE
AND HL_PREPA_ENTETE.PETSOL = 1
AND HL_PREPA_ENTETE.PETVAP = 1
UNION ALL
-- MDT - MESSAGE DATE TIME - MAX VALUE FROM HL230
SELECT DISTINCT 199 AS "SEQ", 0 AS "SEQ2", 0 AS "SEQ3", '0' AS "LINE_NB",
'HL52199'
|| CAST(ACTIVITY_CODE AS CHAR(3)) -- ACTIVITY CODE
|| CAST(DEPOT_CODE AS CHAR(3)) -- PHYSICAL DEPOT CODE
|| CAST(HL_PREPA_ENTETE.PENANN AS CHAR(2)) -- YEAR NUMBER
|| CAST(SUBSTR('000000000'||HL_PREPA_ENTETE.PENPRE, -9) AS CHAR(9)) -- PREPARATION NUMBER
|| CAST (MAX( CAST(SUBSTR('00'||HL_PREPA_LIGNE.P1SVLP, -2) AS CHAR(2)) -- PREPARATION LINE CONFIRMATION DATE - CENTURY
|| CAST(SUBSTR('00'||HL_PREPA_LIGNE.P1AVLP, -2) AS CHAR(2)) -- PREPARATION LINE CONFIRMATION DATE - YEAR
|| CAST(SUBSTR('00'||HL_PREPA_LIGNE.P1MVLP, -2) AS CHAR(2)) -- PREPARATION LINE CONFIRMATION DATE - MONTH
|| CAST(SUBSTR('00'||HL_PREPA_LIGNE.P1JVLP, -2) AS CHAR(2)) -- PREPARATION LINE CONFIRMATION DATE - DAY
|| CAST(SUBSTR('000000'||HL_PREPA_LIGNE.P1HVLP, -6) AS CHAR(6))) -- PREPARATION LINE CONFIRMATION TIME -- COMMENT
AS CHAR(70))
|| CAST ('MDT' AS CHAR(3)) -- COMMENT GROUP
|| '''' AS LINE
FROM SD_HLPRENP HL_PREPA_ENTETE
JOIN SD_HLPRPLP HL_PREPA_LIGNE
ON HL_PREPA_ENTETE.PECACT = HL_PREPA_LIGNE.P1CACT
AND HL_PREPA_ENTETE.PECDPO = HL_PREPA_LIGNE.P1CDPO
AND HL_PREPA_ENTETE.PENANN = HL_PREPA_LIGNE.P1NANP
AND HL_PREPA_ENTETE.PENPRE = HL_PREPA_LIGNE.P1NPRE
WHERE HL_PREPA_ENTETE.PENPRE = ORD_NUM
AND HL_PREPA_ENTETE.PENANN = YEAR_NUM
AND HL_PREPA_ENTETE.PERODP = ORIGINATOR_REF
AND HL_PREPA_ENTETE.PECACT = ACTIVITY_CODE
GROUP BY 199, 0
,CAST(ACTIVITY_CODE AS CHAR(3))
,CAST(DEPOT_CODE AS CHAR(3))
,CAST(HL_PREPA_ENTETE.PENANN AS CHAR(2))
,CAST(SUBSTR('000000000'||HL_PREPA_ENTETE.PENPRE, -9) AS CHAR(9))
,CAST ('MDT' AS CHAR(3))
),
---------------------- DETAILS
HL52210 AS(
SELECT DISTINCT 210 AS "SEQ", 0 AS "SEQ2", 0 AS "SEQ3", CAST(HL_PREPA_LIGNE.P1NLOP || '/' || HL_PREPA_LIGNE.P1NLPR || '/' || HL_PREPA_LIGNE.P1CART AS CHAR(16) ) AS "LINE_NB",
'HL52210'
|| CAST(ACTIVITY_CODE AS CHAR(3)) -- ACTIVITY CODE
|| CAST(DEPOT_CODE AS CHAR(3)) -- PHYSICAL DEPOT CODE
|| CAST(HL_PREPA_LIGNE.P1NANN AS CHAR(2)) -- PREPARATION LINE YEAR NUMBER
|| CAST(LPAD(HL_PREPA_LIGNE.P1NLPR, 13, '0') AS CHAR(13)) -- PREPARATION LINE NUMBER
|| CAST(HL_PREPA_ENTETE.PENANN AS CHAR(2)) -- PREPARATION YEAR NUMBER
|| CAST(LPAD(HL_PREPA_ENTETE.PENPRE, 9, '0') AS CHAR(9)) -- PREPARATION NUMBER
|| CAST(HL_PREPA_LIGNE.PECDOD AS CHAR(3)) -- PREPARATION ORDER PHYSICAL DEPOT CODE
|| CAST(HL_PREPA_LIGNE.P1NANO AS CHAR(2)) -- PREPARATION ORDER YEAR NUMBER
|| CAST(LPAD(HL_PREPA_LIGNE.P1NODP, 9, '0') AS CHAR(9)) -- PREPARATION ORDER NUMBER
|| CAST(LPAD(HL_PREPA_LIGNE.P1NLOP, 7, '0') AS CHAR(7)) -- PREPARATION ORDER LINE NUMBER
|| CAST(HL_PREPA_LIGNE.P1CART AS CHAR(16)) -- ITEM CODE
|| CAST(HL_PREPA_LIGNE.P1CVLA AS CHAR(2)) -- ITEM LV CODE
|| CAST(LPAD(HL_PREPA_LIGNE.P1CPRP, 3, '0') AS CHAR(3)) -- OWNER CODE
|| CAST(LPAD(HL_PREPA_LIGNE.P1CQAL, 3, '0') AS CHAR(3)) -- GRADE CODE
|| CAST(HL_PREPA_LIGNE.P1CDES AS CHAR(13)) -- END CONSIGNEE CODE
|| CAST(HL_PROPRIETAIRE.PRCLPR AS CHAR(13)) -- OWNER LONG CODE
|| CAST(HL_PREPA_ENTETE.PERODP AS CHAR(20)) -- PREPARATION ORIGINATOR REFERENCE
|| CAST(LPAD(HL_ODP_LIGNE.OLLROP, 7, '0') AS CHAR(7)) -- PREPARATION ORIGINATOR REFERENCE LINE NUMBER
|| CAST(HL_ODP_LIGNE.OLRCDD AS CHAR(20)) -- CONSIGNEE ITEM REFERENCE
|| CAST(HL_PREPA_LIGNE.P1CKIL AS CHAR(1)) -- KIT CODE
|| CAST(HL_ODP_ENTETE.OERODD AS CHAR(20)) -- END CONSIGNEE REFERENCE
|| '''' AS LINE
FROM SD_HLPRENP HL_PREPA_ENTETE
JOIN SD_HLPRPLP HL_PREPA_LIGNE
ON HL_PREPA_ENTETE.PECACT = HL_PREPA_LIGNE.P1CACT
AND HL_PREPA_ENTETE.PECDPO = HL_PREPA_LIGNE.P1CDPO
AND HL_PREPA_ENTETE.PENANN = HL_PREPA_LIGNE.P1NANP
AND HL_PREPA_ENTETE.PENPRE = HL_PREPA_LIGNE.P1NPRE
JOIN SD_HLODPLP HL_ODP_LIGNE
ON HL_PREPA_LIGNE.PECDOD = HL_ODP_LIGNE.OLCDPO
AND HL_PREPA_LIGNE.P1CACT = HL_ODP_LIGNE.OLCACT
AND HL_PREPA_LIGNE.P1NANO = HL_ODP_LIGNE.OLNANN
AND HL_PREPA_LIGNE.P1NODP = HL_ODP_LIGNE.OLNODP
AND HL_PREPA_LIGNE.P1NLOP = HL_ODP_LIGNE.OLNLOP
JOIN SD_HLODPEP HL_ODP_ENTETE
ON HL_ODP_LIGNE.OLCACT = HL_ODP_ENTETE.OECACT
AND HL_ODP_LIGNE.OLCDPO = HL_ODP_ENTETE.OECDPO
AND HL_ODP_LIGNE.OLNANN = HL_ODP_ENTETE.OENANN
AND HL_ODP_LIGNE.OLNODP = HL_ODP_ENTETE.OENODP
JOIN SD_HLPROPP HL_PROPRIETAIRE
ON HL_PREPA_LIGNE.P1CACT = HL_PROPRIETAIRE.PRCACT
AND HL_PREPA_LIGNE.P1CPRP = HL_PROPRIETAIRE.PRCPRP
WHERE HL_PREPA_ENTETE.PENPRE = ORD_NUM
AND HL_PREPA_ENTETE.PENANN = YEAR_NUM
AND HL_PREPA_ENTETE.PERODP = ORIGINATOR_REF
AND HL_PREPA_ENTETE.PECACT = ACTIVITY_CODE
),
HL52220 AS(
SELECT DISTINCT 210 AS "SEQ", 1 AS "SEQ2", 0 AS "SEQ3", CAST(HL_PREPA_LIGNE.P1NLOP || '/' || HL_PREPA_LIGNE.P1NLPR || '/' || HL_PREPA_LIGNE.P1CART AS CHAR(16) ) AS "LINE_NB",
'HL52220'
|| CAST(ACTIVITY_CODE AS CHAR(3)) -- ACTIVITY CODE
|| CAST(DEPOT_CODE AS CHAR(3)) -- PHYSICAL DEPOT CODE
|| CAST(HL_PREPA_LIGNE.P1NANN AS CHAR(2)) -- PREPARATION LINE YEAR NUMBER
|| CAST(LPAD(HL_PREPA_LIGNE.P1NLPR, 13, '0') AS CHAR(13)) -- PREPARATION LINE NUMBER
|| CAST(HL_PREPA_ENTETE.PENANN AS CHAR(2)) -- PREPARATION YEAR NUMBER
|| CAST(LPAD(HL_PREPA_ENTETE.PENPRE, 9, '0') AS CHAR(9)) -- PREPARATION NUMBER
|| CAST(LPAD(HL_PREPA_LIGNE.P1QODP, 7, '0') AS CHAR(7)) -- PRO PREPARATION LINE - QUANTITY IN BASE LVS TO PREPARE
|| CAST(LTRIM(RTRIM(TO_CHAR(HL_PREPA_LIGNE.P1PNOD * 1000,'000000000'))) AS CHAR(9))
-- PRO PREPARATION LINE - NET WEIGHT TO PREPARE
|| CAST(LPAD(HL_PREPA_LIGNE.P1QAPR, 7, '0') AS CHAR(7)) -- PREPARATION LINE - QUANTITY IN BASE LVS TO PREPARE
|| CAST(LTRIM(RTRIM(TO_CHAR(HL_PREPA_LIGNE.P1PAPN * 1000,'000000000'))) AS CHAR(9))
-- PREPARATION LINE - NET WEIGHT TO PREPARE
|| CAST(LPAD(HL_PREPA_LIGNE.P1QPRE, 7, '0') AS CHAR(7)) -- PREPARATION LINE - QUANTITY IN BASE LVS CONFIRMED
|| CAST(LTRIM(RTRIM(TO_CHAR(HL_PREPA_LIGNE.P1PNPR * 1000,'000000000'))) AS CHAR(9))
-- PREPARATION LINE - NET WEIGHT CONFIRMED
|| CAST(LPAD(HL_PREPA_LIGNE.P1QRGE, 7, '0') AS CHAR(7)) -- PREPARATION LINE - QUANTITY IN BASE LVS OF GENERATED BACK ORDER ITEMS
|| CAST(LTRIM(RTRIM(TO_CHAR(HL_PREPA_LIGNE.P1PNRG * 1000,'000000000'))) AS CHAR(9))
-- PREPARATION LINE - NET WEIGHT OF BACK ORDER ITEMS GENERATED
|| CAST(LPAD(HL_PREPA_LIGNE.P1NQSB, 7, '0') AS CHAR(7)) -- PREPARATION LINE - NUMERATOR QUANTITY SUBSTITUTED
|| CAST(LPAD(HL_PREPA_LIGNE.P1DQSB, 7, '0') AS CHAR(7)) -- PREPARATION LINE - DENOMINATOR QUANTITY SUBSTITUTED
|| CAST(LTRIM(RTRIM(TO_CHAR(HL_PREPA_LIGNE.P1PNSU * 1000,'000000000'))) AS CHAR(9))
-- PREPARATION LINE - NET WEIGHT SUBSTITUTED
|| '''' AS LINE
FROM SD_HLPRENP HL_PREPA_ENTETE
JOIN SD_HLPRPLP HL_PREPA_LIGNE
ON HL_PREPA_ENTETE.PECACT = HL_PREPA_LIGNE.P1CACT
AND HL_PREPA_ENTETE.PECDPO = HL_PREPA_LIGNE.P1CDPO
AND HL_PREPA_ENTETE.PENANN = HL_PREPA_LIGNE.P1NANP
AND HL_PREPA_ENTETE.PENPRE = HL_PREPA_LIGNE.P1NPRE
WHERE HL_PREPA_ENTETE.PENPRE = ORD_NUM
AND HL_PREPA_ENTETE.PENANN = YEAR_NUM
AND HL_PREPA_ENTETE.PERODP = ORIGINATOR_REF
AND HL_PREPA_ENTETE.PECACT = ACTIVITY_CODE
),
HL52230 AS(
SELECT DISTINCT 210 AS "SEQ", 2 AS "SEQ2", 0 AS "SEQ3", CAST(HL_PREPA_LIGNE.P1NLOP || '/' || HL_PREPA_LIGNE.P1NLPR || '/' || HL_PREPA_LIGNE.P1CART AS CHAR(16) ) AS "LINE_NB",
'HL52230'
|| CAST(ACTIVITY_CODE AS CHAR(3)) -- ACTIVITY CODE
|| CAST(DEPOT_CODE AS CHAR(3)) -- PHYSICAL DEPOT CODE
|| CAST(HL_PREPA_LIGNE.P1NANN AS CHAR(2)) -- PREPARATION LINE YEAR NUMBER
|| CAST(LPAD(HL_PREPA_LIGNE.P1NLPR, 13, '0') AS CHAR(13)) -- PREPARATION LINE NUMBER
|| CAST(HL_PREPA_ENTETE.PENANN AS CHAR(2)) -- PREPARATION YEAR NUMBER
|| CAST(LPAD(HL_PREPA_ENTETE.PENPRE, 9, '0') AS CHAR(9)) -- PREPARATION NUMBER
|| CAST(LPAD(HL_PREPA_LIGNE.P1NJMF, 3, '0') AS CHAR(3)) -- FORCED PRIORITY DATE MINIMUM NUMBER OF DAYS
|| CAST(SUBSTR('00'||HL_PREPA_LIGNE.P1SVLP, -2) AS CHAR(2)) -- PREPARATION LINE CONFIRMATION DATE - CENTURY
|| CAST(SUBSTR('00'||HL_PREPA_LIGNE.P1AVLP, -2) AS CHAR(2)) -- PREPARATION LINE CONFIRMATION DATE - YEAR
|| CAST(SUBSTR('00'||HL_PREPA_LIGNE.P1MVLP, -2) AS CHAR(2)) -- PREPARATION LINE CONFIRMATION DATE - MONTH
|| CAST(SUBSTR('00'||HL_PREPA_LIGNE.P1JVLP, -2) AS CHAR(2)) -- PREPARATION LINE CONFIRMATION DATE - DAY
|| CAST(SUBSTR('000000'||HL_PREPA_LIGNE.P1HVLP, -6) AS CHAR(6)) -- PREPARATION LINE CONFIRMATION TIME
|| '''' AS LINE
FROM SD_HLPRENP HL_PREPA_ENTETE
JOIN SD_HLPRPLP HL_PREPA_LIGNE
ON HL_PREPA_ENTETE.PECACT = HL_PREPA_LIGNE.P1CACT
AND HL_PREPA_ENTETE.PECDPO = HL_PREPA_LIGNE.P1CDPO
AND HL_PREPA_ENTETE.PENANN = HL_PREPA_LIGNE.P1NANP
AND HL_PREPA_ENTETE.PENPRE = HL_PREPA_LIGNE.P1NPRE
WHERE HL_PREPA_ENTETE.PENPRE = ORD_NUM
AND HL_PREPA_ENTETE.PENANN = YEAR_NUM
AND HL_PREPA_ENTETE.PERODP = ORIGINATOR_REF
AND HL_PREPA_ENTETE.PECACT = ACTIVITY_CODE
),
HL52240 AS(
SELECT DISTINCT 210 AS "SEQ", 3 AS "SEQ2", 0 AS "SEQ3", CAST(HL_PREPA_LIGNE.P1NLOP || '/' || HL_PREPA_LIGNE.P1NLPR || '/' || HL_PREPA_LIGNE.P1CART AS CHAR(16) ) AS "LINE_NB",
'HL52240'
|| CAST(ACTIVITY_CODE AS CHAR(3)) -- ACTIVITY CODE
|| CAST(DEPOT_CODE AS CHAR(3)) -- PHYSICAL DEPOT CODE
|| CAST(HL_PREPA_LIGNE.P1NANN AS CHAR(2)) -- PREPARATION LINE YEAR NUMBER
|| CAST(LPAD(HL_PREPA_LIGNE.P1NLPR, 13, '0') AS CHAR(13)) -- PREPARATION LINE NUMBER
|| CAST(HL_PREPA_ENTETE.PENANN AS CHAR(2)) -- PREPARATION YEAR NUMBER
|| CAST(LPAD(HL_PREPA_ENTETE.PENPRE, 9, '0') AS CHAR(9)) -- PREPARATION NUMBER
|| CAST(' ' AS CHAR(3)) -- ACTIVITY CODE OF CORRESPONDING BACK-ORDER PREPARATION LINE
|| CAST(' ' AS CHAR(3)) -- PHYSICAL DEPOT CODE OF CORRESPONDING BACK-ORDER PREPARATION LINE
|| CAST(' ' AS CHAR(2)) -- YEAR NUMBER OF CORRESPONDING BACK-ORDER PREPARATION LINE
|| CAST(' ' AS CHAR(13)) -- NUMBER OF CORRESPONDING BACK-ORDER PREPARATION LINE
|| '''' AS LINE
FROM SD_HLPRENP HL_PREPA_ENTETE
JOIN SD_HLPRPLP HL_PREPA_LIGNE
ON HL_PREPA_ENTETE.PECACT = HL_PREPA_LIGNE.P1CACT
AND HL_PREPA_ENTETE.PECDPO = HL_PREPA_LIGNE.P1CDPO
AND HL_PREPA_ENTETE.PENANN = HL_PREPA_LIGNE.P1NANP
AND HL_PREPA_ENTETE.PENPRE = HL_PREPA_LIGNE.P1NPRE
WHERE HL_PREPA_ENTETE.PENPRE = ORD_NUM
AND HL_PREPA_ENTETE.PENANN = YEAR_NUM
AND HL_PREPA_ENTETE.PERODP = ORIGINATOR_REF
AND HL_PREPA_ENTETE.PECACT = ACTIVITY_CODE
),
HL52250 AS(
SELECT DISTINCT 210 AS "SEQ", 4 AS "SEQ2", 1 AS "SEQ3", CAST(HL_PREPA_LIGNE.P1NLOP || '/' || HL_PREPA_LIGNE.P1NLPR || '/' || HL_PREPA_LIGNE.P1CART AS CHAR(16) ) AS "LINE_NB",
'HL52250'
|| CAST(ACTIVITY_CODE AS CHAR(3)) -- ACTIVITY CODE
|| CAST(DEPOT_CODE AS CHAR(3)) -- PHYSICAL DEPOT CODE
|| CAST(HL_PREPA_LIGNE.P1NANN AS CHAR(2)) -- PREPARATION LINE YEAR NUMBER
|| CAST(LPAD(HL_PREPA_LIGNE.P1NLPR, 13, '0') AS CHAR(13)) -- PREPARATION LINE NUMBER
|| CAST(HL_PREPA_ENTETE.PENANN AS CHAR(2)) -- PREPARATION YEAR NUMBER
|| CAST(LPAD(HL_PREPA_ENTETE.PENPRE, 9, '0') AS CHAR(9)) -- PREPARATION NUMBER
|| CAST( LPAD(HL_GEI_SORTI.GSQGEI, 7, '0') AS CHAR(7)) -- IPG QUANTITY IN BASE LVs
|| CAST( LPAD(HL_GEI_SORTI.GSPNGE * 1000, 9, '0') AS CHAR(9)) -- IPG NET WEIGHT
|| CAST(HL_GEI_SORTI.GSCFOU AS CHAR(13)) -- SUPPLIER CODE
|| CAST(HL_GEI_SORTI.GSNCOL AS CHAR(18)) -- CARTON NUMBER (ZAMIENIONA KOLEJNOSC Z CARTON, BO LINKER ZLE WYSYLA)
|| CAST(HL_GEI_SORTI.GSNSUP AS CHAR(18)) -- HD NUMBER(ZAMIENIONA KOLEJNOSC Z CARTON, BO LINKER ZLE WYSYLA)
|| CAST(LPAD(HL_GEI_SORTI.GSPRGE * 1000, 11, '0') AS CHAR(11)) -- PRICE
|| CAST(HL_GEI_SORTI.GSLOTF AS CHAR(20)) -- BATCH 1
|| CAST( LPAD(HL_GEI_SORTI.GSSFAB, 2, '0') AS CHAR(2)) -- IPG DATE OF MANUFACTURE - CENTURY
|| CAST( LPAD(HL_GEI_SORTI.GSAFAB, 2, '0') AS CHAR(2)) -- IPG DATE OF MANUFACTURE - YEAR
|| CAST( LPAD(HL_GEI_SORTI.GSMFAB, 2, '0') AS CHAR(2)) -- IPG DATE OF MANUFACTURE - MONTH
|| CAST( LPAD(HL_GEI_SORTI.GSJFAB, 2, '0') AS CHAR(2)) -- IPG DATE OF MANUFACTURE - DAY
|| CAST( LPAD(HL_GEI_SORTI.GSSREG, 2, '0') AS CHAR(2)) -- IPG RECEIPT DATE - CENTURY
|| CAST( LPAD(HL_GEI_SORTI.GSAREG, 2, '0') AS CHAR(2)) -- IPG RECEIPT DATE - YEAR
|| CAST( LPAD(HL_GEI_SORTI.GSMREG, 2, '0') AS CHAR(2)) -- IPG RECEIPT DATE - MONTH
|| CAST( LPAD(HL_GEI_SORTI.GSJREG, 2, '0') AS CHAR(2)) -- IPG RECEIPT DATE - DAY
|| CAST( LPAD(HL_GEI_SORTI.GSSDLU, 2, '0') AS CHAR(2)) -- IPG BBD - CENTURY
|| CAST( LPAD(HL_GEI_SORTI.GSADLU, 2, '0') AS CHAR(2)) -- IPG BBD - YEAR
|| CAST( LPAD(HL_GEI_SORTI.GSMDLU, 2, '0') AS CHAR(2)) -- IPG BBD - MONTH
|| CAST( LPAD(HL_GEI_SORTI.GSJDLU, 2, '0') AS CHAR(2)) -- IPG BBD - DAY
|| CAST( LPAD(HL_GEI_SORTI.GSSDLV, 2, '0') AS CHAR(2)) -- IPG SBD - CENTURY
|| CAST( LPAD(HL_GEI_SORTI.GSADLV, 2, '0') AS CHAR(2)) -- IPG SBD - YEAR
|| CAST( LPAD(HL_GEI_SORTI.GSMDLV, 2, '0') AS CHAR(2)) -- IPG SBD - MONTH
|| CAST( LPAD(HL_GEI_SORTI.GSJDLV, 2, '0') AS CHAR(2)) -- IPG SBD - DAY
|| CAST( LPAD(HL_GEI_SORTI.GSSDLC, 2, '0') AS CHAR(2)) -- IPG UBD - CENTURY
|| CAST( LPAD(HL_GEI_SORTI.GSADLC, 2, '0') AS CHAR(2)) -- IPG UBD - YEAR
|| CAST( LPAD(HL_GEI_SORTI.GSMDLC, 2, '0') AS CHAR(2)) -- IPG UBD - MONTH
|| CAST( LPAD(HL_GEI_SORTI.GSJDLC, 2, '0') AS CHAR(2)) -- IPG UBD - DAY
|| CAST(HL_GEI_SORTI.GSLOT2 AS CHAR(20)) -- BATCH 2
|| CAST(HL_GEI_SORTI.GSLOT3 AS CHAR(20)) -- BATCH 3
-- || CAST(HL_GEI_SORTI.GSCTSU AS CHAR(3)) -- HD TYPE CODE
-- || CAST(HL_GEI_SORTI.GSCTCO AS CHAR(3)) -- CARTON TYPE CODE
|| CAST(' ' AS CHAR(6))
|| CAST(' ' AS CHAR(35)) -- TRANSPORT DESPATCH UNIT ID
|| '''' AS LINE
FROM SD_HLPRENP HL_PREPA_ENTETE
JOIN SD_HLPRPLP HL_PREPA_LIGNE -- PREPARATION LINE
ON HL_PREPA_ENTETE.PECACT = HL_PREPA_LIGNE.P1CACT
AND HL_PREPA_ENTETE.PECDPO = HL_PREPA_LIGNE.P1CDPO
AND HL_PREPA_ENTETE.PENANN = HL_PREPA_LIGNE.P1NANP
AND HL_PREPA_ENTETE.PENPRE = HL_PREPA_LIGNE.P1NPRE
-- JOIN SD_HLPLLPP HL_PRL_LIG_PRP -- PICK/PREPARATION LINE
-- ON HL_PRL_LIG_PRP.PPCACP = HL_PREPA_LIGNE.P1CACT
-- AND HL_PRL_LIG_PRP.PPCDPP = HL_PREPA_LIGNE.P1CDPO
-- AND HL_PRL_LIG_PRP.PPNANP = HL_PREPA_LIGNE.P1NANN
-- AND HL_PRL_LIG_PRP.PPNLPR = HL_PREPA_LIGNE.P1NLPR
-- JOIN SD_HLPRELP HL_PRELEVEMENT -- PICK
-- ON HL_PRELEVEMENT.PVCACT = HL_PRL_LIG_PRP.PPCACT
-- AND HL_PRELEVEMENT.PVCDPO = HL_PRL_LIG_PRP.PPCDPO
-- AND HL_PRELEVEMENT.PVNANN = HL_PRL_LIG_PRP.PPNANN
-- AND HL_PRELEVEMENT.PVNPRL = HL_PRL_LIG_PRP.PPNPRL
-- AND HL_PRELEVEMENT.PVTVPR = '1'
-- AND HL_PRELEVEMENT.PVTNPR = '0'
--== DESPATCHED IPG ==--
-- CONNECT BY 'IPG AFTER PICK' WITH PICK
JOIN SD_HLGESOP HL_GEI_SORTI
-- ON HL_GEI_SORTI.GSNGEI = HL_PRELEVEMENT.PVNGEG
-- AND HL_GEI_SORTI.GSNSUP = HL_PRELEVEMENT.PVNSUG
-- AND HL_GEI_SORTI.GSNAPP != 0
-- AND HL_GEI_SORTI.GSNPRE != 0
ON HL_GEI_SORTI.GSCACT = HL_PREPA_LIGNE.P1CACT
AND HL_GEI_SORTI.GSCDPO = HL_PREPA_LIGNE.P1CDPO
AND HL_GEI_SORTI.GSNALI = HL_PREPA_LIGNE.P1NANP
AND HL_GEI_SORTI.GSNLPR = HL_PREPA_LIGNE.P1NLPR
-- JOIN SD_HLMISSP HL_MISSION -- Pick batch
-- ON HL_PRELEVEMENT.PVCDPO = HL_MISSION.MICDPO
-- AND HL_PRELEVEMENT.PVNANN = HL_MISSION.MINANN
-- AND HL_PRELEVEMENT.PVNMIS = HL_MISSION.MINMIS
-- AND NOT (MITMVA = 1 AND MITBPM = 0)
-- JOIN SD_HLPOPRP HL_POOL_PREPA -- Preparation for preparation pool
-- ON HL_PREPA_ENTETE.PECACT = HL_POOL_PREPA.POPCACT
-- AND HL_PREPA_ENTETE.PECDPO = HL_POOL_PREPA.POPCDPO
-- AND HL_PREPA_ENTETE.PENANN = HL_POOL_PREPA.POPNAPRE
-- AND HL_PREPA_ENTETE.PENPRE = HL_POOL_PREPA.POPNPRE
--
-- JOIN SD_HLPVPOP HL_PRELEV_POOL -- Pick - Preparation pool
-- ON HL_PRL_LIG_PRP.PPCACP = HL_PRELEV_POOL.PPOCACT
-- AND HL_PRL_LIG_PRP.PPCDPP = HL_PRELEV_POOL.PPOCDPO
-- AND HL_PRL_LIG_PRP.PPNANN = HL_PRELEV_POOL.PPONANN
-- AND HL_PRL_LIG_PRP.PPNPRL = HL_PRELEV_POOL.PPONPRL
-- AND HL_POOL_PREPA.POPNANN = HL_PRELEV_POOL.PPONAPOO
-- AND HL_POOL_PREPA.POPNUMPOPR = HL_PRELEV_POOL.PPONUMPOPR
WHERE HL_PREPA_ENTETE.PENPRE = ORD_NUM
AND HL_PREPA_ENTETE.PENANN = YEAR_NUM
AND HL_PREPA_ENTETE.PERODP = ORIGINATOR_REF
AND HL_PREPA_ENTETE.PECACT = ACTIVITY_CODE
AND HL_PREPA_ENTETE.PETVAP = '1' -- Flag - Preparation confirmed
AND HL_PREPA_ENTETE.PETESS = '1' -- Flag - Preparation stock despatch in progress
AND HL_PREPA_ENTETE.PETSOP = '1' -- Flag - Stock despatch made for preparation
UNION ALL
-- SLI AFTER CONFIRM BUT BEFORE DESPATCH
-- DATA FROM HL_PRELEVEMENT + HL_GEL
SELECT DISTINCT 210 AS "SEQ", 4 AS "SEQ2", 1 AS "SEQ3", CAST(HL_PREPA_LIGNE.P1NLOP || '/' || HL_PREPA_LIGNE.P1NLPR || '/' || HL_PREPA_LIGNE.P1CART AS CHAR(16) ) AS "LINE_NB",
'HL52250'
|| CAST(ACTIVITY_CODE AS CHAR(3)) -- ACTIVITY CODE
|| CAST(DEPOT_CODE AS CHAR(3)) -- PHYSICAL DEPOT CODE
|| CAST(HL_PREPA_LIGNE.P1NANN AS CHAR(2)) -- PREPARATION LINE YEAR NUMBER
|| CAST(LPAD(HL_PREPA_LIGNE.P1NLPR, 13, '0') AS CHAR(13)) -- PREPARATION LINE NUMBER
|| CAST(HL_PREPA_ENTETE.PENANN AS CHAR(2)) -- PREPARATION YEAR NUMBER
|| CAST(LPAD(HL_PREPA_ENTETE.PENPRE, 9, '0') AS CHAR(9)) -- PREPARATION NUMBER
|| CAST( LPAD(HL_GEI.GEQGEI, 7, '0') AS CHAR(7)) -- IPG QUANTITY IN BASE LVs
|| CAST( LPAD(HL_GEI.GEPNGE * 1000, 9, '0') AS CHAR(9)) -- IPG NET WEIGHT
|| CAST(HL_GEI.GECFOU AS CHAR(13)) -- SUPPLIER CODE
|| CAST(HL_GEI.GENCOL AS CHAR(18)) -- CARTON NUMBER (ZAMIENIONA KOLEJNOSC Z HD, BO LINKER ZLE WYSYLA)
|| CAST(HL_GEI.GENSUP AS CHAR(18)) -- HD NUMBER (ZAMIENIONA KOLEJNOSC Z CARTON, BO LINKER ZLE WYSYLA)
|| CAST(LPAD(HL_GEI.GEPRGE * 1000, 11, '0') AS CHAR(11)) -- PRICE
|| CAST(HL_GEI.GELOTF AS CHAR(20)) -- BATCH 1
|| CAST( LPAD(HL_GEI.GESFAB, 2, '0') AS CHAR(2)) -- IPG DATE OF MANUFACTURE - CENTURY
|| CAST( LPAD(HL_GEI.GEAFAB, 2, '0') AS CHAR(2)) -- IPG DATE OF MANUFACTURE - YEAR
|| CAST( LPAD(HL_GEI.GEMFAB, 2, '0') AS CHAR(2)) -- IPG DATE OF MANUFACTURE - MONTH
|| CAST( LPAD(HL_GEI.GEJFAB, 2, '0') AS CHAR(2)) -- IPG DATE OF MANUFACTURE - DAY
|| CAST( LPAD(HL_GEI.GESREG, 2, '0') AS CHAR(2)) -- IPG RECEIPT DATE - CENTURY
|| CAST( LPAD(HL_GEI.GEAREG, 2, '0') AS CHAR(2)) -- IPG RECEIPT DATE - YEAR
|| CAST( LPAD(HL_GEI.GEMREG, 2, '0') AS CHAR(2)) -- IPG RECEIPT DATE - MONTH
|| CAST( LPAD(HL_GEI.GEJREG, 2, '0') AS CHAR(2)) -- IPG RECEIPT DATE - DAY
|| CAST( LPAD(HL_GEI.GESDLU, 2, '0') AS CHAR(2)) -- IPG BBD - CENTURY
|| CAST( LPAD(HL_GEI.GEADLU, 2, '0') AS CHAR(2)) -- IPG BBD - YEAR
|| CAST( LPAD(HL_GEI.GEMDLU, 2, '0') AS CHAR(2)) -- IPG BBD - MONTH
|| CAST( LPAD(HL_GEI.GEJDLU, 2, '0') AS CHAR(2)) -- IPG BBD - DAY
|| CAST( LPAD(HL_GEI.GESDLV, 2, '0') AS CHAR(2)) -- IPG SBD - CENTURY
|| CAST( LPAD(HL_GEI.GEADLV, 2, '0') AS CHAR(2)) -- IPG SBD - YEAR
|| CAST( LPAD(HL_GEI.GEMDLV, 2, '0') AS CHAR(2)) -- IPG SBD - MONTH
|| CAST( LPAD(HL_GEI.GEJDLV, 2, '0') AS CHAR(2)) -- IPG SBD - DAY
|| CAST( LPAD(HL_GEI.GESDLC, 2, '0') AS CHAR(2)) -- IPG UBD - CENTURY
|| CAST( LPAD(HL_GEI.GEADLC, 2, '0') AS CHAR(2)) -- IPG UBD - YEAR
|| CAST( LPAD(HL_GEI.GEMDLC, 2, '0') AS CHAR(2)) -- IPG UBD - MONTH
|| CAST( LPAD(HL_GEI.GEJDLC, 2, '0') AS CHAR(2)) -- IPG UBD - DAY
|| CAST(HL_GEI.GELOT2 AS CHAR(20)) -- BATCH 2
|| CAST(HL_GEI.GELOT3 AS CHAR(20)) -- BATCH 3
-- || CAST(HL_PRELEVEMENT.PVCTSU AS CHAR(3)) -- HD TYPE CODE
-- || CAST(HL_PRELEVEMENT.PVCTCO AS CHAR(3)) -- CARTON TYPE CODE
|| CAST(' ' AS CHAR(6))
|| CAST(' ' AS CHAR(35)) -- TRANSPORT DESPATCH UNIT ID
|| '''' AS LINE
FROM SD_HLPRENP HL_PREPA_ENTETE
JOIN SD_HLPRPLP HL_PREPA_LIGNE -- PREPARATION LINE
ON HL_PREPA_ENTETE.PECACT = HL_PREPA_LIGNE.P1CACT
AND HL_PREPA_ENTETE.PECDPO = HL_PREPA_LIGNE.P1CDPO
AND HL_PREPA_ENTETE.PENANN = HL_PREPA_LIGNE.P1NANP
AND HL_PREPA_ENTETE.PENPRE = HL_PREPA_LIGNE.P1NPRE
JOIN SD_HLPLLPP HL_PRL_LIG_PRP -- PICK/PREPARATION LINE
ON HL_PRL_LIG_PRP.PPCACP = HL_PREPA_LIGNE.P1CACT
AND HL_PRL_LIG_PRP.PPCDPP = HL_PREPA_LIGNE.P1CDPO
AND HL_PRL_LIG_PRP.PPNANP = HL_PREPA_LIGNE.P1NANN
AND HL_PRL_LIG_PRP.PPNLPR = HL_PREPA_LIGNE.P1NLPR
JOIN SD_HLPRELP HL_PRELEVEMENT -- PICK
ON HL_PRELEVEMENT.PVCACT = HL_PRL_LIG_PRP.PPCACT
AND HL_PRELEVEMENT.PVCDPO = HL_PRL_LIG_PRP.PPCDPO
AND HL_PRELEVEMENT.PVNANN = HL_PRL_LIG_PRP.PPNANN
AND HL_PRELEVEMENT.PVNPRL = HL_PRL_LIG_PRP.PPNPRL
AND HL_PRELEVEMENT.PVTVPR = '1'
AND HL_PRELEVEMENT.PVTNPR = '0'
JOIN SD_HLMISSP HL_MISSION -- Pick batch
ON HL_PRELEVEMENT.PVCDPO = HL_MISSION.MICDPO
AND HL_PRELEVEMENT.PVNANN = HL_MISSION.MINANN
AND HL_PRELEVEMENT.PVNMIS = HL_MISSION.MINMIS
AND NOT (MITMVA = 1 AND MITBPM = 0)
JOIN SD_HLLPRGP HL_LIG_PRP_GEI
ON HL_PREPA_LIGNE.P1NANN = HL_LIG_PRP_GEI.LGNANN
AND HL_PREPA_LIGNE.P1NLPR = HL_LIG_PRP_GEI.LGNLPR
AND HL_PREPA_LIGNE.P1CACT = HL_LIG_PRP_GEI.LGCACT
AND HL_PREPA_LIGNE.P1CDPO = HL_LIG_PRP_GEI.LGCDPO
--== NOT DESPATCHED IPG ==--
-- CONNECT BY 'IPG AFTER PICK' WITH PICK
JOIN SD_HLGEINP HL_GEI
-- ON HL_GEI.GENGEI = HL_PRELEVEMENT.PVNGEG
ON HL_LIG_PRP_GEI.LGNGEI = HL_GEI.GENGEI
-- JOIN SD_HLPOPRP HL_POOL_PREPA -- Preparation for preparation pool
-- ON HL_PREPA_ENTETE.PECACT = HL_POOL_PREPA.POPCACT
-- AND HL_PREPA_ENTETE.PECDPO = HL_POOL_PREPA.POPCDPO
-- AND HL_PREPA_ENTETE.PENANN = HL_POOL_PREPA.POPNAPRE
-- AND HL_PREPA_ENTETE.PENPRE = HL_POOL_PREPA.POPNPRE
--
-- JOIN SD_HLPVPOP HL_PRELEV_POOL -- Pick - Preparation pool
-- ON HL_PRL_LIG_PRP.PPCACP = HL_PRELEV_POOL.PPOCACT
-- AND HL_PRL_LIG_PRP.PPCDPP = HL_PRELEV_POOL.PPOCDPO
-- AND HL_PRL_LIG_PRP.PPNANN = HL_PRELEV_POOL.PPONANN
-- AND HL_PRL_LIG_PRP.PPNPRL = HL_PRELEV_POOL.PPONPRL
-- AND HL_POOL_PREPA.POPNANN = HL_PRELEV_POOL.PPONAPOO
-- AND HL_POOL_PREPA.POPNUMPOPR = HL_PRELEV_POOL.PPONUMPOPR
WHERE HL_PREPA_ENTETE.PENPRE = ORD_NUM
AND HL_PREPA_ENTETE.PENANN = YEAR_NUM
AND HL_PREPA_ENTETE.PERODP = ORIGINATOR_REF
AND HL_PREPA_ENTETE.PECACT = ACTIVITY_CODE
AND HL_PREPA_ENTETE.PETVAP = '1' -- Flag - Preparation confirmed
AND HL_PREPA_ENTETE.PETESS = '0' -- Flag - Preparation stock despatch in progress
AND HL_PREPA_ENTETE.PETSOP = '0' -- Flag - Stock despatch made for preparation
),
HL52251 AS(
SELECT DISTINCT 210 AS "SEQ", 4 AS "SEQ2", 2 AS "SEQ3", CAST(HL_PREPA_LIGNE.P1NLOP || '/' || HL_PREPA_LIGNE.P1NLPR || '/' || HL_PREPA_LIGNE.P1CART AS CHAR(16) ) AS "LINE_NB",
'HL52251'
|| CAST(ACTIVITY_CODE AS CHAR(3)) -- ACTIVITY CODE
|| CAST(DEPOT_CODE AS CHAR(3)) -- PHYSICAL DEPOT CODE
|| CAST(HL_PREPA_LIGNE.P1NANN AS CHAR(2)) -- PREPARATION LINE YEAR NUMBER
|| CAST(LPAD(HL_PREPA_LIGNE.P1NLPR, 13, '0') AS CHAR(13)) -- PREPARATION LINE NUMBER
|| CAST(HL_PREPA_ENTETE.PENANN AS CHAR(2)) -- PREPARATION YEAR NUMBER
|| CAST(LPAD(HL_PREPA_ENTETE.PENPRE, 9, '0') AS CHAR(9)) -- PREPARATION NUMBER
|| '''' AS LINE
FROM SD_HLPRENP HL_PREPA_ENTETE
JOIN SD_HLPRPLP HL_PREPA_LIGNE -- PREPARATION LINE
ON HL_PREPA_ENTETE.PECACT = HL_PREPA_LIGNE.P1CACT
AND HL_PREPA_ENTETE.PECDPO = HL_PREPA_LIGNE.P1CDPO
AND HL_PREPA_ENTETE.PENANN = HL_PREPA_LIGNE.P1NANP
AND HL_PREPA_ENTETE.PENPRE = HL_PREPA_LIGNE.P1NPRE
WHERE HL_PREPA_ENTETE.PENPRE = ORD_NUM
AND HL_PREPA_ENTETE.PENANN = YEAR_NUM
AND HL_PREPA_ENTETE.PERODP = ORIGINATOR_REF
AND HL_PREPA_ENTETE.PECACT = ACTIVITY_CODE
),
HL52299 AS(
SELECT DISTINCT 210 AS "SEQ", 4 AS "SEQ2", 3 AS "SEQ3", CAST(HL_PREPA_LIGNE.P1NLOP || '/' || HL_PREPA_LIGNE.P1NLPR || '/' || HL_PREPA_LIGNE.P1CART AS CHAR(16) ) AS "LINE_NB",
'HL52299'
|| CAST(ACTIVITY_CODE AS CHAR(3)) -- ACTIVITY CODE
|| CAST(DEPOT_CODE AS CHAR(3)) -- PHYSICAL DEPOT CODE
|| CAST(HL_PREPA_LIGNE.P1NANN AS CHAR(2)) -- PREPARATION LINE YEAR NUMBER
|| CAST(LPAD(HL_PREPA_LIGNE.P1NLPR, 13, '0') AS CHAR(13)) -- PREPARATION LINE NUMBER
|| CAST(HL_PREPA_ENTETE.PENANN AS CHAR(2)) -- PREPARATION YEAR NUMBER
|| CAST(LPAD(HL_PREPA_ENTETE.PENPRE, 9, '0') AS CHAR(9)) -- PREPARATION NUMBER
|| CAST (NVL(HL_COMMENTAIRE.COTXTC, ' ') AS CHAR(70)) -- COMMENT
|| CAST (NVL(HL_COMMENTAIRE.COCFCO, ' ') AS CHAR(3)) -- COMMENT GROUP
|| '''' AS LINE
FROM SD_HLPRENP HL_PREPA_ENTETE
JOIN SD_HLPRPLP HL_PREPA_LIGNE -- PREPARATION LINE
ON HL_PREPA_ENTETE.PECACT = HL_PREPA_LIGNE.P1CACT
AND HL_PREPA_ENTETE.PECDPO = HL_PREPA_LIGNE.P1CDPO
AND HL_PREPA_ENTETE.PENANN = HL_PREPA_LIGNE.P1NANP
AND HL_PREPA_ENTETE.PENPRE = HL_PREPA_LIGNE.P1NPRE
LEFT JOIN SD_HLCOMMP HL_COMMENTAIRE
ON HL_COMMENTAIRE.CONCOM = HL_PREPA_LIGNE.P1NCOM
AND HL_COMMENTAIRE.COCFCO IN ('LIN', 'OOS', 'CCL', 'EAN', 'DS1', 'DS2', 'TTN', 'PLE', 'PWI', 'PHE', 'PWE', 'PVO')
-- TTN - PackageTrackingNo
WHERE HL_PREPA_ENTETE.PENPRE = ORD_NUM
AND HL_PREPA_ENTETE.PENANN = YEAR_NUM
AND HL_PREPA_ENTETE.PERODP = ORIGINATOR_REF
AND HL_PREPA_ENTETE.PECACT = ACTIVITY_CODE
),
OUT AS (
SELECT SEQ, SEQ2, SEQ3, LINE_NB, LINE FROM HL52110
UNION ALL
SELECT SEQ, SEQ2, SEQ3, LINE_NB, LINE FROM HL52120
UNION ALL
SELECT SEQ, SEQ2, SEQ3, LINE_NB, LINE FROM HL52130
UNION ALL
SELECT SEQ, SEQ2, SEQ3, LINE_NB, LINE FROM HL52140
UNION ALL
SELECT SEQ, SEQ2, SEQ3, LINE_NB, LINE FROM HL52150
UNION ALL
SELECT SEQ, SEQ2, SEQ3, LINE_NB, LINE FROM HL52160
UNION ALL
SELECT SEQ, SEQ2, SEQ3, LINE_NB, LINE FROM HL52199
UNION ALL
SELECT SEQ, SEQ2, SEQ3, LINE_NB, LINE FROM HL52210
UNION ALL
SELECT SEQ, SEQ2, SEQ3, LINE_NB, LINE FROM HL52220
UNION ALL
SELECT SEQ, SEQ2, SEQ3, LINE_NB, LINE FROM HL52230
UNION ALL
SELECT SEQ, SEQ2, SEQ3, LINE_NB, LINE FROM HL52250
UNION ALL
SELECT SEQ, SEQ2, SEQ3, LINE_NB, LINE FROM HL52299
ORDER BY SEQ, LINE_NB, SEQ2, SEQ3
)
SELECT LPAD(CAST (ROWNUM AS VARCHAR(7)),7,'0')|| LINE AS LINE FROM OUT;
END;Editor is loading...