Artikel mit ‘Business Objects’ getagged

BO Konvertierung char in datetime außerhalb des gültigen Bereichs

Montag, 15. März 2010

und schon wieder eine schöne Fehlermeldung:

1
2
3
4
5
Bei der Konvertierung eines char-Datentyps in einen datetime-Datentyp 
liegt der datetime-Wert außerhalb des gültigen Bereichs
 
The conversion of a char data type to a datetime data type 
resulted in an out-of-range datetime value.>.

In der Datenbank waren in dem Feld Datum-Wert mit denen SQL-2005 nicht umgehen konnte wie z.b. 19.05.956

Lösung:

ifthenelse( is_valid_date(DATE, ‘DD/MM/YYYY’) = 1, to_date(DATE, ‘DD/MM/YYYY’), NULL)

BO DI Fault address: 7D4E2366 kernel32.dll

Montag, 15. März 2010

ahh der Business Objects DataIntergrator Designer wollte mich heute echt ärger :(

Da erstelle ich ein paar neue ODBC Verbindungen zu einem ADS Server und füge in einen DataFlow noch ein paar neue Source Tabellen aus den ODBC’s ein und Merge die dann in die Staging Tabelle und auf einmal bekomme ich eine Kryptische Fehlermeldung mit der ich einfach mal nichts anfangen kann O__o

1
2
3
Fehlermeldung (letzten beiden Zeilen):
Exception code: C06D007F
Fault address: 7D4E2366 01:00012366 C:\WINDOWS\syswow64\kernel32.dll

Habe erst mal gedacht ich habe vielleicht keine Berechtigungen auf den Ordner in dem die Datenbank liegen aber da stimmte alles.

Also habe ich nach und nach alle Source Tabellen wieder gelöscht und als ich alle Tabellen die auf die neuen ODBC Verbindungen verwiesen gelöscht hatte ging es auf einmal wieder.

Natürlich habe ich dann die ODBC Verbindungen im ODBC-Manager verglichen aber es war alles gleich :(

Aus einem unerfindlichen Grund dachte ich mir einfach ich schau mir die mal im RegistryEditor an.

Und siehe da die neu angelegten ODBC Verbindungen wurden mit der Version 9.1 des ADS-Treibers angelegt und der scheint bei mir irgendwie Fehler zu verursachen

Lösung:
Den Treiberpfad aus den alten DSN in die neuen kopieren und schon funktioniert das auch ;)

Business Objects Table Comparison mit Bedingung

Mittwoch, 24. Februar 2010

was für ein tolles Problem.
Ich habe versucht mit einem Table Comparison nur bestimmte Datensätze zu löschen.
Das heißt ich wollte in der Vergleichs Tabelle (TableB) eine Bedingung angeben.

Das Problem war ich lade aus einer Tabelle (TableA) Daten von gestern und füge Sie der Haupttabelle (TableB) zu. Durch ein Table Comparison vergleiche ich die beiden Tabellen um zu gelöschte Datensätze zu finden und zu löschen. Nur wenn er nur die Daten von gestern mit allen anderen vergleich dann löscht er den Rest.

1
TableA -> Query -> Table Comparison -> TableB

Lösung:

Also ich habe aus dem 1ten Dataflow den Table Comparison entfernt und einen 2ten Dataflow in den Workflow gebaut.

1ter Dataflow

1
TableA -> Query -> TableB

2ter Dataflow

1
2
3
4
TableA
    -> Query -> Validation       -> Map Operation     -> TableB
                (if NULL Pass)     (Normal to Delete)
TableB

In dem 2ten Dataflow habe ich in dem Query ein Outer Join von TableB zu TableA gemacht. Damit ich alle Datensätze aus TableB bekomme.
In der Validation frage ich ein Feld das aus TableA kommt ab ob es gleich NULL ist.
Wenn ja dann soll es an die Map Operation übergeben werden.
Die Map Operation wandelt alle Normal Eingänge in ein Delete um und schon werden alle gelöschten Datensätze gelöscht.

Google Tags:

Business Objects Table Comparison Detect deleted row(s) with condition
Business Objects Table Comparison gelöschte Datensätze mit bedingung

BO DI Found erroneous expression <>

Dienstag, 16. Februar 2010

Toller Fehler im Business Objects DataIntegrator bzw DataServices

Fehler: “Found erroneous expression <>. Please check its syntax and fix this expression.”

Lösung bei mir: Ich hatte eine Varibale Definiert aber keinem Parameter zugewiesen.

BO mal eine kleine Formel

Mittwoch, 20. Januar 2010
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
ifthenelse(cast(word(PARA_TXT, 2),'varchar(16)')<>'D', ifthenelse(index(cast(word(PARA_TXT, 2),'varchar(16)'),'0',0) is NULL, 
ifthenelse(index(cast(word(PARA_TXT, 2),'varchar(16)'),'EUR',0) is NULL, 
ltrim_blanks(replace_substr(replace_substr(cast(word(PARA_TXT, 2),'varchar(16)'), 'FT', ''), 'TF', ''))||' ', ''), ''), '')||
ifthenelse(cast(word(PARA_TXT, 3),'varchar(16)')<>'D', ifthenelse(index(cast(word(PARA_TXT, 3),'varchar(16)'),'0',0) is NULL, 
ifthenelse(index(cast(word(PARA_TXT, 3),'varchar(16)'),'EUR',0) is NULL, 
ltrim_blanks(replace_substr(replace_substr(cast(word(PARA_TXT, 3),'varchar(16)'), 'FT', ''), 'TF', ''))||' ', ''), ''), '')||
ifthenelse(cast(word(PARA_TXT, 4),'varchar(16)')<>'D', ifthenelse(index(cast(word(PARA_TXT, 4),'varchar(16)'),'0',0) is NULL, 
ifthenelse(index(cast(word(PARA_TXT, 4),'varchar(16)'),'EUR',0) is NULL, 
ltrim_blanks(replace_substr(replace_substr(cast(word(PARA_TXT, 4),'varchar(16)'), 'FT', ''), 'TF', ''))||' ', ''), ''), '')||
ifthenelse(cast(word(PARA_TXT, 5),'varchar(16)')<>'D', ifthenelse(index(cast(word(PARA_TXT, 5),'varchar(16)'),'0',0) is NULL, 
ifthenelse(index(cast(word(PARA_TXT, 5),'varchar(16)'),'EUR',0) is NULL, 
ltrim_blanks(replace_substr(replace_substr(cast(word(PARA_TXT, 5),'varchar(16)'), 'FT', ''), 'TF', ''))||' ', ''), ''), '')||
ifthenelse(cast(word(PARA_TXT, 6),'varchar(16)')<>'D', ifthenelse(index(cast(word(PARA_TXT, 6),'varchar(16)'),'0',0) is NULL, 
ifthenelse(index(cast(word(PARA_TXT, 6),'varchar(16)'),'EUR',0) is NULL, 
ltrim_blanks(replace_substr(replace_substr(cast(word(PARA_TXT, 6),'varchar(16)'), 'FT', ''), 'TF', ''))||' ', ''), ''), '')||
ifthenelse(cast(word(PARA_TXT, 7),'varchar(16)')<>'D', ifthenelse(index(cast(word(PARA_TXT, 7),'varchar(16)'),'0',0) is NULL, 
ifthenelse(index(cast(word(PARA_TXT, 7),'varchar(16)'),'EUR',0) is NULL, 
ltrim_blanks(replace_substr(replace_substr(cast(word(PARA_TXT, 7),'varchar(16)'), 'FT', ''), 'TF', ''))||' ', ''), ''), '')

So macht es doch spaß Daten aus anderen System zu holen.
Wenn die die Daten schon schön falsch abspeichern *Argh*

Windows 7 Business Objects Webi AD Login/Anmeldung

Dienstag, 24. November 2009

Ich habe ja meinen PC jetzt auf Windows 7 umgestellt. Und eigentlich geht auch alles wunderbar kann mich eigentlich nicht beklagen.
Nur die Business Objects Programm wollten sich nicht so ganz fügen.

Man konnte sich zwar noch anmelden aber nicht mehr über die AD-Authentifizierung :(

Dann kam immer im WEBI immer die Meldung: Es wird kein Central Management Server ausgeführt

Was mir natürlich nichts gebracht hat.

Aber das konnte ich ja nicht auf mir sitzen lassen und habe mal eine wenig gesucht konnte aber im Internet so nichts über das Thema finden.
Also habe ich einfach mal einen anderen Weg eingeschlagen.

Da ich schon mal was davon gelesen habe das Microsoft bei Windows 7 die Kerberos Verschlüsslung geändert hat habe ich ein wenig in die Richtung gesucht.
Und bin auch fündig geworden.

Es sieht so aus das Windows 7 nur noch die neuen Verschlüsslungen benutzt also AES oder RC4 aber nicht mehr das alte DES.

Das Problem ist das Business Objects Webi nur die DES Verschlüsslung benutzt und es deswegen zu einer Abweisung des Login kommt.

Aber hier die Lösung:

(weiterlesen…)

BO Data Integrator 2 Felder in 1 Feld mappen

Mittwoch, 08. April 2009

Das leben kann schon mal gemein sein :(

Ich versuche schon seit Tagen in dem Super Tollen BO (Business Objects) Data Integrator ein paar Tabellen einzulesen. Nagut einlesen bekomme ich auch hin und kranke Formel schreiben klappt auch und ich habe auch keine Fehler bekommen. Bis letztens!

Ich habe versucht 2 Felder aus der Quell-Tabelle in 1 Felder der Ziel-Tabelle zu schreiben. Aber ich habe immer einen Fehler bekommen.
Ich habe die Üblichen “Operatoren” genommen wie & oder + aber geklappt hat es nicht. Bei + kam kein Fehler mehr, aber ich hatte auch kein Text in der Ziel-Tabelle. :(

Habe mich heute sogar in ein Forum gepostet weil ich so frustriert war.

Habe aber dann nach ein paar anderen Sachen in dem Forum gesucht und nebenbei die Lösung gefunden.

Lösung:

Man muss einfach zwischen die beiden Felder || machen und schon gehts. Da kommt ja mal jeder drauf oder?

*ahhhhhh*