[NEWSboard IBMi Forum]
Seite 4 von 7 Erste ... 3 4 5 ... Letzte
  1. #37
    Registriert seit
    Sep 2006
    Beiträge
    132
    Zitat Zitat von Fuerchau
    Schau mal ins Joblog, lass mal das "(e)" beim Open weg.
    Ich kann leider nicht in meinen Joblog schaun da ich nur PGMR bin und nicht über *JOBCTL verfüge.

    Das (e) weglassen hat auch nichts gebracht. (das (e) ist doch nur für das Errorhandling zuständig oder?)

    EDIT: Woran könnte es sonst noch liegen das ich das File nicht öffnen kann? DIe Datei DDS mit Teildatei DDS wird korrekt erstellt.

    Hier nochmal mein CL:
    PHP-Code:
                 PGM                                                         
                                                                             
     
    /**         CPYSRCF    FROMFILE(LIB/TESTDDS) +                **/    
     /**                      TOFILE(LIB/TESTDDS2) FROMMBR(TESTDDS)   **/ 
     /**         ADDPFM     FILE(LIB/TESTDDS2) MBR(TESTDDS3)          **/ 
                 
    CRTSRCPF   FILE(LIB/DDSMBR(DDS)                        
                 
    OVRDBF     FILE(DDSTOFILE(LIB/DDS) +                   
                              
    MBR(DDSOVRSCOPE(*JOB)                        
                 
    CALL       PGM(DDSWRITEPARM('DDS' 'DDS')                  
                 
    DLTOVR     FILE(DDSLVL(*JOB)                              
     
    ENDE:       RETURN                                                      
                                                                             
                 
    ENDPGM 
    und hier mein RPG Programm:
    PHP-Code:
    H DftActGrp(*NOActGrp(*CALLER)                           
    H alwnull(*USRCTL)                                         
                                                               
    FDDS       O    F   92        Disk    UsrOpn               
    f                                     ExtFile
    (MyFile)      
    f                                     ExtMbr(MyMbr)        
                                                               
    F*DDS       uf A f           K disk                        
                                                               
                                                               
    D
    *aufnehm          PR                  EXTPGM('DDSTEST')   
    Dfield1                        21A   OPTIONS(*VARSIZE)   
    Dfield2                        10A   OPTIONS(*VARSIZE)   
                                                               
    D*aufnehm          PI                                      
    D
    MyFile                        21A   OPTIONS(*VARSIZE)   
    DMyMbr                         10A   OPTIONS(*VARSIZE)   
                                                               
    DCMDREC           DS            92                         
    DSRCSEQ                          6S 2                          
    DSRCDAT                          6S 0                          
    DSRCDTA                         80A                            
                                                                   
    C     
    *entry        plist                                      
    C                   parm                    MyFile           21
    C                   parm                    MyMbr            10
    C                                                              
    C                   
    eval      MyFile 'LIB/DDS'            
    C                   eval      MyMbr 'DDS'                    
    C                                                              
    C                   
    eval      srcseq 0001.00                 
    C                   
    eval      srcdat 0609121                 
    C                   
    eval      srcdta 'dies ist ein test'     
    C                   open      dds                              
    C
    *                  IF        not %ERROR                       
    C                   write     dds           cmdrec             
    C
    *                  endif                                      
    C                   close     dds                              
    C                   
    return 

  2. #38
    Registriert seit
    Aug 2004
    Beiträge
    923
    Zitat Zitat von Squall
    Ich kann leider nicht in meinen Joblog schaun da ich nur PGMR bin und nicht über *JOBCTL verfüge.
    Bin ja heute schon genug verwirrt.
    Aber ich denke mal, das *JOBCTL mehr den Sinn hat ALLE Jobs kontrollieren zu dürfen.

    Kommst Du wirklich nicht über die Systemanfrage 3 auf Deinen eigenen Job?

    k.

  3. #39
    Registriert seit
    Sep 2006
    Beiträge
    132
    Zitat Zitat von kuempi von stein
    Bin ja heute schon genug verwirrt.
    Aber ich denke mal, das *JOBCTL mehr den Sinn hat ALLE Jobs kontrollieren zu dürfen.

    Kommst Du wirklich nicht über die Systemanfrage 3 auf Deinen eigenen Job?

    k.
    Ich bekomme bei dspjoblog immer nur:
    3>> DSPJOBLOG JOB(*)

    Bei Main komme ich mit 3 und dann 1 zu den Jobs aber von da weiß ich nicht wie ich zu dem joblog für diesen Job kommen soll. Bin wie gesagt Neuling auf der i5.

  4. #40
    Registriert seit
    Aug 2004
    Beiträge
    923
    Zitat Zitat von Squall
    3>> DSPJOBLOG JOB(*)
    Jajajaja,

    und dann die F10 und dann Rückwärtsblättern und dann lesen was da so steht.

    Sach mal, sucht Ihr noch Leute?

    :-)

    k.

  5. #41
    Registriert seit
    Sep 2006
    Beiträge
    132
    Zitat Zitat von kuempi von stein
    Jajajaja,

    und dann die F10 und dann Rückwärtsblättern und dann lesen was da so steht.

    Sach mal, sucht Ihr noch Leute?

    :-)

    k.
    ah...Sry tut mir Leid... Vielen Dank für deine Hilfe.

    Hab grad das Programm nochmal laufen lass und plötzlich gehts... hab diesmal in meiner DDS->DDS meinen Testsatz stehn...Fragt mich bitte nicht wie und warum habe gerade nur mit den jobs herumhantiert.

  6. #42
    Registriert seit
    Sep 2006
    Beiträge
    132
    Hallo,

    ich muss euch leider nochmal mit einer Frage belästigen. Es geht um den Aufruf meines CL Programms.
    Ich ruf das Programm damit auf:

    PHP-Code:
    CALL PGM(DDSTESTPARM('DOMMZO/TESTD' 'TESTD' 'TEST' 'TESTM' '     A            ANFINR         2P 0       TEXT(''FIRMA'')' 0001.00 060914 
    Das Programm sieht so aus:
    PHP-Code:
                 PGM        PARM(&FILE &MBR &TEXTF &TEXTM &SRCDTA &SRCSEQ &SRCDAT)  
                                                                                    
                 
    DCL        VAR(&SRCDTATYPE(*CHARLEN(80)                        
                 
    DCL        VAR(&SRCSEQTYPE(*DECLEN(6 2)                        
                 
    DCL        VAR(&SRCDATTYPE(*DECLEN(6)                          
                 
    DCL        VAR(&FILETYPE(*CHARLEN(20)                          
                 
    DCL        VAR(&MBRTYPE(*CHARLEN(10)                           
                 
    DCL        VAR(&TEXTFTYPE(*CHARLEN(20)                         
                 
    DCL        VAR(&TEXTMTYPE(*CHARLEN(20)                         
                 
    CRTSRCPF   FILE(&FILETEXT(&TEXTF)                                
                 
    ADDPFM     FILE(&FILEMBR(&MBRTEXT(&TEXTMSRCTYPE(PF)          
                 
    OVRDBF     FILE(&FILETOFILE(&FILE) +                             
                              
    MBR(&MBROVRSCOPE(*JOB)                              
                 
    CALL       PGM(DDSWRITEPARM(&FILE &MBR &SRCDTA &SRCSEQ &SRCDAT)  
                 
    DLTOVR     FILE(&FILELVL(*JOB)                                   
     
    ENDE:       RETURN                                                             
                                                                                    
                 
    ENDPGM 
    Ich bekomme einen Error( (C D I R) CPF0001 von DDSTEST bei 1000 empfangen. ) beim CRTSRCPF.
    PHP-Code:
    Ursache  . . . . :  Das CL-Programm DDSTEST in Bibliothek DOMMZO hat einen     
      Fehler bei Anweisung 1000 festgestellt
    Der Nachrichtentext für CPF0001 ist
      
    Fehler in Befehl CRTSRCPF gefunden.. 
    Habe schon versucht meinen Aufruf zu verändern mit ' ohne etc. aber der Fehler bleibt. Wenn ich den CRTSCRPF so ausführe und die Werte per Hand eintrage funktioniert alles einwandfrei. Wo liegt denn mein Fehler?

    Danke für die Hilfe im Vorraus.

    Gruß

    Martin

  7. #43
    Registriert seit
    Aug 2004
    Beiträge
    923
    same procedure as every time....

    Die Fehlermeldung VOR CPF0001 ist die, die interessant ist.
    Also im Jobprotokoll F10 drücken und zurückblättern.

    So mal ganz ohne Wertung vermute ich btw. den Fehler im Parameter FILE!
    Die Felder würde ich einzeln übergeben.

    k.

  8. #44
    Registriert seit
    Sep 2006
    Beiträge
    132
    Das sagter:

    Wert 'DOMMZO/TES' als Name für Parameter FILE ungültig.
    Fehler in Befehl CRTSRCPF gefunden.
    Funktionsprüfung. CPF0001 nicht überwacht durch DDSTEST bei Anweisung
    1000, Instruktion X'0012'.

    Ist mein übergebener Wert zu lang da er abgeschnitten wird? Ist das der Fehler?

    EDIT: Fehler behoben. Danke!

  9. #45
    Registriert seit
    Sep 2006
    Beiträge
    132
    Hallo,

    ich hätte noch eine Frage. Und zwar bekomme ich einen Dezimaldatenfehler beim Programmaufruf. Ich übergebe die Daten so:
    PHP-Code:
    CALL PGM(DOMMZO/DDSTESTPARM(ABC DOMMZO TEST TESTF TESTM 'A            ZB 
    FNAM         8A' 
    0001 060915
    Definition und Zuweisung:
    PHP-Code:
    DSRCSEQ                          6  2
    DSRCDAT                          6  0
    DSRCDTA                         80   

    C     
    *entry        plist                                        
    C                   parm                    MyFile           10  
    C                   parm                    MyLib            10  
    C                   parm                    MyMbr            10  
    C                   parm                    DTA              80  
    C                   parm                    SEQ               6 2
    C                   parm                    DAT               6 0

         C                   
    eval      srcseq seq
         C                   
    eval      srcdat dat
         C                   
    eval      srcdta dta 
    Wobei ich bei srcseq sowie srcdat einen Fehler bekomme. Habe es schon mit der Übergabe von 0001 ; 0001.00; 0001,00 probiert - nichts funktioniert. Wie müsste ich dir Werte übergaben damit ich diesen Fehler umgehe?

    Gruß Martin

  10. #46
    Registriert seit
    Aug 2004
    Beiträge
    923
    *seuftz*

    Ist das eine Prüfungsarbeit?

    Parameterübergabe im Zusammenhang mit CL/RPG ist immer ein Problem, wenn numerisch bei ist.

    Ich persönlich würde da entweder vorher von numerisch nach Alpha wandeln und dann den Alpha im Programm wieder zurück...
    oder...
    mal versuchen die numerischen als Hexwerte zu übergeben, als für 0001 wäre das X'00001F' oder so.

    k.

  11. #47
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Suche hier im Forum mal nach "CALL" und "PARAMETER".
    Deine Zahlen werden als dec(15,5) übergeben, du erwartest aber dec(6,2) und dec(6,0).

    Also entweder per CLP mit korrekt definierten Variablen aufrufen oder (wie kuempi schon sagte) direkt in Hex für das gepackte Format.
    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

  12. #48
    Registriert seit
    Sep 2006
    Beiträge
    132
    Danke für eure Hilfe, ich hoffe ich nerve euch nicht zu sehr mit meinen Fragen.

    Habs so gelöst:

    Mein CL Programm erwartet 2 Char Werte die 6 Zeichen lang sind. Alles wird so zum RPG Programm übertragen und dort via MOVE in die Nummerfelder geschoben. Funktioniert soweit.

    Gruß Martin

Similar Threads

  1. ILE RPG / SQL Füllen einer Feldgruppe
    By homue in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 18-07-07, 16:47
  2. Problem mit Java-Methoden Aufruf aus ILE RPG?
    By Stoeberl in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 10-01-07, 10:58
  3. ILE RPG und dynamisches Array
    By Squall in forum NEWSboard Programmierung
    Antworten: 9
    Letzter Beitrag: 10-10-06, 08:53
  4. Return ILE RPG
    By Squall in forum IBM i Hauptforum
    Antworten: 31
    Letzter Beitrag: 28-09-06, 17:53
  5. Rechnen mit Datumsfeldern in ILE RPG
    By Angela in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 22-08-06, 10:11

Berechtigungen

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