public DatabaseCall getDeleteCall() {
    DatabaseCall call = null;
    ObjectRelationalDatabaseField ordf = new ObjectRelationalDatabaseField("");
    ordf.setSqlType(Types.STRUCT);
    ordf.setSqlTypeName("PHONE_TYPE");
    ordf.setType(Phone.class);

    if (useCustomSQL) {
      String sqlString =
          "BEGIN SProc_Delete_PHolders(####ssn, ####occupation, ####sex, "
              + "####firstName, ####birthDate, ####lastName, ####address, ####childrenNames, ####phones); END;";
      SQLCall sqlcall = new SQLCall(sqlString);
      sqlcall.setCustomSQLArgumentType("ssn", Long.class);
      sqlcall.setCustomSQLArgumentType("occupation", String.class);
      sqlcall.setCustomSQLArgumentType("sex", Character.class);
      sqlcall.setCustomSQLArgumentType("firstName", String.class);
      sqlcall.setCustomSQLArgumentType("birthDate", java.sql.Date.class);
      sqlcall.setCustomSQLArgumentType("lastName", String.class);
      sqlcall.setCustomSQLArgumentType("address", Types.STRUCT, "ADDRESS_TYPE");
      sqlcall.setCustomSQLArgumentType("childrenNames", Types.ARRAY, "NAMELIST_TYPE", Vector.class);
      sqlcall.setCustomSQLArgumentType("phones", Types.ARRAY, "PHONELIST_TYPE", Vector.class, ordf);
      call = sqlcall;
    } else {
      StoredProcedureCall sqlcall = new StoredProcedureCall();
      sqlcall.setProcedureName("SProc_Delete_PHolders");
      sqlcall.addUnamedInOutputArgument("ssn", Long.class);
      sqlcall.addUnamedInOutputArgument("occupation", String.class);
      sqlcall.addUnamedInOutputArgument("sex", Character.class);
      sqlcall.addUnamedInOutputArgument("firstName", String.class);
      sqlcall.addUnamedInOutputArgument("birthDate", java.sql.Date.class);
      sqlcall.addUnamedInOutputArgument("lastName", String.class);

      sqlcall.addUnamedInOutputArgument("address", "address", Types.STRUCT, "ADDRESS_TYPE");
      sqlcall.addUnamedInOutputArgument(
          "childrenNames", "childrenNames", Types.ARRAY, "NAMELIST_TYPE", Vector.class);
      sqlcall.addUnamedInOutputArgument(
          "phones", "phones", Types.ARRAY, "PHONELIST_TYPE", Vector.class, ordf);
      call = sqlcall;
    }
    return call;
  }