title: Oracle error "name of the package and name of schema must match with editing object"
body: <p>I'm trying to build a package, I use the following code for specs</p>
  
  <pre><code>CREATE OR REPLACE PACKAGE MBA.OSA
          AS
            FUNCTION FUNC_OSA 
            (inp_SKU in number, func_store_id in number, func_start_date in DATE, func_end_date in DATE)
            RETURN NUMBER;
          END OSA;
  
  </code></pre>
  
  <p>and following for body </p>
  
  <pre><code>CREATE OR REPLACE PACKAGE BODY MBA.OSA as
  
  function FUNC_OSA  (inp_SKU in number, func_store_id in number, func_start_date in DATE, func_end_date in DATE) RETURN NUMBER
  IS 
  p_OSA NUMBER;
  BEGIN
  with period_len as (
  select (func_end_date - func_start_date) len_per from dual
  ),
  OSA_ as (
  select dm.SKU,
        dm.store_id,
       ROUND(count(distinct dm.TRAN_DATE) / (select len_per from period_len) * 100,0) OSA
      --into OSA
      from datamarts.SALES_DETAIL_DM dm
      where SKU = inp_SKU
      AND TRAN_DATE between func_start_date and func_end_date
      AND dm.store_id = func_store_id
  group by dm.SKU, dm.store_id
  )
  select OSA into p_OSA from OSA_;
  
  RETURN p_OSA;
  END FUNC_OSA;
  
  END OSA;
  </code></pre>
  
  <p>But I keep getting the same error:</p>
  
  <pre><code>name of the package and name of schema must match with editing object
  </code></pre>
  
  <p>Name of schema is MBA, it is in Package name and package body also. Editing object, I guess, is my function func_osa, but if I add the name of scheme like MBA.FUNC_OSA, I get bunch or errors.  </p>