[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jul 2011
    Beiträge
    31

    Question Procedure Parameterfehler - Fehlendes PTF?

    Hallo!

    Ich habe folgende RPG Procedure:
    Code:
     P CvtCharToPack   B                   Export                      
     D                 PI                                              
     D Ptr_RcvVar                      *   Const                       
     D Length                         3I 0 Const                       
     D Decpos                         3I 0 Const                       
     D string                       128A   Const                       
     D DecPntSymbol                   1A   Const Options(*NoPass:*Omit)
     D ThousandSep                    1A   Const Options(*NoPass:*Omit)
     D CurSymbol                      1A   Const Options(*NoPass:*Omit)
    & rufe es so auf:

    Code:
    D myDec           S             30P 9
    D myChar          S            128   
    
    myChar = '9763,123';         
    cvtCharToPack(%addr(myDec):%len(myDec):%decpos(myDec):myChar);
    Nun ist mir beim debuggen folgendes aufgefallen:

    Bei "Eval DecPntSymbol" bekomme ich wie erwartet die Rückmeldung "Zeiger nicht auf die Position gesetzt, auf die Bezug genommen wird."

    Bei "Eval CurSymbol" bekomme ich immer den Wert "C" angezeigt, obwohl ich den Parameter nicht befülle.
    Click image for larger version. 

Name:	Bug.PNG 
Views:	109 
Size:	6,8 KB 
ID:	277

    Fehlt mir hier ein PTF? Könnt Ihr den Fehler nachstellen?
    Release: V7R1M0

    LG,
    Sam

  2. #2
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Hallo Sam,

    das Problem hatte ich auch paar mal.
    Da steht noch irgendein alter Wert im Speicher da diese nicht automatisch initialisiert werden.
    Deshalb ist ein Check wie folgt immer wichtig:
    if %parms >= %parmnum(CurSymbol);

    lg Andreas

  3. #3
    Registriert seit
    Jul 2011
    Beiträge
    31
    Hallo Andreas,

    meine Prüfungen sehen meistens so aus:

    Code:
    If %parms >= %parmnum(CurSymbol) And %addr(CurSymbol) <> *Null;
      SymbolMask.CurSymbol = CurSymbol;                            
    EndIf;
    Edit: Ich finde es dennoch sehr interessant das CurSymbol nicht NULL ist.

    LG,
    Sam

Similar Threads

  1. Problem SQL Procedure
    By CaddyMajor in forum NEWSboard Programmierung
    Antworten: 14
    Letzter Beitrag: 25-06-14, 08:22
  2. Stored Procedure endlos
    By lorenzen in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 12-12-02, 16:46
  3. Java stored procedure
    By Sven Schneider in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 03-09-02, 07:31
  4. Stored Procedure
    By lorenzen in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 27-08-02, 14:59
  5. Löschen/Überschreiben einer Stored Procedure
    By Frank Pusch in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 13-06-01, 17:57

Berechtigungen

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