[NEWSboard IBMi Forum]

Thema: Variablen

  1. #1
    Registriert seit
    Jan 2006
    Beiträge
    111

    Variablen

    Moin zusammen,

    anbei noch mal ne Frage:

    Code:
     
    D VAR_A             S              2A
    D VAR_X             S              2A

    Variable VAR_A hat den Wert '31'.

    Ziel ist es nun, den Wert wie untenstehend zuzuweisen:

    Code:
     
    EVAL      VAR_X = x'31'

    Wie bekomme ich das mit RPG hin ?


    Verzweifelte Grüße
    Bratmaxxe

  2. #2
    Registriert seit
    Aug 2006
    Beiträge
    42
    versuchs mal damit:

    eval var_x = 'x''' + var_a + ''''

    müsste funktionieren, denke ich.

    mfg Chris

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    DAS ist ja sowas von falsch

    Um aus einem expandierten Hexwert (hier c'31' = x'F3F1') einen Hexwert zu erhalten (das Ziel hat dann nur 1 Byte), muss man eine C-Funktion bemühen (CVTCH) oder das Ganze in einer Schleife mit Tabelle selber umrechnen.
    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

  4. #4
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    Probier's mal mit der C-Funktion cvtch.

    Gruß,
    KM

  5. #5
    Registriert seit
    Jan 2006
    Beiträge
    111
    Hallo Chris,

    danke für Deinen Beitrag.

    Jetzt steht im String zwar das was ich brauche, jedoch als String und nicht als Hex-Variable - das ist ja genau mein Problem....

    Gruß
    Bratmaxxe

  6. #6
    Registriert seit
    Jan 2006
    Beiträge
    111
    Hi...

    danke für die bisherigen Antworten !

    eval var = x'31'

    Wert sieht im Debug so aus:

    --> VAR = ' '

    wenn ich jetzt die cvtch Funktion aufrufe, hab ich in der Variable nachfolgenden Inhalt:

    --> var = 'F3F1'


    Wie bekomme ich das denn nun gebacken, dass das Zielfeld gleich den Wert

    --> VAR = ' '

    hat ?

    Gruß
    Bratmaxxe

  7. #7
    Registriert seit
    Aug 2004
    Beiträge
    923
    sodele, dann gebe ich auch mal meinen Senf dazu.
    PHP-Code:
         C                     MOVE '1'       *INLR
          
    *
          *   
    ANMERKUNG KUEMPI NACH HEX12 KOMMT SPÄTER DIE GEWÜNSCHTE VAR
          *
         
    C                     MOVEL'31'      HEX12   2
          
    *
          *----------------------------------------------------------------
          * 
    AUS HEXCODE (2-STELLIG) --> CHARACTER(1MIT DEM CODE MACHEN
          
    *----------------------------------------------------------------
          *
         
    C                     MOVELHEX12     HEX1    1
         C                     MOVE HEX12     HEX2    1
          
    *
         
    C                     MOVE *LOVAL    CHR1    1
         C                     SELEC
         C           HEX1      WHEQ 
    '1'
         
    C                     BITON'3'       CHR1
         C           HEX1      WHEQ 
    '2'
         
    C                     BITON'2'       CHR1
         C           HEX1      WHEQ 
    '3'
         
    C                     BITON'23'      CHR1
         C           HEX1      WHEQ 
    '4'
         
    C                     BITON'1'       CHR1
         C           HEX1      WHEQ 
    '5'
         
    C                     BITON'13'      CHR1
         C           HEX1      WHEQ 
    '6'
         
    C                     BITON'12'      CHR1
         C           HEX1      WHEQ 
    '7'
         
    C                     BITON'123'     CHR1
         C           HEX1      WHEQ 
    '8'
         
    C                     BITON'0'       CHR1
         C           HEX1      WHEQ 
    '9'
         
    C                     BITON'03'      CHR1
         C           HEX1      WHEQ 
    'A'
         
    C                     BITON'02'      CHR1
         C           HEX1      WHEQ 
    'B'
         
    C                     BITON'023'     CHR1
         C           HEX1      WHEQ 
    'C'
         
    C                     BITON'01'      CHR1
         C           HEX1      WHEQ 
    'D'
         
    C                     BITON'013'     CHR1
         C           HEX1      WHEQ 
    'E'
         
    C                     BITON'012'     CHR1
         C           HEX1      WHEQ 
    'F'
         
    C                     BITON'0123'    CHR1
         C                     OTHER
         C           HEX1      IFNE 
    '0'
         
    C                     MOVE '?'       CHR1
         C                     
    GOTO EHEX
         C                     END
         C                     ENDSL
          
    *
         
    C                     SELEC
         C           HEX2      WHEQ 
    '1'
         
    C                     BITON'7'       CHR1
         C           HEX2      WHEQ 
    '2'
         
    C                     BITON'6'       CHR1
         C           HEX2      WHEQ 
    '3'
         
    C                     BITON'67'      CHR1
         C           HEX2      WHEQ 
    '4'
         
    C                     BITON'5'       CHR1
         C           HEX2      WHEQ 
    '5'
         
    C                     BITON'57'      CHR1
         C           HEX2      WHEQ 
    '6'
         
    C                     BITON'56'      CHR1
         C           HEX2      WHEQ 
    '7'
         
    C                     BITON'567'     CHR1
         C           HEX2      WHEQ 
    '8'
         
    C                     BITON'4'       CHR1
         C           HEX2      WHEQ 
    '9'
         
    C                     BITON'47'      CHR1
         C           HEX2      WHEQ 
    'A'
         
    C                     BITON'46'      CHR1
         C           HEX2      WHEQ 
    'B'
         
    C                     BITON'467'     CHR1
         C           HEX2      WHEQ 
    'C'
         
    C                     BITON'45'      CHR1
         C           HEX2      WHEQ 
    'D'
         
    C                     BITON'457'     CHR1
         C           HEX2      WHEQ 
    'E'
         
    C                     BITON'456'     CHR1
         C           HEX2      WHEQ 
    'F'
         
    C                     BITON'4567'    CHR1
         C                     OTHER
         C           HEX2      IFNE 
    '0'
         
    C                     MOVE '?'       CHR1
         C                     END
         C                     ENDSL
          
    *
          *   
    ANMERKUNG KUEMPI DSPLY ist nur für DEBUG EINGEBAUT
          
    *
         
    C           EHEX      TAG
         C           
    'NURSO'   DSPLY
         C                     RETRN 

  8. #8
    Registriert seit
    Jan 2006
    Beiträge
    111
    Hi Kuempi !

    super, genau das was ich brauchte - die Woche ist gerettet

    Vielen lieben Dank
    Gruß
    Bratmaxxe

Similar Threads

  1. QueryManager / Query ---> Aufruf mit Variablen
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 29-11-06, 18:07
  2. RUNQRY mit Variablen
    By zannaleer in forum NEWSboard Programmierung
    Antworten: 10
    Letzter Beitrag: 07-11-06, 11:01
  3. SQL mit variablen Tabellennamen
    By THH in forum NEWSboard Programmierung
    Antworten: 18
    Letzter Beitrag: 19-10-06, 14:16
  4. FETCH INTO Variablen Dynamisch verändern
    By marcel331 in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 11-04-06, 15:47
  5. SQLRPGLE /V5R3: Eindeutige Variablen
    By Karl23 in forum NEWSboard Programmierung
    Antworten: 22
    Letzter Beitrag: 05-07-05, 08:56

Berechtigungen

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