- 
	
	
		
		
		
		
			Einstieg in RPG Programmierung ?!?
		
		
				
					
					
				
				
		
			
				
					Hallo Leute, 
 
ich versuche mich gerade in RPG reinzudenken -> bisher relativ erfolglos. 
 
Habe bisher nur C++, Delphi und PHP unter Windows programmiert. 
 
Ich habe mir also mit einer query eine Daten-Datei erstellt. 
 
Die Feldnamen(Spaltennamen) in der Datei lauten BDAUN7 und BDARTN. 
 
Jetz will ich mir einfach ein simples RPG schreiben, welches mir im ersten Satz den Spaltenwert von BDARTN in *BLANK umwandelt. 
Habe dazu das Tutorial von TexAS400 durchgearbeitet. 
 
Die Datei TESTOUT ist die Ergebnisdatei der Query. 
 
 
Mein Code: 
 
------------------------------------------ 
FTESTOUT UF F            DISK 
C        READ TESTOUT        90 
C        MOVE *BLANK    BDARTN 
C        UPDATETESTOUT 
C        MOVE *ON    *INLR 
C        RETRN 
------------------------------------------ 
 
Ich versteh das nicht, beim Übersetzen kommt immer ein Fehler 30. 
 
MfG watchdogg
				 
			 
			
		 
			
				
			
				
			
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					Bei Native I/O muss der Update immer über den Format und nicht den Datei-Namen erfolgen. Sind Datei und Format-Name identisch, muss der Format-Name über das Schlüssel-Wort RENAME in den F-Bestimmungen umgesetzt werden. 
 
Und wenn Du gerade mit RPG anfängst, dann bitte nicht mit der antiquierten Form (RPGIII), in der zwar immer noch codiert werden kann, die aber seit 15 Jahren nicht mehr weiterentwickelt wurde! 
RPGIV hat viel mehr Möglichkeiten, z.B. Free-Format und Built-In-Funktionen.  
 
Hier Dein Source-Code  in RPGIV  
	PHP-Code: 
	
FTestOut    UF             F      Disk    Rename(TestOut: TestOutF)
  /Free
     Read TestOutF;
     If Not %EOF()
        BDARTN = *Blanks;
        Update TestOutF;
     EndIf;
     *INLR = *On;
     Return;
  /End-Free; 
 
 
 
Birgitta
				 
			 
			
		 
			
				
			
			
				
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					wenn der record-name der tabelle der gleiche ist, wie die tabelle selbst, wirst du bei einem update probleme haben. 
du musst in den definitionen noch ein rename durchführen und das update den umgenannten record absetzen. 
 
	Code: 
	FTESTOUT  UF   F           K DISK    
F                                     rename(TESTOUT:TESTOUTR)
C                   update    TESTOUTR 
 
wenn du das mit SQL machst ersparrst du dir das. ist geschmacksache. 
 
lg andreas
				 
			 
			
		 
			
				
			
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					Beim Wandeln wird eine Spooldatei erstellt. Sie dir diese einmal an. Da steht drin, was für Fehler beim Wandeln aufgetreten sind.
				 
			 
			
		 
			
				
			
			
				
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					Huch ging das scnell.  
Erstmal vielen dank an euch alle. 
 
@B.Hauser 
 
ich probier deinen Code gleich mal aus. Kann man den FreeStyle auf jeder Maschine ohne Probleme verwenden? 
 
 
 
@Pikachu 
 
die Spooldatei hab ich mir schon angesehen, da stehen ja die Fehler drin. Kann man dort auch die Zeile erkennen, wo der Fehler im Code auftritt? 
 
MfG watchdogg
				 
			 
			
		 
			
				
			
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					free geht nur wenn due ILE RPG nutzt, beim guten alten RPGIII geht das leider nicht! 
 
da musst du eine Fortsetzungszeile zu der F-Karte machen z.B. 
 
F     TESTOUT     KRENAME TESTR
				 
			 
			
		 
			
				
			
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					am ende des spools erhälst du eine zusammenfassung: 
 
	Code: 
	N a c h r i c h t e n z u s a m m e n f a s s u n g
 Msg-ID  Sv Nummer Nachrichtentext                 
*RNF7575 00      1 Die Datenstruktur enthält Felder m
                   Datenart. Diese Felder werden igno
*RNF7030 30      1 Der Name oder die Bezugszahl/der A
                   definiert.                        
*RNF7503 30      1 Ausdruck enthält einen Operanden,
 
RNF7030 = fehler-id 
30 = schwierigkeitsgrad 
1 = wie oft der fehler aufgetreten ist 
 
beispiel: 
im spool mit RNF7030 suchen 
dann kommst du zu den zusätzlichen informationen: 
	Code: 
	 Msg-ID  Sv Nummer Folge   Nachrichtentext                 
*RNF7030 30     77 001600  Der Name oder die Bezugszahl/der
                           definiert.                      
*RNF7575 00     13 001300  Datenstruktur TESTDS hat Felder
 
und in diesem fall wäre 77 die satznummer im spool, in dem der fehler auftritt. 
	Code: 
	75 C                   PARM                    S
76 C     SQL_00003     IFEQ      '1'            
77 C                   EVAL      SP1 = SQL_00005
78 C                   END 
 
				 
			 
			
		 
			
				
			
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					habe es jetzt so geschrieben mit RPGLE: 
 
FTestOut    UF E K      Disk    Rename(TestOut: TestOutF)  
 /Free  
    Read TestOutF;  
    If Not %EOF()  
       BDARTN = *Blanks;  
       Update TestOutF;  
    EndIf;  
    *INLR = *On;  
    Return;  
 /End-Free;  
 
klappt aber nicht. 
 
Fehlermeldung: Datenbeschreibungen für Datei TESTOUT nicht gefunden. 
 
Ich glaub,  das mit RPG und  mir  wird nie  funktionieren.   
 
MfG watchdogg 
				 
			 
			
		 
			
				
			
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					Kann diese Datei über die Bibliotheksliste gefunden werden? Mach mal WRKF TESTOUT. Wird sie da angezeigt?
				 
			 
			
		 
			
				
			
			
				
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					klingt so als ob deine tabelle nicht in deiner bibliotheksliste zu finden ist. dann findet der kompiler auch nix.
				 
			 
			
		 
			
				
			
			
			
		 
	 
	
	 
 
- 
	
	
	
	
 
 
- 
	
	
		
		
		
				
				
					
				
		
			
				
					
	
		
			
			
				
					  Zitat von  AS400.lehrling
					 
				 
				Da hat Holger eine gute einführung mit einigen Beispielen     
			
		 
	 
 
Ja, aber leicht überarbeitungswürdig, wenn ich mal Zeit finde. Vielleicht sollte ich mich mit Biggi zusammentun - obwohl die ja auch nicht immer Zeit hat ;-) 
 
Schönes neues 2010 Euch allen! 
 
-h
				 
			 
			
		 
			
				
			
			
			
		 
	 
	
	 
 
		 
		
		
	
 
	
	
 
	
	
	
	
	
	
		Similar Threads
		
			
			
- 
  
    
    
       By rebe in forum NEWSboard Programmierung
     
   
  
    Antworten: 2
       
        Letzter Beitrag: 07-03-08, 11:18
       
   
 
- 
  
    
    
       By timeless in forum IBM i Hauptforum
     
   
  
    Antworten: 5
       
        Letzter Beitrag: 11-01-07, 13:04
       
   
 
- 
  
    
    
       By Stoeberl in forum NEWSboard Programmierung
     
   
  
    Antworten: 8
       
        Letzter Beitrag: 10-01-07, 11:58
       
   
 
- 
  
    
    
       By jth in forum NEWSboard Programmierung
     
   
  
    Antworten: 1
       
        Letzter Beitrag: 21-12-06, 12:13
       
   
 
- 
  
    
    
       By Badener in forum NEWSboard Java
     
   
  
    Antworten: 5
       
        Letzter Beitrag: 13-07-06, 18:09
       
   
 
			 
		 
	 
	
	
	
	
	
		
		
		
		
			
				 
				Berechtigungen
			
			
				
	
		- Neue Themen erstellen: Nein
 
		- Themen beantworten: Nein
 
		- You may not post attachments
 
		- You may not edit your posts
 
		-  
 
	 
	
	Foren-Regeln 
 
			 
		 
	 
 
  
  
 
  
 
 
  | 
Erweiterte Foren Suche
Google Foren Suche
  
Forum & Artikel   Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
 
 
 
 | 
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
 
- Cloud, Social Media, Devices
 
- DMS, Archivierung, Druck
 
- ERP + Add-ons, Business Software
 
- Hochverfügbarkeit
 
- Human Resources, Personal
 
- IBM Announcements
 
- IT-Karikaturen
 
- Leitartikel
 
- Load`n`go
 
- Messen, Veranstaltungen
 
- NEWSolutions Dossiers
 
- Programmierung
 
- Security
 
- Software Development + Change Mgmt.
 
- Solutions & Provider
 
- Speicher – Storage
 
- Strategische Berichte
 
- Systemmanagement
 
- Tools, Hot-Tips
 
 
Auf dem Laufenden bleiben
 
 | 
Bookmarks