PDA

View Full Version : Führende Nullen im Excel anzeigen CPYTOIMPF



Seiten : [1] 2

boonkelz
16-06-08, 10:25
Hallo
Ich weiss, dass es viele Einträge über csv hier im Forum geht. Aber leider habe ich nichts passendes gefunden, deshalb bitte ich um Eure Hilfe:
Ich habe in einer Datenbankdatei
folgenden Wert:
01000010111 --> das ist ein 11 stelliges Alphafeld.

Wenn ich es ins Excel übertrage, dann wird mir immer die erste Null geschluckt:

1. Hier ist mein Befehl:

CPYTOIMPF FROMFILE(STAMDAT/PCF36P) TOSTMF('/user/firma1.csv') MBROPT(*REPLACE) STMFCODPAG(*PCASCII) RCDDLM(*CRLF) FLDDLM(';') NULLIND(*NO) DECPNT(*PERIOD)

Frage: Was muss ich machen, damit das endlich nach langen Herumprobieren endlich richtig angezeigt wird :mad::mad::mad::mad::mad: ?

Wir haben auch ein Tool im Einsatz, wo man die Dateinbankdatei ins csv konvertiert und hier steht der Wert, wenn ich die csv mit einem Editor öffne richtig drinnen:
"01000010111 "; --> es muss also wirklich im Excel liegen beim Öffnen oder ?

Vielen Dank im Voraus für die Hilfe

Der_Unwissende
16-06-08, 12:08
Das Problem liegt an Excel beim Öffnen von CSV Dateien, Felder die nur numerische Werte enthalten werden als numerisch erkannt und da werden führende Nullen entfernt. Eine Lösung in Excel habe ich dafür nicht gefunden, außer man importiert die Daten nach Excel immer manuell und öffnet die Datei nicht per Doppelklick.

Ich habe mir damit geholfen, dass ich ein Programm geschrieben habe, das *.slk Dateien erzeugt. Bei diesem Importformat gibt es mit führenden Nullen kein Problem.

Fuerchau
16-06-08, 12:57
Um das Feld als Zeichenfeld für Excel auszugeben muss ein Hochkomma vorangestellt werden.
Dies geht leider nicht mit CPYTOIMPF.

Ich helfe mir mittels SQL (QMQRY in OUTFILE) und CPYTOSTMF.

select char(field1) concat ';''' concat digits(numfield) concat ';' ...
from myfile
where ...

boonkelz
16-06-08, 13:02
Hallo
Da Hochkomma habe ich schon einmal mit folgenden Statement in ILE RPG durchgeführt:
PC36OBJGES = x'7D' + %editc(ObFa:'X') usw.

hat leider nichts genützt.

:rolleyes:

Vielen Dank
boonkelz

Fuerchau
16-06-08, 13:17
Bei mir klappt das aber.

Notfalls muss man die Daten in Excel nicht per Doppelklick (bzw. Datei öffnen) bearbeiten sondern mittels 'Daten->Importieren'.
Hier kann man dann per CSV-Analyse die Felder als Zeichenfelder definieren.

Aber am simpelsten gehts doch mittels MS-Query und direktem SQL über ODBC.

WoD
26-11-08, 08:36
Hallo,

Da ich keine Lösung im Forum finde,
hier meine.

Ja Hochkomma vor Feld --> Excel Erkennung als TextFeld.

Ja --> CPYTOIMPF

Z.B. '004711

Jetzt kommt der SBS(Schildbürgerstreich)

Im Excel Unglaublich aber wahr

Suchen '
Ersetzen '


Ergebnis 004711 als TextFeld


Schönen Tag
Dieter Wolff

woodstock99
21-12-09, 09:32
Hallo Miteinander,

ich schreib jetzt hier einfach mal weiter weil es auch mit meinem problem zu tun hat..

warum schneidet der cpytoimpf befehl die führende null bei numerischen werten ab..

also aus 0,00 wird ,00 in der csv datei
oder aus 0,60 wird ,60 und das ist sehr schlecht ..


ich benötige diese führende null aber weil die datei in einen pda eingelesen wird...



weiß jemand des rätsels lösung??
danke

woodstock99
21-12-09, 14:08
weiß keiner was?? evtl nen denkansatz?

Fuerchau
21-12-09, 16:01
Anscheinend nicht.
Ggf. verwendet CPYTOIMPF das DECFMT des Job's ?
Prüf das doch mal.

woodstock99
21-12-09, 16:12
hmmmm. ich komm jetzt nicht ganz mit was du meinst.....
gibt es ein dec format bei denen ich die null vor dem komma abschneide???

anders rum..
gibts ne andere möglichkeit eine csv auf der iseries zu erstellen wo das auch mit den führenden nullen passt..

is doch meiner meinung nach sowieso ein murks von ibm......