/
STEP 18 PROPELLER MANUFACTURER AND MODEL CONVERSION

STEP 18 PROPELLER MANUFACTURER AND MODEL CONVERSION

Sept 2021 : NOTE - all required code for this process is found at :

FAA DATA IMPORT PROCEDURE.TXT

simply copy and place into your preferred SQL tool


 

/*

Same procedure as in Steps 16/17 for Aircraft & engine model conversions

*/

SELECT DISTINCT(M70.PROPELLER_MANUFACTURER) , AIRCRAFT_MARK_ID, PROPELLER_MODEL,

'INSERT INTO Z980_TERM_CONVERSION VALUES(''3'', ''' || M70.PROPELLER_MANUFACTURER ||

''' ,  ''' || M70.PROPELLER_MANUFACTURER ||''', 0, ''ADMIN'', SYSDATE ,SYSDATE ) ; ' INS1

FROM   M70_SDR_TRANSIT  M70

WHERE  TRIM(M70.PROPELLER_MANUFACTURER) IS NOT NULL

AND    NOT EXISTS

(SELECT Z980.FROM_TXT

 FROM   Z980_TERM_CONVERSION Z980

 WHERE  Z980.TERM_TYPE_CD = '3'

 AND    TRIM(Z980.FROM_TXT) = M70.PROPELLER_MANUFACTURER);

 

/* UPDATE Y72 MODEL CONVERSION WHERE POSSIBLE */
INSERT INTO Y72_FAA_MODEL_CONVERSION
SELECT M70.PROPELLER_MANUFACTURER,
M70.PROPELLER_MODEL,
'P',
Y62.MANUFACTURER_ID,
Y62.MODEL_ID,
'Y','ADMIN',TRUNC(SYSDATE),TRUNC(SYSDATE)
FROM M70_SDR_TRANSIT M70, Y62_PRODUCT_MAKE_MODEL Y62
WHERE M70.SDR_NUMBER_NUM = (SELECT X.SDR_NUMBER_NUM FROM M70_SDR_TRANSIT X
WHERE X.PROPELLER_MANUFACTURER = M70.PROPELLER_MANUFACTURER
AND X.PROPELLER_MODEL = M70.PROPELLER_MODEL
AND ROWNUM = 1)
AND NOT EXISTS (SELECT 1 FROM Y72_FAA_MODEL_CONVERSION X
WHERE X.PRODUCT_TYPE_CD = 'P'
AND X.FAA_MANUFACTURER = M70.PROPELLER_MANUFACTURER
AND X.FAA_MODEL_ID = M70.PROPELLER_MODEL)
AND Y62.PRODUCT_TYPE_CD = 'P'
AND Y62.MANUFACTURER_ID = (SELECT X.MANUFACTURER_ID FROM Y62_PRODUCT_MAKE_MODEL X
WHERE X.PRODUCT_TYPE_CD = 'P'
AND DATA_COMPRESSION(X.MODEL_ID) = M70.PROPELLER_MODEL
AND ROWNUM = 1)
AND Y62.MODEL_ID = (SELECT X.MODEL_ID FROM Y62_PRODUCT_MAKE_MODEL X
WHERE X.PRODUCT_TYPE_CD = 'P'
AND DATA_COMPRESSION(X.MODEL_ID) = M70.PROPELLER_MODEL
AND ROWNUM = 1);

/*
PROPELLER - FULL CONVERT WHERE POSSIBLE
*/
UPDATE M70_SDR_TRANSIT X
SET PROPELLER_MANUFACTURER =
(SELECT GET_MANUFACTURER_NAME(Y.MANUFACTURER_ID)
FROM Y72_FAA_MODEL_CONVERSION Y
WHERE Y.PRODUCT_TYPE_CD = 'P'
AND Y.FAA_MANUFACTURER = TRIM(X.PROPELLER_MANUFACTURER)
AND Y.FAA_MODEL_ID = TRIM(X.PROPELLER_MODEL)) ,
PROPELLER_MANUFACTURER_ID =
(SELECT Y.MANUFACTURER_ID FROM Y72_FAA_MODEL_CONVERSION Y
WHERE Y.PRODUCT_TYPE_CD = 'P'
AND Y.FAA_MANUFACTURER = TRIM(X.PROPELLER_MANUFACTURER)
AND Y.FAA_MODEL_ID = TRIM(X.PROPELLER_MODEL)) ,
PROPELLER_MODEL =
(SELECT Y.MODEL_ID FROM Y72_FAA_MODEL_CONVERSION Y
WHERE Y.PRODUCT_TYPE_CD = 'P'
AND Y.FAA_MANUFACTURER = TRIM(X.PROPELLER_MANUFACTURER)
AND Y.FAA_MODEL_ID = TRIM(X.PROPELLER_MODEL))
WHERE TRIM(PROPELLER_MODEL) IS NOT NULL
AND PROPELLER_MANUFACTURER_ID IS NULL
AND EXISTS
(SELECT 1 FROM Y72_FAA_MODEL_CONVERSION Y
WHERE Y.PRODUCT_TYPE_CD = 'P'
AND Y.FAA_MANUFACTURER = TRIM(X.PROPELLER_MANUFACTURER)
AND Y.FAA_MODEL_ID = TRIM(X.PROPELLER_MODEL) ) ;

 

/*

CONVERT PROPELLER MANUFACTURER TEXT TO CAWIS STANDARD

*/

UPDATE M70_SDR_TRANSIT M70

SET M70.PROPELLER_MANUFACTURER  =

           (SELECT TO_TXT FROM Z980_TERM_CONVERSION

            WHERE  TERM_TYPE_CD =  '3'

            AND    FROM_TXT = M70.PROPELLER_MANUFACTURER)

WHERE M70.PROPELLER_MANUFACTURER  NOT IN

            (SELECT GET_MANUFACTURER_NAME(MANUFACTURER_ID)

             FROM Y62_PRODUCT_MAKE_MODEL WHERE PRODUCT_TYPE_CD = 'P')

AND  EXISTS (SELECT 1 FROM Z980_TERM_CONVERSION

             WHERE  TERM_TYPE_CD =  '3'

             AND    FROM_TXT = M70.PROPELLER_MANUFACTURER) ;

            

COMMIT;

/*

SET PROPELLER MANUFACTURER_ID

*/             

UPDATE M70_SDR_TRANSIT

SET PROPELLER_MANUFACTURER_ID =

      (SELECT Y60.MANUFACTURER_ID FROM Y60_MANUFACTURER Y60

       WHERE GET_MANUFACTURER_NAME(Y60.MANUFACTURER_ID) = PROPELLER_MANUFACTURER)

WHERE NVL(PROPELLER_MANUFACTURER_ID,0) = 0

AND   TRIM(PROPELLER_MANUFACTURER) IS NOT NULL ;

COMMIT;

/*

SET PROPELLER MODEL 1st pass

*/   

UPDATE M70_SDR_TRANSIT M70

SET M70.PROPELLER_MODEL =        --- UPDATE WITH UNCOMPRESSED MODEL

   (SELECT Y62.MODEL_ID FROM Y62_PRODUCT_MAKE_MODEL Y62

    WHERE Y62.PRODUCT_TYPE_CD            = 'P'

    AND   DATA_COMPRESSION(Y62.MODEL_ID) = M70.PROPELLER_MODEL

    AND   Y62.MANUFACTURER_ID = M70.PROPELLER_MANUFACTURER_ID)

WHERE M70.PROPELLER_MODEL =      --- IF IT EXISTS ON A DATA COMPRESSION LOOKUP

   (SELECT DATA_COMPRESSION(Y62.MODEL_ID) FROM Y62_PRODUCT_MAKE_MODEL Y62

    WHERE Y62.PRODUCT_TYPE_CD            = 'P'

    AND   DATA_COMPRESSION(Y62.MODEL_ID) = M70.PROPELLER_MODEL

    AND   Y62.MANUFACTURER_ID            = M70.PROPELLER_MANUFACTURER_ID)

AND NOT EXISTS                  --- AND THE CURRENT M70 PROPELLER MFG/MODEL IS NOT ON Y62

    (SELECT  1 FROM Y62_PRODUCT_MAKE_MODEL Y62

     WHERE   Y62.PRODUCT_TYPE_CD = 'P'

     AND     Y62.MANUFACTURER_ID = M70.PROPELLER_MANUFACTURER_ID 

     AND     Y62.MODEL_ID        = M70.PROPELLER_MODEL ) ;                                                         

COMMIT;

/*

SET PROPELLER MODEL 2nd pass

*/                                                            

 UPDATE M70_SDR_TRANSIT M70

SET M70.PROPELLER_MODEL =

             (SELECT MAX(Y72.MODEL_ID) FROM Y72_FAA_MODEL_CONVERSION Y72

              WHERE Y72.PRODUCT_TYPE_CD = 'P'

              AND   Y72.FAA_MODEL_ID    = M70.PROPELLER_MODEL

              AND   Y72.MANUFACTURER_ID = M70.PROPELLER_MANUFACTURER_ID )

WHERE EXISTS (SELECT 1 FROM Y72_FAA_MODEL_CONVERSION Y72

              WHERE Y72.PRODUCT_TYPE_CD = 'P'

              AND   Y72.MANUFACTURER_ID = M70.PROPELLER_MANUFACTURER_ID

              AND   Y72.FAA_MODEL_ID = M70.PROPELLER_MODEL) 

AND NOT EXISTS               

    (SELECT  1 FROM Y62_PRODUCT_MAKE_MODEL Y62

     WHERE   Y62.PRODUCT_TYPE_CD = 'P'

     AND     Y62.MANUFACTURER_ID = M70.PROPELLER_MANUFACTURER_ID 

     AND     Y62.MODEL_ID        = M70.PROPELLER_MODEL ) ;                                                        

COMMIT;

 

/*

DOUBLE CHECK PROPELLER-MANUFACTURER ID'S WHERE PROPELLER MANUFACTURER IS NOT NULL, BUT PROPELLER MANUFACTURER ID IS NULL

*/     

--- HAVE WE GOT ANY UNCONVERTED PROPELLER MANUFACTURERS ?

SELECT * FROM M70_SDR_TRANSIT

WHERE NVL(PROPELLER_MANUFACTURER_ID,0) = 0

AND   TRIM(PROPELLER_MANUFACTURER) IS NOT NULL ;

 

SELECT DISTINCT(M70.PROPELLER_MANUFACTURER) ,

       Z980.TO_TXT,

       Y60.MANUFACTURER_ID,

'UPDATE M70_SDR_TRANSIT SET PROPELLER_MANUFACTURER_ID = ' || Y60.MANUFACTURER_ID ||

' WHERE NVL(PROPELLER_MANUFACTURER_ID ,0) = 0 AND PROPELLER_MANUFACTURER = '''

|| M70.PROPELLER_MANUFACTURER || ''' ; ' AS UPD1

FROM   M70_SDR_TRANSIT      M70,

       Z980_TERM_CONVERSION Z980,

       Y60_MANUFACTURER     Y60

WHERE  Z980.TERM_TYPE_CD     = '3'

AND    Z980.FROM_TXT         = TRIM(M70.PROPELLER_MANUFACTURER)

AND    GET_MANUFACTURER_NAME(Y60.MANUFACTURER_ID)

                             = TRIM(Z980.TO_TXT)

AND    NVL(M70.PROPELLER_MANUFACTURER_ID,0) = 0 ;

/*

DOUBLE CHECK PROPELLER MODELS

*/     

 

-- Mismatch against TC CAWIS-MODEL, BUT matches FAA model

SELECT DISTINCT(M70.PROPELLER_MODEL) ,

-- update model

'UPDATE M70_SDR_TRANSIT SET PROPELLER_MODEL = '''     || Y72.MODEL_ID ||

''' WHERE PROPELLER_MODEL = ''' || M70.PROPELLER_MODEL || ''' ; ' AS UPD1 ,

-- possibly insert problem model into y72, so it wont come up again

' INSERT INTO Y72_FAA_MODEL_CONVERSION VALUES (''' || Y72.FAA_MANUFACTURER || ''',''' ||

Y72.FAA_MODEL_ID || ''',''P'',' || M70.PROPELLER_MANUFACTURER_ID || ',''' ||

M70.PROPELLER_MODEL || ''',''Y'',''ADMIN'',SYSDATE,SYSDATE); '  AS INS1

FROM   M70_SDR_TRANSIT          M70,

       Y72_FAA_MODEL_CONVERSION Y72

WHERE  Y72.PRODUCT_TYPE_CD  = 'P'

AND    Y72.MANUFACTURER_ID  = NVL(M70.PROPELLER_MANUFACTURER_ID,0)

AND    Y72.FAA_MODEL_ID     = NVL(M70.PROPELLER_MODEL,'X')

AND    Y72.MODEL_ID        <> NVL(M70.PROPELLER_MODEL,'X') ;

 

-- PROPELLER mfg/model still not found on Y62 table

SELECT DISTINCT(M70.PROPELLER_MODEL) , M70.PROPELLER_MANUFACTURER_ID,

'UPDATE M70_SDR_TRANSIT SET PROPELLER_MODEL = '''          || Y72.MODEL_ID ||

''' , PROPELLER_MANUFACTURER_ID = ' || Y72.MANUFACTURER_ID ||

' WHERE PROPELLER_MODEL = '''       || M70.PROPELLER_MODEL  || ''' ; ' AS UPD1,

' INSERT INTO Y72_FAA_MODEL_CONVERSION VALUES (''' || Y72.FAA_MANUFACTURER || ''',''' ||

Y72.FAA_MODEL_ID || ''',''P'',' || M70.PROPELLER_MANUFACTURER_ID || ',''' ||

M70.PROPELLER_MODEL || ''',''Y'',''ADMIN'',SYSDATE,SYSDATE); '  AS INS1

FROM   M70_SDR_TRANSIT          M70,

       Y72_FAA_MODEL_CONVERSION Y72

WHERE  Y72.PRODUCT_TYPE_CD  = 'P'

AND    Y72.MANUFACTURER_ID  = M70.PROPELLER_MANUFACTURER_ID

AND    Y72.FAA_MODEL_ID     = NVL(M70.PROPELLER_MODEL,'X')

AND    Y72.MODEL_ID        <> NVL(M70.PROPELLER_MODEL,'X')

AND NOT EXISTS

(SELECT 1 FROM Y62_PRODUCT_MAKE_MODEL X

 WHERE  X.PRODUCT_TYPE_CD              = 'P'

 AND    X.MANUFACTURER_ID              = M70.PROPELLER_MANUFACTURER_ID

 AND    X.MODEL_ID                     = M70.PROPELLER_MODEL) ;



-- PROPELLER mfg/model still not found on Y62 table

-- The model was found, but the PROPELLER_manufacturer_id needs updating

SELECT DISTINCT(M70.PROPELLER_MODEL) , PROPELLER_MANUFACTURER_ID , PROPELLER_MANUFACTURER ,

'UPDATE M70_SDR_TRANSIT SET PROPELLER_MODEL = '''          || Y62.MODEL_ID ||

''' , PROPELLER_MANUFACTURER_ID = ' || Y62.MANUFACTURER_ID ||

' WHERE PROPELLER_MODEL = '''       || M70.PROPELLER_MODEL  || ''' ; ' AS UPD1

FROM   M70_SDR_TRANSIT          M70,

       Y62_PRODUCT_MAKE_MODEL   Y62

WHERE  Y62.PRODUCT_TYPE_CD  = 'P'

AND    DATA_COMPRESSION(Y62.MODEL_ID) = M70.PROPELLER_MODEL

AND    Y62.MODEL_ID                  <> M70.PROPELLER_MODEL

AND NOT EXISTS

(SELECT 1 FROM Y62_PRODUCT_MAKE_MODEL X

 WHERE  X.PRODUCT_TYPE_CD              = 'P'

 AND    X.MANUFACTURER_ID              = M70.PROPELLER_MANUFACTURER_ID

 AND    X.MODEL_ID                     = M70.PROPELLER_MODEL) ;

 

/*

FILL DEFAULTS

*/     

 

UPDATE M70_SDR_TRANSIT SET PROPELLER_MANUFACTURER_ID = 000

WHERE  PROPELLER_MANUFACTURER_ID IS NULL

AND    TRIM(PROPELLER_MODEL) IS NOT NULL ;

UPDATE M70_SDR_TRANSIT SET PROPELLER_MANUFACTURER = 'XXX'

WHERE  TRIM(PROPELLER_MANUFACTURER) IS NULL

AND    TRIM(PROPELLER_MODEL) IS NOT NULL ;

UPDATE M70_SDR_TRANSIT SET PROPELLER_MODEL = 'XXX'

WHERE  TRIM(PROPELLER_MODEL) IS NULL

AND    PROPELLER_MANUFACTURER_ID IS NOT NULL;

COMMIT;



/*

Final PROPELLER manufacturer model check.  

*/     

 

SELECT DISTINCT(M70.PROPELLER_MANUFACTURER),

       M70.PROPELLER_MODEL,

       M70.PROPELLER_MANUFACTURER_ID  ,

       GET_MANUFACTURER_NAME(M70.PROPELLER_MANUFACTURER_ID) ,

 CHR(13) || '--------------' || CHR(13) ||

'SELECT GET_MANUFACTURER_NAME(Y62.MANUFACTURER_ID) , Y62.* FROM Y62_PRODUCT_MAKE_MODEL Y62 ' ||

' WHERE DATA_COMPRESSION(Y62.MODEL_ID) LIKE ''' || M70.PROPELLER_MODEL || ''' ; ' || CHR(13) ||

' UPDATE M70_SDR_TRANSIT SET PROPELLER_MODEL = ''' || M70.PROPELLER_MODEL ||

''', PROPELLER_MANUFACTURER = ''' || M70.PROPELLER_MANUFACTURER ||

''', PROPELLER_MANUFACTURER_ID = ' || M70.PROPELLER_MANUFACTURER_ID || ' WHERE PROPELLER_MODEL = ''' ||

M70.PROPELLER_MODEL || ''' ;' ||   CHR(13) ||

 

'INSERT INTO TR24_MODEL VALUES ( ''' || M70.PROPELLER_MODEL || ''',0,''ADMIN'',SYSDATE,SYSDATE); ' || CHR(13) ||

'INSERT INTO Y61_MAKE_MODEL VALUES (' || M70.PROPELLER_MANUFACTURER_ID || ', ''' ||

M70.PROPELLER_MODEL || ''' , ''' || DATA_COMPRESSION(M70.PROPELLER_MODEL) || ''' , 0,''ADMIN'',SYSDATE,SYSDATE);'   || CHR(13) ||

 

'INSERT INTO Y62_PRODUCT_MAKE_MODEL VALUES (''P'','''|| M70.PROPELLER_MODEL || ''',' || M70.PROPELLER_MANUFACTURER_ID ||

',''1'',NULL,NULL,NULL,NULL,''NOT IDENTIFIED'',SYSDATE,''ADMIN'',''FROM FAA SDR DATA'',0,''ADMIN'',' ||

'SYSDATE,SYSDATE,''N'',''999999'',NULL );' || CHR(13) ||

' INSERT INTO Y72_FAA_MODEL_CONVERSION VALUES (''' || M70.PROPELLER_MANUFACTURER || ''',''' ||

M70.PROPELLER_MODEL || ''',''P'',' || M70.PROPELLER_MANUFACTURER_ID || ',''' ||

M70.PROPELLER_MODEL || ''',''Y'',''ADMIN'',SYSDATE,SYSDATE); ' || CHR(13) || CHR(13)  AS INS1

 

FROM   M70_SDR_TRANSIT  M70

WHERE  M70.PROPELLER_MODEL IS NOT NULL

AND NOT EXISTS

(SELECT 1 FROM Y62_PRODUCT_MAKE_MODEL Y62

 WHERE  Y62.PRODUCT_TYPE_CD = 'P'

 AND    Y62.MANUFACTURER_ID = NVL(M70.PROPELLER_MANUFACTURER_ID,1)

 AND    Y62.MODEL_ID        = M70.PROPELLER_MODEL)

 ORDER BY M70.PROPELLER_MANUFACTURER, M70.PROPELLER_MODEL ;

 

 

 

 

 



Related content

STEP 29 REVIEW ALL MODELS
STEP 29 REVIEW ALL MODELS
More like this
Importing FAA "SDR" Data to CAWIS
Importing FAA "SDR" Data to CAWIS
Read with this
STEP 17 ENGINE MANUFACTURER AND MODEL CONVERSION
STEP 17 ENGINE MANUFACTURER AND MODEL CONVERSION
More like this
Step 1 - Update the Model Conversion table with new data
Step 1 - Update the Model Conversion table with new data
More like this
STEP 20 EQUIPMENT/COMPONENT DATA CONVERSION
STEP 20 EQUIPMENT/COMPONENT DATA CONVERSION
More like this
STEP 16 AIRCRAFT MANUFACTURER AND MODEL CONVERSION
STEP 16 AIRCRAFT MANUFACTURER AND MODEL CONVERSION
More like this