public void deleteISOCountryLanguage(
      CFSecurityAuthorization Authorization, CFSecurityISOCountryLanguageBuff Buff) {
    final String S_ProcName = "deleteISOCountryLanguage";
    ResultSet resultSet = null;
    try {
      Connection cnx = schema.getCnx();
      short ISOCountryId = Buff.getRequiredISOCountryId();
      short ISOLanguageId = Buff.getRequiredISOLanguageId();

      String sql =
          "call "
              + schema.getLowerDbSchemaName()
              + ".sp_delete_iso_cntrylng( ?, ?, ?, ?, ?"
              + ", "
              + "?"
              + ", "
              + "?"
              + ", "
              + "?"
              + " )";
      if (stmtDeleteByPKey == null) {
        stmtDeleteByPKey = cnx.prepareStatement(sql);
      }
      int argIdx = 1;
      stmtDeleteByPKey.setLong(
          argIdx++, (Authorization == null) ? 0 : Authorization.getSecClusterId());
      stmtDeleteByPKey.setString(
          argIdx++, (Authorization == null) ? "" : Authorization.getSecUserId().toString());
      stmtDeleteByPKey.setString(
          argIdx++, (Authorization == null) ? "" : Authorization.getSecSessionId().toString());
      stmtDeleteByPKey.setLong(
          argIdx++, (Authorization == null) ? 0 : Authorization.getSecClusterId());
      stmtDeleteByPKey.setLong(
          argIdx++, (Authorization == null) ? 0 : Authorization.getSecTenantId());
      stmtDeleteByPKey.setShort(argIdx++, ISOCountryId);
      stmtDeleteByPKey.setShort(argIdx++, ISOLanguageId);
      stmtDeleteByPKey.setInt(argIdx++, Buff.getRequiredRevision());
      ;
      stmtDeleteByPKey.executeUpdate();
    } catch (SQLException e) {
      throw CFLib.getDefaultExceptionFactory().newDbException(getClass(), S_ProcName, e);
    } finally {
      if (resultSet != null) {
        try {
          resultSet.close();
        } catch (SQLException e) {
        }
        resultSet = null;
      }
    }
  }
 public void deleteFeeDetailByIdIdx(
     CFSecurityAuthorization Authorization, long argTenantId, long argFeeDetailId) {
   final String S_ProcName = "deleteFeeDetailByIdIdx";
   ResultSet resultSet = null;
   try {
     Connection cnx = schema.getCnx();
     String sql =
         "begin call "
             + schema.getLowerDbSchemaName()
             + ".dl_feedtlbyididx( ?, ?, ?, ?, ?"
             + ", "
             + "?"
             + ", "
             + "?"
             + " ); end";
     if (stmtDeleteByIdIdx == null) {
       stmtDeleteByIdIdx = cnx.prepareStatement(sql);
     }
     int argIdx = 1;
     stmtDeleteByIdIdx.setLong(
         argIdx++, (Authorization == null) ? 0 : Authorization.getSecClusterId());
     stmtDeleteByIdIdx.setString(
         argIdx++, (Authorization == null) ? "" : Authorization.getSecUserId().toString());
     stmtDeleteByIdIdx.setString(
         argIdx++, (Authorization == null) ? "" : Authorization.getSecSessionId().toString());
     stmtDeleteByIdIdx.setLong(
         argIdx++, (Authorization == null) ? 0 : Authorization.getSecClusterId());
     stmtDeleteByIdIdx.setLong(
         argIdx++, (Authorization == null) ? 0 : Authorization.getSecTenantId());
     stmtDeleteByIdIdx.setLong(argIdx++, argTenantId);
     stmtDeleteByIdIdx.setLong(argIdx++, argFeeDetailId);
     int rowsUpdated = stmtDeleteByIdIdx.executeUpdate();
   } catch (SQLException e) {
     throw CFLib.getDefaultExceptionFactory().newDbException(getClass(), S_ProcName, e);
   } finally {
     if (resultSet != null) {
       try {
         resultSet.close();
       } catch (SQLException e) {
       }
       resultSet = null;
     }
   }
 }
  public void updateMemoData(CFSecurityAuthorization Authorization, CFCrmMemoDataBuff Buff) {
    final String S_ProcName = "updateMemoData";
    if ("MMOD".equals(Buff.getClassCode())
        && (!schema.isTenantUser(Authorization, Buff.getRequiredTenantId(), "UpdateMemoData"))) {
      throw CFLib.getDefaultExceptionFactory()
          .newRuntimeException(
              getClass(),
              S_ProcName,
              "Permission denied -- User not part of TSecGroup UpdateMemoData");
    }
    try {
      Connection cnx = schema.getCnx();
      long TenantId = Buff.getRequiredTenantId();
      long MemoId = Buff.getRequiredMemoId();
      long ContactId = Buff.getRequiredContactId();
      String Memo = Buff.getRequiredMemo();
      int Revision = Buff.getRequiredRevision();
      CFCrmMemoDataPKey pkey = schema.getFactoryMemoData().newPKey();
      pkey.setRequiredTenantId(Buff.getRequiredTenantId());
      pkey.setRequiredMemoId(Buff.getRequiredMemoId());
      CFCrmMemoDataBuff readBuff = lockBuff(Authorization, pkey);
      if (readBuff == null) {
        throw CFLib.getDefaultExceptionFactory()
            .newStaleCacheDetectedException(
                getClass(),
                S_ProcName,
                "Attempted to update record which could not be locked/found",
                schema.getLowerDbSchemaName() + "..memodata",
                pkey);
      }
      int oldRevision = readBuff.getRequiredRevision();
      if (oldRevision != Revision) {
        throw CFLib.getDefaultExceptionFactory()
            .newCollisionDetectedException(getClass(), S_ProcName, Buff);
      }
      int newRevision = Revision + 1;
      String sql =
          "UPDATE "
              + schema.getLowerDbSchemaName()
              + "..MemoData "
              + "SET "
              + "tenantid = ?"
              + ", "
              + "memoid = ?"
              + ", "
              + "contactid = ?"
              + ", "
              + "memo = ?"
              + ", "
              + "updatedby = ?, "
              + "updatedat = sysdatetime() "
              + ", revision = ? "
              + " WHERE "
              + "tenantid = ? "
              + "AND "
              + "memoid = ? "
              + "AND "
              + "revision = ? ";
      if (stmtUpdateByPKey == null) {
        stmtUpdateByPKey = cnx.prepareStatement(sql);
      }
      int argIdx = 1;

      stmtUpdateByPKey.setLong(argIdx++, TenantId);
      stmtUpdateByPKey.setLong(argIdx++, MemoId);
      stmtUpdateByPKey.setLong(argIdx++, ContactId);
      stmtUpdateByPKey.setString(argIdx++, Memo);
      stmtUpdateByPKey.setString(argIdx++, Authorization.getSecUserId().toString());
      stmtUpdateByPKey.setInt(argIdx++, newRevision);
      stmtUpdateByPKey.setLong(argIdx++, TenantId);
      stmtUpdateByPKey.setLong(argIdx++, MemoId);
      stmtUpdateByPKey.setInt(argIdx++, Revision);
      ;
      int rowsAffected = stmtUpdateByPKey.executeUpdate();
      if (rowsAffected != 1) {
        throw CFLib.getDefaultExceptionFactory()
            .newRuntimeException(
                getClass(),
                S_ProcName,
                "Expected 1 row to be affected by update, not " + rowsAffected);
      }
      Buff.setRequiredRevision(newRevision);
      String sqlAuditUpdated =
          "INSERT INTO "
              + schema.getLowerDbSchemaName()
              + "..MemoData_h( auditclusterid, "
              + " auditsessionid, "
              + " auditstamp"
              + ", "
              + "tenantid"
              + ", "
              + "memoid"
              + ", "
              + "contactid"
              + ", "
              + "memo"
              + ", "
              + " revision, "
              + " auditaction ) "
              + "SELECT ?, ?, sysdatetime()"
              + ", "
              + "mmod.tenantid"
              + ", "
              + "mmod.memoid"
              + ", "
              + "mmod.contactid"
              + ", "
              + "mmod.memo"
              + ", "
              + " mmod.revision, "
              + " 1 "
              + "FROM "
              + schema.getLowerDbSchemaName()
              + "..MemoData AS mmod "
              + " WHERE "
              + "mmod.tenantid = ? "
              + "AND mmod.memoid = ? ";
      if (stmtAuditUpdatedByPKey == null) {
        stmtAuditUpdatedByPKey = cnx.prepareStatement(sqlAuditUpdated);
      }
      argIdx = 1;
      stmtAuditUpdatedByPKey.setLong(argIdx++, Authorization.getSecClusterId());
      stmtAuditUpdatedByPKey.setString(argIdx++, Authorization.getSecSessionId().toString());
      stmtAuditUpdatedByPKey.setLong(argIdx++, TenantId);
      stmtAuditUpdatedByPKey.setLong(argIdx++, MemoId);
      int rowsAudited = stmtAuditUpdatedByPKey.executeUpdate();
      if (rowsAudited != 1) {
        throw CFLib.getDefaultExceptionFactory()
            .newRuntimeException(
                getClass(),
                S_ProcName,
                "Expected 1 row to be affected by audit via insert-selected, not " + rowsAffected);
      }
    } catch (SQLException e) {
      throw CFLib.getDefaultExceptionFactory().newDbException(getClass(), S_ProcName, e);
    }
  }
  public void createMemoData(CFSecurityAuthorization Authorization, CFCrmMemoDataBuff Buff) {
    final String S_ProcName = "createMemoData";
    if ("MMOD".equals(Buff.getClassCode())
        && (!schema.isTenantUser(Authorization, Buff.getRequiredTenantId(), "CreateMemoData"))) {
      throw CFLib.getDefaultExceptionFactory()
          .newRuntimeException(
              getClass(),
              S_ProcName,
              "Permission denied -- User not part of TSecGroup CreateMemoData");
    }
    if (!schema.isTransactionOpen()) {
      throw CFLib.getDefaultExceptionFactory()
          .newUsageException(getClass(), S_ProcName, "Transaction not open");
    }
    try {
      Connection cnx = schema.getCnx();
      long TenantId = Buff.getRequiredTenantId();
      long MemoId = Buff.getRequiredMemoId();
      long ContactId = Buff.getRequiredContactId();
      String Memo = Buff.getRequiredMemo();
      int Revision = 1;
      String sql =
          "INSERT INTO "
              + schema.getLowerDbSchemaName()
              + "..MemoData( "
              + "forcesynclock, "
              + "createdby, "
              + "createdat, "
              + "updatedby, "
              + "updatedat, "
              + "tenantid, "
              + "memoid, "
              + "contactid, "
              + "memo"
              + ", revision )"
              + "VALUES ( "
              + "0, "
              + " ?, "
              + " getdate(), "
              + " ?, "
              + " getdate(), "
              + "?"
              + ", "
              + "?"
              + ", "
              + "?"
              + ", "
              + "?"
              + ", "
              + "1 )";
      if (stmtCreateByPKey == null) {
        stmtCreateByPKey = cnx.prepareStatement(sql);
      }
      int argIdx = 1;
      stmtCreateByPKey.setString(argIdx++, Authorization.getSecUserId().toString());
      stmtCreateByPKey.setString(argIdx++, Authorization.getSecUserId().toString());
      stmtCreateByPKey.setLong(argIdx++, TenantId);
      stmtCreateByPKey.setLong(argIdx++, MemoId);
      stmtCreateByPKey.setLong(argIdx++, ContactId);
      stmtCreateByPKey.setString(argIdx++, Memo);
      int rowsAffected = stmtCreateByPKey.executeUpdate();
      if (rowsAffected != 1) {
        throw CFLib.getDefaultExceptionFactory()
            .newRuntimeException(
                getClass(),
                S_ProcName,
                "Expected 1 row to be affected by insert, not " + rowsAffected);
      }
      Buff.setRequiredRevision(Revision);
      String sqlAuditCreated =
          "INSERT INTO "
              + schema.getLowerDbSchemaName()
              + "..MemoData_h( auditclusterid, "
              + " auditsessionid, "
              + " auditstamp"
              + ", "
              + "tenantid"
              + ", "
              + "memoid"
              + ", "
              + "contactid"
              + ", "
              + "memo"
              + ", "
              + " revision, "
              + " auditaction ) "
              + "SELECT ?, ?, sysdatetime()"
              + ", "
              + "mmod.tenantid"
              + ", "
              + "mmod.memoid"
              + ", "
              + "mmod.contactid"
              + ", "
              + "mmod.memo"
              + ", "
              + " mmod.revision, "
              + " 0"
              + "FROM "
              + schema.getLowerDbSchemaName()
              + "..MemoData AS mmod "
              + " WHERE "
              + "mmod.tenantid = ? "
              + "AND mmod.memoid = ? ";
      if (stmtAuditCreatedByPKey == null) {
        stmtAuditCreatedByPKey = cnx.prepareStatement(sqlAuditCreated);
      }
      argIdx = 1;
      stmtAuditCreatedByPKey.setLong(argIdx++, Authorization.getSecClusterId());
      stmtAuditCreatedByPKey.setString(argIdx++, Authorization.getSecSessionId().toString());
      stmtAuditCreatedByPKey.setLong(argIdx++, TenantId);
      stmtAuditCreatedByPKey.setLong(argIdx++, MemoId);
      int rowsAudited = stmtAuditCreatedByPKey.executeUpdate();
      if (rowsAudited != 1) {
        throw CFLib.getDefaultExceptionFactory()
            .newRuntimeException(
                getClass(),
                S_ProcName,
                "Expected 1 row to be affected by audit via insert-selected, not " + rowsAffected);
      }

    } catch (SQLException e) {
      throw CFLib.getDefaultExceptionFactory().newDbException(getClass(), S_ProcName, e);
    }
  }