[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte

Thema: CPYTOIMPF

  1. #1
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.012

    CPYTOIMPF

    Hallo zusammen,

    wir haben folgendes Problem beim CPYTOIMPF. Wir haben eine Datei auf der iSeries mit alphanumerischen Feldern. Es kann bei diesen Feldern allerdings vorkommen, dass sie nur mit numerischen Inhalten gefüllt sind und teilweise führende Nullen haben. Diese Datei lässt sich zwar ganz normal mit CPYTOIMPF übertragen. Jedoch werden die Felder mit numerischen Inhalten beim Öffnen in Excel automatisch in numerische Felder konvertiert. Somit werden auch die führenden Nullen unterdrückt. So ist das allerdings nicht gewünscht. Gibt es eine Möglichkeit diese Konvertierung zu umgehen, sodass die ursprünglichen alphanumerischen Felder auch in Excel als Textfelder erkannt werden ? Man kann das zwar manuell bearbeiten über "Text in Spalten" und dann fest auf "Text" einstellen. Aber es sollte wenn möglich eigentlich automatisch laufen.

    Danke,
    KM

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Das liegt nun mal leider an Excel, dass automatisch nach dem besten Feldtyp analysiert und eingestellt wird. Auf AS/400 kann man absolut nichts dagegen machen.

    Möglicherweise hilft es, bei Char-Feldern ein einzelnes Hochkomma vor den Inhalt zu stellen, so dass Excel diesen Wert als Alpha annimmt.
    Dies muss allerdings schon vor dem CPYTOIMPF erfolgen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.012
    Hallo Fuerchau,

    danke für den Hinweis. Auf diese Idee bin ich auch schon gekommen. Leider fügt Excel dieses Hochkomma mit in die Zelle ein. Seltsamerweise wird das anders gehandhabt als bei der manuellen Eingabe. Aber so ist nun mal Microsoft. Wäre ja auch zu einfach gewesen.

    Gruß,
    KM

  4. #4
    Registriert seit
    Apr 2002
    Beiträge
    792
    Hi,

    ich glaube selbst das '-Zeichen hilft nicht oder? Also ich hab's gerade auch mal versucht (Excel XP) und er zeigt dann z.B. '0001 an. Erst wenn man ein mal in die Bearbeitung der Zelle gegangen ist und neu abspeichert dann ist das ' weg. Es liegt wirklich an der Eigenart von Excel. Vielleicht hilft dir sonst ein Makro weiter.

    mfg

    Sascha

  5. #5
    Registriert seit
    Jun 2001
    Beiträge
    727
    Hier gibt es nur 3 Möglichkeiten (automatisches Einlesen ohne manuellen Eingriff) :

    1. automatischer Importassistent CSV (Datei Öffnen Dialog)
    --> Erkennung Datentyp anhand Dateninhalt der Spalte
    --> Datei muß im CSV-Format vorliegen (Trennzeichen=; und Dezimaltrenner=, bzw. laut Systemeinstellungen Windows !!!)

    2. Öffnen per DDE Dateityp CSV (Dateiverknüpfung über Doppelclick im Dateiexplorer)
    --> Erkennung Datentyp anhand Dateninhalt der Spalte
    --> Datei muß im amerik. CSV-Format vorliegen (Trennzeichen=, und Dezimaltrenner=.)


    3. Importassistent über VB-Makro

    --> Methode Workbook.Opentext
    --> hier kann ich für jedes Feld den Datentyp festlegen

    Der automatische Import funktioniert nur mit der Dateiendung CSV.
    Der Importfunktion ist es übrigens egal ob die Felder in " "
    eingebettet sind oder nicht.
    Der Datentyp wird beim automatischen Import immer anhand des Dateninhalts der Spalte festgelegt.

    Sven

  6. #6
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.012
    Hallo Sven,

    ich weiß nicht was Du mit den ersten beiden Punkten meinst.

    Im "Datei öffnen" Dialog gibt es keinen Punkt "Automatischer Importassistent". Ich kann hier nur den Dateityp "CSV" angeben. Aber dann passiert genau dasselbe wie beim normalen Öffnen. Die Nullen werden unterdrückt.

    Den zweiten Punkt verstehe ich auch nicht. Wenn ich einen Doppelklick auf der Dateiverknüpfung mache, wird die Datei auch mit Nullenunterdrückung geöffnet. Was muß ich da machen ???

    Den dritten Punkt muß ich erst noch ausprobieren.

    Gruß,
    KM

  7. #7
    Registriert seit
    Jul 2001
    Beiträge
    177
    Hallo,

    nur falls auch eine kommerzielle Lösung in Frage kommt:

    mit unserer Software "iExcelGen" ist dieses Problem innerhalb von "Sekunden" erledigt....

    mehr unter http://www.goering.de

    Viele Grüsse

    Andi Göring

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Warum können die Daten nicht direkt mittels "Daten->externe Daten" aus Excel heruntergeladen werden ?
    Dann bleibt die Feldcharacteristik erhalten.

    Ich muss allerdings die Spalte der Abfrage noch als Textfeld formatieren, dann bleibt das auch so, ansonsten wird nach einer Editierung auf numerisch umgeschaltet.

    Die Abfrage läßt sich jederzeit modifizieren und aktualisieren.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  9. #9
    Registriert seit
    Jun 2001
    Beiträge
    727
    Hallo KM,
    habe mich vielleicht unglücklich ausgedrückt.
    Sollt heissen automatische Importfunktion nicht Importassistent, beim DateiÖffnen Dialog.

    Versuch doch mal eine CSV-Datei mit Doppelclick im Explorer in Excel zu öffnen, wenn als Spaltentrenner=; und als Dezimaltrenner, angegeben sind.
    Du hast dann alle Daten in einem Excel-Feld. d.h. die DDE-Methode (die hier benutzt wird) funktionert anders als das Einlesen über den DateiÖffnen Dialog.

    Oder anders die DDE-Methode benötigt immer das amerik. CSV-Format, der DateiÖffnen-Dailog berücksichtigt die Systemeinstellungen von Windows(Systemsteuerung/Ländereinstellungen/Zahlen --> Dezimaltrenner + Listentrenner).

    Unabhängig davon hat das aber keine Auswirkung auf die Erkennung von Datentypen.

    Sven

  10. #10
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.012
    Hallo Sven,

    jetzt habe ich verstanden was Du meinst. Hab gar nicht gewusst, dass Tabellen über den Excel-Explorer anders geöffnet werden, als über den Windows-Explorer. Konnte es aber jetzt nachvollziehen. Wie Du allerdings schon geschrieben hast, ändert das jedoch nichts an der Datentyp-Erkennung. Die Nullen werden weiterhin unterdrückt.

    @GOERING

    Eine kommerzielle Lösung kommt nicht in Frage.

    @Fuerchau

    Ich weiß, es gibt auch andere Lösungen, z.B. die CA-Dateiübertragung. Ich war nur eben mit dem CPYTOIMPF beschäftigt und dachte man kann dieses Problem vielleicht irgendwie lösen.

    Danke nochmals,
    KM

  11. #11
    Registriert seit
    Apr 2002
    Beiträge
    792
    Geändert: Huch, sorry ich hatte den letzten Satz von Sven überlesen Damit ist das hier hinfällig

    Hi,

    also wenn man die CSV-Datei einfach mit dem Doppelklick öffnet, ändert das bei Excel XP auch nichts.

    Datei:

    Spalte1;Spalte2;Spalte3
    ABCDE;FFFFF;ZZZZ;
    00001;00002;0003;

    Es fallen trotzdem die führenden Nullen im dritten Satz weg, da Excel meines Wissens bei dieser Methode alle Felder mit Standard formatiert und da ist es halt so das bei Zahlen die voranstehenden Nullen weggelassen werden.

    mfg

    Sascha

  12. #12
    Registriert seit
    Jun 2002
    Beiträge
    30
    Hallo KM,

    der Importassistent bietet auf der letzten Seite die Möglichkeit, den Datentyp einer Spalte festzulegen. Hier kann man von Standard auf Text umstellen. Damit werden Zahlen auch nicht beim import formatiert.
    Eine andere Möglichkeit bietet die Formatierung einer Spalte. Für das Formatieren wählt man benutzerdefiniert aus und gibt z.B. für PLZ den Wert 00000 an. Damit stellt Excel die Spalte immer mit 5 Stellen (ggf. mit führenden Nullen) dar.

Similar Threads

  1. cpytoimpf die ...
    By malzusrex in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 14-12-06, 17:20
  2. CPYTOIMPF - Leerzeichen am Ende?
    By mott in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 09-10-06, 11:28
  3. CPYTOIMPF Format
    By Muchi in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 03-08-06, 09:41
  4. CPYTOIMPF Ergebnis nicht lesbar
    By SUBUIS in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 09-05-06, 09:36
  5. CPYTOIMPF und CCSID
    By Muchi in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 21-04-06, 13:54

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •