Thursday, 4 May 2023

RegExp_like

This will match: aa-aaaa-aaaa-a-aaa-a-aaa-a, etc

But not: --aa-a--aa-a-a-a-a--a, etc. 

^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$


^[[:alnum:]\-]+$


select 1

from dual

where not REGEXP_LIKE ('-11-6734-9-7-', '^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$')

/

select 1

from dual

where REGEXP_LIKE ('1167349@', '[^[:alnum:]]')

/

SELECT

CASE

WHEN  REGEXP_LIKE ( '11-6734-@9'

        , '^[ [:alnum:]\-]+$'

  )

THEN  'Okay'

END AS okay

FROM dual


---ADF side--

^[0-9]*$  -- allows numbers only


[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,9} -- invalid email


[a-zA-Z0-9]


[\w]* --> allows only alpha numeric


[\w]*\- -> allowing only - , 78gh-, 

[\w]*+\-  --> allowing only - , 78gh-,fghj67-


[\w]\-  --> not allowing any thing




[a-z A-Z 0-9-] --> not working allowing all


[a-z A-Z 0-9 _] --> not allowing any thing


[A-Za-z0-9-] --> not allowing any thing


[A-Za-z0-9.-] --> not allowing any thing


[a-zA-Z0-9\-] --> allowing only -


[a-zA-Z0-9]+\-  -->  allowing fg7-


[a-z\-A-Z\-0-9]  --> only allowing -


[a-zA-Z0-9_\-]\w+ --> allowing  gh7,gh7_, gh_7_, _gh_7_ , -gh_7_    not allowed gh7-,gh-7, g-h_7_


[a-zA-Z0-9_-]+  --> allowing -dfghj-7- , 78-98-56 , 7_8-98-56

 

final 

[a-zA-Z0-9-]+  --> allowing -a-5- , 78-89-000  not allowing -a-5@ , 78-89-000_


^[a-z]+[a-z-]*[a-z]+$

Tuesday, 11 April 2023

Merge Statement example

 MERGE INTO XXTWC_FMS_PICK_PLAN_LINE plan_line

                    USING (SELECT PICK_PLAN_IFACE_ID,

                                  (SELECT ORGANIZATION_CODE

                                     FROM XXTWC_LOV_ORGANIZATION_V

                                    WHERE     ORGANIZATION_CODE =

                                                 PACKING_HOUSE

                                          AND ROWNUM = 1)

                                     PACKING_HOUSE,

                                  (SELECT LOOKUP_CODE

                                     FROM XXTWC_LOV_VARIETY_V

                                    WHERE     lookup_code = VARIETY

                                          AND LOOKUP_TYPE_ENABLED_FLAG = 'Y'

                                          AND ROWNUM = 1)

                                     VARIETY,

                                  (SELECT LOOKUP_CODE

                                     FROM XXTWC_LOV_DESIGNATION_V

                                    WHERE     MEANING = DESIGNATION

                                          AND LOOKUP_TYPE_ENABLED_FLAG = 'Y'

                                          AND ROWNUM = 1)

                                     DESIGNATION,

                                  (SELECT LOOKUP_CODE

                                     FROM XXTWC_LOV_COUNTRY_OF_ORIGIN_V

                                    WHERE     MEANING = COUNTRY_OF_ORIGIN

                                          AND LOOKUP_TYPE_ENABLED_FLAG = 'Y'

                                          AND ROWNUM = 1)

                                     COUNTRY_OF_ORIGIN,

                                  GROWING_REGION,

                                  PICK_PLAN_DATE,

                                  PICK_UOM,

                                  PICK_QUANTITY,

                                  MIN_SIZE_OF_FRUIT,

                                  ATTRIBUTE1,

                                  ATTRIBUTE2,

                                  ATTRIBUTE3,

                                  ATTRIBUTE4,

                                  ATTRIBUTE5,

                                  ATTRIBUTE6,

                                  ATTRIBUTE7,

                                  ATTRIBUTE8,

                                  ATTRIBUTE9,

                                  ATTRIBUTE10,

                                  CREATION_DATE,

                                  CREATED_BY,

                                  LAST_UPDATE_DATE,

                                  LAST_UPDATED_BY

                             FROM XXTWC_FMS_PICK_PLAN_IFACE

                            WHERE PICK_PLAN_IFACE_ID =

                                     pick_lines_cur.PICK_PLAN_IFACE_ID) line_iface

                       ON (    plan_line.PACKING_HOUSE =

                                  line_iface.PACKING_HOUSE

                           AND plan_line.VARIETY = line_iface.VARIETY

                           AND plan_line.DESIGNATION = line_iface.DESIGNATION

                           AND plan_line.COUNTRY_OF_ORIGIN =

                                  line_iface.COUNTRY_OF_ORIGIN

                           AND plan_line.GROWING_REGION =

                                  line_iface.GROWING_REGION

                           AND TRUNC (plan_line.PICK_PLAN_DATE) =

                                  TRUNC (

                                     TO_DATE (line_iface.PICK_PLAN_DATE,

                                              'MM/DD/YYYY')))

               WHEN MATCHED

               THEN

                  UPDATE SET

                     plan_line.PICK_UOM = line_iface.PICK_UOM,

                     plan_line.PICK_QUANTITY = line_iface.PICK_QUANTITY,

                     plan_line.MIN_SIZE_OF_FRUIT =

                        line_iface.MIN_SIZE_OF_FRUIT,

                     plan_line.PICK_PLAN_IFACE_ID =

                        line_iface.PICK_PLAN_IFACE_ID,

                     plan_line.PICK_PLAN_IFACE_SOURCE =

                        lv_pick_plan_iface_source,

                     plan_line.LAST_UPDATE_DATE = line_iface.CREATION_DATE,

                     plan_line.LAST_UPDATED_BY = line_iface.LAST_UPDATED_BY

               WHEN NOT MATCHED

               THEN

                  INSERT     (plan_line.PICK_PLAN_LINE_ID,

                              plan_line.PACKING_HOUSE,

                              plan_line.PACKING_HOUSE_ID,

                              plan_line.VARIETY,

                              plan_line.DESIGNATION,

                              plan_line.COUNTRY_OF_ORIGIN,

                              plan_line.GROWING_REGION,

                              plan_line.ITEM_NUMBER,

                              plan_line.PICK_PLAN_DATE,

                              plan_line.PICK_UOM,

                              plan_line.PICK_QUANTITY,

                              plan_line.MIN_SIZE_OF_FRUIT,

                              plan_line.PICK_PLAN_IFACE_ID,

                              plan_line.PICK_PLAN_IFACE_SOURCE,

                              plan_line.ATTRIBUTE1,

                              plan_line.ATTRIBUTE2,

                              plan_line.ATTRIBUTE3,

                              plan_line.ATTRIBUTE4,

                              plan_line.ATTRIBUTE5,

                              plan_line.ATTRIBUTE6,

                              plan_line.ATTRIBUTE7,

                              plan_line.ATTRIBUTE8,

                              plan_line.ATTRIBUTE9,

                              plan_line.ATTRIBUTE10,

                              plan_line.CREATION_DATE,

                              plan_line.CREATED_BY,

                              plan_line.LAST_UPDATE_DATE,

                              plan_line.LAST_UPDATED_BY)

                      VALUES (

                                XXTWC_FMS_PICK_PLAN_LINE_S.NEXTVAL,

                                line_iface.PACKING_HOUSE,

                                lv_packing_house_id, --line_iface.PACKING_HOUSE_ID ,

                                line_iface.VARIETY,

                                line_iface.DESIGNATION,

                                line_iface.COUNTRY_OF_ORIGIN,

                                line_iface.GROWING_REGION,

                                lv_item_number,

                                TO_DATE (line_iface.PICK_PLAN_DATE,

                                         'MM/DD/YYYY'),

                                line_iface.PICK_UOM,

                                line_iface.PICK_QUANTITY,

                                line_iface.MIN_SIZE_OF_FRUIT,

                                line_iface.PICK_PLAN_IFACE_ID,

                                lv_pick_plan_iface_source,

                                line_iface.ATTRIBUTE1,

                                line_iface.ATTRIBUTE2,

                                line_iface.ATTRIBUTE3,

                                line_iface.ATTRIBUTE4,

                                line_iface.ATTRIBUTE5,

                                line_iface.ATTRIBUTE6,

                                line_iface.ATTRIBUTE7,

                                line_iface.ATTRIBUTE8,

                                line_iface.ATTRIBUTE9,

                                line_iface.ATTRIBUTE10,

                                SYSDATE,

                                line_iface.CREATED_BY,

                                SYSDATE,

                                line_iface.LAST_UPDATED_BY);

Wednesday, 8 March 2023

Monday, 31 October 2022

hdr_dtl_amt_diff

 SELECT r.trans_cntrl_noa.comp_codea.vch_grp_typea.cb_sub_typea.vch_prefixa.vch_noa.vch_dtr.hdr_amtr.dtl_amt  

  FROM ( 

        SELECT trans_cntrl_no, sum(hdr_amthdr_amt, sum(dtl_amt)*(-1) dtl_amt  

          FROM ( 

                SELECT h.trans_cntrl_no, Decode(h.vch_drcr_tag, 'D', Nvl(h.vch_amt, 0), (Nvl(h.vch_amt, 0)*(-1))) hdr_amt 

                       0 dtl_amt  

                  FROM Fa_trans_hdr h 

                 WHERE h.trans_approved = 'Y'  

                Union All 

                SELECT d.trans_cntrl_no, 0 hdr_amt 

                       Decode(d.trans_drcr_tag, 'D', Nvl(d.trans_amt, 0), (Nvl(d.trans_amt, 0)*(-1))) dtl_amt  

                  FROM Fa_trans_dtl d, Fa_trans_hdr h  

                WHERE d.trans_cntrl_no = h.trans_cntrl_no 

                     AND  h.trans_approved = 'Y'  

          ) 

      GROUP BY trans_cntrl_no 

        HAVING Round(sum(hdr_amt), 2) <> (Round(sum(dtl_amt), 2)*(-1)) 

    ) r, Fa_trans_hdr a  

WHERE r.trans_cntrl_no = a.trans_cntrl_no  

      AND a.data_mig_by is null 

ORDER BY a.comp_codea.vch_dta.vch_no  

/ 

 

 

-------------------- Dtl and sub dtl mismatch – Assets --------- 

SELECT r.trans_cntrl_noa.comp_codea.vch_grp_typea.cb_sub_typea.vch_prefixa.vch_noa.vch_dtr.dtl_amt 

       r.sub_dtl_amt  

  FROM ( 

        SELECT trans_cntrl_no, sum(dtl_amtdtl_amt, sum(sub_dtl_amtsub_dtl_amt  

          FROM ( 

                SELECT d.trans_cntrl_no, Decode(d.trans_drcr_tag, 'D', Nvl(d.trans_amt, 0), (Nvl(d.trans_amt, 0)*(-1))) dtl_amt 

                       0 sub_dtl_amt  

                  FROM Fa_trans_dtl d  

                 WHERE (d.comp_coded.mainac_coded.subac_code) in (SELECT Distinct c.comp_codes.asset_mainac_codes.asset_subac_code 

                                                                        FROM Fa_asset_cat_mst c, Fa_asset_subcat_mst s  

                                                                       WHERE c.asset_cat_id = s.asset_cat_id )  

                Union All 

                SELECT a.fa_trans_cntrl_no, 0 dtl_amta.asset_acq_value sub_dtl_amt 

                  FROM Fa_asset_mst a 

                 WHERE a.fa_trans_cntrl_no is not null   

          ) 

      GROUP BY trans_cntrl_no 

        HAVING Abs(sum(dtl_amt)) <> sum(sub_dtl_amt) 

    ) r, Fa_trans_hdr a  

WHERE r.trans_cntrl_no = a.trans_cntrl_no  

      AND a.data_mig_by is null 

ORDER BY a.vch_dta.comp_codea.vch_no  

/ 

 

------------- Tax mismatch ------------ 

SELECT r.trans_cntrl_noh.comp_codeh.entry_unit_codeh.vch_grp_typeh.vch_codeh.vch_noh.vch_dt 

       r.trans_dtl_idr.dtl_tax_amtr.subdtl_tax_amt  

  FROM ( 

        SELECT trans_cntrl_notrans_dtl_id, Sum(dtl_tax_amtdtl_tax_amt, Sum(subdtl_tax_amtsubdtl_tax_amt  

          FROM ( 

                SELECT d.trans_cntrl_nod.trans_dtl_idNvl(d.tax_amt, 0) dtl_tax_amt, 0 subdtl_tax_amt  

                  FROM Fa_trans_dtl d  

                 WHERE Nvl(d.tax_amt, 0) <> 0  

                Union All 

                SELECT t.ref_cntrl_not.ref_dtl_id, 0 dtl_tax_amtNvl(t.tax_amount, 0) subdtl_tax_amt 

                  FROM Fa_trans_tax_dtl t  

                 WHERE tax_type not in ('B', 'S') 

            )  

        GROUP BY trans_cntrl_notrans_dtl_id  

        HAVING Sum(dtl_tax_amt) <> Sum(subdtl_tax_amt) 

    ) r, Fa_trans_hdr h  

WHERE r.trans_cntrl_no = h.trans_cntrl_no 

AND h.data_mig_by is null 

/ 

hr schema

 CREATE TABLE regions     ( region_id      NUMBER         CONSTRAINT  region_id_nn NOT NULL      , region_name    VARCHAR2(25)      );      ...