|
Letzte
Bearbeitung dieses Dokuments: |
Code
Erklärungen
und Anwendungsbeispiele
Verwandte
Dokumentation
package
js_base.bo;
/*
*
de:
* Package mit den Klassen für die Serialization eines
Objekts dieser Klasse.
* Serialization ist notwendig um die
Werte des Objektes zwischen einem Java
* Application Server
(JAS) und einem Heavyweight-Client übertragen zu können.
* en:
* Package with the classes to serialize an object of
this class.
* Serialization is neccessary to exchange the
values of the object between a
* Java Application Server
(JAS) and a Heavyweight-Client. */import
java.io.Serializable;
/*
*
de:
* Package mit den Klassen für die Bearbeitung von
'BigDecimal'.
* 'BigDecimal' ermöglicht die Definition von
großen Zahlen mit genauen Kommastellen
* und wird für das
kaufmännische Rechnen mit Beträgen verwendet.
* en:
* Package with the classes to manipulate
'BigDecimal'.
* 'BigDecimal' enables the definition of large
numbers with exact figures behind
* the decimal point and is
used for mercantile calculation with amounts. */import
java.math.BigDecimal;
/*
*
de:
* Package mit den DataBase-Access- (DBA-) Klassen für
den Zugriff auf Datenbank-Tabellen.
* en:
*
Package with the DataBase-Access- (DBA-) classes for the access to
database-tables. */
import
js_base.dba.*;
/**
*
* @author kurt[at]javascout(dot)biz
* @date
2010-11-01
*
* @description
* de:
Business Object (BO) für die 'Currency' (Währung).
*
en: Business Object (BO) for the 'Currency'.
*
*
de:
* Die Werte dieses BO definieren eine Währung.
*
Neben dem ISO-Code der Währung und der Bezeichnung wird festgelegt,
ob diese Währung.
* die Leitwährung für die Installation
eines Anwendungsprogramms ist.
* Wenn es nicht die
Leitwährung ist, dann ist der Umrechnungskurs zur Leitwährung
festgelegt.
* Weiters enthält dieses BO auch ein Set von
Markern, für welche Themenbereiche (z.B.
* Dokumente an
Kunden, Preise von Produkten) diese Währung verwendet werden
darf.
* Zusätzlich kann die Bezeichnung der Währung in
verschiedenen Sprachen erfasst werden.
*
* Dieses
BO benutzt die Datenbanktabelle 'Parameter'.
* Die
Beschreibung der 'virtuellen Tabelle' finden Sie beim Datenmodell für
das Anwendungsprogramm
* HandelsSepp:
http://www.javascout.biz/JS_HSepp_DM/de/DM_Parameter_Currency_de.html.
*
* Anwender-bekannter-Schlüssel: LeadCurrencyIndicator,
CurrencyCode, LanguageCodeForLabelling.
*
*
en:
* The
values of this BO define a currency.
* Additional to
the ISO-code of the currency and the description, a flag indicates if
this currency.
* is the leading currency for the
application-program.
* If this currency is not the
leading currency, then the exchange rates toward the leading
currency
* are defined.
* Further, the BO
contains a set of markers (flags) which permit the restricted usage
of the currency
* only for specified areas (e.g. Documents
to customers, prices of products).
* Additionally, the name
of the currency can be kept in differnt languages.
*
* This
BO uses the database-table 'Parameter'.
* The
description of this 'virtual table' you will find at the data-model
for the application-program
* HandelsSepp:
http://www.javascout.biz/JS_HSepp_DM/de/DM_Parameter_Currency_de.html.
*
* User-Key: LeadCurrencyIndicator, CurrencyCode,
LanguageCodeForLabelling.
*
* @change-log
*
when who why
*
--------------------------------------------------------
*
*/public
class
JSBS_Currency_BO
extends
JSBS_BO
implements
Serializable
{
/*
*
de:
* Identifikation dieses BO innerhalb der DB-Tabelle
'Parameter'; unter diesem 'ParameterName'
* werden die Werte
der Attribute der DB-Tabelle eindeutig einer Währung zugeordnet.
*
en:
* Identifier of this BO within the DB-table
'Parameter'; under this 'ParameterName' the values
* of the
attributes of the DB-table are uniquely assigned to a currency.
*/
public
static final
String
CONST_PARAMETER_NAME
=
"ISOCurrencyCode"
;
/*
*
VARIABLE diese BO / VARIABLES of this BO.
*
------------------ *//*
*
de:
* ISO-Code dieser Währung.
* en:
*
ISO-code of this currency. */
public
String
ISOCurrencyCode
=
""
;
/*
*
de:
* ISO-Code der Sprache für die Bezeichnung der Währung
im Attribut 'CurrencyName'.
* en:
*
ISO-Code of the language for the name of the Currency - within the
attribute 'CurrencyyName'. */
public
String
LanguageCodeForLabelling
=
""
;
/*
*
de:
* Markierungen für die 'Themenbereiche' in denen
die Währung verwendet wird.
* Der 'Themenbereich' einer
einzelnen Markierung ist im Anwendungsprogramm bestimmt.
*
en:
*
Markers (flags) for the 'areas' where this Currency is used,
*
The 'area' of usage of a single marker is defined within the
application program. */
public
Boolean
Marker01
=
false
;
public
Boolean
Marker02
=
false
;
public
Boolean
Marker03
=
false
;
public
Boolean
Marker04
=
false
;
public
Boolean
Marker05
=
false
;
public
Boolean
Marker06
=
false
;
public
Boolean
Marker07
=
false
;
public
Boolean
Marker08
=
false
;
public
Boolean
Marker09
=
false
;
public
Boolean
Marker10
=
false
;
public
Boolean
Marker11
=
false
;
public
Boolean
Marker12
=
false
;
public
Boolean
Marker13
=
false
;
public
Boolean
Marker14
=
false
;
public
Boolean
Marker15
=
false
;
public
Boolean
Marker16
=
false
;
public
Boolean
Marker17
=
false
;
public
Boolean
Marker18
=
false
;
public
Boolean
Marker19
=
false
;
public
Boolean
Marker20
=
false
;
/*
*
de:
* Indikator ob diese Währung die Leitwährung für das
Anwendungsprogramm ist.
* en:
*
Indicator if this currency is the leading currency for the
application-program. */
public
String
LeadCurrencyIndicator
=
CONST_LEADCURRENCY_NO
;
/*
*
de:
* Mögliche Werte zum Unterscheiden ob diese Währung
die Leitwährung ist ('L')
* oder eine andere Währung
('N').
* en:
*
Possible values to differentiate if this currency is the leading
currency ('L')
* or another currency ('N'). */
public
static final
String
CONST_LEADCURRENCY_YES
=
"L"
;
public
static final
String
CONST_LEADCURRENCY_NO
=
"N"
;
/*
*
de:
* Bezeichnung dieser Währung; zur leichteren
Identifizierung.
* en:
*
Description of this currency; for an easy identification.
*/
public
String
CurrencyName
=
""
;
/*
*
de:
* Mittelkurs dieser Währung zur Leitwährung; für die
Programm-interne Umrechnung von
* Währungs-Beträgen.
*
en:
*
Middle rate of this currency toward the leading currency; used for
the application-internal
* conversion of amounts in one
currency to another currency. */
public
BigDecimal
MiddleRateToLeadCurrency
=
new
BigDecimal(1.00);
/*
*
de:
* Kaufkurs dieser Währung zur Leitwährung – im
Bankwesen als 'Briefkurs' bezeichnet.
* Nur zur
Dokumentation ohne weitere Verwendung im Anwendungsprogramm.
*
en:
*
Buying rate of this currency toward the leading currency.
*
Just for documentation without any usage within the
application-program. */
public
BigDecimal
BuyingRateToLeadCurrency
=
new
BigDecimal(1.00);
/*
*
de:
* Verkaufskurs dieser Währung zur Leitwährung – im
Bankwesen als 'Geldkurs' bezeichnet.
* Nur zur Dokumentation
ohne weitere Verwendung im Anwendungsprogramm.
* en:
*
Selling rate of this currency toward the leading currency.
*
Just for documentation without any usage within the
application-program. */
public
BigDecimal
SellingRateToLeadCurrency
=
new
BigDecimal(1.00);
/*
* --------------------
*
de:
* 'Fehler', die bei der Ausführung der
Geschäftsregeln auftreten können.
*
en:
* 'Errors' that may occur during processing the
business-rules. *//*
*
de:
* Ein Datensatz für eine weitere Sprache soll erstellt
werden obwohl noch kein Haupt-Datensatz
* (Leere
Zeichenkette im Attribut 'LanguageCodeForLabelling') für diesen
'ISOCurrencyCode' existiert.
*
en:
* A dataset for another language should be created
although no main-dataset (empty string in the
* attribute
'LanguageCodeForLabelling') does not already exist for that
'ISOCurrencyCode'. */
public
static final int
CONST_ERROR_No_Default_Dataset_For_ISOCurrencyCode
=
41;
/*
* --------------------
*
de:
* 'Fehler', die das 'Deaktivieren' des BO
verhindern.
* Diese Stati gelten nur für dieses BO.
*
en:
* 'Errors' that inhibit the 'deactivation' of the
BO.
* Those stati are only valid for this BO. *//*
*
de:
* Ein Haupt-Datensatz (Leere Zeichenkette im Attribut
'LanguageCodeForLabelling')
* darf nicht deaktiviert werden
weil noch Bezeichnungen für die Währung in
* anderen
Sprachen existieren.
*
en:
* A main-dataset (empty string in the attribute
'LanguageCodeForLabelling') may
* not be deactivated as
'Labels' for this currency in other languages still exist.
*/
public
static final
int
CONST_DEACTIVATE_INHIBIT_REASON_AdditionalLanguageLabelling
=
61;
/*
*
de:
* Jene Währung, die als 'LeadingCurrency' definiert
ist darf nicht deaktiviert werden
* weil die
Umrechnungskurse anderer Währungen darauf referenzieren.
*
en:
* The currency defined as 'LeadingCurrency' may not be
deactivated as the
* exchange rates of other currencies
refer to this currency. */
public
static final int
CONST_DEACTIVATE_INHIBIT_REASON_LeadingCurrency
=
62;
/*
* --------------------
*
de: METHODE zum Kopieren der Werte eines anderen Objekts in dieses
Objekt.
*
en: METHOD to copy the values from another object into this object.
*/
public
void
copyFromJSBS_Currency_BO
(JSBS_Currency_BO parmJSBS_Currency_BO) {
/*
*
de:
* Methode der Superklasse verwenden um die Allgemeinen
Attribute (Common Attributes),
* StatusCode und StatusMsg zu
kopieren.
* en:
* Use
the method of the super-class to copy the Common
Attributes,
* StatusCode and StatusMsg.
*/
super
.copyFromJSBS_BO(parmJSBS_Currency_BO);
ISOCurrencyCode
=
parmJSBS_Currency_BO.
ISOCurrencyCode
;
LanguageCodeForLabelling
=
parmJSBS_Currency_BO.
LanguageCodeForLabelling
;
Marker01
=
parmJSBS_Currency_BO.
Marker01
;
Marker02
=
parmJSBS_Currency_BO.
Marker02
;
Marker03
=
parmJSBS_Currency_BO.
Marker03
;
Marker04
=
parmJSBS_Currency_BO.
Marker04
;
Marker05
=
parmJSBS_Currency_BO.
Marker05
;
Marker06
=
parmJSBS_Currency_BO.
Marker06
;
Marker07
=
parmJSBS_Currency_BO.
Marker07
;
Marker08
=
parmJSBS_Currency_BO.
Marker08
;
Marker09
=
parmJSBS_Currency_BO.
Marker0
9;
Marker10
=
parmJSBS_Currency_BO.
Marker10
;
Marker11
=
parmJSBS_Currency_BO.
Marker11
;
Marker12
=
parmJSBS_Currency_BO.
Marker12
;
Marker13
=
parmJSBS_Currency_BO.
Marker13
;
Marker14
=
parmJSBS_Currency_BO.
Marker14
;
Marker15
=
parmJSBS_Currency_BO.
Marker15
;
Marker16
=
parmJSBS_Currency_BO.
Marker16
;
Marker17
=
parmJSBS_Currency_BO.
Marker17
;
Marker18
=
parmJSBS_Currency_BO.
Marker18
;
Marker19
=
parmJSBS_Currency_BO.
Marker19
;
Marker20
=
parmJSBS_Currency_BO.
Marker20
;
LeadCurrencyIndicator
=
parmJSBS_Currency_BO.
LeadCurrencyIndicator
;
CurrencyName
=
parmJSBS_Currency_BO.
CurrencyName
;
MiddleRateToLeadCurrency
=
parmJSBS_Currency_BO.
MiddleRateToLeadCurrency
;
BuyingRateToLeadCurrency
=
parmJSBS_Currency_BO.
BuyingRateToLeadCurrency
;
SellingRateToLeadCurrency
=
parmJSBS_Currency_BO.
SellingRateToLeadCurrency
;
}
/*
* --------------------
*
de:
* METHODE zum Vergleichen von zwei Business Objects und
zum Prüfen
* ob mindestens einer der geschäftsbezogenen
Werte unterschiedlich ist.
* en:
*
METHOD to compare two Business Objects and check if
* at
least one of the Business Values is different. */
public
boolean
isDifferent(JSBS_Currency_BO
parmJSBS_Currency_BO) {
/*
*
de:
* Wenn der Wert des Parameters 'null' ist dann 'true'
(verschieden) zurück liefern.
* en:
*
If the value of the parameter is 'null' then return 'true'
(different). */
if
(parmJSBS_Currency_BO
==
null
)
return
true
;
/*
*
de: Vergleich zweier Werte die durch eine Klasse repräsentiert
sind.
* en: Comparison of two values represented by a class.
*/
if
((
this
.
LeadCurrencyIndicator
==
null
)
|| (parmJSBS_Currency_BO.
LeadCurrencyIndicator
==
null
))
{
/*
de: Prüfen ob beide Werte 'null' sind.
* en: Verify if both
values are 'null'. */
if
((
this
.
LeadCurrencyIndicator
==
null
)
&& (parmJSBS_Currency_BO.
LeadCurrencyIndicator
==
null
))
{
/*
de: Beide Werte sind 'null'; damit sind beide gleich.
* en:
Both values are 'null'; so both are equal.
*/
}
else
{
/*
de: Nur einer der beiden Werte kann 'null' sein; damit sind beide
verschieden.
* en: Only one of both values can be 'null'; so
there is a difference. */
return
true
;
}
}
else
{
/*
de: Keiner der beiden Werte ist 'null'; damit können beide Werte
verglichen werden.
* en: None of both values is 'null'; so
both values can be compared. */
if
(
this
.
LeadCurrencyIndicator
.compareTo(parmJSBS_Currency_BO.
LeadCurrencyIndicator
)
!= 0)
return
true
;
}
/*
*
***** */
if
((
this
.
ISOCurrencyCode
==
null
)
|| (parmJSBS_Currency_BO.
ISOCurrencyCode
==
null
))
{
if
((
this
.
ISOCurrencyCode
==
null
)
&& (parmJSBS_Currency_BO.
ISOCurrencyCode
==
null
))
{}
else
return
true
;
}
else
{
if
(
this
.
ISOCurrencyCode
.compareTo(parmJSBS_Currency_BO.
ISOCurrencyCode
)
!= 0)
return
true
;
}
/*
*
***** */
if
((
this
.
LanguageCodeForLabelling
==
null
)
|| (parmJSBS_Currency_BO.
LanguageCodeForLabelling
==
null
))
{
if
((
this
.
LanguageCodeForLabelling
==
null
)
&& (parmJSBS_Currency_BO.
LanguageCodeForLabelling
==
null
))
{}
else
return
true
;
}
else
{
if
(
this
.
LanguageCodeForLabelling
.compareTo(parmJSBS_Currency_BO.
LanguageCodeForLabelling
)
!= 0)
return
true
;
}
/*
*
***** */
if
((
this
.
Marker01
==
null
)
|| (parmJSBS_Currency_BO.
Marker01
==
null
))
{
if
((
this
.
Marker01
==
null
)
&& (parmJSBS_Currency_BO.
Marker01
==
null
))
{}
else
return
true
;
}
else
{
if
(
this
.
Marker01
.compareTo(parmJSBS_Currency_BO.
Marker01
)
!= 0)
return
true
;
}
/*
*
***** */
if
((
this
.
Marker02
==
null
)
|| (parmJSBS_Currency_BO.
Marker02
==
null
))
{
if
((
this
.
Marker02
==
null
)
&& (parmJSBS_Currency_BO.
Marker02
==
null
))
{}
else
return
true
;
}
else
{
if
(
this
.
Marker02
.compareTo(parmJSBS_Currency_BO.
Marker02
)
!= 0)
return
true
;
}
/*
*
***** */
if
((
this
.
Marker03
==
null
)
|| (parmJSBS_Currency_BO.
Marker03
==
null
))
{
if
((
this
.
Marker03
==
null
)
&& (parmJSBS_Currency_BO.
Marker03
==
null
))
{}
else
return
true
;
}
else
{
if
(
this
.
Marker03
.compareTo(parmJSBS_Currency_BO.
Marker03
)
!= 0)
return
true
;
}
/*
*
***** */
if
((
this
.
Marker04
==
null
)
|| (parmJSBS_Currency_BO.
Marker04
==
null
))
{
if
((
this
.
Marker04
==
null
)
&& (parmJSBS_Currency_BO.
Marker04
==
null
))
{}
else
return
true
;
}
else
{
if
(
this
.
Marker04
.compareTo(parmJSBS_Currency_BO.
Marker04
)
!= 0)
return
true
;
}
/*
*
***** */
if
((
this
.
Marker05
==
null
)
|| (parmJSBS_Currency_BO.
Marker05
==
null
))
{
if
((
this
.
Marker05
==
null
)
&& (parmJSBS_Currency_BO.
Marker05
==
null
))
{}
else
return
true
;
}
else
{
if
(
this
.
Marker05
.compareTo(parmJSBS_Currency_BO.
Marker05
)
!= 0)
return
true
;
}
/*
*
***** */
if
((
this
.
Marker06
==
null
)
|| (parmJSBS_Currency_BO.
Marker06
==
null
))
{
if
((
this
.
Marker06
==
null
)
&& (parmJSBS_Currency_BO.
Marker06
==
null
))
{}
else
return
true
;
}
else
{
if
(
this
.
Marker06
.compareTo(parmJSBS_Currency_BO.
Marker06
)
!= 0)
return
true
;
}
/*
*
***** */
if
((
this
.
Marker07
==
null
)
|| (parmJSBS_Currency_BO.
Marker07
==
null
))
{
if
((
this
.
Marker07
==
null
)
&& (parmJSBS_Currency_BO.
Marker07
==
null
))
{}
else
return
true
;
}
else
{
if
(
this
.
Marker07
.compareTo(parmJSBS_Currency_BO.
Marker07
)
!= 0)
return
true
;
}
/*
*
***** */
if
((
this
.
Marker08
==
null
)
|| (parmJSBS_Currency_BO.
Marker08
==
null
))
{
if
((
this
.
Marker08
==
null
)
&& (parmJSBS_Currency_BO.
Marker08
==
null
))
{}
else
return
true
;
}
else
{
if
(
this
.
Marker08
.compareTo(parmJSBS_Currency_BO.
Marker08
)
!= 0)
return
true
;
}
/*
*
***** */
if
((
this
.
Marker09
==
null
)
|| (parmJSBS_Currency_BO.
Marker09
==
null
))
{
if
((
this
.
Marker09
==
null
)
&& (parmJSBS_Currency_BO.
Marker09
==
null
))
{}
else
return
true
;
}
else
{
if
(
this
.
Marker09
.compareTo(parmJSBS_Currency_BO.
Marker09
)
!= 0)
return
true
;
}
/*
*
***** */
if
((
this
.
Marker10
==
null
)
|| (parmJSBS_Currency_BO.
Marker10
==
null
))
{
if
((
this
.
Marker10
==
null
)
&& (parmJSBS_Currency_BO.
Marker10
==
null
))
{}
else
return
true
;
}
else
{
if
(
this
.
Marker10
.compareTo(parmJSBS_Currency_BO.
Marker10
)
!= 0)
return
true
;
}
/*
*
***** */
if
((
this
.
Marker11
==
null
)
|| (parmJSBS_Currency_BO.
Marker11
==
null
))
{
if
((
this
.
Marker11
==
null
)
&& (parmJSBS_Currency_BO.
Marker11
==
null
))
{}
else
return
true
;
}
else
{
if
(
this
.
Marker11
.compareTo(parmJSBS_Currency_BO.
Marker11
)
!= 0)
return
true
;
}
/*
*
***** */
if
((
this
.
Marker12
==
null
)
|| (parmJSBS_Currency_BO.
Marker12
==
null
))
{
if
((
this
.
Marker12
==
null
)
&& (parmJSBS_Currency_BO.
Marker12
==
null
))
{}
else
return
true
;
}
else
{
if
(
this
.
Marker12
.compareTo(parmJSBS_Currency_BO.
Marker12
)
!= 0)
return
true
;
}
/*
*
***** */
if
((
this
.
Marker13
==
null
)
|| (parmJSBS_Currency_BO.
Marker13
==
null
))
{
if
((
this
.
Marker13
==
null
)
&& (parmJSBS_Currency_BO.
Marker13
==
null
))
{}
else
return
true
;
}
else
{
if
(
this
.
Marker13
.compareTo(parmJSBS_Currency_BO.
Marker13
)
!= 0)
return
true
;
}
/*
*
***** */
if
((
this
.
Marker14
==
null
)
|| (parmJSBS_Currency_BO.
Marker14
==
null
))
{
if
((
this
.
Marker14
==
null
)
&& (parmJSBS_Currency_BO.
Marker14
==
null
))
{}
else
return
true
;
}
else
{
if
(
this
.
Marker14
.compareTo(parmJSBS_Currency_BO.
Marker14
)
!= 0)
return
true
;
}
/*
*
***** */
if
((
this
.
Marker15
==
null
)
|| (parmJSBS_Currency_BO.
Marker15
==
null
))
{
if
((
this
.
Marker15
==
null
)
&& (parmJSBS_Currency_BO.
Marker15
==
null
))
{}
else
return
true
;
}
else
{
if
(
this
.
Marker15
.compareTo(parmJSBS_Currency_BO.
Marker15
)
!= 0)
return
true
;
}
/*
*
***** */
if
((
this
.
Marker16
==
null
)
|| (parmJSBS_Currency_BO.
Marker16
==
null
))
{
if
((
this
.
Marker16
==
null
)
&& (parmJSBS_Currency_BO.
Marker16
==
null
))
{}
else
return
true
;
}
else
{
if
(
this
.
Marker16
.compareTo(parmJSBS_Currency_BO.
Marker16
)
!= 0)
return
true
;
}
/*
*
***** */
if
((
this
.
Marker17
==
null
)
|| (parmJSBS_Currency_BO.
Marker17
==
null
))
{
if
((
this
.
Marker17
==
null
)
&& (parmJSBS_Currency_BO.
Marker17
==
null
))
{}
else
return
true
;
}
else
{
if
(
this
.
Marker17
.compareTo(parmJSBS_Currency_BO.
Marker17
)
!= 0)
return
true
;
}
/*
*
***** */
if
((
this
.
Marker18
==
null
)
|| (parmJSBS_Currency_BO.
Marker18
==
null
))
{
if
((
this
.
Marker18
==
null
)
&& (parmJSBS_Currency_BO.
Marker18
==
null
))
{}
else
return
true
;
}
else
{
if
(
this
.
Marker18
.compareTo(parmJSBS_Currency_BO.
Marker18
)
!= 0)
return
true
;
}
/*
*
***** */
if
((
this
.
Marker19
==
null
)
|| (parmJSBS_Currency_BO.
Marker19
==
null
))
{
if
((
this
.
Marker19
==
null
)
&& (parmJSBS_Currency_BO.
Marker19
==
null
))
{}
else
return
true
;
}
else
{
if
(
this
.
Marker19
.compareTo(parmJSBS_Currency_BO.
Marker19
)
!= 0)
return
true
;
}
/*
*
***** */
if
((
this
.
Marker20
==
null
)
|| (parmJSBS_Currency_BO.
Marker20
==
null
))
{
if
((
this
.
Marker20
==
null
)
&& (parmJSBS_Currency_BO.
Marker20
==
null
))
{}
else
return
true
;
}
else
{
if
(
this
.
Marker20
.compareTo(parmJSBS_Currency_BO.
Marker20
)
!= 0)
return
true
;
}
/*
*
***** */
if
((
this
.
CurrencyName
==
null
)
|| (parmJSBS_Currency_BO.
CurrencyName
==
null
))
{
if
((
this
.
CurrencyName
==
null
)
&& (parmJSBS_Currency_BO.
CurrencyName
==
null
))
{}
else
return
true
;
}
else
{
if
(
this
.
CurrencyName
.compareTo(parmJSBS_Currency_BO.
CurrencyName
)
!= 0)
return
true
;
}
/*
*
***** */
if
((
this
.
MiddleRateToLeadCurrency
==
null
)
|| (parmJSBS_Currency_BO.
MiddleRateToLeadCurrency
==
null
))
{
if
((
this
.
MiddleRateToLeadCurrency
==
null
)
&& (parmJSBS_Currency_BO.
MiddleRateToLeadCurrency
==
null
))
{}
else
return
true
;
}
else
{
if
(
this
.
MiddleRateToLeadCurrency
.compareTo(parmJSBS_Currency_BO.
MiddleRateToLeadCurrency
)
!= 0)
return
true
;
}
/*
*
***** */
if
((
this
.
BuyingRateToLeadCurrency
==
null
)
|| (parmJSBS_Currency_BO.
BuyingRateToLeadCurrency
==
null
))
{
if
((
this
.
BuyingRateToLeadCurrency
==
null
)
&& (parmJSBS_Currency_BO.
BuyingRateToLeadCurrency
==
null
))
{}
else
return
true
;
}
else
{
if
(
this
.
BuyingRateToLeadCurrency
.compareTo(parmJSBS_Currency_BO.
BuyingRateToLeadCurrency
)
!= 0)
return
true
;
}
/*
*
***** */
if
((
this
.
SellingRateToLeadCurrency
==
null
)
|| (parmJSBS_Currency_BO.
SellingRateToLeadCurrency
==
null
))
{
if
((
this
.
SellingRateToLeadCurrency
==
null
)
&& (parmJSBS_Currency_BO.
SellingRateToLeadCurrency
==
null
))
{}
else
return
true
;
}
else
{
if
(
this
.
SellingRateToLeadCurrency
.compareTo(parmJSBS_Currency_BO.
SellingRateToLeadCurrency
)
!= 0)
return
true
;
}/*
de: Keine Unterschiede gefunden.
* en: No difference found.
*/
return
false
;
}/*
* --------------------
*
de:
* METHODE zum Übertragen der Attributs-Werte des
Data-Base-Access (DBA) Objekts
* das diesem Business-Object
thematisch zugeordnet ist auf die Variablen dieses BO.
*
en:
* METHOD
to transfer the attribute-values from the Data-Base-Access (DBA)
Object
* that is attached to this Business Object to
the variables of this BO. */
public
void
getDBAAttributes(JSBS_Parameter_DBA
parmJSBS_Parameter_DBA) {
/*
*
de:
* Methode der geerbten Superklasse (JSBS_BO) aufrufen um
die Werte der
* Allgemeinen Attribute (Common Attributes) zu
übertragen.
* en:
* Call the method of the
inherited superclass (JSBS_BO) to transfer the values of the
* Common Attributes.
*/
getCommonDBAAttributes(parmJSBS_Parameter_DBA);
/*
*
de: Geschäftsbezogene Werte dieses Business Object übertragen.
*
en: Transfer the business specific values of this Business Object.
*/
this
.
ISOCurrencyCode
=
parmJSBS_Parameter_DBA.
Value01
;
this
.
LanguageCodeForLabelling
=
parmJSBS_Parameter_DBA.
Value02
;
/*
*
de: Spezieller Algorithmus zum Übernehmen der Marker-Werte aus der
Zeichenkette.
* en: Special algorithm to transfer the values
for the markers out of the string.
*/
expandMarkerSet(parmJSBS_Parameter_DBA.Value03
);
/*
*** */
this
.
LeadCurrencyIndicator
=
parmJSBS_Parameter_DBA.
Value04
;
this
.
CurrencyName
=
parmJSBS_Parameter_DBA.
Value06
;
/*
*
de: Spezieller Algorithmus zum Umwandeln von String auf
BigDecimal.
* en: Special algorithm to convert String to
BigDecimal. */
try
{
this
.
MiddleRateToLeadCurrency
=
new
BigDecimal(parmJSBS_Parameter_DBA.
Value07
.trim());}
catch
(Exception
Exc) {
this
.
MiddleRateToLeadCurrency
=
new
BigDecimal(0);}
try
{
this
.
BuyingRateToLeadCurrency
=
new
BigDecimal(parmJSBS_Parameter_DBA.
Value08
.trim());}
catch
(Exception
Exc) {
this
.
BuyingRateToLeadCurrency
=
new
BigDecimal(0);}
try
{
this
.
SellingRateToLeadCurrency
=
new
BigDecimal(parmJSBS_Parameter_DBA.
Value09
.trim());}
catch
(Exception
Exc) {
this
.
SellingRateToLeadCurrency
=
new
BigDecimal(0);}
}/* ---------------------
* de:
* METHODE zum Prüfen auf
Konsistenz der Daten dieses BO.
*
*
Diese Methode ist dazu gedacht, eine Prüfung auf Korrektheit der
Werte dieses BO durchzuführen
*
bevor die Daten gespeichert werden.
*
Eine zusätzliche Prüfung der Konsistenz der Daten ist dann
erforderlich
* * wenn nicht sicher gestellt werden
kann, dass bei der Eingabe der Daten die Prüfungen durchgeführt
werden
* oder
* * wenn die Prüfungen so
komplex sind, dass sie bei der Eingabe nicht vollständig
durchgeführt werden können.
*
*
Wenn die Prüfregeln nicht erfüllt werden, kann als genereller
Status-Code die Konstante
*
CONST_INCONSISTENT_DATA (aus der Basisklasse JSBS_BO)
verwendet
werden oder es können in dieser Klasse
*
detailliertere Konstante für den Status-Code definiert werden.
*
*
Für Prüf-Algorithmen, die Werte anderer Business-Objects erfordern
(und damit auf die Datenbank)
*
zugreifen müssen) kann diese Methode in der Klasse für das
Server-Seitige BO (BOS)
*
überschrieben werden.
*
* en:
* METHOD
to verify the consistency of the data of this BO.
*
* This
method is intended to check the consistency of the values of this BO
before the data is stored.
* An additional verification
is needed
* * if it can not be assured that the checks
were made at the time when the data was entered (at the
GUI)
* or
* * the verification is so
complex that it could not be done completely when the data was
entered.
*
* If the consitency-rules are
not fulfilled, the general status-code CONST_INCONSISTENT_DATA
(defined as
* constant within the base-class JSBS_BO)
can be used or more detailed status-codes can be defined
* within
this class.
*
* For
verification-algorithms that requiere the values of othe
business-objects (which means they need
* acces to the
database), this method can be overwritten within the class for the
server-side-BO (BOS). */
public boolean
isConsistentData()
{
/*
* de: Anschließend ist der Algorithmus – wenn
notwendig.
* en: Following is the algorithm – if
needed
* */
/*
*
de:
* Wenn in dieser Methode keine Prüfungen
durchgeführt werden, werden die Daten
*
als 'konsistent' betrachtet.
* en:
* If
no checks were made within this methode, then the data is considered
to be
* 'consistent'.*/
return
true
;
}
/* ---------------------
* de:
* METHODE zum 'komprimieren' der
Werte in den einzelnen Markern dieses BO
* in eine
Zeichenkette für die Speicherung im DB-Attribut
ParameterValue04.
*
* en:
* METHOD
to 'compress' the values of the single Markers of this BO into a
string
* that is stored within the DB-Attribute
ParameterValue04. */
public
String
compressMarkerSet()
{
/*
* de:
* Zur leichteren Bearbeitung eine Variable
der Klasse 'StringBuffer' definieren.
* Diese Variable wird
gleich mit den codierten Werten für 'false' initialisiert.
* en:
* Define a variable of class 'StringBuffer' for easier
processing in the following code.
* This variable is
initialized with the coded values for 'false'.
*/
StringBuffer
strParameterValue03= new
StringBuffer(
"00000000000000000000"
);
/*
* de:
* Abfragen jedes einzelnen Markers und bei
Bedarf die zugehörige Position im StringBuffer ändern.
* en:
* Verify each single Marker and change the associated
position in the StringBuffer if needed.
*/
if
(
Marker01
) strParameterValue03.setCharAt(0,
'1'
);
if
(
Marker02
) strParameterValue03.setCharAt(1,
'1'
);
if
(
Marker03
) strParameterValue03.setCharAt(2,
'1'
);
if
(
Marker04
) strParameterValue03.setCharAt(3,
'1'
);
if
(
Marker05
) strParameterValue03.setCharAt(4,
'1'
);
if
(
Marker06
) strParameterValue03.setCharAt(5,
'1'
);
if
(
Marker07
) strParameterValue03.setCharAt(6,
'1'
);
if
(
Marker08
) strParameterValue03.setCharAt(7,
'1'
);
if
(
Marker09
) strParameterValue03.setCharAt(8,
'1'
);
if
(
Marker10
) strParameterValue03.setCharAt(9,
'1'
);
if
(
Marker11
) strParameterValue03.setCharAt(10,
'1'
);
if
(
Marker12
) strParameterValue03.setCharAt(11,
'1'
);
if
(
Marker13
) strParameterValue03.setCharAt(12,
'1'
);
if
(
Marker14
) strParameterValue03.setCharAt(13,
'1'
);
if
(
Marker15
) strParameterValue03.setCharAt(14,
'1'
);
if
(
Marker16
) strParameterValue03.setCharAt(15,
'1'
);
if
(
Marker17
) strParameterValue03.setCharAt(16,
'1'
);
if
(
Marker18
) strParameterValue03.setCharAt(17,
'1'
);
if
(
Marker19
) strParameterValue03.setCharAt(18,
'1'
);
if
(
Marker20
) strParameterValue03.setCharAt(19,
'1'
);
/*
*
de: Umwandeln des StringBuffer in einen String und an die aufrufende
Methode zurück liefern.
* en: Convert the StringBuffer
into a String and return to the calling method.
*/
return
strParameterValue03.toString();
}
/* ---------------------
* de:
* METHODE zum 'expandieren' des
komprimierten Wert im DB-Attribut ParameterValue04
*
in die einzelnen Werte der Variablen Marker01 bis Marker20 in diesem
BO.
*
* en:
* METHOD to
'expand' the compressed value of the DB-Attribute ParameterValue03
* into the singular values of the variables Marker01 to
Marker20 of this BO. */
public void
expandMarkerSet(String
parmParameterValue03)
{
/*
* de:
* Setzen der Marker auf den Standard-Wert
'false'.
* Damit haben die Marker einen definierten Wert
auch wenn die Zeichenkette mit dem
* komprimierten Wert
(parmParameterValue04) kein gültiges Format hat.
* en:
* Set the Markers to the default-value 'false'.
*
So the Markers have a defined value even if the string with the
compressed value
* (parmParameterValue04) contains an
invalid value.
*/
Marker01
=
false
;
Marker02
=
false
;
Marker03
=
false
;
Marker04
=
false
;
Marker05
=
false
;
Marker06
=
false
;
Marker07
=
false
;
Marker08
=
false
;
Marker09
=
false
;
Marker10
=
false
;
Marker11
=
false
;
Marker12
=
false
;
Marker13
=
false
;
Marker14
=
false
;
Marker15
=
false
;
Marker16
=
false
;
Marker17
=
false
;
Marker18
=
false
;
Marker19
=
false
;
Marker20
=
false
;
/*
* de: Prüfen ob der übergebene Parameter nicht
'null' ist.
* en: Verify if the passed parameter
is not 'null'. */
if
(parmParameterValue03
==
null
)
return
;
/*
* de: Zur leichteren Bearbeitung den übergebenen Parameter
in einen 'StringBuffer' umwandeln.
* en: Convert the
passed parameter into a 'StringBuffer' as this class is easier to
process. */
StringBuffer
strParameterValue03
=
new
StringBuffer(parmParameterValue03);
/*
* de: Feststellen der Anzahl der Zeichen für die Steuerung
der folgenden for-Schleife.
* en: Get the number of
character to control the following for-loop.
*/
int
intParameterLength
= strParameterValue03.length();
/*
* de: Index und einzelner Charakter für die Verarbeitung
in der folgenden for-Schleife.
* en: Index and single
character for the processing in the following for-loop.
*/
int
intIndex;
char
chrMarkerValue;
/*
* de:
* for-Schleife zum Untersuchen jedes
einzelnen Zeichens in der als Parameter übergebenen
*
Zeichenkette. Abhängig vom Wert des einzelnen Zeichens wird der Wert
des zugeordneten
* Markers verändert.
* en:
* for-loop to inspect each single character of the string
passed as parameter.
* Depending on the value of each
character the value of the associated Marker is changed.
*/
for
(intIndex
= 0; (intIndex < intParameterLength) && (intIndex <
20); intIndex++) {
/*
* de: 'Herausholen' des zu prüfenden Zeichens aus der
Zeichenkette.
* en: Get the character to be verified
out of the string. */
chrMarkerValue =
strParameterValue03.charAt(intIndex);
/*
* de:
* Prüfen ob das untersuchte Zeichen den
Wert '1' hat. Das bedeutet, dass der zugehörige Marker
*
auf den Wert 'true' gesetzt wird.
* Um Codezeilen zu sparen,
wird die verkehrte Logik codiert.
* en:
*
Verify if the inspected character has the value '1'. That means, that
the associated Marker
* ist set to the value 'true'.
*
To avoid lines of code a reverse logic is used.
*/
if
(chrMarkerValue
!=
'1'
)
continue
;
if
(intIndex
== 0)
Marker01
=
true
;
if
(intIndex
== 1)
Marker02
=
true
;
if
(intIndex
== 2)
Marker03
=
true
;
if
(intIndex
== 3)
Marker04
=
true
;
if
(intIndex
== 4)
Marker05
=
true
;
if
(intIndex
== 5)
Marker06
=
true
;
if
(intIndex
== 6)
Marker07
=
true
;
if
(intIndex
== 7)
Marker08
=
true
;
if
(intIndex
== 8)
Marker09
=
true
;
if
(intIndex
== 9)
Marker10
=
true
;
if
(intIndex
== 10)
Marker11
=
true
;
if
(intIndex
== 11)
Marker12
=
true
;
if
(intIndex
== 12)
Marker13
=
true
;
if
(intIndex
== 13)
Marker14
=
true
;
if
(intIndex
== 14)
Marker15
=
true
;
if
(intIndex
== 15)
Marker16
=
true
;
if
(intIndex
== 16)
Marker17
=
true
;
if
(intIndex
== 17)
Marker18
=
true
;
if
(intIndex
== 18)
Marker19
=
true
;
if
(intIndex
== 19)
Marker20
=
true
;
}
}
}
Die Methoden dieser Klasse werden nur von Methoden innerhalb des JavaScout Basis-Systems aufgerufen und sind nicht für eine allgemeine Verwendung gedacht.
Dokument |
Inhalt |
|
|