title: Oracle method dispatch on NULL SELF argument is disallowed
body: <p>I have a function under a package. I am passing some xml data to that function. But I'm getting this error. Could anybody explain it? I am explaining what I want to do in my code. I want to input all fields except the tsih_rate field. It will be calculated and filled in an automated way.  </p>
  
  <pre><code>FUNCTION save_settings_insurance_health(employeeData NVARCHAR2) RETURN CLOB IS
  
  ret CLOB;
  xmlData XMLType;
  v_code NUMBER;
  v_errm VARCHAR2(500);
  input_rate number(7,2);
  
  BEGIN
  
  xmlData:=XMLType(employeeData);
  
  INSERT INTO TBL_SETTINGS_INSURANCE_HEALTH SELECT temp1.* FROM XMLTABLE('/employees/employee/insurance/health'
                                    PASSING xmlData
                                    COLUMNS tsih_class NVARCHAR2(10) PATH 'tsih_class',
                                            tsih_rate NUMBER(7,2) PATH 'tsih_rate' default null,
                                            tsih_total NUMBER(7,2) PATH 'tsih_total',
                                            tsih_eff_date_from DATE PATH 'tsih_eff_date_from',
                                            tsih_eff_date_to DATE PATH 'tsih_eff_date_to',
                                            tsih_created_on DATE PATH 'tsih_created_on',
                                            tsih_created_by NVARCHAR2(10) PATH 'tsih_created_by')temp1;
  ret:=to_char(sql%rowcount);
  input_rate:=to_number(xmlData.extract('/employees/insurance/health/tsih_total/text()').getstringval())/12;
  INSERT INTO TBL_SETTINGS_INSURANCE_HEALTH (tsih_rate) VALUES (input_rate);
  COMMIT;
  
  RETURN '&lt;result&gt;&lt;status affectedRow='||ret||'&gt;success&lt;/status&gt;&lt;/result&gt;';
  DBMS_OUTPUT.PUT_LINE(ret);
  EXCEPTION
  WHEN OTHERS THEN
  v_code := SQLCODE;
  v_errm := SUBSTR(SQLERRM, 1 , 500);
  DBMS_OUTPUT.PUT_LINE('Error code ' || v_code || ': ' || v_errm);
  RETURN '&lt;result&gt;&lt;status&gt;Error'||v_errm||'&lt;/status&gt;&lt;/result&gt;';  
  
  END save_settings_insurance_health;  
  </code></pre>
  
  <p>My input pl/sql is as following:  </p>
  
  <pre><code>declare
     result clob;
  begin
     -- Call the function
     result := PMIS.SAVE_SETTINGS_INSURANCE_HEALTH('&lt;employees&gt;
                        &lt;employee&gt;
                          &lt;insurance&gt;
                            &lt;health&gt;
                              &lt;tsih_class&gt;teacher&lt;/tsih_class&gt;
                              &lt;tsih_total&gt;1200&lt;/tsih_total&gt;
                              &lt;tsih_eff_date_from&gt;2016-1-16&lt;/tsih_eff_date_from&gt;
                              &lt;tsih_eff_date_to&gt;&lt;/tsih_eff_date_to&gt;
                              &lt;tsih_created_on&gt;2016-1-16&lt;/tsih_created_on&gt;
                              &lt;tsih_created_by&gt;Wahid&lt;/tsih_created_by&gt;
                            &lt;/health&gt;
                          &lt;/insurance&gt;
                        &lt;/employee&gt;
                    &lt;/employees&gt;');
  
    DBMS_OUTPUT.PUT_LINE(result);
  end;  
  </code></pre>