> Inhalt: JavaScout Base-System (JSBS)

JSBS_StandardEJBBean – Basisklasse für eine Standard Enterprise Java Bean (EJB)

* Bitte beachten Sie die Hinweise und Bestimmungen bezüglich Urheberrecht, Haftungsausschluß und geschützte Marken oder Warenzeichen die für dieses Web-Dokument und möglicherweise auch für 'verlinkte' Dokumente gelten.

  • Der Betreiber dieser Web-Site (www.javascout.biz) ist nicht verantwortlich für den Inhalt von Web-Sites, die innerhalb dieses Web-Dokumentes oder anderer Dokumente von www.javascout.biz verlinkt sind.

  • Wenn dieses Web-Dokument oder andere Dokumente dieser Web-Site (www.javascout.biz) Rechte von Ihnen verletzen, oder sie glauben, dass Rechte Anderer (Dritter Personen) dadurch verletzt werden, informieren Sie bitte den Betreiber dieser Web-Site.
    Eine E-Mail können Sie ganz einfach durch anklicken des Symbols oder Textes im Frame rechts oben senden.

Dieses Dokument drucken.

 Letzte Bearbeitung dieses  Dokuments:
2013-02-07

Inhaltsverzeichnis

Code 
Erklärungen und Anwendungsbeispiele 
Verwandte Dokumentation
 

Code

package js_base.ejb.beans;
/*
 * de: Package und Klasse für die Verbindung zu einer Datenbank.
 * en: Package and class for the connection to a database. */

import
java.sql.Connection;
/*
 * de:
 * Package und Klasse aus den JavaScout Basisklassen mit dem minimalen Set von Parametern für das
 * Anwendungsprogramm importieren. In dem minimalen Set von Parametern sind gewählte Sprache,
 * Name des angemeldeten Anwendern, Arbeitsdatum des Clients, usw. enthalten.
 * en:
 * Import package and class with the minimal set of Parameters for the application-program from the
 * JavaScout Base-Classes. The minimal set of Parameters contains selected language,
 * name of the logged-on user, working-date of the client, etc. */

import
js_base.structures.JSBS_MinimalParameters;
/*
 * de:
 * Packages mit den Generellen und Server-Seitigen Klassen für die Business Objects (BO)
 * der JavaScout Basisklassen importieren.
 * en:
 * Import packages from the JavaScout Base-Classes with the General and Server-Side classes
 * for Business Objects (BO). */

import
js_base.bo.*;
import js_base.bos.*;
/*
 * de: Packages mit den Interfaces für diese Klasse.
 * en: Packages with the Interfaces for this class. */

import
js_base.ejb.interfaces.local.JSBS_StandardEJBBeanLocal;
import js_base.ejb.interfaces.remote.JSBS_StandardEJBBeanRemote;
/**
 *
 * @author kurt(at)javascout[dot]biz
 * @date 2009-09-14
 *
 * @description
 * de:
 *  ANMERKUNG:
 *  Diese Klasse ist nicht allein sinnvoll sondern _muss_ durch eine EJB-Klasse des Anwendungsprogramms
 *  geerbt werden. Nur in der erbenden Klasse kann die 'Datasource' definiert werden und damit
 *  die Verbindung zur Datenbank hergestellt werden.
 *  Das Aufrufen von Methoden dieser Klasse (erfolgt in Klasse JSBS_FramePosition_BOC) hat den Zweck,
 *  das Speichern und Wiederherstellen der Position und Größe eines Fensters bereits in den
 *  JavaScout Basisklassen implementieren zu können.
 *  ---------------------------
 *  Diese Klasse enthält:
 *  + Die Methoden zum Speichern und Lesen der Werte für das BO 'FramePosition'.
 *    Dieses BO ist in den JavaScout Basisklassen implementiert und kann von allen
 *    Anwendungs-Programmen, die Klassen des JavaScout Base-System (JSBS) erben,
 *    verwendet werden.
 *
 * en:

 *  COMMENT:
 *  This class is not menaingful at its own but _has to be_ inherited by an EJB-class of the application program.
 *  Reason for this requieremtn is, that a Datasource and the connection to the database can be defined only
 *  in the inheriting class.
 +  The only purpose of calling methods of this class (done in class JSBS_FramePosition_BOC) is, to implement
 *  saving and restoring the position and size of a window within the JavaScout base-classes.
 *  ---------------------------
 *  This class contains:
 *  + Methods to store and retrieve the values for the BO 'FramePosition'.
 *    This BO is implemented in the JavaScout Base-Classes and can be used by
 *    all application-programs which inherit classes of the JavaScout Base-System
 *    (JSBS).
 *
 * @change-log
 * when         who               why
 * --------------------------------------------------------
 *
 */

public class JSBS_StandardEJBBean
            implements
 JSBS_StandardEJBBeanLocal, JSBS_StandardEJBBeanRemote {
/*  
 * ---------------------
 * de:
 * METHODE zum Herstellen einer Verbindung zur Datenbank.
 * Diese Methode muss in der erbenden Klasse überschrieben werden weil erst dort die
 * Datasource – und damit die Verbindung zur Datenbank – definiert ist.
 * Diese minimale Definition der Methode wird hier implementiert um in den folgenden Methoden (zum Speichern
 * und Wieder-Lesen der Werte für die Größe und Position eines Fensters) diese Methode aufrufen zu können.
 * en:
 * METHOD to establish the connection to the database.
 * This method must be overwritten in the inheriting class because only there the Datasource – and therefore
 * the connection to the database – is defined.
 * This minimal definition of the method is implemented here to be able to call this method in the
 * following methods (to store and reread the values for the size an position of a window). */

    
public synchronized Connection establishDBConnection() {
/*
 * de: Platzhalter für die Methode der erbenden Klasse: 'Nichts' zurückliefern.
 * en: Placeholder for the method of the inheriten class: return 'Nothing'. */

      
return null;
    }
/*
 * de:
 * Methode, die von Client-Programmen aufgerufen werden kann um zu Prüfen, ob eine
 * Verbindung zum JAS existiert.
 * Das wird bei Client-Anwendungen im Modus 'MobileClient' verwendet um periodisch zu prüfen,
 * ob noch eine Verbindung zu JAS mit den zentralen Daten aufgebaut werden kann oder 'offline'
 * gearbeitet werden muss.
 * en:
 * Method to be called by client-programmes to verify if a connection to the JAS exists.
 * That is used with client-applications running in the modus 'MobileClient' for a periodic
 * check if a connection can be established to the JAS with the centralized administered data
 * or the work has to be done 'offline'. */
    public boolean testJASConnection() {
      
return true;
    }
/* 
 * ====================
 * de:
 * METHODEN für die einzelnen Datenbank-Operationen des Business-Objects (BO)
 * JSBS_PDFP (Physical Device Fingerprint ( Identifikation des Endgerätes). 
 *  
 * en:
 * METHODS for the single database-operations of the Business-Object (BO)
 * JSBS_PDFP (Physical Device Fingerprint / unique identification of a user device)
 * ==================== */
/* de: 
 * METHODE zum Lesen der Werte des BO JSBS_PDFP für einen festgelegten Hostname. 
 * en:
 * METHOD to retrieve the values of BO JSBS_PDFP for a given Hostname. */

    
public synchronized JSBS_PDFP_BO JSBS_PDFP_BO__selectByHostname(
                                      JSBS_MinimalParameters parmMinParm,
                                      String parmHostname) {
/*
 * de:
 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_PDFP_BO boJSBS_PDFP_BO =
new JSBS_PDFP_BO();
/*
 * de:
 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();

/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_PDFP_BO.
StatusCode = JSBS_PDFP_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_PDFP_BO.
StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_PDFP_BO;
      }

/*
 * de:
 * Ein Server-Side Business Object konstruieren (instanziieren). 
 * Danach die 'store'-Operation auf die Datenbank ausführen.
 * en:
 * Construct (instantiate) a Server-Side Business Object.
 * Perform the 'store'-operation against the database thereafter. */

      JSBS_PDFP_BOS bosJSBS_PDFP_BOS =
        
new JSBS_PDFP_BOS(parmMinParm, DBCon, true);
      bosJSBS_PDFP_BOS.selectByHostname(parmHostname);

/*
 * de:
 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Nicht Gefunden') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Not Found')
 * will be transferred to the general class BO.*/

      boJSBS_PDFP_BO.copyFromJSBS_PDFP_BO(bosJSBS_PDFP_BOS);
      
/* 
 * de:
 * Schliessen der Verbindung (Connection) zur Datenbank. Das muss innerhalb einer 'try/catch'-Logik   
 * erfolgen auch wenn es keine Möglichkeit gibt, bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Close the connection to the database. That has to be done within a 'try/catch'-logic even if   
 * there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {DBCon.close();}
      
catch (Exception e){}
/* 
 * de:
 * BO mit den selektierten Werten - oder dem entsprechenden Status - an die aufrufende Methode
 * zurück liefern.
 * en:
 * Return the BO with the selected values - or the relevant - to the calling method. */

      
return boJSBS_PDFP_BO;
    }

/* -------------------------
 *
de: 
 * METHODE zum Lesen der Werte des BO JSBS_PDFP für eine festgelegteTCP/IP-Adresse. 
 * en:
 * METHOD to retrieve the values of BO JSBS_PDFP for a given TCP/IP-address. */

    
public synchronized JSBS_PDFP_BO JSBS_PDFP_BO__selectByTCPIP_Address(
                                      JSBS_MinimalParameters parmMinParm,
                                      String parm
TCPIP_Address) {
/*
 * de:
 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_PDFP_BO boJSBS_PDFP_BO =
new JSBS_PDFP_BO();
/*
 * de:
 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();

/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_PDFP_BO.
StatusCode = JSBS_PDFP_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_PDFP_BO.
StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_PDFP_BO;
      }

/*
 * de:
 * Ein Server-Side Business Object konstruieren (instanziieren). 
 * Danach die 'store'-Operation auf die Datenbank ausführen.
 * en:
 * Construct (instantiate) a Server-Side Business Object.
 * Perform the 'store'-operation against the database thereafter. */

      JSBS_PDFP_BOS bosJSBS_PDFP_BOS =
        
new JSBS_PDFP_BOS(parmMinParm, DBCon, true);
      bosJSBS_PDFP_BOS.selectByTCPIP_Address(parm
TCPIP_Address);
/*
 * de:
 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Nicht Gefunden') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Not Found')
 * will be transferred to the general class BO.*/

      boJSBS_PDFP_BO.copyFromJSBS_PDFP_BO(bosJSBS_PDFP_BOS);
      
/* 
 * de:
 * Schliessen der Verbindung (Connection) zur Datenbank. Das muss innerhalb einer 'try/catch'-Logik   
 * erfolgen auch wenn es keine Möglichkeit gibt, bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Close the connection to the database. That has to be done within a 'try/catch'-logic even if   
 * there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {DBCon.close();}
      
catch (Exception e){}
/* 
 * de:
 * BO mit den selektierten Werten - oder dem entsprechenden Status - an die aufrufende Methode
 * zurück liefern.
 * en:
 * Return the BO with the selected values - or the relevant - to the calling method. */

      
return boJSBS_PDFP_BO;
    }
/* 
 * -------------------------------- 

/* 
 * de: METHODE zum Speichern der Werte des BO JSBS_PDFP. 
 * en: METHOD to store the values of BO JSBS_PDFP. */

    
public synchronized JSBS_PDFP_BO JSBS_PDFP_BO__store(
                                      JSBS_MinimalParameters parmMinParm,
                                      JSBS_PDFP_BO parmBO) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_PDFP_BO boJSBS_PDFP_BO =
new JSBS_PDFP_BO();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();

/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_PDFP_BO.
StatusCode = JSBS_PDFP_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_PDFP_BO.
StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_PDFP_BO;
      }

/*
 * de:

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * Dabei gleich die Werte des übergebenen BO als Parameter beim konstruieren des BOS verwenden.
 * Danach die 'store'-Operation auf die Datenbank ausführen.
 * en:
 * Construct (instantiate) a Server-Side Business Object.
 * Use the values of the BO taken over as parameter when constructing the BOS.
 * Perform the 'store'-operation against the database thereafter. */

      JSBS_PDFP_BOS bosJSBS_PDFP_BOS =
        
new JSBS_PDFP_BOS(parmMinParm, DBCon, parmBO, true);
      bosJSBS_PDFP_BOS.store();

/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_PDFP_BO.copyFromJSBS_PDFP_BO(bosJSBS_PDFP_BOS);
      
/* 
 * de:
 * Schliessen der Verbindung (Connection) zu Datenbank. Das muss innerhalb einer 'try/catch'-Logik   
 * erfolgen auch wenn es keine Möglichkeit gibt, bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Close the connection to the database. That has to be done within a 'try/catch'-logic even if   
 * there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {DBCon.close();}
      
catch (Exception e){}
/* 
 * de:

 * BO mit dem Status nach dem Speichern an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the status after store to the calling method. */

      
return boJSBS_PDFP_BO;
    }

/* 
 * ====================
 * de:
 * METHODEN für die einzelnen Datenbank-Operationen des Business-Objects (BO)
 * JSBS_FramePosition. 
 *  
 * en:
 * METHODS for the single database-operations of the Business-Object (BO)
 * JSBS_FramePosition
 * ==================== */
/* de: 
 * METHODE zum Lesen der Werte des BO JSBS_FramePosition für ein festgelegtes JFrame
 * und einen festgelegten Anwender-Namen. 
 * en:
 * METHOD to retrieve the values of BO JSBS_FramePosition
 * for a given JFrame and a given user-name. */

    
public synchronized JSBS_FramePosition_BO JSBS_FramePosition_BO__selectByUserKnownKey(
                                      JSBS_MinimalParameters parmMinParm,
                                      String parmFrameClassName,
                                      String parmUserID) {
/*
 * de:
 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_FramePosition_BO boJSBS_FramePosition_BO =
new JSBS_FramePosition_BO();
/*
 * de:
 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();

/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_FramePosition_BO.
StatusCode = JSBS_FramePosition_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_FramePosition_BO.
StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_FramePosition_BO;
      }

/*
 * de:
 * Ein Server-Side Business Object konstruieren (instanziieren). 
 * Danach die 'store'-Operation auf die Datenbank ausführen.
 * en:
 * Construct (instantiate) a Server-Side Business Object.
 * Perform the 'store'-operation against the database thereafter. */

      JSBS_FramePosition_BOS bosJSBS_FramePosition_BOS =
        
new JSBS_FramePosition_BOS(parmMinParm, DBCon, true);
      bosJSBS_FramePosition_BOS.selectByUserKnownKey(parmFrameClassName, parmUserID);

/*
 * de:
 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Nicht Gefunden') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Not Found')
 * will be transferred to the general class BO.*/

      boJSBS_FramePosition_BO.copyFromJSBS_FramePosition_BO(bosJSBS_FramePosition_BOS);
      
/* 
 * de:
 * Schliessen der Verbindung (Connection) zur Datenbank. Das muss innerhalb einer 'try/catch'-Logik   
 * erfolgen auch wenn es keine Möglichkeit gibt, bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Close the connection to the database. That has to be done within a 'try/catch'-logic even if   
 * there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {DBCon.close();}
      
catch (Exception e){}
/* 
 * de:
 * BO mit den selektierten Werten - oder dem entsprechenden Status - an die aufrufende Methode
 * zurück liefern.
 * en:
 * Return the BO with the selected values - or the relevant - to the calling method. */

      
return boJSBS_FramePosition_BO;
    }
/* 
 * -------------------------------- 

/* 
 * de: METHODE zum Speichern der Werte des BO JSBS_FramePosition. 
 * en: METHOD to store the values of BO JSBS_FramePosition. */

    
public synchronized JSBS_FramePosition_BO JSBS_FramePosition_BO__store(
                                      JSBS_MinimalParameters parmMinParm,
                                      JSBS_FramePosition_BO parmBO) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_FramePosition_BO boJSBS_FramePosition_BO =
new JSBS_FramePosition_BO();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();

/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_FramePosition_BO.
StatusCode = JSBS_FramePosition_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_FramePosition_BO.
StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_FramePosition_BO;
      }

/*
 * de:

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * Dabei gleich die Werte des übergebenen BO als Parameter beim konstruieren des BOS verwenden.
 * Danach die 'store'-Operation auf die Datenbank ausführen.
 * en:
 * Construct (instantiate) a Server-Side Business Object.
 * Use the values of the BO taken over as parameter when constructing the BOS.
 * Perform the 'store'-operation against the database thereafter. */

      JSBS_FramePosition_BOS bosJSBS_FramePosition_BOS =
        
new JSBS_FramePosition_BOS(parmMinParm, DBCon, parmBO, true);
      bosJSBS_FramePosition_BOS.store();

/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_FramePosition_BO.copyFromJSBS_FramePosition_BO(bosJSBS_FramePosition_BOS);
      
/* 
 * de:
 * Schliessen der Verbindung (Connection) zu Datenbank. Das muss innerhalb einer 'try/catch'-Logik   
 * erfolgen auch wenn es keine Möglichkeit gibt, bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Close the connection to the database. That has to be done within a 'try/catch'-logic even if   
 * there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {DBCon.close();}
      
catch (Exception e){}
/* 
 * de:

 * BO mit dem Status nach dem Speichern an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the status after store to the calling method. */

      
return boJSBS_FramePosition_BO;
    }

/* 
 * ============================

 * ABSCHNITT FÜR DAS LAND   */

/* 
 * de: METHODE zum Abgleichen eines BO zwischen Server und MobileClient. 
 * en: METHOD to synchronize a BO between server and MobileClient. */

    
public synchronized JSBS_Country_BO JSBS_Country_BO__synchronizedStore(
                                      JSBS_MinimalParameters parmMinParm,
                                      JSBS_Country_BO parmBO) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Country_BO boJSBS_Country_BO =
new JSBS_Country_BO();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Country_BO.
StatusCode = JSBS_Country_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Country_BO.
StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Country_BO;
      }
/*
 * de:
 * In Methoden, die Daten verändern darf 'autocommit' nicht verwendet werden.
 * Nur so kann bei einem Fehler ein 'rollback' ausgeführt werden.
 * en:
 * In methods where data is changed, 'autocommit' must not be used.
 * Only this allows to use 'rollback' in case of an error. */

      
try {
        DBCon.setAutoCommit(
false);
      }
      
catch (Exception e) {
/*
 * de:
 * Setzen von 'autocommit' führte zu einem Fehler; das weist auf eine Fehlfunktion
 * des Datenbanksystems hin. Datenbank-Operation nicht ausführen und Fehler an die
 * aufrufende Methode zurück liefern.
 * en:
 * Setting 'autocommit' lead to an error; this is an indication of a severe malfunction
 * of the database-system. Do not continue with the database-operation and report the
 * error to the calling method. */

        boJSBS_Country_BO.
StatusCode = JSBS_Country_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Country_BO.
StatusMsg = "Disabling 'autocommit' failed within the EJB.";
        
return boJSBS_Country_BO;
      }
/*
 * de:
 * DB-Connection wurde fehlerfrei erstellt.

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * Dabei gleich die Werte des übergebenen BO übernehmen.
 * Danach die 'store'-Operation auf die Datenbank ausführen.
 * en:
 * DB-Connection established without an error.
 * Construct (instantiate) a Server-Side Business Object and pass the values
 * of the BO that was passed as parameter.
 * Perform the 'store'-operation against the database thereafter. */

      JSBS_Country_BOS bosJSBS_Country_BOS =
        
new JSBS_Country_BOS(parmMinParm, DBCon, parmBO, true);
      bosJSBS_Country_BOS.synchronizedStore(0);
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Country_BO.copyFromJSBS_Country_BO(bosJSBS_Country_BOS);
/* 
 * de:
 * 'Commit' oder 'Rollback' ausführen und Schliessen der Verbindung (Connection) zur Datenbank.
 * Das muss innerhalb einer 'try/catch'-Logik erfolgen auch wenn es keine Möglichkeit gibt,
 * bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Perform 'Commit' or 'Rollback' and close the connection to the database. That has to be done
 * within a 'try/catch'-logic even if there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {
        
if (boJSBS_Country_BO.StatusCode == JSBS_BO.CONST_OK) DBCon.commit();
        
else DBCon.rollback();
        DBCon.close();
      }
      
catch (Exception e){
        boJSBS_Country_BO.
StatusCode = JSBS_Country_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Country_BO.
StatusMsg = "Close of database-connection failed within the EJB.";
      }
/* 
 * de:

 * BO mit dem Status nach dem Speichern an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the status after store to the calling method. */

      
return boJSBS_Country_BO;
    }
/* 
 * -------------------- 

/* 
 * de: METHODE zum Speichern der Werte eines BO. 
 * en: METHOD to store the values of a BO. */

    
public synchronized JSBS_Country_BO JSBS_Country_BO__store(
                                      JSBS_MinimalParameters parmMinParm,
                                      JSBS_Country_BO parmBO) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Country_BO boJSBS_Country_BO =
new JSBS_Country_BO();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Country_BO.
StatusCode = JSBS_Country_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Country_BO.
StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Country_BO;
      }
/*
 * de:
 * In Methoden, die Daten verändern darf 'autocommit' nicht verwendet werden.
 * Nur so kann bei einem Fehler ein 'rollback' ausgeführt werden.
 * en:
 * In methods where data is changed, 'autocommit' must not be used.
 * Only this allows to use 'rollback' in case of an error. */

      
try {
        DBCon.setAutoCommit(
false);
      }
      
catch (Exception e) {
/*
 * de:
 * Setzen von 'autocommit' führte zu einem Fehler; das weist auf eine Fehlfunktion
 * des Datenbanksystems hin. Datenbank-Operation nicht ausführen und Fehler an die
 * aufrufende Methode zurück liefern.
 * en:
 * Setting 'autocommit' lead to an error; this is an indication of a severe malfunction
 * of the database-system. Do not continue with the database-operation and report the
 * error to the calling method. */

        boJSBS_Country_BO.
StatusCode = JSBS_Country_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Country_BO.
StatusMsg = "Disabling 'autocommit' failed within the EJB.";
        
return boJSBS_Country_BO;
      }
/*
 * de:
 * DB-Connection wurde fehlerfrei erstellt.

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * Dabei gleich die Werte des übergebenen BO übernehmen.
 * Danach die 'store'-Operation auf die Datenbank ausführen.
 * en:
 * DB-Connection established without an error.
 * Construct (instantiate) a Server-Side Business Object and pass the values
 * of the BO that was passed as parameter.
 * Perform the 'store'-operation against the database thereafter. */

      JSBS_Country_BOS bosJSBS_Country_BOS =
        
new JSBS_Country_BOS(parmMinParm, DBCon, parmBO, true);
      bosJSBS_Country_BOS.store();
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Country_BO.copyFromJSBS_Country_BO(bosJSBS_Country_BOS);
      
/* 
 * de:
 * 'Commit' oder 'Rollback' ausführen und Schliessen der Verbindung (Connection) zur Datenbank.
 * Das muss innerhalb einer 'try/catch'-Logik erfolgen auch wenn es keine Möglichkeit gibt,
 * bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Perform 'Commit' or 'Rollback' and close the connection to the database. That has to be done
 * within a 'try/catch'-logic even if there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {
        
if (boJSBS_Country_BO.StatusCode == JSBS_BO.CONST_OK) DBCon.commit();
        
else DBCon.rollback();
        DBCon.close();
      }
      
catch (Exception e){
        boJSBS_Country_BO.
StatusCode = JSBS_Country_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Country_BO.
StatusMsg = "Close of database-connection failed within the EJB.";
      }
/* 
 * de:

 * BO mit dem Status nach dem Speichern an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the status after store to the calling method. */

      
return boJSBS_Country_BO;
    }
/* 
 * -------------------- 

/* 
 * de: METHODE zum Deaktivieren (logisches Löschen) eines BO. 
 * en: METHOD to deactivate (logically delete) of a BO. */

    
public synchronized JSBS_Country_BO JSBS_Country_BO__deactivate(
                                      JSBS_MinimalParameters parmMinParm,
                                      JSBS_Country_BO parmBO) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Country_BO boJSBS_Country_BO =
new JSBS_Country_BO();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Country_BO.
StatusCode = JSBS_Country_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Country_BO.
StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Country_BO;
      }
/*
 * de:
 * In Methoden, die Daten verändern darf 'autocommit' nicht verwendet werden.
 * Nur so kann bei einem Fehler ein 'rollback' ausgeführt werden.
 * en:
 * In methods where data is changed, 'autocommit' must not be used.
 * Only this allows to use 'rollback' in case of an error. */

      
try {
        DBCon.setAutoCommit(
false);
      }
      
catch (Exception e) {
/*
 * de:
 * Setzen von 'autocommit' führte zu einem Fehler; das weist auf eine Fehlfunktion
 * des Datenbanksystems hin. Datenbank-Operation nicht ausführen und Fehler an die
 * aufrufende Methode zurück liefern.
 * en:
 * Setting 'autocommit' lead to an error; this is an indication of a severe malfunction
 * of the database-system. Do not continue with the database-operation and report the
 * error to the calling method. */

        boJSBS_Country_BO.
StatusCode = JSBS_Country_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Country_BO.
StatusMsg = "Disabling 'autocommit' failed within the EJB.";
        
return boJSBS_Country_BO;
      }
/*
 * de:
 * DB-Connection wurde fehlerfrei erstellt.

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * Dabei gleich die Werte des übergebenen BO übernehmen.
 * Danach die 'store'-Operation auf die Datenbank ausführen.
 * en:
 * DB-Connection established without an error.
 * Construct (instantiate) a Server-Side Business Object and pass the values
 * of the BO that was passed as parameter.
 * Perform the 'store'-operation against the database thereafter. */

      JSBS_Country_BOS bosJSBS_Country_BOS =
        
new JSBS_Country_BOS(parmMinParm, DBCon, parmBO, true);
      bosJSBS_Country_BOS.deactivate();
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Country_BO.copyFromJSBS_Country_BO(bosJSBS_Country_BOS);
/* 
 * de:
 * 'Commit' oder 'Rollback' ausführen und Schliessen der Verbindung (Connection) zur Datenbank.
 * Das muss innerhalb einer 'try/catch'-Logik erfolgen auch wenn es keine Möglichkeit gibt,
 * bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Perform 'Commit' or 'Rollback' and close the connection to the database. That has to be done
 * within a 'try/catch'-logic even if there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {
        
if (boJSBS_Country_BO.StatusCode == JSBS_BO.CONST_OK) DBCon.commit();
        
else DBCon.rollback();
        DBCon.close();
      }
      
catch (Exception e){
        boJSBS_Country_BO.
StatusCode = JSBS_Country_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Country_BO.
StatusMsg = "Close of database-connection failed within the EJB.";
      }
/* 
 * de:

 * BO mit dem Status nach dem Speichern an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the status after store to the calling method. */

      
return boJSBS_Country_BO;
    }
/* 
 * -------------------- 

/* 
 * de: 
 * METHODE zum Selektieren der aktuell gültigen Werte des BO, dessen Anwender-bekannter Schlüssel
 * in der Sortierreihenfolge nach den Werten in den übergebenen Parametern kommt. 
 * en:
 * METHOD to select the actually valid values of the BO, which user-known key follows
 * in the sort-order after the values passed in the parmeters. */

    
public synchronized JSBS_Country_BO JSBS_Country_BO__selectNext(
                                      JSBS_MinimalParameters parmMinParm,
                                      String parmISOCountryCode,
                                      String parmLanguageCodeForLabelling) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Country_BO boJSBS_Country_BO =
new JSBS_Country_BO();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Country_BO.
StatusCode = JSBS_Country_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Country_BO.
StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Country_BO;
      }
/*
 * de:
 * DB-Connection wurde fehlerfrei erstellt.

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * und die 'select'-Operation auf die Datenbank ausführen.
 * en:
 * DB-Connection established without an error.
 * Construct (instantiate) a Server-Side Business Object and perform
 * the 'select'-operation against the database thereafter. */

      JSBS_Country_BOS bosJSBS_Country_BOS =
        
new JSBS_Country_BOS(parmMinParm, DBCon, true);
      bosJSBS_Country_BOS.selectNext(parmISOCountryCode, parmLanguageCodeForLabelling);
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Country_BO.copyFromJSBS_Country_BO(bosJSBS_Country_BOS);
/* 
 * de:
 * Schliessen der Verbindung (Connection) zur Datenbank.
 * Das muss innerhalb einer 'try/catch'-Logik erfolgen auch wenn es keine Möglichkeit gibt,
 * bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Close the connection to the database. That has to be done
 * within a 'try/catch'-logic even if there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {DBCon.close();}
      
catch (Exception e){
/* 
 * de:
 * Keine Fehlermeldung bei einem fehlerhaften 'close()'.
 * Nachdem das Selektieren der Daten ohne Fehler erfolgt ist, wird angenommen, dass die
 * wesentlichen Teile der Datenbank-Operation wie erwarted erfolgt sind.
 * en:
 * Do not produce an error-message at a unsuccessful 'close()'.
 * As the selection of the data ended without an error it is assumed, that the
 * Uesential parts of the database-operation were done as expected. */

      }
/* 
 * de:

 * BO mit den selektierten Daten und dem Status an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the selected data and the status to the calling method. */

      
return boJSBS_Country_BO;
    }
/* 
 * -------------------- 

/* 
 * de: 
 * METHODE zum Selektieren der aktuell gültigen Werte des BO, dessen Anwender-bekannter Schlüssel
 * in der Sortierreihenfolge vor den Werten in den übergebenen Parametern kommt. 
 * en:
 * METHOD to select the actually valid values of the BO, which user-known key is
 * in the sort-order before the values passed in the parmeters. */

    
public synchronized JSBS_Country_BO JSBS_Country_BO__selectPrevious(
                                      JSBS_MinimalParameters parmMinParm,
                                      String parmISOCountryCode,
                                      String parmLanguageCodeForLabelling) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Country_BO boJSBS_Country_BO =
new JSBS_Country_BO();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Country_BO.
StatusCode = JSBS_Country_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Country_BO.
StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Country_BO;
      }
/*
 * de:
 * DB-Connection wurde fehlerfrei erstellt.

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * und die 'select'-Operation auf die Datenbank ausführen.
 * en:
 * DB-Connection established without an error.
 * Construct (instantiate) a Server-Side Business Object and perform
 * the 'select'-operation against the database thereafter. */

      JSBS_Country_BOS bosJSBS_Country_BOS =
        
new JSBS_Country_BOS(parmMinParm, DBCon, true);
      bosJSBS_Country_BOS.selectPrevious(parmISOCountryCode, parmLanguageCodeForLabelling);
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Country_BO.copyFromJSBS_Country_BO(bosJSBS_Country_BOS);
/* 
 * de:
 * Schliessen der Verbindung (Connection) zur Datenbank.
 * Das muss innerhalb einer 'try/catch'-Logik erfolgen auch wenn es keine Möglichkeit gibt,
 * bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Close the connection to the database. That has to be done
 * within a 'try/catch'-logic even if there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {DBCon.close();}
      
catch (Exception e){
/* 
 * de:
 * Keine Fehlermeldung bei einem fehlerhaften 'close()'.
 * Nachdem das Selektieren der Daten ohne Fehler erfolgt ist, wird angenommen, dass die
 * wesentlichen Teile der Datenbank-Operation wie erwarted erfolgt sind.
 * en:
 * Do not produce an error-message at a unsuccessful 'close()'.
 * As the selection of the data ended without an error it is assumed, that the
 * Uesential parts of the database-operation were done as expected. */

      }
/* 
 * de:

 * BO mit den selektierten Daten und dem Status an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the selected data and the status to the calling method. */

      
return boJSBS_Country_BO;
    }
/* 
 * -------------------- 

/* 
 * de: 
 * METHODE zum Selektieren der aktuell gültigen Werte des BO, dessen Anwender-bekannter Schlüssel
 * in den Parametern übergeben wurde. 
 * en:
 * METHOD to select the actually valid values of the BO, which user-known key was
 * passed in the parmeters. */

    
public synchronized JSBS_Country_BO JSBS_Country_BO__selectByUserKnownKey(
                                      JSBS_MinimalParameters parmMinParm,
                                      String parmISOCountryCode,
                                      String parmLanguageCodeForLabelling) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Country_BO boJSBS_Country_BO =
new JSBS_Country_BO();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Country_BO.
StatusCode = JSBS_Country_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Country_BO.
StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Country_BO;
      }
/*
 * de:
 * DB-Connection wurde fehlerfrei erstellt.

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * und die 'select'-Operation auf die Datenbank ausführen.
 * en:
 * DB-Connection established without an error.
 * Construct (instantiate) a Server-Side Business Object and perform
 * the 'select'-operation against the database thereafter. */

      JSBS_Country_BOS bosJSBS_Country_BOS =
        
new JSBS_Country_BOS(parmMinParm, DBCon, true);
      bosJSBS_Country_BOS.selectByUserKnownKey(parmISOCountryCode, parmLanguageCodeForLabelling);
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Country_BO.copyFromJSBS_Country_BO(bosJSBS_Country_BOS);
/* 
 * de:
 * Schliessen der Verbindung (Connection) zur Datenbank.
 * Das muss innerhalb einer 'try/catch'-Logik erfolgen auch wenn es keine Möglichkeit gibt,
 * bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Close the connection to the database. That has to be done
 * within a 'try/catch'-logic even if there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {DBCon.close();}
      
catch (Exception e){
/* 
 * de:
 * Keine Fehlermeldung bei einem fehlerhaften 'close()'.
 * Nachdem das Selektieren der Daten ohne Fehler erfolgt ist, wird angenommen, dass die
 * wesentlichen Teile der Datenbank-Operation wie erwarted erfolgt sind.
 * en:
 * Do not produce an error-message at a unsuccessful 'close()'.
 * As the selection of the data ended without an error it is assumed, that the
 * Uesential parts of the database-operation were done as expected. */

      }
/* 
 * de:

 * BO mit den selektierten Daten und dem Status an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the selected data and the status to the calling method. */

      
return boJSBS_Country_BO;
    }
/* 
 * -------------------- 

/* 
 * de:

 *
METHODE zum Lesen aller Datensätze (historisch, aktuell gültig, erst in Zukunft gültig)
 *
eines BO für einen gegebenen Object-ID. 
 * en:

 *
METHOD to read all datasets (historic, actually valid, valid in the future) of a BO for a
 * given Object-ID
. */
    
public synchronized JSBS_Country_BO_Set JSBS_Country_BO_Set__selectAllByObjectID(
                                      JSBS_MinimalParameters parmMinParm,
                                     
double parmObjectID) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Country_BO_Set boJSBS_Country_BO_Set =
new JSBS_Country_BO_Set();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Country_BO_Set.
StatusCode = JSBS_Country_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Country_BO_Set.
StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Country_BO_Set;
      }
/*
 * de:

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * Danach die 'select'-Operation auf die Datenbank ausführen.
 * en:
 * Construct (instantiate) a Server-Side Business Object.
 * Perform the 'select'-operation against the database thereafter. */

      JSBS_Country_BOS_Set bosJSBS_Country_BOS_Set =
        
new JSBS_Country_BOS_Set(parmMinParm, DBCon, true);
      bosJSBS_Country_BOS_Set.selectAllByObjectID(parmObjectID);
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Country_BO_Set.copyFromJSBS_Country_BO_Set(bosJSBS_Country_BOS_Set);
/* 
 * de:
 * Schliessen der Verbindung (Connection) zur Datenbank. Das muss innerhalb einer 'try/catch'-Logik   
 * erfolgen auch wenn es keine Möglichkeit gibt, bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Close the connection to the database. That has to be done within a 'try/catch'-logic even if   
 * there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {DBCon.close();}
      
catch (Exception e){}
/* 
 * de:

 * BO mit dem Status nach dem Speichern an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the status after store to the calling method. */

      
return boJSBS_Country_BO_Set;
    }
/* 
 * -------------------- 

/* 
 * de:

 *
METHODE zum Lesen einer gegebenen Anzahl von Datensätzen die vor dem gegebenen Datum geändert wurden. 
 * en:

 *
METHOD to read a given number of datasets that where changed before a given date. */
    
public synchronized JSBS_Country_BO_Set JSBS_Country_BO_Set__selectAllByChangedAt(
                                      JSBS_MinimalParameters parmMinParm,
                                      java.sql.Timestamp parmYoungestChangedAt,
                                     
short parmNumberOfRecords) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Country_BO_Set boJSBS_Country_BO_Set =
new JSBS_Country_BO_Set();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Country_BO_Set.
StatusCode = JSBS_Country_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Country_BO_Set.
StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Country_BO_Set;
      }
/*
 * de:

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * Danach die 'select'-Operation auf die Datenbank ausführen.
 * en:
 * Construct (instantiate) a Server-Side Business Object.
 * Perform the 'select'-operation against the database thereafter. */

      JSBS_Country_BOS_Set bosJSBS_Country_BOS_Set =
        
new JSBS_Country_BOS_Set(parmMinParm, DBCon, true);
      bosJSBS_Country_BOS_Set.selectAllByChangedAt(parmYoungestChangedAt, parmNumberOfRecords);
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Country_BO_Set.copyFromJSBS_Country_BO_Set(bosJSBS_Country_BOS_Set);
/* 
 * de:
 * Schliessen der Verbindung (Connection) zur Datenbank. Das muss innerhalb einer 'try/catch'-Logik   
 * erfolgen auch wenn es keine Möglichkeit gibt, bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Close the connection to the database. That has to be done within a 'try/catch'-logic even if   
 * there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {DBCon.close();}
      
catch (Exception e){}
/* 
 * de:

 * BO mit dem Status nach dem Speichern an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the status after store to the calling method. */

      
return boJSBS_Country_BO_Set;
    }
/* 
 * -------------------- 

/* 
 * de: METHODE zum Lesen aller aktuell gültigen BO. 
 * en: METHOD to read all BO valid at the actual date. */

    
public synchronized JSBS_Country_BO_Set JSBS_Country_BO_Set__selectAllValid(
                                      JSBS_MinimalParameters parmMinParm) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Country_BO_Set boJSBS_Country_BO_Set =
new JSBS_Country_BO_Set();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Country_BO_Set.
StatusCode = JSBS_Country_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Country_BO_Set.
StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Country_BO_Set;
      }
/*
 * de:

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * Danach die 'select'-Operation auf die Datenbank ausführen.
 * en:
 * Construct (instantiate) a Server-Side Business Object.
 * Perform the 'select'-operation against the database thereafter. */

      JSBS_Country_BOS_Set bosJSBS_Country_BOS_Set =
        
new JSBS_Country_BOS_Set(parmMinParm, DBCon, true);
      bosJSBS_Country_BOS_Set.selectAllValid();
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Country_BO_Set.copyFromJSBS_Country_BO_Set(bosJSBS_Country_BOS_Set);
/* 
 * de:
 * Schliessen der Verbindung (Connection) zur Datenbank. Das muss innerhalb einer 'try/catch'-Logik   
 * erfolgen auch wenn es keine Möglichkeit gibt, bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Close the connection to the database. That has to be done within a 'try/catch'-logic even if   
 * there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {DBCon.close();}
      
catch (Exception e){}
/* 
 * de:

 * BO mit dem Status nach dem Speichern an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the status after store to the calling method. */

      
return boJSBS_Country_BO_Set;
    }
/* 
 * -------------------- 

/* 
 * de: METHODE zum Lesen aller aktuell gültigen BO für den gegebenen ISO-Land-Cods. 
 * en: METHOD to read all BO valid at the actual date for the given ISO-Country-code. */

    
public synchronized JSBS_Country_BO_Set JSBS_Country_BO_Set__selectByISOCountryCode(
                                      JSBS_MinimalParameters parmMinParm,
                                      String parmISOCountryCode) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Country_BO_Set boJSBS_Country_BO_Set =
new JSBS_Country_BO_Set();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Country_BO_Set.
StatusCode = JSBS_Country_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Country_BO_Set.
StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Country_BO_Set;
      }
/*
 * de:

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * Danach die 'select'-Operation auf die Datenbank ausführen.
 * en:
 * Construct (instantiate) a Server-Side Business Object.
 * Perform the 'select'-operation against the database thereafter. */

      JSBS_Country_BOS_Set bosJSBS_Country_BOS_Set =
        
new JSBS_Country_BOS_Set(parmMinParm, DBCon, true);
      bosJSBS_Country_BOS_Set.selectByISOCountryCode(parmISOCountryCode);
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Country_BO_Set.copyFromJSBS_Country_BO_Set(bosJSBS_Country_BOS_Set);
/* 
 * de:
 * Schliessen der Verbindung (Connection) zur Datenbank. Das muss innerhalb einer 'try/catch'-Logik   
 * erfolgen auch wenn es keine Möglichkeit gibt, bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Close the connection to the database. That has to be done within a 'try/catch'-logic even if   
 * there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {DBCon.close();}
      
catch (Exception e){}
/* 
 * de:

 * BO mit dem Status nach dem Speichern an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the status after store to the calling method. */

      
return boJSBS_Country_BO_Set;
    }

/* 
 * ============================

 * ABSCHNITT FÜR DIE WÄHRUNG   */

/* 
 * de: METHODE zum Abgleichen eines BO zwischen Server und MobileClient. 
 * en: METHOD to synchronize a BO between server and MobileClient. */

    
public synchronized JSBS_Currency_BO JSBS_Currency_BO__synchronizedStore(
                                      JSBS_MinimalParameters parmMinParm,
                                      JSBS_Currency_BO parmBO) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Currency_BO boJSBS_Currency_BO =
new JSBS_Currency_BO();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Currency_BO.
StatusCode = JSBS_Currency_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Cur
rency_BO.StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Currency_BO;
      }
/*
 * de:
 * In Methoden, die Daten verändern darf 'autocommit' nicht verwendet werden.
 * Nur so kann bei einem Fehler ein 'rollback' ausgeführt werden.
 * en:
 * In methods where data is changed, 'autocommit' must not be used.
 * Only this allows to use 'rollback' in case of an error. */

      
try {
        DBCon.setAutoCommit(
false);
      }
      
catch (Exception e) {
/*
 * de:
 * Setzen von 'autocommit' führte zu einem Fehler; das weist auf eine Fehlfunktion
 * des Datenbanksystems hin. Datenbank-Operation nicht ausführen und Fehler an die
 * aufrufende Methode zurück liefern.
 * en:
 * Setting 'autocommit' lead to an error; this is an indication of a severe malfunction
 * of the database-system. Do not continue with the database-operation and report the
 * error to the calling method. */

        boJSBS_Cur
rency_BO.StatusCode = JSBS_Currency_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Cur
rency_BO.StatusMsg = "Disabling 'autocommit' failed within the EJB.";
        
return boJSBS_Currency_BO;
      }
/*
 * de:
 * DB-Connection wurde fehlerfrei erstellt.

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * Dabei gleich die Werte des übergebenen BO übernehmen.
 * Danach die 'store'-Operation auf die Datenbank ausführen.
 * en:
 * DB-Connection established without an error.
 * Construct (instantiate) a Server-Side Business Object and pass the values
 * of the BO that was passed as parameter.
 * Perform the 'store'-operation against the database thereafter. */

      JSBS_Cur
rency_BOS bosJSBS_Currency_BOS =
        
new JSBS_Currency_BOS(parmMinParm, DBCon, parmBO, true);
      bosJSBS_Cur
rency_BOS.synchronizedStore(0);
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Cur
rency_BO.copyFromJSBS_Currency_BO(bosJSBS_Currency_BOS);
/* 
 * de:
 * 'Commit' oder 'Rollback' ausführen und Schliessen der Verbindung (Connection) zur Datenbank.
 * Das muss innerhalb einer 'try/catch'-Logik erfolgen auch wenn es keine Möglichkeit gibt,
 * bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Perform 'Commit' or 'Rollback' and close the connection to the database. That has to be done
 * within a 'try/catch'-logic even if there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {
        
if (boJSBS_Currency_BO.StatusCode == JSBS_BO.CONST_OK) DBCon.commit();
        
else DBCon.rollback();
        DBCon.close();
      }
      
catch (Exception e){
        boJSBS_Cur
rency_BO.StatusCode = JSBS_Currency_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Cur
rency_BO.StatusMsg = "Close of database-connection failed within the EJB.";
      }
/* 
 * de:

 * BO mit dem Status nach dem Speichern an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the status after store to the calling method. */

      
return boJSBS_Currency_BO;
    }
/* 
 * -------------------- 

/* 
 * de: METHODE zum Speichern der Werte eines BO. 
 * en: METHOD to store the values of a BO. */

    
public synchronized JSBS_Currency_BO JSBS_Currency_BO__store(
                                      JSBS_MinimalParameters parmMinParm,
                                      JSBS_Cur
rency_BO parmBO) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Cur
rency_BO boJSBS_Currency_BO = new JSBS_Currency_BO();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Cur
rency_BO.StatusCode = JSBS_Currency_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Cur
rency_BO.StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Currency_BO;
      }
/*
 * de:
 * In Methoden, die Daten verändern darf 'autocommit' nicht verwendet werden.
 * Nur so kann bei einem Fehler ein 'rollback' ausgeführt werden.
 * en:
 * In methods where data is changed, 'autocommit' must not be used.
 * Only this allows to use 'rollback' in case of an error. */

      
try {
        DBCon.setAutoCommit(
false);
      }
      
catch (Exception e) {
/*
 * de:
 * Setzen von 'autocommit' führte zu einem Fehler; das weist auf eine Fehlfunktion
 * des Datenbanksystems hin. Datenbank-Operation nicht ausführen und Fehler an die
 * aufrufende Methode zurück liefern.
 * en:
 * Setting 'autocommit' lead to an error; this is an indication of a severe malfunction
 * of the database-system. Do not continue with the database-operation and report the
 * error to the calling method. */

        boJSBS_Cur
rency_BO.StatusCode = JSBS_Currency_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Cur
rency_BO.StatusMsg = "Disabling 'autocommit' failed within the EJB.";
        
return boJSBS_Currency_BO;
      }
/*
 * de:
 * DB-Connection wurde fehlerfrei erstellt.

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * Dabei gleich die Werte des übergebenen BO übernehmen.
 * Danach die 'store'-Operation auf die Datenbank ausführen.
 * en:
 * DB-Connection established without an error.
 * Construct (instantiate) a Server-Side Business Object and pass the values
 * of the BO that was passed as parameter.
 * Perform the 'store'-operation against the database thereafter. */

      JSBS_Cur
rency_BOS bosJSBS_Currency_BOS =
        
new JSBS_Currency_BOS(parmMinParm, DBCon, parmBO, true);
      bosJSBS_Cur
rency_BOS.store();
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Currency_BO.copyFromJSBS_Cur
rency_BO(bosJSBS_Currency_BOS);
/* 
 * de:
 * 'Commit' oder 'Rollback' ausführen und Schliessen der Verbindung (Connection) zur Datenbank.
 * Das muss innerhalb einer 'try/catch'-Logik erfolgen auch wenn es keine Möglichkeit gibt,
 * bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Perform 'Commit' or 'Rollback' and close the connection to the database. That has to be done
 * within a 'try/catch'-logic even if there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {
        
if (boJSBS_Currency_BO.StatusCode == JSBS_BO.CONST_OK) DBCon.commit();
        
else DBCon.rollback();
        DBCon.close();
      }
      
catch (Exception e){
        boJSBS_Cur
rency_BO.StatusCode = JSBS_Currency_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Cur
rency_BO.StatusMsg = "Close of database-connection failed within the EJB.";
      }
/* 
 * de:

 * BO mit dem Status nach dem Speichern an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the status after store to the calling method. */

      
return boJSBS_Currency_BO;
    }
/* 
 * -------------------- 

/* 
 * de: METHODE zum Deaktivieren (logisches Löschen) eines BO. 
 * en: METHOD to deactivate (logically delete) of a BO. */

    
public synchronized JSBS_Currency_BO JSBS_Currency_BO__deactivate(
                                      JSBS_MinimalParameters parmMinParm,
                                      JSBS_Cur
rency_BO parmBO) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Cur
rency_BO boJSBS_Currency_BO = new JSBS_Currency_BO();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Cur
rency_BO.StatusCode = JSBS_Currency_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Cur
rency_BO.StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Currency_BO;
      }
/*
 * de:
 * In Methoden, die Daten verändern darf 'autocommit' nicht verwendet werden.
 * Nur so kann bei einem Fehler ein 'rollback' ausgeführt werden.
 * en:
 * In methods where data is changed, 'autocommit' must not be used.
 * Only this allows to use 'rollback' in case of an error. */

      
try {
        DBCon.setAutoCommit(
false);
      }
      
catch (Exception e) {
/*
 * de:
 * Setzen von 'autocommit' führte zu einem Fehler; das weist auf eine Fehlfunktion
 * des Datenbanksystems hin. Datenbank-Operation nicht ausführen und Fehler an die
 * aufrufende Methode zurück liefern.
 * en:
 * Setting 'autocommit' lead to an error; this is an indication of a severe malfunction
 * of the database-system. Do not continue with the database-operation and report the
 * error to the calling method. */

        boJSBS_Cur
rency_BO.StatusCode = JSBS_Currency_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Cur
rency_BO.StatusMsg = "Disabling 'autocommit' failed within the EJB.";
        
return boJSBS_Currency_BO;
      }
/*
 * de:
 * DB-Connection wurde fehlerfrei erstellt.

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * Dabei gleich die Werte des übergebenen BO übernehmen.
 * Danach die 'store'-Operation auf die Datenbank ausführen.
 * en:
 * DB-Connection established without an error.
 * Construct (instantiate) a Server-Side Business Object and pass the values
 * of the BO that was passed as parameter.
 * Perform the 'store'-operation against the database thereafter. */

      JSBS_Cur
rency_BOS bosJSBS_Currency_BOS =
        
new JSBS_Currency_BOS(parmMinParm, DBCon, parmBO, true);
      bosJSBS_Cur
rency_BOS.deactivate();
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Cur
rency_BO.copyFromJSBS_Currency_BO(bosJSBS_Currency_BOS);
/* 
 * de:
 * 'Commit' oder 'Rollback' ausführen und Schliessen der Verbindung (Connection) zur Datenbank.
 * Das muss innerhalb einer 'try/catch'-Logik erfolgen auch wenn es keine Möglichkeit gibt,
 * bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Perform 'Commit' or 'Rollback' and close the connection to the database. That has to be done
 * within a 'try/catch'-logic even if there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {
        
if (boJSBS_Currency_BO.StatusCode == JSBS_BO.CONST_OK) DBCon.commit();
        
else DBCon.rollback();
        DBCon.close();
      }
      
catch (Exception e){
        boJSBS_Cur
rency_BO.StatusCode = JSBS_Currency_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Cur
rency_BO.StatusMsg = "Close of database-connection failed within the EJB.";
      }
/* 
 * de:

 * BO mit dem Status nach dem Speichern an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the status after store to the calling method. */

      
return boJSBS_Currency_BO;
    }
/* 
 * -------------------- 

/* 
 * de: 
 * METHODE zum Selektieren der aktuell gültigen Werte des BO, dessen Anwender-bekannter Schlüssel
 * in der Sortierreihenfolge nach den Werten in den übergebenen Parametern kommt. 
 * en:
 * METHOD to select the actually valid values of the BO, which user-known key follows
 * in the sort-order after the values passed in the parmeters. */

    
public synchronized JSBS_Currency_BO JSBS_Currency_BO__selectNext(
                                      JSBS_MinimalParameters parmMinParm,
                                      String parmISOCur
rencyCode,
                                      String parmLanguageCodeForLabelling) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Cur
rency_BO boJSBS_Currency_BO = new JSBS_Currency_BO();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Cur
rency_BO.StatusCode = JSBS_Currency_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Cur
rency_BO.StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Currency_BO;
      }
/*
 * de:
 * DB-Connection wurde fehlerfrei erstellt.

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * und die 'select'-Operation auf die Datenbank ausführen.
 * en:
 * DB-Connection established without an error.
 * Construct (instantiate) a Server-Side Business Object and perform
 * the 'select'-operation against the database thereafter. */

      JSBS_Cur
rency_BOS bosJSBS_Currency_BOS =
        
new JSBS_Currency_BOS(parmMinParm, DBCon, true);
      bosJSBS_Cur
rency_BOS.selectNext(parmISOCurrencyCode, parmLanguageCodeForLabelling);
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Cur
rency_BO.copyFromJSBS_Currency_BO(bosJSBS_Currency_BOS);
/* 
 * de:
 * Schliessen der Verbindung (Connection) zur Datenbank.
 * Das muss innerhalb einer 'try/catch'-Logik erfolgen auch wenn es keine Möglichkeit gibt,
 * bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Close the connection to the database. That has to be done
 * within a 'try/catch'-logic even if there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {DBCon.close();}
      
catch (Exception e){
/* 
 * de:
 * Keine Fehlermeldung bei einem fehlerhaften 'close()'.
 * Nachdem das Selektieren der Daten ohne Fehler erfolgt ist, wird angenommen, dass die
 * wesentlichen Teile der Datenbank-Operation wie erwarted erfolgt sind.
 * en:
 * Do not produce an error-message at an unsuccessful 'close()'.
 * As the selection of the data ended without an error it is assumed, that the
 * essential parts of the database-operation were done as expected. */

      }
/* 
 * de:

 * BO mit den selektierten Daten und dem Status an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the selected data and the status to the calling method. */

      
return boJSBS_Currency_BO;
    }
/* 
 * -------------------- 

/* 
 * de: 
 * METHODE zum Selektieren der aktuell gültigen Werte des BO, dessen Anwender-bekannter Schlüssel
 * in der Sortierreihenfolge vor den Werten in den übergebenen Parametern kommt. 
 * en:
 * METHOD to select the actually valid values of the BO, which user-known key is
 * in the sort-order before the values passed in the parmeters. */

    
public synchronized JSBS_Currency_BO JSBS_Currency_BO__selectPrevious(
                                      JSBS_MinimalParameters parmMinParm,
                                      String parmISOCur
rencyCode,
                                      String parmLanguageCodeForLabelling) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Cur
rency_BO boJSBS_Currency_BO = new JSBS_Currency_BO();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Cur
rency_BO.StatusCode = JSBS_Currency_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Cur
rency_BO.StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Currency_BO;
      }
/*
 * de:
 * DB-Connection wurde fehlerfrei erstellt.

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * und die 'select'-Operation auf die Datenbank ausführen.
 * en:
 * DB-Connection established without an error.
 * Construct (instantiate) a Server-Side Business Object and perform
 * the 'select'-operation against the database thereafter. */

      JSBS_Cur
rency_BOS bosJSBS_Currency_BOS =
        
new JSBS_Currency_BOS(parmMinParm, DBCon, true);
      bosJSBS_Cur
rency_BOS.selectPrevious(parmISOCurrencyCode, parmLanguageCodeForLabelling);
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Cur
rency_BO.copyFromJSBS_Currency_BO(bosJSBS_Currency_BOS);
/* 
 * de:
 * Schliessen der Verbindung (Connection) zur Datenbank.
 * Das muss innerhalb einer 'try/catch'-Logik erfolgen auch wenn es keine Möglichkeit gibt,
 * bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Close the connection to the database. That has to be done
 * within a 'try/catch'-logic even if there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {DBCon.close();}
      
catch (Exception e){
/* 
 * de:
 * Keine Fehlermeldung bei einem fehlerhaften 'close()'.
 * Nachdem das Selektieren der Daten ohne Fehler erfolgt ist, wird angenommen, dass die
 * wesentlichen Teile der Datenbank-Operation wie erwarted erfolgt sind.
 * en:
 * Do not produce an error-message at a unsuccessful 'close()'.
 * As the selection of the data ended without an error it is assumed, that the
 * Uesential parts of the database-operation were done as expected. */

      }
/* 
 * de:

 * BO mit den selektierten Daten und dem Status an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the selected data and the status to the calling method. */

      
return boJSBS_Currency_BO;
    }
/* 
 * -------------------- 

/* 
 * de: 
 * METHODE zum Selektieren der aktuell gültigen Werte des BO, dessen Anwender-bekannter Schlüssel
 * in den Parametern übergeben wurde. 
 * en:
 * METHOD to select the actually valid values of the BO, which user-known key was
 * passed in the parmeters. */

    
public synchronized JSBS_Currency_BO JSBS_Currency_BO__selectByUserKnownKey(
                                      JSBS_MinimalParameters parmMinParm,
                                      String parmISOCur
rencyCode,
                                      String parmLanguageCodeForLabelling) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Cur
rency_BO boJSBS_Currency_BO = new JSBS_Currency_BO();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Cur
rency_BO.StatusCode = JSBS_Currency_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Cur
rency_BO.StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Currency_BO;
      }
/*
 * de:
 * DB-Connection wurde fehlerfrei erstellt.

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * und die 'select'-Operation auf die Datenbank ausführen.
 * en:
 * DB-Connection established without an error.
 * Construct (instantiate) a Server-Side Business Object and perform
 * the 'select'-operation against the database thereafter. */

      JSBS_Cur
rency_BOS bosJSBS_Currency_BOS =
        
new JSBS_Currency_BOS(parmMinParm, DBCon, true);
      bosJSBS_Cur
rency_BOS.selectByUserKnownKey(parmISOCurrencyCode, parmLanguageCodeForLabelling);
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Cur
rency_BO.copyFromJSBS_Currency_BO(bosJSBS_Currency_BOS);
/* 
 * de:
 * Schliessen der Verbindung (Connection) zur Datenbank.
 * Das muss innerhalb einer 'try/catch'-Logik erfolgen auch wenn es keine Möglichkeit gibt,
 * bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Close the connection to the database. That has to be done
 * within a 'try/catch'-logic even if there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {DBCon.close();}
      
catch (Exception e){
/* 
 * de:
 * Keine Fehlermeldung bei einem fehlerhaften 'close()'.
 * Nachdem das Selektieren der Daten ohne Fehler erfolgt ist, wird angenommen, dass die
 * wesentlichen Teile der Datenbank-Operation wie erwarted erfolgt sind.
 * en:
 * Do not produce an error-message at an unsuccessful 'close()'.
 * As the selection of the data ended without an error it is assumed, that the
 * Uesential parts of the database-operation were done as expected. */

      }
/* 
 * de:

 * BO mit den selektierten Daten und dem Status an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the selected data and the status to the calling method. */

      
return boJSBS_Currency_BO;
    }
/* 
 * -------------------- 

/* 
 * de:

 *
METHODE zum Lesen aller Datensätze (historisch, aktuell gültig, erst in Zukunft gültig)
 *
eines BO für einen gegebenen Object-ID. 
 * en:

 *
METHOD to read all datasets (historic, actually valid, valid in the future) of a BO for a
 * given Object-ID
. */
    
public synchronized JSBS_Currency_BO_Set JSBS_Currency_BO_Set__selectAllByObjectID(
                                      JSBS_MinimalParameters parmMinParm,
                                     
double parmObjectID) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Cur
rency_BO_Set boJSBS_Currency_BO_Set = new JSBS_Currency_BO_Set();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Cur
rency_BO_Set.StatusCode = JSBS_Currency_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Cur
rency_BO_Set.StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Currency_BO_Set;
      }
/*
 * de:

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * Danach die 'select'-Operation auf die Datenbank ausführen.
 * en:
 * Construct (instantiate) a Server-Side Business Object.
 * Perform the 'select'-operation against the database thereafter. */

      JSBS_Cur
rency_BOS_Set bosJSBS_Currency_BOS_Set =
        
new JSBS_Currency_BOS_Set(parmMinParm, DBCon, true);
      bosJSBS_Cur
rency_BOS_Set.selectAllByObjectID(parmObjectID);
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Cur
rency_BO_Set.copyFromJSBS_Currency_BO_Set(bosJSBS_Currency_BOS_Set);
/* 
 * de:
 * Schliessen der Verbindung (Connection) zur Datenbank. Das muss innerhalb einer 'try/catch'-Logik   
 * erfolgen auch wenn es keine Möglichkeit gibt, bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Close the connection to the database. That has to be done within a 'try/catch'-logic even if   
 * there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {DBCon.close();}
      
catch (Exception e){}
/*
 * de:
 * BO mit den selektierten Daten und dem Status an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the selected data and the status to the calling method. */

      
return boJSBS_Currency_BO_Set;
    }
/* 
 * -------------------- 

/* 
 * de:

 *
METHODE zum Lesen einer gegebenen Anzahl von Datensätzen die vor dem gegebenen Datum geändert wurden. 
 * en:

 *
METHOD to read a given number of datasets that where changed before a given date. */
    
public synchronized JSBS_Currency_BO_Set JSBS_Currency_BO_Set__selectAllByChangedAt(
                                      JSBS_MinimalParameters parmMinParm,
                                      java.sql.Timestamp parmYoungestChangedAt,
                                     
short parmNumberOfRecords) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Cur
rency_BO_Set boJSBS_Currency_BO_Set = new JSBS_Currency_BO_Set();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Cur
rency_BO_Set.StatusCode = JSBS_Currency_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Cur
rency_BO_Set.StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Currency_BO_Set;
      }
/*
 * de:

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * Danach die 'select'-Operation auf die Datenbank ausführen.
 * en:
 * Construct (instantiate) a Server-Side Business Object.
 * Perform the 'select'-operation against the database thereafter. */

      JSBS_Cur
rency_BOS_Set bosJSBS_Currency_BOS_Set =
        
new JSBS_Currency_BOS_Set(parmMinParm, DBCon, true);
      bosJSBS_Cur
rency_BOS_Set.selectAllByChangedAt(parmYoungestChangedAt, parmNumberOfRecords);
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Cur
rency_BO_Set.copyFromJSBS_Currency_BO_Set(bosJSBS_Currency_BOS_Set);
/* 
 * de:
 * Schliessen der Verbindung (Connection) zur Datenbank. Das muss innerhalb einer 'try/catch'-Logik   
 * erfolgen auch wenn es keine Möglichkeit gibt, bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Close the connection to the database. That has to be done within a 'try/catch'-logic even if   
 * there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {DBCon.close();}
      
catch (Exception e){}
/*
 * de:
 * BO mit den selektierten Daten und dem Status an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the selected data and the status to the calling method. */

      
return boJSBS_Currency_BO_Set;
    }
/* 
 * -------------------- 

/* 
 * de: METHODE zum Lesen aller aktuell gültigen BO. 
 * en: METHOD to read all BO valid at the actual date. */

    
public synchronized JSBS_Currency_BO_Set JSBS_Currency_BO_Set__selectAllValid(
                                      JSBS_MinimalParameters parmMinParm) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Cur
rency_BO_Set boJSBS_Currency_BO_Set = new JSBS_Currency_BO_Set();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Cur
rency_BO_Set.StatusCode = JSBS_Currency_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Cur
rency_BO_Set.StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Currency_BO_Set;
      }
/*
 * de:

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * Danach die 'select'-Operation auf die Datenbank ausführen.
 * en:
 * Construct (instantiate) a Server-Side Business Object.
 * Perform the 'select'-operation against the database thereafter. */

      JSBS_Cur
rency_BOS_Set bosJSBS_Currency_BOS_Set =
        
new JSBS_Currency_BOS_Set(parmMinParm, DBCon, true);
      bosJSBS_Cur
rency_BOS_Set.selectAllValid();
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Cur
rency_BO_Set.copyFromJSBS_Currency_BO_Set(bosJSBS_Currency_BOS_Set);
/* 
 * de:
 * Schliessen der Verbindung (Connection) zur Datenbank. Das muss innerhalb einer 'try/catch'-Logik   
 * erfolgen auch wenn es keine Möglichkeit gibt, bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Close the connection to the database. That has to be done within a 'try/catch'-logic even if   
 * there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {DBCon.close();}
      
catch (Exception e){}
/*
 * de:
 * BO mit den selektierten Daten und dem Status an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the selected data and the status to the calling method. */

      
return boJSBS_Currency_BO_Set;
    }
/* 
 * -------------------- 

/* 
 * de: METHODE zum Lesen aller aktuell gültigen BO für den gegebenen ISO-Währungs-Cods. 
 * en: METHOD to read all BO valid at the actual date for the given ISO-Currency-code. */

    
public synchronized JSBS_Currency_BO_Set JSBS_Currency_BO_Set__selectByISOCurrencyCode(
                                      JSBS_MinimalParameters parmMinParm,
                                      String parmISOCur
rencyCode) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Cur
rency_BO_Set boJSBS_Currency_BO_Set = new JSBS_Currency_BO_Set();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Cur
rency_BO_Set.StatusCode = JSBS_Currency_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Cur
rency_BO_Set.StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Currency_BO_Set;
      }
/*
 * de:

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * Danach die 'select'-Operation auf die Datenbank ausführen.
 * en:
 * Construct (instantiate) a Server-Side Business Object.
 * Perform the 'select'-operation against the database thereafter. */

      JSBS_Cur
rency_BOS_Set bosJSBS_Currency_BOS_Set =
        
new JSBS_Currency_BOS_Set(parmMinParm, DBCon, true);
      bosJSBS_Cur
rency_BOS_Set.selectByISOCurrencyCode(parmISOCurrencyCode);
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Cur
rency_BO_Set.copyFromJSBS_Currency_BO_Set(bosJSBS_Currency_BOS_Set);
/* 
 * de:
 * Schliessen der Verbindung (Connection) zur Datenbank. Das muss innerhalb einer 'try/catch'-Logik   
 * erfolgen auch wenn es keine Möglichkeit gibt, bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Close the connection to the database. That has to be done within a 'try/catch'-logic even if   
 * there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {DBCon.close();}
      
catch (Exception e){}
/*
 * de:
 * BO mit den selektierten Daten und dem Status an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the selected data and the status to the calling method. */

      
return boJSBS_Currency_BO_Set;
    }

/* 
 * ============================

 * ABSCHNITT FÜR DIE SPRACHE */

/* 
 * de: METHODE zum Abgleichen eines BO zwischen Server und MobileClient. 
 * en: METHOD to synchronize a BO between server and MobileClient. */

    
public synchronized JSBS_Language_BO JSBS_Language_BO__synchronizedStore(
                                      JSBS_MinimalParameters parmMinParm,
                                      JSBS_Language_BO parmBO) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Language_BO boJSBS_Language_BO =
new JSBS_Language_BO();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Language_BO.
StatusCode = JSBS_Language_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Language_BO.
StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Language_BO;
      }
/*
 * de:
 * In Methoden, die Daten verändern darf 'autocommit' nicht verwendet werden.
 * Nur so kann bei einem Fehler ein 'rollback' ausgeführt werden.
 * en:
 * In methods where data is changed, 'autocommit' must not be used.
 * Only this allows to use 'rollback' in case of an error. */

      
try {
        DBCon.setAutoCommit(
false);
      }
      
catch (Exception e) {
/*
 * de:
 * Setzen von 'autocommit' führte zu einem Fehler; das weist auf eine Fehlfunktion
 * des Datenbanksystems hin. Datenbank-Operation nicht ausführen und Fehler an die
 * aufrufende Methode zurück liefern.
 * en:
 * Setting 'autocommit' lead to an error; this is an indication of a severe malfunction
 * of the database-system. Do not continue with the database-operation and report the
 * error to the calling method. */

        boJSBS_Language_BO.
StatusCode = JSBS_Language_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Language_BO.
StatusMsg = "Disabling 'autocommit' failed within the EJB.";
        
return boJSBS_Language_BO;
      }
/*
 * de:
 * DB-Connection wurde fehlerfrei erstellt.

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * Dabei gleich die Werte des übergebenen BO übernehmen.
 * Danach die 'store'-Operation auf die Datenbank ausführen.
 * en:
 * DB-Connection established without an error.
 * Construct (instantiate) a Server-Side Business Object and pass the values
 * of the BO that was passed as parameter.
 * Perform the 'store'-operation against the database thereafter. */

      JSBS_Language_BOS bosJSBS_Language_BOS =
        
new JSBS_Language_BOS(parmMinParm, DBCon, parmBO, true);
      bosJSBS_Language_BOS.synchronizedStore(0);
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Language_BO.copyFromJSBS_Language_BO(bosJSBS_Language_BOS);
      
/* 
 * de:
 * 'Commit' oder 'Rollback' ausführen und Schliessen der Verbindung (Connection) zu Datenbank.
 * Das muss innerhalb einer 'try/catch'-Logik erfolgen auch wenn es keine Möglichkeit gibt,
 * bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Perform 'Commit' or 'Rollback' and close the connection to the database. That has to be done
 * within a 'try/catch'-logic even if there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {
        
if (boJSBS_Language_BO.StatusCode == JSBS_BO.CONST_OK) DBCon.commit();
        
else DBCon.rollback();
        DBCon.close();
      }
      
catch (Exception e){
        boJSBS_Language_BO.
StatusCode = JSBS_Language_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Language_BO.
StatusMsg = "Close of database-connection failed within the EJB.";
      }
/* 
 * de:

 * BO mit dem Status nach dem Speichern an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the status after store to the calling method. */

      
return boJSBS_Language_BO;
    }
/* 
 * -------------------- 

/* 
 * de: METHODE zum Speichern der Werte eines BO. 
 * en: METHOD to store the values of a BO. */

    
public synchronized JSBS_Language_BO JSBS_Language_BO__store(
                                      JSBS_MinimalParameters parmMinParm,
                                      JSBS_Language_BO parmBO) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Language_BO boJSBS_Language_BO =
new JSBS_Language_BO();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Language_BO.
StatusCode = JSBS_Language_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Language_BO.
StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Language_BO;
      }
/*
 * de:
 * In Methoden, die Daten verändern darf 'autocommit' nicht verwendet werden.
 * Nur so kann bei einem Fehler ein 'rollback' ausgeführt werden.
 * en:
 * In methods where data is changed, 'autocommit' must not be used.
 * Only this allows to use 'rollback' in case of an error. */

      
try {
        DBCon.setAutoCommit(
false);
      }
      
catch (Exception e) {
/*
 * de:
 * Setzen von 'autocommit' führte zu einem Fehler; das weist auf eine Fehlfunktion
 * des Datenbanksystems hin. Datenbank-Operation nicht ausführen und Fehler an die
 * aufrufende Methode zurück liefern.
 * en:
 * Setting 'autocommit' lead to an error; this is an indication of a severe malfunction
 * of the database-system. Do not continue with the database-operation and report the
 * error to the calling method. */

        boJSBS_Language_BO.
StatusCode = JSBS_Language_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Language_BO.
StatusMsg = "Disabling 'autocommit' failed within the EJB.";
        
return boJSBS_Language_BO;
      }
/*
 * de:
 * DB-Connection wurde fehlerfrei erstellt.

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * Dabei gleich die Werte des übergebenen BO übernehmen.
 * Danach die 'store'-Operation auf die Datenbank ausführen.
 * en:
 * DB-Connection established without an error.
 * Construct (instantiate) a Server-Side Business Object and pass the values
 * of the BO that was passed as parameter.
 * Perform the 'store'-operation against the database thereafter. */

      JSBS_Language_BOS bosJSBS_Language_BOS =
        
new JSBS_Language_BOS(parmMinParm, DBCon, parmBO, true);
      bosJSBS_Language_BOS.store();
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Language_BO.copyFromJSBS_Language_BO(bosJSBS_Language_BOS);
      
/* 
 * de:
 * 'Commit' oder 'Rollback' ausführen und Schliessen der Verbindung (Connection) zu Datenbank.
 * Das muss innerhalb einer 'try/catch'-Logik erfolgen auch wenn es keine Möglichkeit gibt,
 * bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Perform 'Commit' or 'Rollback' and close the connection to the database. That has to be done
 * within a 'try/catch'-logic even if there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {
        
if (boJSBS_Language_BO.StatusCode == JSBS_BO.CONST_OK) DBCon.commit();
        
else DBCon.rollback();
        DBCon.close();
      }
      
catch (Exception e){
        boJSBS_Language_BO.
StatusCode = JSBS_Language_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Language_BO.
StatusMsg = "Close of database-connection failed within the EJB.";
      }
/* 
 * de:

 * BO mit dem Status nach dem Speichern an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the status after store to the calling method. */

      
return boJSBS_Language_BO;
    }
/* 
 * -------------------- 

/* 
 * de: METHODE zum Deaktivieren (logisches Löschen) eines BO. 
 * en: METHOD to deactivate (logically delete) of a BO. */

    
public synchronized JSBS_Language_BO JSBS_Language_BO__deactivate(
                                      JSBS_MinimalParameters parmMinParm,
                                      JSBS_Language_BO parmBO) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Language_BO boJSBS_Language_BO =
new JSBS_Language_BO();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Language_BO.
StatusCode = JSBS_Language_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Language_BO.
StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Language_BO;
      }
/*
 * de:
 * In Methoden, die Daten verändern darf 'autocommit' nicht verwendet werden.
 * Nur so kann bei einem Fehler ein 'rollback' ausgeführt werden.
 * en:
 * In methods where data is changed, 'autocommit' must not be used.
 * Only this allows to use 'rollback' in case of an error. */

      
try {
        DBCon.setAutoCommit(
false);
      }
      
catch (Exception e) {
/*
 * de:
 * Setzen von 'autocommit' führte zu einem Fehler; das weist auf eine Fehlfunktion
 * des Datenbanksystems hin. Datenbank-Operation nicht ausführen und Fehler an die
 * aufrufende Methode zurück liefern.
 * en:
 * Setting 'autocommit' lead to an error; this is an indication of a severe malfunction
 * of the database-system. Do not continue with the database-operation and report the
 * error to the calling method. */

        boJSBS_Language_BO.
StatusCode = JSBS_Language_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Language_BO.
StatusMsg = "Disabling 'autocommit' failed within the EJB.";
        
return boJSBS_Language_BO;
      }
/*
 * de:
 * DB-Connection wurde fehlerfrei erstellt.

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * Dabei gleich die Werte des übergebenen BO übernehmen.
 * Danach die 'store'-Operation auf die Datenbank ausführen.
 * en:
 * DB-Connection established without an error.
 * Construct (instantiate) a Server-Side Business Object and pass the values
 * of the BO that was passed as parameter.
 * Perform the 'store'-operation against the database thereafter. */

      JSBS_Language_BOS bosJSBS_Language_BOS =
        
new JSBS_Language_BOS(parmMinParm, DBCon, parmBO, true);
      bosJSBS_Language_BOS.deactivate();
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Language_BO.copyFromJSBS_Language_BO(bosJSBS_Language_BOS);
      
/* 
 * de:
 * 'Commit' oder 'Rollback' ausführen und Schliessen der Verbindung (Connection) zu Datenbank.
 * Das muss innerhalb einer 'try/catch'-Logik erfolgen auch wenn es keine Möglichkeit gibt,
 * bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Perform 'Commit' or 'Rollback' and close the connection to the database. That has to be done
 * within a 'try/catch'-logic even if there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {
        
if (boJSBS_Language_BO.StatusCode == JSBS_BO.CONST_OK) DBCon.commit();
        
else DBCon.rollback();
        DBCon.close();
      }
      
catch (Exception e){
        boJSBS_Language_BO.
StatusCode = JSBS_Language_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Language_BO.
StatusMsg = "Close of database-connection failed within the EJB.";
      }
/* 
 * de:

 * BO mit dem Status nach dem Speichern an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the status after store to the calling method. */

      
return boJSBS_Language_BO;
    }
/* 
 * -------------------- 

/* 
 * de: 
 * METHODE zum Selektieren der aktuell gültigen Werte des BO, dessen Anwender-bekannter Schlüssel
 * in der Sortierreihenfolge nach den Werten in den übergebenen Parametern kommt. 
 * en:
 * METHOD to select the actually valid values of the BO, which user-known key follows
 * in the sort-order after the values passed in the parmeters. */

    
public synchronized JSBS_Language_BO JSBS_Language_BO__selectNext(
                                      JSBS_MinimalParameters parmMinParm,
                                      String parmISOLanguageCode,
                                      String parmLanguageCodeForLabelling) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Language_BO boJSBS_Language_BO =
new JSBS_Language_BO();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Language_BO.
StatusCode = JSBS_Language_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Language_BO.
StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Language_BO;
      }
/*
 * de:
 * DB-Connection wurde fehlerfrei erstellt.

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * und die 'select'-Operation auf die Datenbank ausführen.
 * en:
 * DB-Connection established without an error.
 * Construct (instantiate) a Server-Side Business Object and perform
 * the 'select'-operation against the database thereafter. */

      JSBS_Language_BOS bosJSBS_Language_BOS =
        
new JSBS_Language_BOS(parmMinParm, DBCon, true);
      bosJSBS_Language_BOS.selectNext(parmISOLanguageCode, parmLanguageCodeForLabelling);
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Language_BO.copyFromJSBS_Language_BO(bosJSBS_Language_BOS);
      
/* 
 * de:
 * Schliessen der Verbindung (Connection) zu Datenbank.
 * Das muss innerhalb einer 'try/catch'-Logik erfolgen auch wenn es keine Möglichkeit gibt,
 * bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Close the connection to the database. That has to be done
 * within a 'try/catch'-logic even if there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {DBCon.close();}
      
catch (Exception e){
/* 
 * de:
 * Keine Fehlermeldung bei einem fehlerhaften 'close()'.
 * Nachdem das Selektieren der Daten ohne Fehler erfolgt ist, wird angenommen, dass die
 * wesentlichen Teile der Datenbank-Operation wie erwarted erfolgt sind.
 * en:
 * Do not produce an error-message at a unsuccessful 'close()'.
 * As the selection of the data ended without an error it is assumed, that the
 * Uesential parts of the database-operation were done as expected. */

      }
/* 
 * de:

 * BO mit den selektierten Daten und dem Status an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the selected data and the status to the calling method. */

      
return boJSBS_Language_BO;
    }
/* 
 * -------------------- 

/* 
 * de: 
 * METHODE zum Selektieren der aktuell gültigen Werte des BO, dessen Anwender-bekannter Schlüssel
 * in der Sortierreihenfolge vor den Werten in den übergebenen Parametern kommt. 
 * en:
 * METHOD to select the actually valid values of the BO, which user-known key is
 * in the sort-order before the values passed in the parmeters. */

    
public synchronized JSBS_Language_BO JSBS_Language_BO__selectPrevious(
                                      JSBS_MinimalParameters parmMinParm,
                                      String parmISOLanguageCode,
                                      String parmLanguageCodeForLabelling) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Language_BO boJSBS_Language_BO =
new JSBS_Language_BO();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Language_BO.
StatusCode = JSBS_Language_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Language_BO.
StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Language_BO;
      }
/*
 * de:
 * DB-Connection wurde fehlerfrei erstellt.

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * und die 'select'-Operation auf die Datenbank ausführen.
 * en:
 * DB-Connection established without an error.
 * Construct (instantiate) a Server-Side Business Object and perform
 * the 'select'-operation against the database thereafter. */

      JSBS_Language_BOS bosJSBS_Language_BOS =
        
new JSBS_Language_BOS(parmMinParm, DBCon, true);
      bosJSBS_Language_BOS.selectPrevious(parmISOLanguageCode, parmLanguageCodeForLabelling);
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Language_BO.copyFromJSBS_Language_BO(bosJSBS_Language_BOS);
      
/* 
 * de:
 * Schliessen der Verbindung (Connection) zu Datenbank.
 * Das muss innerhalb einer 'try/catch'-Logik erfolgen auch wenn es keine Möglichkeit gibt,
 * bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Close the connection to the database. That has to be done
 * within a 'try/catch'-logic even if there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {DBCon.close();}
      
catch (Exception e){
/* 
 * de:
 * Keine Fehlermeldung bei einem fehlerhaften 'close()'.
 * Nachdem das Selektieren der Daten ohne Fehler erfolgt ist, wird angenommen, dass die
 * wesentlichen Teile der Datenbank-Operation wie erwarted erfolgt sind.
 * en:
 * Do not produce an error-message at a unsuccessful 'close()'.
 * As the selection of the data ended without an error it is assumed, that the
 * Uesential parts of the database-operation were done as expected. */

      }
/* 
 * de:

 * BO mit den selektierten Daten und dem Status an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the selected data and the status to the calling method. */

      
return boJSBS_Language_BO;
    }
/* 
 * -------------------- 

/* 
 * de: 
 * METHODE zum Selektieren der aktuell gültigen Werte des BO, dessen Anwender-bekannter Schlüssel
 * in den Parametern übergeben wurde. 
 * en:
 * METHOD to select the actually valid values of the BO, which user-known key was
 * passed in the parmeters. */

    
public synchronized JSBS_Language_BO JSBS_Language_BO__selectByUserKnownKey(
                                      JSBS_MinimalParameters parmMinParm,
                                      String parmISOLanguageCode,
                                      String parmLanguageCodeForLabelling) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Language_BO boJSBS_Language_BO =
new JSBS_Language_BO();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Language_BO.
StatusCode = JSBS_Language_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Language_BO.
StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Language_BO;
      }
/*
 * de:
 * DB-Connection wurde fehlerfrei erstellt.

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * und die 'select'-Operation auf die Datenbank ausführen.
 * en:
 * DB-Connection established without an error.
 * Construct (instantiate) a Server-Side Business Object and perform
 * the 'select'-operation against the database thereafter. */

      JSBS_Language_BOS bosJSBS_Language_BOS =
        
new JSBS_Language_BOS(parmMinParm, DBCon, true);
      bosJSBS_Language_BOS.selectByUserKnownKey(parmISOLanguageCode, parmLanguageCodeForLabelling);
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Language_BO.copyFromJSBS_Language_BO(bosJSBS_Language_BOS);
      
/* 
 * de:
 * Schliessen der Verbindung (Connection) zu Datenbank.
 * Das muss innerhalb einer 'try/catch'-Logik erfolgen auch wenn es keine Möglichkeit gibt,
 * bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Close the connection to the database. That has to be done
 * within a 'try/catch'-logic even if there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {DBCon.close();}
      
catch (Exception e){
/* 
 * de:
 * Keine Fehlermeldung bei einem fehlerhaften 'close()'.
 * Nachdem das Selektieren der Daten ohne Fehler erfolgt ist, wird angenommen, dass die
 * wesentlichen Teile der Datenbank-Operation wie erwarted erfolgt sind.
 * en:
 * Do not produce an error-message at a unsuccessful 'close()'.
 * As the selection of the data ended without an error it is assumed, that the
 * Uesential parts of the database-operation were done as expected. */

      }
/* 
 * de:

 * BO mit den selektierten Daten und dem Status an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the selected data and the status to the calling method. */

      
return boJSBS_Language_BO;
    }
/* 
 * -------------------- 

/* 
 * de:

 *
METHODE zum Lesen aller Datensätze (historisch, aktuell gültig, in Zukunft gültig) für eine
 * gegebene Object-ID

 * en:

 *
METHOD to read all datasets (historic, actually valid, valid in the future) for a given
 * Object-ID
. */
    
public synchronized JSBS_Language_BO_Set JSBS_Language_BO_Set__selectAllByObjectID(
                                      JSBS_MinimalParameters parmMinParm,
                                     
double parmObjectID) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Language_BO_Set boJSBS_Language_BO_Set =
new JSBS_Language_BO_Set();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Language_BO_Set.
StatusCode = JSBS_Language_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Language_BO_Set.
StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Language_BO_Set;
      }
/*
 * de:

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * Danach die 'select'-Operation auf die Datenbank ausführen.
 * en:
 * Construct (instantiate) a Server-Side Business Object.
 * Perform the 'select'-operation against the database thereafter. */

      JSBS_Language_BOS_Set bosJSBS_Language_BOS_Set =
        
new JSBS_Language_BOS_Set(parmMinParm, DBCon, true);
      bosJSBS_Language_BOS_Set.selectAllByObjectID(parmObjectID);
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Language_BO_Set.copyFromJSBS_Language_BO_Set(bosJSBS_Language_BOS_Set);
      
/* 
 * de:
 * Schliessen der Verbindung (Connection) zu Datenbank. Das muss innerhalb einer 'try/catch'-Logik   
 * erfolgen auch wenn es keine Möglichkeit gibt, bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Close the connection to the database. That has to be done within a 'try/catch'-logic even if   
 * there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {DBCon.close();}
      
catch (Exception e){}
/*
 * de:
 * BO mit den selektierten Daten und dem Status an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the selected data and the status to the calling method. */

      
return boJSBS_Language_BO_Set;
    }
/* 
 * -------------------- 

/* 
 * de:

 *
METHODE zum Lesen einer gegebenen Anzahl von Datensätzen, die vor einem gegebenen Datum
 * geändert wurden

 * en:

 *
METHOD to read a given number of datasets that were changed before a given date. */
    
public synchronized JSBS_Language_BO_Set JSBS_Language_BO_Set__selectAllByChangedAt(
                                      JSBS_MinimalParameters parmMinParm,
                                      java.sql.Timestamp parmYoungestChangedAt,
                                     
short parmNumberOfRecords) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Language_BO_Set boJSBS_Language_BO_Set =
new JSBS_Language_BO_Set();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Language_BO_Set.
StatusCode = JSBS_Language_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Language_BO_Set.
StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Language_BO_Set;
      }
/*
 * de:

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * Danach die 'select'-Operation auf die Datenbank ausführen.
 * en:
 * Construct (instantiate) a Server-Side Business Object.
 * Perform the 'select'-operation against the database thereafter. */

      JSBS_Language_BOS_Set bosJSBS_Language_BOS_Set =
        
new JSBS_Language_BOS_Set(parmMinParm, DBCon, true);
      bosJSBS_Language_BOS_Set.selectAllByChangedAt(parmYoungestChangedAt, parmNumberOfRecords);
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Language_BO_Set.copyFromJSBS_Language_BO_Set(bosJSBS_Language_BOS_Set);
      
/* 
 * de:
 * Schliessen der Verbindung (Connection) zu Datenbank. Das muss innerhalb einer 'try/catch'-Logik   
 * erfolgen auch wenn es keine Möglichkeit gibt, bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Close the connection to the database. That has to be done within a 'try/catch'-logic even if   
 * there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {DBCon.close();}
      
catch (Exception e){}
/*
 * de:
 * BO mit den selektierten Daten und dem Status an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the selected data and the status to the calling method. */

      
return boJSBS_Language_BO_Set;
    }
/* 
 * -------------------- 

/* 
 * de: METHODE zum Lesen aller aktuell gültigen BO. 
 * en: METHOD to read all BO valid at the actual date. */

    
public synchronized JSBS_Language_BO_Set JSBS_Language_BO_Set__selectAllValid(
                                      JSBS_MinimalParameters parmMinParm) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Language_BO_Set boJSBS_Language_BO_Set =
new JSBS_Language_BO_Set();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Language_BO_Set.
StatusCode = JSBS_Language_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Language_BO_Set.
StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Language_BO_Set;
      }
/*
 * de:

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * Danach die 'select'-Operation auf die Datenbank ausführen.
 * en:
 * Construct (instantiate) a Server-Side Business Object.
 * Perform the 'select'-operation against the database thereafter. */

      JSBS_Language_BOS_Set bosJSBS_Language_BOS_Set =
        
new JSBS_Language_BOS_Set(parmMinParm, DBCon, true);
      bosJSBS_Language_BOS_Set.selectAllValid();
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Language_BO_Set.copyFromJSBS_Language_BO_Set(bosJSBS_Language_BOS_Set);
      
/* 
 * de:
 * Schliessen der Verbindung (Connection) zu Datenbank. Das muss innerhalb einer 'try/catch'-Logik   
 * erfolgen auch wenn es keine Möglichkeit gibt, bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Close the connection to the database. That has to be done within a 'try/catch'-logic even if   
 * there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {DBCon.close();}
      
catch (Exception e){}
/*
 * de:
 * BO mit den selektierten Daten und dem Status an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the selected data and the status to the calling method. */

      
return boJSBS_Language_BO_Set;
    }
/* 
 * -------------------- 

/* 
 * de: METHODE zum Lesen aller aktuell gültigen BO für den gegebenen ISO-Sprach-Cods. 
 * en: METHOD to read all BO valid at the actual date for the given ISO-language-code. */

    
public synchronized JSBS_Language_BO_Set JSBS_Language_BO_Set__selectByISOLanguageCode(
                                      JSBS_MinimalParameters parmMinParm,
                                      String parmISOLanguageCode) {
/*
 * de:

 * BO, das an die aufrufende Methode zurückgeliefert wird, definieren und konstruieren.
 * en:
 * Define and construct the BO that is returned to the calling method. */

      JSBS_Language_BO_Set boJSBS_Language_BO_Set =
new JSBS_Language_BO_Set();
/*
 * de:

 * Variable für die Verbindung (Connection) zur Datenbank definieren und Methode zum
 * Erstellen der Verbindung aufrufen.
 * en:
 * Define the variable for the connection to the database and call the method to
 * establish the connection. */

      Connection DBCon = establishDBConnection();
/*
 * de: Prüfen ob eine Verbindung zur Datenbank hergestellt werden konnte.
 * en: Verify if a connection to the database was established. */

      
if (DBCon == null) {
/*
 * de:
 * Status und Fehler-Nachricht in den jeweiligen Variablen des BO setzen
 * und das BO an die aufrufende Methode zurück liefern.
 * en:
 * Set the Status and Error-Message to the fitting variables of the BO and
 * return the BO to the calling method. */

        boJSBS_Language_BO_Set.
StatusCode = JSBS_Language_BO.CONST_DB_SYSTEM_ERROR;
        boJSBS_Language_BO_Set.
StatusMsg = "Database connection failed within the EJB.";
        
return boJSBS_Language_BO_Set;
      }
/*
 * de:

 * Ein Server-Side Business Object konstruieren (instanziieren).
 * Danach die 'select'-Operation auf die Datenbank ausführen.
 * en:
 * Construct (instantiate) a Server-Side Business Object.
 * Perform the 'select'-operation against the database thereafter. */

      JSBS_Language_BOS_Set bosJSBS_Language_BOS_Set =
        
new JSBS_Language_BOS_Set(parmMinParm, DBCon, true);
      bosJSBS_Language_BOS_Set.selectByISOLanguageCode(parmISOLanguageCode);
/*
 * de:

 * Kopieren des gerade für die Datenbank-Operation genutzten Server-Side BO auf das
 * für die Rücklieferung an die aufrufende Methode vorgesehene BO (generelle Klasse).
 * Durch das Kopieren werden auch eventuell aufgetretene Status-Code und -Nachrichten
 * (z.B. 'Duplicate Key') auf das Generelle BO übertragen.
 * en:
 * Copy the Server-Side BO just used for the database-operation to the (general class) BO
 * designated to be returned to the calling method.
 * With this copy, probably occured status-codes and -messages (e.g. 'Duplicate Key')
 * will be transferred to the general class BO.*/

      boJSBS_Language_BO_Set.copyFromJSBS_Language_BO_Set(bosJSBS_Language_BOS_Set);
      
/* 
 * de:
 * Schliessen der Verbindung (Connection) zu Datenbank. Das muss innerhalb einer 'try/catch'-Logik   
 * erfolgen auch wenn es keine Möglichkeit gibt, bei einem Fehler eine Korrektur vorzunehmen.   
 * Aber alle ausgereiften Java Application Server (JAS) können eine solche Situation bereinigen.
 * en:
 * Close the connection to the database. That has to be done within a 'try/catch'-logic even if   
 * there is no change to correct an error that occured.   
 * Usually, all matured Java Application Server (JAS) can handle such a situation. */

      
try {DBCon.close();}
      
catch (Exception e){}
/*
 * de:
 * BO mit den selektierten Daten und dem Status an die aufrufende Methode zurück liefern.
 * en:
 * Return the BO with the selected data and the status to the calling method. */

      
return boJSBS_Language_BO_Set;
    }

}

zum Inhaltsverzeichnis

Erklärungen und Anwendungsbeispiele

Die Methoden dieser Klasse werden nur von Methoden innerhalb des JavaScout Basis-Systems aufgerufen und sind nicht für eine allgemeine Verwendung gedacht.

zum Inhaltsverzeichnis

Verwandte Dokumentation

Dokument

Inhalt

Interface JSBS_StandardEJBBeanLocal  

Interface mit der Definition, welche Methoden dieser 'Bean'-Klasse von instanziierten Objekten anderer 'Bean'-Klassen, die innerhalb des gleichen Java-Application-Servers (JAS) laufen, aufgerufen werden dürfen.

Interface JSBS_StandardEJBBeanRemote  

Interface mit der Definition, welche Methoden dieser 'Bean'-Klasse von Client-Programmen, die nicht innerhalb des gleichen Java-Application-Servers (JAS) laufen, aufgerufen werden dürfen.

Tutorial: JavaScout ProjectAssist, xxx (noch zu schreiben)  

Dieser Schritt des Tutorials beschreibt, wie diese Klasse beim Erstellen der Klasse für das spezifische EJB 'geerbt' wird.

Muster-Codes für die Klassse eines EJB (Enterprise Java Bean) mit Datenbankzugriff  

Dieses Dokument enthält Muster-Codes und die notwendigen Tätigkeiten für die Entwicklung eines Enterprise Java Beans (EJB) das spezifisch für das Anwendungsprogramm ist. Dabei wird von dieser Basisklasse 'geerbt' und erläutert, wie der verwendete DataSource-Namen als Wert einer Variablen zugewiesen werden muss. 

zum Inhaltsverzeichnis