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

Thema: char to num

Hybrid View

  1. #1
    Registriert seit
    Aug 2001
    Beiträge
    309

    char to num

    Hallo,

    habe folgendes Problem,

    Habe ein Alphafeld "WNR" welches 7 Zeichen lang sein kann.

    In diesem Feld kann sowohl z.B. 'ABCD...' o. '1234...' stehen

    Ist es möglich dieses Feld, egal ob mit alpha oder num. Zeichen gefüllt, so in ein numerisches Feld zu übertragen und anschließend in eine Datei auszugeben, daß ich anschließend einen eindeutigen Sortierschlüssel bekomme?

    z.B.:
    ABCD...
    BBBB....
    XYZ....
    23
    89
    567
    1234567

    oder:
    23
    89
    567
    1234567
    ABCD...
    BBBB....
    XYZ....


    (atoi/atof funkt nicht, da ja in diesem Feld "WNR" auch solche Zeichen 'ABCD...' stehen können, und ich dann im neuen numerischen Feld nur '0000000' stehen habe!)

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Der RPG-Befehl MOVE ersetzt Zeichen durch Ziffern !
    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
    Registriert seit
    Aug 2001
    Beiträge
    309
    ups,

    sorry, ich vergaß zu erwähnen, daß das neue Feld ein "Komma"-Feld ist

    also

    -> WNR = 7a
    -> NeuesFld = 9,2

    wenn ich das WNR-Feld mit "MOVE" übertragen würde, dann würd ich immer einen "Dezimaldatenfehler" bekommen

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Nein eben nicht !
    Im RPG (nicht ILE!) ersetzt der MOVE/MOVEL alle Buchstaben durch Zahlen indem einfach die rechte Tetrade (X'F0F1F2C0C1C2...') als Ziffer interpretiert wird, Hexwerte 'xA' - 'xF' werden dann zu "0". Das Vorzeichen bestimmt dann die linke Tetrade des letzten Zeichens.
    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

  5. #5
    Registriert seit
    Aug 2001
    Beiträge
    309
    es ist aber ein ILE-Programm, da ich z.B. an anderer Positionen die atoi/atof Funktionen aus C-Brauch

  6. #6
    Registriert seit
    Apr 2005
    Beiträge
    385
    @Furchau
    Das kann nicht so stmmen, denn wenn Blanks enthalten sind, bekomme ich immer einen Dezimaldatenfehler. Welche Compileroption mus man denn mit angeben, damit dieses klappt?

    Ich hatte nämlich mal ein ähnliches Problem (alpha in Numfelder schieben) und wenn ein Blank enthalten war, gab es den Dezimaldatenfehler.

  7. #7
    Registriert seit
    May 2004
    Beiträge
    470
    Zitat Zitat von muadeep
    ups,

    sorry, ich vergaß zu erwähnen, daß das neue Feld ein "Komma"-Feld ist

    also

    -> WNR = 7a
    -> NeuesFld = 9,2

    wenn ich das WNR-Feld mit "MOVE" übertragen würde, dann würd ich immer einen "Dezimaldatenfehler" bekommen
    Wäre es vielleicht möglich den genaueren Hintergrund zu erläutern. Es ist mir absolut unverständlich für was man so was braucht ? Ein siebenstelliges Characterfeld das nicht nur Ziffern beinhaltet in ein numerisches Feld mit Nachkommastellen zu übertragen und dann auch noch zu erwarten dass da kein Müll drin steht und den Müll dann auch noch in die DB zu pressen

  8. #8
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Hallo muadeep!
    Zitat Zitat von muadeep
    Ist es möglich dieses Feld, egal ob mit alpha oder num. Zeichen gefüllt, so in ein numerisches Feld zu übertragen und anschließend in eine Datei auszugeben, daß ich anschließend einen eindeutigen Sortierschlüssel bekomme?
    Warum nimmst du nicht das alfanumerische Feld selbst als eindeutigen Sortierschlüssel?

  9. #9
    Registriert seit
    Aug 2001
    Beiträge
    309
    zu Pikachu:

    weil ich dadurch eine andere Sortierfolge bekomme

    anstelle von:
    23
    23
    89
    567
    1234567

    ABCD...
    BBBB....
    XYZ....

    würde die Sortierfolge dann so ausehen:
    ABCD...
    BBBB....
    XYZ....
    1234567
    23
    567
    89

  10. #10
    Registriert seit
    Jan 2003
    Beiträge
    759
    Hallo,

    das könnte man mit einem zusätzlichen Schlüsselfeld lösen:

    0 23
    0 89
    0 567
    0 1234567
    1 ABCD...
    1 BBBB....
    1 XYZ....

    0=WNR numerisch (TESTN)
    1=WNR alphanumerisch

    Gruß,
    Robert

  11. #11
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Zitat Zitat von RobertMack
    Hallo,

    das könnte man mit einem zusätzlichen Schlüsselfeld lösen:

    0 23
    0 89
    0 567
    0 1234567
    1 ABCD...
    1 BBBB....
    1 XYZ....

    0=WNR numerisch (TESTN)
    1=WNR alphanumerisch

    Gruß,
    Robert
    Das funktioniert aber nur, wenn die Einträge entweder nur aus Zahlen oder nur aus Buchstaben bestehen.

    Außerdem sollte man mit TESTN vorsichtig sein, da die Buchstaben A-R auch als "numerisch" angesehen werden. Der Grund hierfür liegt darin, dass das erste Halbbyte, C, D oder F enthält und das zweite Halbbyte eine Ziffer zwischen 0 und 9 beinhaltet.
    (F/C=Positive Zahl, D=Negative Zahl)

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  12. #12
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Hallo muadeep!

    Wie soll denn die Reihenfolge der Datensätze im Detail genau aussehen?

    Viele Grüße
    Jürgen

Similar Threads

  1. fehlende DDS Sourcen: disassembler?
    By emax in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 06-10-06, 11:01
  2. HTTP Server nach Releasewechsel
    By DEVJO in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 22-03-05, 09:47
  3. Embedded SQL - Datenbankoptionen in VARPG
    By woki in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 13-04-04, 12:09
  4. SNA-Server
    By Andreas Herzfeldt in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 08-04-04, 13:57
  5. Java-Methoden und RPG Hilfe!!!!!!!
    By Nasenbär in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 22-05-03, 08:56

Berechtigungen

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