[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jun 2001
    Beiträge
    1.979

    Unhappy Option(*varsize)

    Hallo, *All

    In einer Prozedur habe ich die Schnittstelle
    folgendermassen def. :
    D GETVORGS PI 3
    D empf_ZYKL 3 const
    D chg_STAT 2 Option(*varsize)
    D empf_JN 1 const option(*nopass)

    Wenn ich nun chg_stat 1-stellig übergebe
    kommt MÜLL an (immer mal was anderes)

    Bsp
    d AuftZykl s 3 inz('ABC')
    d AuftStat s 1 inz('0')

    (AuftZykl und AuftStat sind in echt Dateifelder)

    c eval vorgang=getVorgs(AuftZykl:AuftStat)

    empfangen wird in getVorgs ABC 00

    wenn ich testweise chg_stat auf 7 stellen
    ändere, kommt ABC 00Ns3.. an
    %len und %size geben falsche Werte zurück

    Was kann ich tun, um in der Prozedur die empfangene Feldlänge zu bestimmen

    (chg_Stat kann nicht CONST werden da ich es ggf. in der Procedur verändern muß und diesen Wert im rufenden Program auch brauche.

    Danke
    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.258

    Post

    *varsize bedeutet immer eine Struktur, die in den Stellen 1-2 die Längeninformation beinhaltet:

    D VarLen_Field ds
    d VarLen_Len 5I
    d VarLen_Data NNNA

    wobei NNN die maximal mögliche Länge darstellt.

    Bei der Übergabe ist die Längeninformation immer mitzugeben.
    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

Berechtigungen

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