Zum Inhalt springen

simsalabim

Mitglieder
  • Gesamte Inhalte

    30
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von simsalabim

  1. Hallo, ich habe ein kleines problem, ich muss zwei Werte voneinander abziehen. Es handelt sich hierbei um zwei Datumswerte ( datenbank oracle, Inhalt Systimestamp) Angezeigt wird mir in der DB nur das jeweilige Datum Beispiel 21.07.09. Wie kann ich es erreichen, dass mir in der DB auch die Stunden minuten und sekunden angezeigt werden, bzw. was muss ich in einem Statement tun, damit die Differenz zwischen den beiden Werten eingetragen wird. Ich mache zuerst einen Insert auf die tabelle, wo ich in das startfeld das systimestamp eintrage. Anschließend folgt ein update auf die tabelle. In diesem Update möchte ich auch die Differenz berechnen. wer kann mir helfen danke
  2. Hallo, ja das hört sich gut an. Wei mjuss ich den den jetzt einbauen. Derzeit schaut das jetzt so aus. Leider werden wie gesagt alle Cubes gleichzeitig ausgeführt Sub process_cubes() On Error Resume Next Set WshShell = Wscript.CreateObject("Wscript.Shell") 'Erstellung des Objektes wscript Set oexec = WshShell.runSet oexec = WshShell.run("D:\dbase\cubes\aktualisiere_fakten.bat") protokoll logfile, oexec.stderr.readall protokoll logfile, "Auftrag Fakten Würfel erstellt" Set oexec = WshShell.run("D:\dbase\cubes\Fakturen.bat") protokoll logfile, oexec.stderr.readall protokoll logfile, " Fakturen Würfel erstellt" End Sub Wo und wie muss der Wuellcode denn jetzt eingabut werden? Muss ich das in einer Schleife machen, indem ich auf einen stqatus abfrage. Leider weiß ich nicht genau wie ich so etwas einbaue. danke
  3. Hallo, ich habe ein kleines problem bei dem Ihr mir helfen könnt. In meinem VBS Script wird eine proceure aufgerufen. Sub Start_datenwürfel() In dieser proceur möchte ich eine bestimmte batch aufrufen, die einen Datenwürfel refrehst. Die batchdatei steht bereits und läuft auch fehlerfrei. Nun meine Frage: Ich habe c.a. 10 Würfelk zu refreshen, die alle durch eine Batcdatei aufgerufen werden. Wie kann ich erreichen, das diese nacheinander abgearbeitet werden, ohne gleichzeitiog zu laufen. Aufruf in der prozedur: Set oexec = WshShell.run("D:\dbase\cubes\aktualisiere_fakten.bat") Set oexec = WshShell.run("D:\dbase\cubes\aktualisiere_auftraege.bat") usw. Im Klartext heißt das Zuerst soll der erste cube refresht werden. Ist er fretgi dann der nächste usw. Dies sollte hierüber möglich sein. Wer weiß ne lösung danke
  4. Hallo, ich habe ein großes problem bei dem ich eure Hilfe brauche. Also ich verarbeite derzeit it dem SQL Loader 48 datein in eine Stage datenbank, von woaus sie dort dannn weiterverarbeitet werden. In diese Stage werden sowohl Stamm als uahc Bewegungsdaten geladen. Diese werden imme rmit einem Replace geladen beispiel: LOAD DATA CHARACTERSET UTF8 INFILE 'D:\data\TYPES.csv' REPLACE INTO TABLE YPE FIELDS TERMINATED BY '|' TRAILING NULLCOLS ( KART, TEXT, GU ) Nun habe ich aber ein Problem, wenn mir eine datein geliefert wird die keinen datensatz enthält. Dies ist bei den stammdaten sehr problematisch, bei den bewegungsdaten kann das schon mal vorkommen, ist auch nicht schlimm. Wie muss ich das script denn ändern, wenn der Loader festellt, dass er keine Daten zu importieren hat? Bei Replace wird die Datei ja immer gelöscht und die datensätze eingefügt. kann ich hier ein Rollback machen, wenn er keine Datensätze geladen hat. danke
  5. Hallo, ich habe jetzt folgende Lösung versucht update (select * from data.fakturapositionen , data.fakturakoepfe where fkop_id = fpos_fkop_id) set fpos_sparte = (Select Sparte_neu from data.mig_sparte where fkop_vkorg = vkorg_alt and fkop_vertriebsweg = vertriebsweg_alt and fpos_sparte = sparte_alt); So müsste es auch gehen
  6. Hallo, vielen Dank für deine antwort. Also das fertige Skript mit meinen tabelle schaut so aus: update data.fakturapositionen set fpos_sparte=(Select Sparte_neu from data.fakturakoepfe fk, dawa.fakturapositionen fp, dawa.mig_sparte ms where fk.fkop_id = fp.fpos_fkop_id and fk.fkop_vkorg = ms.vkorg_alt and fk.fkop_vertriebsweg = ms.vertriebsweg_alt and fp.fpos_sparte = ms.sparte_alt); Jetzt habe ich nur das problem, dass der Select funktioniert, der Update aber mit folgender fehlermeldung abbricht: Unterabfrage für eine zeile liefert meher als eine Zeile Was mache ich falsch
  7. Hallo, ich bin gerade dabei einige Tabellen zu migrieren. Bisher lief alles ganz gut nach plan, aber heute bin ich auf folgendes problem gestossen, wo ich die Tabellen nicht einfach mit einem neuen Wert fpllen kann. Vielleicht kann mir jemand von euch bei der Syntax helfen. Also es geht um folgendes: gegeben ist eine Faktendatentabelle. In dieser Faktendatentabelle gibt es ein feld Sparte. Diese Sparte muss nun mit einem neuen Wert upgedatet werden. Nun das Problem. Das feld Sparte ist in abhängigkeit mit zwei weiteren felder zu sehen, dem feld Verkaufsorganisation und dem vertriebsweg. Diese felder gibt es dort aber nicht. Beispiel In der Faktentabelle gibt es die Sparte 03 Die Mappingtabelle schaut so aus VKORG VKWEG SPARTE_ALT SPARTE_neu 1600 23 3 400 2100 21 3 800 Nun kann ich ja nicht einfach den neuen Wert nehmen, da es zum einen ja zwei möglichkeiten gibt, und ich somit auch gar keine eindeutige beziehung herstellen kann. Meine Nächste Idee war, dieses über den Fremdschlüssel zu den Kopfdaten herszustellen. Denn dort gibt es wieder die felder VKOR, VKWEg, Sparte. Nur leider geht das auch nicht, da im Kopf abweichende Sparten gegenüber den Positionen stehen können. Wie schaffe ich , folgendes Skript update data.fakturapositionen set fpos_sparte = (select fkop_sparte from data.fakturakoepfe where fakturakoepfe.fkop_id = fakturapositionen.fpos_fkop_id) so zu erweiteren, dass bei Update die Felder VKORG und Vetriebsweg aus dem Kopf herangezogen werden, um die Sparte in den Positionen upzudaten. Wenn ich etwas zu kompliziert geschrieben habe, kann ichdas im verlauf vielleicht nochmal verdeutlichen. danke
  8. Hallo, ich habe folgendes problem. Aufgrund einer bevorstehenden Migration, muss ich die gesamte Datenbank und Ihre darin befindlichen Tabellen nach bestimmten Spaltennamen untersuchen, die mirgriert werden müssen. Da es sich aber um 200 Tabellen handelt, die mitunter 30 Spalten haben, gestaltet sich die suche etwas müßig. daher meine Frage: Gibt es für Oracle einen befehl, der mir alle Tabelle und die dazugehörigen Spalten ausgibt. Dies kann ich dann ja super ins excel kopieren und von dort weiterananlysieren, ohne je Tabelle zu öffnen und dort nachzusehen. danke.
  9. Hallo, Neuer Tag neues problem. Also ich habe ein SQL Script, in welchem ich weitere SQL Skripte aufrufe. Nun möchte ich folgendes erreichen. NAch jedem SQL skript soll das ergebnis in ein Logfile geschrieben werden. In einer Batchdatei funktioniert das ganz einfach, wie geht das bei einem SQL Statement?? Beispiel Batchdatei @D:\production\kunden.sql >D:\production\log\kunden.log usw Wie geht das ganze, wenn ich als Grundlage eine SQL Dateio habe Danke
  10. Hallo, verstehe ich das richtig: also mein Hauptscript heißt Laden_Stammdaten, welches mittels VBS aufgerufen wird. In meinem SQL Skript rufen ich jetzt die anderen wiefolgt auf: sqlplus connectionstring/password @D:\production\script\admin\Kunden.sql sqlplus connectionstring/password @D:\production\script\admin\artikel.sql usw. ????
  11. Hallo, ich habe folgendes Problem. Ich habe ein kleines VBS Skript, welches im folgenden ein Ssql Skript aufruft. Dieses SQL Script soll jetzt im folgende weitere SQL Skripte ausführen. Beispiel: Aufruf Laden_Stammdaten.sql In diesem SQL Script Laden_Stammdaten befinden sich jetzt folgende scripte Laden_kunden.sql Laden_Artikel.sql .... .... Wichtig noch es handelt sich um eine Oracle Datenbank, die SQL Scripte sollen mittels sql Plus aufgerufen werden. Danke
  12. So, nun ist alles vollbarcht. Oracle macht doch alles selbstständig. Kommt ein wert im Varcharformat, wandelt dies Oracle selbstständig um. Eine Sache haeb ich allerdings noch auf dem herzen, ich wandle jetzt als das GTextfeld in eine Zahl um, damit die Zahl auch den Deutschen Konventionen entspricht habe ich zusätzlich die Funktionen replace eingesetzt, die mir den Punkt durch ein Komma ersetzt. Leider schneidet er nun die letzten beiden Stellen ab, bzw. läßt die Kommas weg, wenn die Nachkommastellen 00 betragen. Kann ich hier noch was einstellen, das er mir auf jeden Fall die Nachkommastellen anzeigt? Danke
  13. Hallo ihr, die Lösung ist doch recht einfach. Oracle ist es wohl egal was ankommt und wandelt die Daten automatsich um. Es reicht wohl ein einfaches to_number(Feldname) und der Käse ist gegessen. Das einzigste was mir jetzt noch fehlt ist, dass der Punkt durch ein Komma ersetzt wird.
  14. Hallo, danke für die Antwort. Zunächst möchte ich sagen, dass es in diesem Feld keine Alphanumerischen Daten gibt, wobei das feld allerdings ja als varchar deklariert ist. Es sind nur Werte darin, die mit einem Punkt getrennt sind. Gibt es wirtklich nichts einfacheres, diese werte in einen numerischen umzuwandeln? Oder hilft das, wenn ich mir die werte mit einem Komma trennen lasse? Danke
  15. Hallo, wenn ich nur den Select ausführe erhalte ich folgende fehlermeldung: Error starting at line 1 in command: select TO_NUMBER (XMLQUERY ('number($X)'PASSING Menge AS x RETURNING CONTENT)) AS Neue_MENGE from stage.bom Error at Command Line:2 Column:45 Error report: SQL Error: ORA-00932: Inkonsistente Datentypen: - erwartet, - erhalten 00932. 00000 - "inconsistent datatypes: expected %s got %s" *Cause: *Action: Gruß
  16. Hallo, ich glaube es sit die version Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production Hilft das weiter Gruß
  17. Hallo und danke vielmals Natürlich hast du recht, meine Tabelle heißt natürlich nicht so. danke schön, war ein Tippfehler. Habe allerdings eine Fehlermeldung erhalten: Error at Command Line:22 Column:45 Error report: SQL Error: ORA-00932: Inkonsistente Datentypen: - erwartet, - erhalten 00932. 00000 - "inconsistent datatypes: expected %s got %s" *Cause: *Action: Das ist genau die wichtige zeile, ich habe sie mal farblich markiert.
  18. Hi, leide rist ,mir immer noch nicht klar wie das funktionieren soll. Also mein insertskript sieht wiefolgt aus insert into ARTIKELBEZIEHUNGEN ( PBEZ_PAR_PART_ID, PBEZ_PART_ID, PBEZ_TYP_ID, PBEZ_WERT, PBEZ_BESCHR, PBEZ_WERK_ID, PBEZ_ANZ_1, PBEZ_ANZ_2, PBEZ_STATUS, PBEZ_SYSTEM ) select MATNR, IDNRK, STLAL, MATNR, MATNR, WERKS, SORTF, MENGE, 'A', 'SAP' from Artikelbez.; commit; Im Feld Menge steht halt jetzt z.b. 99.00 oder 1234.00 Wie bekomme ich das jetzt relative infach umgewandelt? Kannst du mir die codezeile evtl. anpassen? danke danke
  19. Hallo, ist das so richtig? Habe deine Ändeurng übersehen. Hm das sieht mir aber nach einem großen konstrukt aus. ich brauch das eher recht einfach. Ich habe wie gesagt eine Tabelle, aus der ich täglich die Daten von a nach b schaufeln muß. Leider bekommen wir die Daten nur im String format geliefert, müssen diese aber zur Weiteren verarbeitung aber in eine zahl umwandeln. Gehrt das nicht einfacher?
  20. Hallo, ich habe ein kleines Problem, und finde dazu im Netz leider keine passende Lösung. Also ich habe eine Tabelle, die enthält 5 Attribute. alle attribute sind im Format VARCHAR2(2000 BYTE). Achso, es handelt sich um eine Oracle Datenbank. In dieser Tabelle gibt es ein Feld Menge, welöches mit Werten wiefolgt gefüllt ist: Beispiel: 9999.000 9.916 Diese Werte sollen jetzt in ein andere Tabelle gesinserted werden. Deises Feld hat allerdings den Datentyp number (10,2). Wie bekomme ich bitte dieses Feld jetzt konvertiert. Alles was ich bisher probiert hat ist fehlgeschlagen. Ich kenn zwar die Funktion to_number, allerdings weiß ich sie nicht recht anzuwenden. Wenn ich die Funktion so verwende funbktioniert sie nicht. Beispiel: to_number(Menge) oder to_number('Menge') Fehlt mir hier ein parameter, oder geht das so in der Form gar nicht Danke
  21. Hallo nochmal, ergänzend zu meinem vorher erläuterten Problem habe ich mich mal drangestetzt und versucht die Batchprozedur zu schreiben. leider weiß ich nicht, ob das alles so richtig ist. Was sagt iht dazu Skript OPEN <FTPSERVER> USER <USERNAME> <PASSWORT> BIN CD </VERZEICHNIS/AUF/DEM/SERVER/WO/DIEDATEIEN/LIEGEB> dir *.finished /B /ON >LADELISTE.txt FOR /f "Delims=." %%i In (LADELISTE.txt) Do ( ftp -v -i mget.%%i.*.*) QUIT Da ich mir alles aus dem Netz zusammengesucht habe, kann es sein, dass das alles Vogelwild ist. ich dachte mir das so. 1. Connection wird hergestellt 2. Es wird in das Verzeichnis gewechselt, wo die Dateien liegen. 3. Es werden alle *.finished Dateien in eine Datei geschrieben 4. Mittels einer Schleife wird dann für jede Datei aus der Ladeliste die jeweiligen enstprechenden Dateien mittels mget geladen.) geht das so???? danke
  22. Hallo zusammen, vielen Dank für die Rege Beteiligung. Also um das Problem nochmals zu schildern hole ich etwas aus. wir bekommen täglich, vielleicht auch mehrmals täglich Dateien im csv Format geliefert. Der Prozess, der die csv Dateien erstellt legt zuerst eine timestamp.start an, dann kommen die eigentlichen Dateien im Format timestamp_dateiname.csv und zum Schluß die Timestamp .finished. Wichtig ist, dass es immer die gleiche Anzahl an Dateien sind, die wir geliefert bekommen. Als kennzeichen für uns, dass wir starten können ist die .finished datei. Hier müssen wir nun den Timestamp auslesen und alle dazugehörenden Dateien laden. ich hoffe ich habe das einigermaßen verständlich ausgedrückt. ich bin ja kein Programmierer , aber gelegentlich werde ich halt mal mit solchen Aufgaben versorgt. Vielen dank für eure Mühe. P.S Um auf die Frage von allesweg zu antworten: Nein, es befinden sich nur die Dateien darin, die bereitgestellt, aber noch nicht geladen wurden.
  23. Hallo, ich habe eine etwas knifflige Aufgabe zu lösen, bei ich momentan einen Totalen blackout habe. Also es geht um folgendes. Ich muß mittels batchdatei eine FTP connection aufbauen, da geht ja noch einigermaßen. Dann muß ich Dateien laden, und diese auf meinen server ziehen, das geht auch noch, leider ist hier aber die schwierigkeit versteckt. ich darf nur bestimmte Dateien laden. Folgendes beispiel. Täglich bekommen wir eine bestimmte anzahl an dateien bereitgestellt. Die dateien haben eins gemeinsam, bämlich den gleichen Timestamp als präfix. Durch eine bestimmte datei kann ich auch erkennen, ob die bereitstellung der dateien abgeschlossen wurde. Diese hat den gleichen präfix und die endung .finished. Wie kann ihc jetzt mittles batch die zur .finished Datei gehörenden dateien abgereifeb und laden. Beispiel: 20090420155016.start 20090420155016_Kunden.csv 20090420155016_artikel.csv 20090420155016_verkauf.csv 20090420155016_einkauf.csv 20090420155016.finished 20090420165016.start 20090420165016_verkauf.csv 20090420165016_einkauf.csv Wie Ihr in dem besipiel sehen könnt, ist die Bereiststellung für die Dateien mit dem Timestamp 20090420155016 abgeschlossen, und die bereitstellung für die Dateien mit dem timestamp 20090420165016 hat begonnen. Die ersteren muß ich jetzt laden. Wie muss ich hier vorgehen, da ich von Batchprogrammierung keinen blassen schimmer habe. Es soll dann auch so sein, da immer die Jüngsten dateien geladen werden, da es ja mal sein kann, das der ladeprozess mal ausgesetzt wird. danke
  24. Hallo, da Du mit vielen Kunden zu tun hast, empfehle ich Dir auf eine saubere und ordentlich klein´dung zu achten. Du repräsentierst Dich und Deine Firma, vergiss das nicht. Natürlich halte ich es auch für unangebracht mit anzug und Krawatte zu erscheinen, wenn deine Kollegen in Jeans und t shirt kommen. Die nächste Frage ist natürlich auch, was du beim Kunden machst. verlegst du Kable, oder stelltst du server auf, oder hälst du z.B auch vor vor den Kunden Vorträge ab. Das äußere Erscheinungsbild ist heute wichtiger den je. Wie du dich dann in der Firma kleidest ist dann wohl egal, solange du kein Kundenkontakt hast. Und noch was zum Schluß. Ich bin selbst Consultant und mindestens 2 mal die Woche beim Kunden. Ich trete dort immer mit schwarzer Hose, Hemd (lang oder kurz) und Krawatte auf. Je nachdem wie mein gegenüber gekleidet ist, oder je nach Temperatur im Raum, führe ich dann selbstständig einen Anzugserleichterung durch, max. Krawatte aus.
  25. Also noch ein allerletztes Mal Kostenerstattung eines Vorstellungsgespräches Grundsätzlich hat der Arbeitgeber auch ohne besondere Vereinbarung die Anreise- und sonstigen Vorstellungskosten des Bewerbers zu tragen, vorausgesetzt er hat den Bewerber aufgefordert, sich persönlich in dem Unternehmen vorzustellen. Es ist auch nicht erforderlich, dass diese Aufforderung ausdrücklich vom Arbeitgeber ausgesprochen wurde. Es ist jedoch schon ausreichend, wenn der Bewerber sich mit Wissen und Wollen des Arbeitgebers vorstellt, auch wenn die Initiative zur Vorstellung vom dem Bewerber ausgegangen ist. Wenn der Bewerber sich unaufgefordert, also spontan vorstellt, entfällt für den Arbeitgeber die Verpflichtung zur Übernahme Anreise- und Vorstellungskosten des Bewerbers. Der Arbeitgeber kann, bei einer Aufforderung zur persönlichen Vorstellung des Bewerbers die Verpflichtung zur Erstattung der Vorstellungskosten lediglich durch ausdrücklichen vorherigen Hinweis ausschließen. Es gilt jedoch eine Besonderheit für Arbeitsuchende, bei denen die Vorstellungskosten von der Agentur für Arbeit übernommen werden. Da der Bewerber in einem solchen Fall keinen Schaden hat, entfällt auch der Anspruch gegen den Arbeitgeber. Wer arbeitslos ist und Leistungen von der Agentur für Arbeit erhält, sollte also vorher mit dieser abklären, ob die Vorstellungskosten für die Bewerbung übernommen werden. Alle vorgenannten Grundsätze gelten unabhängig davon, ob aufgrund der Vorstellung des Bewerbers ein Arbeitsverhältnis zustande gekommen ist oder nicht! Siehe hierzu auch: Vorstellungskosten .:. Lexikon von Juraforum.de

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...