[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jun 2007
    Beiträge
    11

    Question Gepackte Numerische Werte im Charakterfeld

    in meiner Datei gibt es ein Feld (8Stellen Character) das numerische gepackte Werte enthät(angeblich 18 Stellen mit 2 Nachkommastellen), dass sieht dann so aus im Query:

    FELD
    ­
    ­
    bd
    a@

    Wie kann ich das entpacken und einen lesbaren Wert daraus machen?

  2. #2
    cbe is offline [professional_User]
    Registriert seit
    May 2005
    Beiträge
    392
    Hallo,

    auf der AS400 heißt gepackt, dass je Byte 2 Ziffern untergebracht wird, sowie 1 halbes Byte für das Vorzeichen.

    18,2 verstehe ich als 16 Vor- und 2 Nachkommastellen, dies wäre gepackt in 10 Byte unterzubringen, also nicht in einem 8-stelligen CHAR.

    Vielleicht meinst Du aber auch Binär?

    Dann ich es mit einer Datenstruktur versuchen, wo ein Binär- und das betreffende Char-Feld überlagert sind.
    Die RPG-Syntax habe ich aber nicht im Kopf.

    Oder ich habe es auch schon gemacht, ein Unterprogramm aufzurufen, wo ich ein char-Feld übergebe und der Eingangsparameter aber numerisch definiert ist. Dann wird die Typprüfung umgangen. (Unschön, würde ich nur als letzte Rettung machen)

    Zuerst aber solltest Du das tatsächliche Format herausfinden.

    Hoffe das hilft Dir.

    Gruß
    Christian

  3. #3
    Registriert seit
    Jun 2007
    Beiträge
    11
    Angeblich ist es ja binär. Aber damit kann ich noch weniger anfangen wie mit gepackt. Was ist denn 18.2 binär?

  4. #4
    cbe is offline [professional_User]
    Registriert seit
    May 2005
    Beiträge
    392
    keine Ahnung, hier könnte ich nur raten. Das sollte aber derjenige sagen können der die Daten liefert.

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Wenn ich mir die Darstellung so betrachte, handlet es sich wohl um eine "intern" beschriebene Datei und mit der kann Query überhaupt nichts anfangen.

    Hier hilft ggf. nur noch SQL:

    Mit "select hex(feld) from file" mal die interne Darstellung prüfen.

    Oder per DSPPFM FILE und F11 auf Hex-Sicht umschalten.

    Wenn man weiß, wie die Daten zu verarzten sind, hilft dann ausschließlich SQL:

    select
    dec(substr(hex(feld), 19, 0) / 100 * case substr(hex(feld), 20, 1) when 'D' then -1 else 1 end
    from myfile
    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

  6. #6
    Registriert seit
    Jul 2005
    Beiträge
    1.053
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Wenn ich mir die Darstellung so betrachte, handlet es sich wohl um eine "intern" beschriebene Datei und mit der kann Query überhaupt nichts anfangen.
    Ist das nicht schonn Antik

    Ich bin zwar erst dabei RPG zu lehrnen aber seit RPG4 werden doch extern beschriebene dateien verwendet, weil die performance und flexibilität besser ist als bei intern beschriebenen.

    Gruß AS400.lehrling

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    DAS würde aber Query erkennen und auch korrekt auswerten.

    Für interne Dateien gabs noch die IDDU-Verzeichnisse, so dass Query über IDDU auch intern beschriebene Dateien auswerten konnte.

    Interne Dateien gibt's meist noch aus Altanwendungen, insbesonders RPGII-Anwendungen (/36?) die halt immer noch laufen.
    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

  8. #8
    Registriert seit
    Jan 2008
    Beiträge
    159

    Smile gepackte daten

    ob dateien intern oder extern definiert sind ist E30 egal, ob die daten gepackt in einem *char feld enthalten sind oder nicht ist egal ebenso für listauswertungen etc. über das e30-dictionary kann unabhängig der DDS und ohne diese zu ändern nach herzenslust mit den unterschiedlichen datenformate/-typen experimentiert werden ohne z.B. einen 5250-Sitzungsfehler zu produzieren

Similar Threads

  1. Trigger - numerische Werte
    By Der_Unwissende in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 27-10-06, 10:49
  2. Numerische Felder in Alfa-Feldgruppe ausgeben
    By dino in forum NEWSboard Drucker
    Antworten: 4
    Letzter Beitrag: 01-09-06, 12:54
  3. select 10 größte Werte je Ordnungsbegriff
    By holly in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 16-05-06, 12:45
  4. gepackte Daten in Streamfile
    By bettina_martin in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 05-04-06, 15:17
  5. LIKEDS / QUALIFIED -> Werte von Datei in Struktur
    By HeiKauf in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 25-10-04, 13:08

Berechtigungen

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