PROCEDURE Check_Common___ (
   oldrec_ IN     demo_sales_order_tab%ROWTYPE,
   newrec_ IN OUT NOCOPY demo_sales_order_tab%ROWTYPE,
   indrec_ IN OUT NOCOPY Indicator_Rec,
   attr_   IN OUT NOCOPY VARCHAR2 )
IS
   
   PROCEDURE Base (
      oldrec_ IN     demo_sales_order_tab%ROWTYPE,
      newrec_ IN OUT NOCOPY demo_sales_order_tab%ROWTYPE,
      indrec_ IN OUT NOCOPY Indicator_Rec,
      attr_   IN OUT NOCOPY VARCHAR2 )
   IS
   BEGIN
      IF (newrec_.customer_rating IS NOT NULL)
      AND (indrec_.customer_rating)
      AND (Validate_SYS.Is_Changed(oldrec_.customer_rating, newrec_.customer_rating)) THEN
         Demo_Customer_Rating_API.Exist_List(newrec_.customer_rating);
      END IF;
      IF (newrec_.discount IS NOT NULL)
      AND (indrec_.discount)
      AND (Validate_SYS.Is_Changed(oldrec_.discount, newrec_.discount)) THEN
         Demo_Discount_Type_API.Exist(newrec_.discount, true, newrec_.order_date);
      END IF;
      IF (newrec_.delivery_by IS NOT NULL)
      AND (indrec_.delivery_by)
      AND (Validate_SYS.Is_Changed(oldrec_.delivery_by, newrec_.delivery_by)) THEN
         Demo_Delivery_Person_API.Exist(newrec_.delivery_by);
      END IF;
      Error_SYS.Check_Not_Null(lu_name_, 'ORDER_NUMBER', newrec_.order_number);
      Error_SYS.Check_Not_Null(lu_name_, 'ORDER_DATE', newrec_.order_date);
      Error_SYS.Check_Not_Null(lu_name_, 'CUSTOMER_NAME', newrec_.customer_name);
      Error_SYS.Check_Not_Null(lu_name_, 'DELIVERY_BY', newrec_.delivery_by);
      Error_SYS.Check_Not_Null(lu_name_, 'DISCOUNT', newrec_.discount);
   END Base;

BEGIN
   Base(oldrec_, newrec_, indrec_, attr_);
END Check_Common___;