0
    ls_sql := (CONCAT_WS('', '
          SELECT
             INITCAP(
                    CASE
                        WHEN (TRIM(STREET_NUMBER) IS NOT NULL) THEN
                            TRIM(STREET_NUMBER)||'' ''
                    END)||
                    CASE
                        WHEN (STREET_DIRECTION IS NOT NULL) AND (STREET_DIRECTION <> ''', aws_oracle_ext.getglobalvariable(proutinename => 'PROD.PROPERTY_FUNCTIONS', pvariable => 'c_blank_street_direction', ptp => NULL::CHARACTER(2)), ''') THEN
                            TRIM(STREET_DIRECTION)||'' ''
                    END||
             INITCAP(
                TRIM(STREET_NAME)
             ),
                CASE WHEN (UNIT_NUMBER IS NOT NULL) THEN
                LTRIM(INITCAP(
                    CASE
                        WHEN (UNIT_TYPE IS NULL) THEN ''Unit''
                            WHEN (UNIT_TYPE = ''', aws_oracle_ext.getglobalvariable(proutinename => 'PROD.PROPERTY_FUNCTIONS', pvariable => 'c_blank_unit_type_code', ptp => NULL::CHARACTER VARYING(10)), ''') THEN ''''
                        ELSE INITCAP(UNIT_TYPE)
                    END
                    )||'' '')||UNIT_NUMBER
                END,
             INITCAP(CITIES.CITY_NAME)||'', ''||STATE||''  ''||ZIP_CODE||
                CASE
                    WHEN (ZIP_PLUS_4 IS NOT NULL) THEN ''-''||ZIP_PLUS_4
                END
                ,
       '));
    
        IF (ls_address_type = aws_oracle_ext.getglobalvariable(proutinename => 'PROD.PROPERTY_FUNCTIONS', pvariable => 'c_fa_addrtype_property', ptp => NULL::CHARACTER VARYING(50))) THEN
            /* Property */
            ls_sql := CONCAT_WS('', ls_sql, '
                PROPERTY.STATE
             FROM
                prod.PROPERTY,
                prod.CITIES
             WHERE
                ( PROPERTY.CITY_CODE = CITIES.CITY_CODE ) AND
                ( PROPERTY.PROPERTY_ID = :n_property_id_in ) AND
                (limit < 2)
          ');
        ELSE
            /* Commercial Property */
            ls_sql := CONCAT_WS('', ls_sql, '
                COMMERCIAL_PROPERTY.STATE
             FROM
                prod.COMMERCIAL_PROPERTY,
                prod.CITIES
             WHERE
                ( COMMERCIAL_PROPERTY.CITY_CODE = CITIES.CITY_CODE ) AND
                ( COMMERCIAL_PROPERTY.COMMERCIAL_PROPERTY_ID = :n_property_id_in ) AND
                (limit  < 2)
          ');
        END IF;
        /* Execute the SQL */
        raise notice 'ls_sql %',ls_sql;
        

これは、ls_sql を出力して値を確認する小さなコードです。しかし、関数を呼び出すと、例外値が返されます! どこに変更を加える必要があるかを特定するのを手伝ってくれる人はいますか? 以下は、この関数を実行したときに得られる結果です。コードのどの部分が機能していないのか特定できませんでした。

    NOTICE:  lb_statesingleline f
    NOTICE:  lb_street_unit_line f
    NOTICE:  lb_citystatezip_line  f
    NOTICE:  ls_spacer , 
    NOTICE:  ls_sql 
          SELECT
             INITCAP(
                    CASE
                        WHEN (TRIM(STREET_NUMBER) IS NOT NULL) THEN
                            TRIM(STREET_NUMBER)||' '
                    END)||
                    CASE
                        WHEN (STREET_DIRECTION IS NOT NULL) AND (STREET_DIRECTION <> 'ZZ') THEN
                            TRIM(STREET_DIRECTION)||' '
                    END||
             INITCAP(
                TRIM(STREET_NAME)
             ),
                CASE WHEN (UNIT_NUMBER IS NOT NULL) THEN
                LTRIM(INITCAP(
                    CASE
                        WHEN (UNIT_TYPE IS NULL) THEN 'Unit'
                            WHEN (UNIT_TYPE = 'ZZ') THEN ''
                        ELSE INITCAP(UNIT_TYPE)
                    END
                    )||' ')||UNIT_NUMBER
                END,
             INITCAP(CITIES.CITY_NAME)||', '||STATE||'  '||ZIP_CODE||
                CASE
                    WHEN (ZIP_PLUS_4 IS NOT NULL) THEN '-'||ZIP_PLUS_4
                END
                ,
       
                PROPERTY.STATE
             FROM
                prod.PROPERTY,
                prod.CITIES
             WHERE
                ( PROPERTY.CITY_CODE = CITIES.CITY_CODE ) AND
                ( PROPERTY.PROPERTY_ID = :n_property_id_in ) AND
                (limit < 2)
          
    NOTICE:  EXCEPTION P0001
    NOTICE:  RESULT1 <NULL>
    DO.
    
     
4

0 に答える 0