[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Mar 2006
    Beiträge
    98

    problem bei Call übergabe parameter numerisch gepackt

    Hallo,
    ich muss per CALL LIB/PGM (parm1 parm2 ...) programm aufrufen
    das 2 parameter ist 8,0 numerisch gepackt

    ich kann es mit CALL LIB/PGM (parm1 .x'01234567F' ...) aufrufen.

    Die frage ob es irgendwie automatisch geht es umzusetzen

    z. B.
    30101134 --- > zu x'030101134F'

    ich brauche die funktion umsetzung zahlen zu x'0123......

    gibt es dazu built in funktion oder änliches oder beispiel PGM für die umsetzung.

  2. #2
    Registriert seit
    Aug 2006
    Beiträge
    42
    Hallo

    Habe das so gelöst:
    CallPgm = 'call pgm(Prog) parm(X''0' + %editc(Feld:'X') + 'F'')'

    mfg Chris

  3. #3
    Registriert seit
    Mar 2006
    Beiträge
    98
    Das problem ist:

    ich habe eine Zeichen folge

    z.B. 'blabla12345678'
    davon muss ich von stelle 7, 8 stellen extrahieren. dann ruffe per call pgm(xx) mit dieser parameter die länge dabei ist variabel

    Aufgabenstellung:
    'blabla12345678' von 7 stelle, 8 stellen lang

    oder
    blabla1234567' von 7 stelle, 7 stellen lang

    Die übergabe mit %editc wird nicht funktionieren, da länge bekant ist bleibt aber variabel.
    mfg

  4. #4
    Registriert seit
    Aug 2006
    Beiträge
    42
    Hallo

    Weißt du Beginn und Länge der Variable?

    Dann mach einfach:
    CallPgm = 'call pgm(Prog) parm(X''0' + %subst(Feld:Beginn:Länge) + 'F'')'

    PS: bei gerader Anzahl der Länge musst du gegebenenfalls noch eine führende 0 einfügen.

    Oder musst du Beginn und Länge der Variablen auch ermitteln?

    mfg Chris

  5. #5
    Registriert seit
    Mar 2006
    Beiträge
    98
    Um genau zu sagen:

    von ist bekannt
    Zeichen folge
    'blablaAF/123456/15blabla'

    was ich davon weiss ist di start position
    i diesem fall 10 länge 7 vobei nur 6 stellenim diesem fall relevant sind dass heisst am ende muss es so aussehen x'0123456F' dal als übergabe 7,0 erwartet wird.

  6. #6
    Registriert seit
    Apr 2004
    Beiträge
    105
    dann muß es so aussehen:
    CallPgm = 'call pgm(Prog) parm(X''0' + %subst(Feld:10:6) + 'F'')'

  7. #7
    Registriert seit
    Mar 2006
    Beiträge
    98
    wie es aussehen muss weiß ich. die frage wie kann mann es automatisieren und dabei veriabel bleiben.

    unterprogramm mit übergabe parameter und rückgabe wert aufbereitet im gepacten hexa format.

    übergabe parameter
    parm 1 --> 123456
    parm 2 ---> länge rückgabe 7,0
    parm3 --> rückgabe wert x'0123456F'

    oder
    parm 1 --> 135,52
    parm 2 ---> länge rückgabe 11,2
    parm3 --> rückgabe wert x'00000013522F'

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Definiere doch einfach ein Parameterfeld mit
    d MyNum 8p 0
    d MyRet 8p 0

    im Code ermittle das erst numerische Zeichen und wandle um mit:
    eval MyNum = %dec(substr(MyAlpha:sPos:rLen):8:0)

    sPos = Startposition
    rLen = Restlänge

    Dann rufe das Programm einfach mit

    CALL 'MYPROG'
    PARM PARM1
    PARM MyNum
    PARM MyRet

    auf.
    Wenn du MyRet wieder alpha habe willst:
    a) %char(MyRet) = linksbündig ohne Vornumm
    b) %editc(MyRet:'X') = mit Vornullen
    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

Similar Threads

  1. Problem mit Java-Methoden Aufruf aus ILE RPG?
    By Stoeberl in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 10-01-07, 10:58
  2. "remote" - call
    By hh-mi in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 15-11-06, 12:23
  3. Datenkonvertierung numerisch gepackt nach character
    By chrhe in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 01-11-06, 14:55
  4. Authorization Problem nach ändern der Primary Group
    By ChrisX in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 11-10-06, 15:31
  5. Merkwürdiges Problem in VRPG
    By Flappes in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 06-10-06, 08:39

Berechtigungen

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