Advertisement
Pandafuchs

Untitled

Nov 6th, 2020
2,870
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 11.12 KB | None | 0 0
  1. CREATE OR REPLACE VIEW BOOMIACCESS_USER.DATAHUB_ROBP_COMPANY_LVL1
  2. (
  3.     ID,
  4.     LATEST_UPDATE,
  5.     JSON_OBJ
  6. )
  7. BEQUEATH DEFINER
  8. AS
  9.     SELECT company.ID,
  10.            (SELECT MAX (UPDATEDON)
  11.               FROM (SELECT MAX (UPDATEDON)     AS UPDATEDON
  12.                       FROM DATAHUB_COMPANY_RELATIONS_LEVEL1
  13.                      WHERE DATAHUB_COMPANY_RELATIONS_LEVEL1.COMPANYID =
  14.                            company.ID
  15.                     UNION ALL
  16.                     SELECT MAX (UPDATEDON)     AS UPDATEDON
  17.                       FROM DATAHUB_COMPANY_EXTERNALRATINGS_LEVEL1
  18.                      WHERE DATAHUB_COMPANY_EXTERNALRATINGS_LEVEL1.COMPANYID =
  19.                            company.ID
  20.                     UNION ALL
  21.                     SELECT MAX (UPDATEDON)     AS UPDATEDON
  22.                       FROM DATAHUB_COMPANY_EXTERNALREFERENCES_LEVEL1
  23.                      WHERE DATAHUB_COMPANY_EXTERNALREFERENCES_LEVEL1.COMPANYID =
  24.                            company.ID
  25.                     UNION ALL
  26.                     SELECT MAX (UPDATEDON)     AS UPDATEDON
  27.                        FROM  BPARTNER.DATAHUB_COMPANY_NAMES_LEVEL1
  28.                     WHERE DATAHUB_COMPANY_NAMES_LEVEL1.COMPANYID =
  29.                             company.ID                    
  30.                     UNION ALL
  31.                     SELECT MAX (UPDATEDON)     AS UPDATEDON
  32.                       FROM DATAHUB_COMPANY_EXTERNALREFERENCES_LEVEL1
  33.                      WHERE DATAHUB_COMPANY_EXTERNALREFERENCES_LEVEL1.COMPANYID =
  34.                            company.ID
  35.                     UNION ALL
  36.                     (SELECT GREATEST (MAX (addr.UPDATEDON),
  37.                                       MAX (comms.UPDATEDON))    AS UPDATEDON
  38.                        FROM DATAHUB_COMPANY_ADDRESSES_LEVEL1          addr,
  39.                             DATAHUB_COMPANY_TELECOMUNICATIONS_LEVEL1  comms
  40.                       WHERE     addr.COMPANYID = company.ID
  41.                             AND addr.ID = comms.ADRESSID)
  42.                     UNION ALL
  43.                     SELECT MAX (UPDATEDON)     AS UPDATEDON
  44.                       FROM DATAHUB_COMPANY_BASIC_LEVEL1
  45.                      WHERE DATAHUB_COMPANY_BASIC_LEVEL1.ID = company.ID))
  46.                LATEST_UPDATE,
  47.            json_object (
  48.                'ID' VALUE "ID",
  49.                'NAME' VALUE "NAME",
  50.                'COUNTRYCODE' VALUE COUNTRYCODE,
  51.                'GROUPID' VALUE GROUPID,
  52.                'COMPANYTYPEID' VALUE COMPANYTYPEID,
  53.                'COMPANYTYPE' VALUE COMPANYTYPE,
  54.                'ISACTIVE' VALUE
  55.                    DECODE (UPPER (ISACTIVE),
  56.                            'Y', 'true',
  57.                            'N', 'false',
  58.                            NULL),
  59.                'COMPANYNACECODE' VALUE COMPANYNACECODE,
  60.                'COMPANYNACE' VALUE COMPANYNACE,
  61.                'COMPANYESACODE' VALUE COMPANYESACODE,
  62.                'COMPANYESA' VALUE COMPANYESA,
  63.                'UPDATEDON' VALUE UPDATEDON,
  64.                'ISSIP' VALUE
  65.                    DECODE (UPPER (ISSIP),  'Y', 'true',  'N', 'false',  NULL),
  66.                'COMPANYLEGALFORM' VALUE COMPANYLEGALFORM,
  67.                'ISICT' VALUE
  68.                    DECODE (UPPER (ISICT),  'Y', 'true',  'N', 'false',  NULL),
  69.                 'NAMES' VALUE
  70.                 (
  71.                     SELECT
  72.                     JSON_ARRAYAGG
  73.                     (
  74.                         json_object
  75.                         (
  76.                             'ID' VALUE "ID",
  77.                             'NAME' VALUE "NAME",
  78.                             'NAMELINE2' VALUE NAMELINE2,
  79.                             'TYPEID' VALUE TYPEID,
  80.                             'NAMETYPE' VALUE NAMETYPE,
  81.                             'NAMERANK' VALUE NAMERANK,
  82.                             'NAMECOMMENT' VALUE NAMECOMMENT,
  83.                             'UPDATEDON' VALUE UPDATEDON
  84.                         )
  85.                     ORDER BY UPDATEDON DESC)
  86.                     FROM
  87.                         BPARTNER.DATAHUB_COMPANY_NAMES_LEVEL1 names
  88.                     WHERE
  89.                         names.COMPANYID = company.ID
  90.                 ),
  91.                'RELATIONS' VALUE
  92.                    (SELECT JSON_ARRAYAGG (
  93.                                json_object (
  94.                                    'ID' VALUE "ID",
  95.                                    'RELATIONSHIPTYPEID' VALUE
  96.                                        RELATIONSHIPTYPEID,
  97.                                    'RELATIONSHIPTYPE' VALUE RELATIONSHIPTYPE,
  98.                                    'ENTITYID' VALUE ENTITYID,
  99.                                    'ENTITYNAME' VALUE ENTITYNAME,
  100.                                    'ENTITYTYPE' VALUE ENTITYTYPE,
  101.                                    'ISMAIN' VALUE
  102.                                        DECODE (UPPER (ISMAIN),
  103.                                                'Y', 'true',
  104.                                                'N', 'false',
  105.                                                NULL),
  106.                                    'UPDATEDON' VALUE UPDATEDON)
  107.                                RETURNING CLOB)
  108.                       FROM BPARTNER.DATAHUB_COMPANY_RELATIONS_LEVEL1 rels
  109.                      WHERE rels.COMPANYID = COMPANY.ID),
  110.                'EXTERNALRATINGS' VALUE
  111.                    (SELECT JSON_ARRAYAGG (
  112.                                json_object (
  113.                                    'ID' VALUE ID,
  114.                                    'TYPEID' VALUE TYPEID,
  115.                                    'TYPECODE' VALUE TYPECODE,
  116.                                    'TYPENAME' VALUE TYPENAME,
  117.                                    'RATINGDATE' VALUE RATINGDATE,
  118.                                    'VALUE' VALUE "VALUE",
  119.                                    'RATINGCOMMENT' VALUE RATINGCOMMENT,
  120.                                    'OUTLOOK' VALUE OUTLOOK,
  121.                                    'UPDATEDON' VALUE UPDATEDON,
  122.                                    'ISACTIVE' VALUE
  123.                                        DECODE (UPPER (ISACTIVE),
  124.                                                'Y', 'true',
  125.                                                'N', 'false',
  126.                                                NULL))
  127.                                RETURNING CLOB)
  128.                       FROM BPARTNER.DATAHUB_COMPANY_EXTERNALRATINGS_LEVEL1
  129.                            ratings
  130.                      WHERE ratings.COMPANYID = COMPANY.ID),
  131.                'EXTERNALREFERENCES' VALUE
  132.                    (SELECT JSON_ARRAYAGG (
  133.                                json_object (
  134.                                    'ID' VALUE "ID",
  135.                                    'EXTERNALREFERENCETYPEID' VALUE
  136.                                        EXTERNALREFERENCETYPEID,
  137.                                    'EXTERNALREFERENCETYPECODE' VALUE
  138.                                        EXTERNALREFERENCETYPECODE,
  139.                                    'EXTERNALREFERENCETYPENAME' VALUE
  140.                                        EXTERNALREFERENCETYPENAME,
  141.                                    'EXTERNALREFERENCEVALUE' VALUE
  142.                                        EXTERNALREFERENCEVALUE,
  143.                                    'EXTERNALREFERENCECOMMENT' VALUE
  144.                                        EXTERNALREFERENCECOMMENT,
  145.                                    'UPDATEDON' VALUE UPDATEDON)
  146.                                RETURNING CLOB)
  147.                       FROM BPARTNER.DATAHUB_COMPANY_EXTERNALREFERENCES_LEVEL1
  148.                            erefs
  149.                      WHERE erefs.COMPANYID = COMPANY.ID),
  150.                'Addresses' VALUE
  151.                    (SELECT JSON_ARRAYAGG (
  152.                                json_object (
  153.                                    'ID' VALUE ID,
  154.                                    'ISPRIMARY' VALUE
  155.                                        DECODE (UPPER (ISPRIMARY),
  156.                                                'Y', 'true',
  157.                                                'N', 'false',
  158.                                                NULL),
  159.                                    'ISACTIVE' VALUE
  160.                                        DECODE (UPPER (ISACTIVE),
  161.                                                'Y', 'true',
  162.                                                'N', 'false',
  163.                                                NULL),
  164.                                    'TYPEID' VALUE TYPEID,
  165.                                    'TYPECODE' VALUE TYPECODE,
  166.                                    'TYPENAME' VALUE TYPENAME,
  167.                                    'LINE1' VALUE LINE1,
  168.                                    'LINE2' VALUE LINE2,
  169.                                    'LINE3' VALUE LINE3,
  170.                                    'LINE4' VALUE LINE4,
  171.                                    'LINE5' VALUE LINE5,
  172.                                    'POSTALCODE' VALUE POSTALCODE,
  173.                                    'CITYNAME' VALUE CITYNAME,
  174.                                    'COUNTRYCODE' VALUE COUNTRYCODE,
  175.                                    'COUNTRYNAME' VALUE COUNTRYNAME,
  176.                                    'STATEPROVINCEID' VALUE STATEPROVINCEID,
  177.                                    'STATEPROVINCECODE' VALUE
  178.                                        STATEPROVINCECODE,
  179.                                    'STATEPROVINCENAME' VALUE
  180.                                        STATEPROVINCENAME,
  181.                                    'UPDATEDON' VALUE UPDATEDON,
  182.                                    'TELECOMMUNICATIONS' VALUE
  183.                                        (SELECT JSON_ARRAYAGG (
  184.                                                    json_object (
  185.                                                        'ID' VALUE "ID",
  186.                                                        'TELECOMUNICATION_NO' VALUE
  187.                                                            "TELECOMUNICATION_NO",
  188.                                                        'COMUNICATIONID' VALUE
  189.                                                            (COMUNICATIONID),
  190.                                                        'COMUNICATIONCODE' VALUE
  191.                                                            (COMUNICATIONCODE),
  192.                                                        'COMUNICATIONNAME' VALUE
  193.                                                            COMUNICATIONNAME,
  194.                                                        'UPDATEDON' VALUE
  195.                                                            (UPDATEDON)
  196.                                                        RETURNING CLOB)
  197.                                                    RETURNING CLOB)
  198.                                           FROM DATAHUB_COMPANY_TELECOMUNICATIONS_LEVEL1
  199.                                                comms
  200.                                          WHERE addr.ID = comms.ADRESSID)
  201.                                    RETURNING CLOB)
  202.                                RETURNING CLOB)
  203.                       FROM DATAHUB_COMPANY_ADDRESSES_LEVEL1 addr
  204.                      WHERE addr.COMPANYID = COMPANY.ID)
  205.                RETURNING CLOB)
  206.                AS json_obj
  207.       FROM BPARTNER.DATAHUB_COMPANY_BASIC_LEVEL1 company;
  208.      
  209. GRANT SELECT ON BOOMIACCESS_USER.DATAHUB_ROBP_COMPANY_LVL1 TO BOOMI_USER;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement