[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Oct 2015
    Beiträge
    109
    Mein letztendliches Ziel ist es, eine packed Zahl auszulesen.
    Code:
    D $$_Var        S            100A   Based(Pointereins)
    D Feld5          S                5P 0 Based(pointer)
    D AFeld5        S                3A
    Code:
    c                   eval      AFeld5 =  %subst($$_Var:1:byteleng)
    c                   eval      pointer = %addr(AFeld5)
    So bekomme ich den Wert in mein Feld5. Das funktioniert auch super.
    Aber ich würde mir gerne sparen, für jede Größe ein einzelnes Feld zu definieren.

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... wenn man denn meint das so machen zu wollen, dann würde ich das in eine Subprocedure huddle2packed auslagern, die kriegt einen Parameter huddle 32 alfa varying und gibt result als 63 packed zurück. In der procedure braucht man nur den huddle per memcopy an die richtige Stelle zu kopieren (%length beachten!) und mit return zurückgeben.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #3
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Mal was als Diskussionsgrundlage ...

    PHP-Code:
    D                 DS                                                   
    DAFELD                          32A                                    
    DFELD                           63P 0 OVERLAY
    (AFELD)                   
    DVAR              S            100A   INZ(X'123456789D1234')           
    DSTART            S              3P 0 INZ(3)                           
    DDIGITS           S              3P 0 INZ(5)                           
    DLEN              S              3P 0 INZ                              
    DMSG              S             52A   INZ                              
    D                                                                      
    C     DIGITS        ADD       1             LEN                        
    C                   DIV
    (H)    2             LEN                        
    C                   MOVEL     
    *ALLX'00'     AFELD                      
    C                   
    EVAL      %SUBST(AFELD:%SIZE(AFELD)-LEN+1:LEN) =   
    C                             %SUBST(VAR:START:LEN)                    
    C                   EVAL      MSG = %CHAR(FELD)                        
    C     MSG           DSPLY     '*REQUESTER'                             
    C                   SETON                                        LR 

Similar Threads

  1. Gepackte Felder in RPG II (RPG36)
    By TSchuler in forum NEWSboard Programmierung
    Antworten: 16
    Letzter Beitrag: 28-09-16, 07:27
  2. Felder in der WSDL-Datei
    By svit in forum NEWSboard Programmierung
    Antworten: 0
    Letzter Beitrag: 06-07-15, 10:44
  3. VARCHAR Felder(UTF-8) und ILE RPG
    By uditzen in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 26-06-15, 10:03
  4. NULL Felder / CPYTOIMPF
    By cicero22 in forum IBM i Hauptforum
    Antworten: 12
    Letzter Beitrag: 03-09-14, 18:45
  5. SQL Felder dynamisch
    By Harald.Wallukat in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 16-12-02, 20:37

Berechtigungen

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