[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Aug 2004
    Beiträge
    3

    Question ILE/RPG Module, Prozeduren, Serviceprogramme

    Hallo,

    ich habe ein schlaues ILE-RPG-Buch, in den die Erstellung von Modulen, Prozeduren und Serviceprogrammen erklärt ist. Aber nirgends steht, wie die Source z.B. eines RPG-Moduls aufgebaut ist. Ist das ein vollständiges RPG-Programm mit F,D,C-Anweisungen oder nur Code-Schnipsel beliebiger Art...?

    Und wie spricht man ein Modul an, das ich mit CRTPGM PGM1 MODULE(MOD1) oder in einem Service-Programm eingebunden habe? Mit CALLB oder? Mit dessen Namen (MOD1)? Mit einem Funktionsnamen, der in dem Modul definiert ist, wie z.B. bei Java? Gibt es auch Parameterübergaben? Kann ein Modul mehrere Funktionen (Einstiegspunkte) haben oder wird es von oben bis unten abgearbeitet?

    Wenn ich mit CRTPGM mehrere Module zu einem lauffähigen Programm verbinde, mit welchem Modul beginnt dann die Programmausführung? Oder habe ich mehrere Einstiegspunkte? Oder kann es nur von "außen" aufgerufen und ausgeführt werden?

    Kann mir jemand sagen, ob es irgendwo Source-Code-Beispiele gibt oder mir welche zur Verfügung stellen oder mir ein gutes Buch dazu nennen.


    Danke und Gruß
    Sunny

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Hallo Sunny

    Zitat Zitat von sunnysidesup
    Hallo,

    ich habe ein schlaues ILE-RPG-Buch, in den die Erstellung von Modulen, Prozeduren und Serviceprogrammen erklärt ist. Aber nirgends steht, wie die Source z.B. eines RPG-Moduls aufgebaut ist. Ist das ein vollständiges RPG-Programm mit F,D,C-Anweisungen oder nur Code-Schnipsel beliebiger Art...?

    Sunny
    so schlau scheint das Buch auch wieder nicht zu sein.

    Zitat Zitat von sunnysidesup
    Und wie spricht man ein Modul an, das ich mit CRTPGM PGM1 MODULE(MOD1) oder in einem Service-Programm eingebunden habe? Mit CALLB oder? Mit dessen Namen (MOD1)? Mit einem Funktionsnamen, der in dem Modul definiert ist, wie z.B. bei Java? Gibt es auch Parameterübergaben? Kann ein Modul mehrere Funktionen (Einstiegspunkte) haben oder wird es von oben bis unten abgearbeitet?
    Sunny
    aufgerufen werden die Procedures mit CALLP unter Verwendung eines Prototyps, dabei können Parameter übergeben werden. Ein Modul kann mehrere Funktionen enthalten, die dann Einstiegspunkte sind, wenn sie exportiert werden.

    Zitat Zitat von sunnysidesup

    Wenn ich mit CRTPGM mehrere Module zu einem lauffähigen Programm verbinde, mit welchem Modul beginnt dann die Programmausführung? Oder habe ich mehrere Einstiegspunkte? Oder kann es nur von "außen" aufgerufen und ausgeführt werden?
    Sunny
    Die Programmausführung beginnt mit der Main Procedure (das ist die namenlose globale vor der ersten P Bestimmung), das Modul wird beim CRTPGM angegeben.

    Zitat Zitat von sunnysidesup
    Kann mir jemand sagen, ob es irgendwo Source-Code-Beispiele gibt oder mir welche zur Verfügung stellen oder mir ein gutes Buch dazu nennen.
    Sunny
    Source Beispiele gibt es auf allen Open Source Seiten und zusätzlich natürlich auch noch auf den Seiten der Zeitschriften und es gibt Beispiele in den Referenz Handbüchern von IBM.

    mfg

    Dieter Bender
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #3
    Registriert seit
    Aug 2004
    Beiträge
    3

    Question

    Hallo Dieter,

    1000 Dank für die Infos!

    <<< Source Beispiele gibt es auf allen Open Source Seiten und zusätzlich natürlich auch noch auf den Seiten der Zeitschriften und es gibt Beispiele in den Referenz Handbüchern von IBM. >>>>

    Wie/wo finde ich denn die Open Source Seiten?

    Danke! :-)

    Gruß Sunny

  4. #4
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Hallo Sunny,

    zum Beispiel:
    http://www.opensource400.org/
    oder
    help400.de
    oder
    Herrn Google fragen
    oder
    dem Link meiner Signatur folgen

    mfg

    Dieter Bender

    Zitat Zitat von sunnysidesup
    Hallo Dieter,

    1000 Dank für die Infos!

    <<< Source Beispiele gibt es auf allen Open Source Seiten und zusätzlich natürlich auch noch auf den Seiten der Zeitschriften und es gibt Beispiele in den Referenz Handbüchern von IBM. >>>>

    Wie/wo finde ich denn die Open Source Seiten?

    Danke! :-)

    Gruß Sunny
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  5. #5
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Zitat Zitat von sunnysidesup
    Hallo Dieter,

    1000 Dank für die Infos!

    <<< Source Beispiele gibt es auf allen Open Source Seiten und zusätzlich natürlich auch noch auf den Seiten der Zeitschriften und es gibt Beispiele in den Referenz Handbüchern von IBM. >>>>

    Wie/wo finde ich denn die Open Source Seiten?

    Danke! :-)

    Gruß Sunny
    Hallo Sunny,
    vielleicht helfend Dir die folgenden Links weiter.
    ILE Universum
    Prototyping

    Wichtig und sehr hilfreich ist auch das Redbook:
    Who Knew You Could Do That with RPG IV? A Sorcerer’s Guide to System Access andMore

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  6. #6
    Registriert seit
    Aug 2004
    Beiträge
    3

    Thumbs up

    vielleicht helfend Dir die folgenden Links weiter.
    ILE Universum
    Prototyping


    Hallo Birgitta,

    das ist ja genial! 1000 Dank! :-)

    Damit habe ich mal einen guten Überblick, was es mit ILE/RPG auf sich hat! Ich habe gar nicht gewußt, dass es so stark von RPG/400 abweicht! Kann man sich das einfach im Selbststudium aneignen? Was schätzt Du wie lange man braucht, um das alles zu verstehen?

    Kannst Du mir vielleicht ein gutes Buch (möglichst in deutsch!) empfehlen, das die Vorgehensweise mit Modulen, Prozeduren und Co genau beschreibt. Deine Unterlagen sind toll, aber mir fehlt leider das, was Du in Deinem Kurs dazu erläuterst.

    1000 Dank!
    Sunny

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Wenn du Kenntnisse in C-ähnlichen (prozeduralen) Sprachen hast, dann ist das absolut kein Problem, da man viele Elemente wieder findet.

    Naja, RPG solltest du schon kennen
    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

  8. #8
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Damit habe ich mal einen guten Überblick, was es mit ILE/RPG auf sich hat! Ich habe gar nicht gewußt, dass es so stark von RPG/400 abweicht! Kann man sich das einfach im Selbststudium aneignen? Was schätzt Du wie lange man braucht, um das alles zu verstehen?

    Kannst Du mir vielleicht ein gutes Buch (möglichst in deutsch!) empfehlen, das die Vorgehensweise mit Modulen, Prozeduren und Co genau beschreibt. Deine Unterlagen sind toll, aber mir fehlt leider das, was Du in Deinem Kurs dazu erläuterst.

    1000 Dank!
    Sunny[/QUOTE]

    Hallo Sunny,

    sich ILE im Selbstudium anzueignen ist schon nicht ganz ohne. Ich habe mindestens ein Jahr gebraucht, um das Ganze zu verstehen und bin eigentlich immer noch am lernen.

    Die ersten wichtigen Schritte habe ich aus dem "Sorcerer's Guide" (den Link habe ich im letzten Mail angegeben) und über die ILE-Concepte aus der Online Library gelernt. Ansonsten viel Nachdenken und Versuch und Irrtum.

    Deutsche Bücher zu dem Thema kenne ich eigentlich nicht. Ich habe zwar ein ca 100seitiges Handout zu dem Thema geschrieben, aber leider kann ich dies nicht herausgeben, da es Bestandteil unserer Schulungsunterlagen ist.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  9. #9
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Hallo,

    Zitat Zitat von B.Hauser
    Hallo Sunny,

    sich ILE im Selbstudium anzueignen ist schon nicht ganz ohne. Ich habe mindestens ein Jahr gebraucht, um das Ganze zu verstehen und bin eigentlich immer noch am lernen.

    Birgitta
    Das kann man so pauschal nicht sagen. Für einen OPM Programmierer, der von klassischem RPG her kommt ist das durchaus richtig, für einen C, Pascal oder Java Programmierer stimmt das so nicht, für den mag allenfalls die Programmerstellung etwas umständlich und das statische Binden etwas absonderlich sein; ansonsten hat das für ihn/sie mehr Wiedererkennungswert als OPM RPG (insbesondere im Free Format).
    Die seltsamen Lochkartendeklarationen sind RPG und nicht ILE Thema.

    Für einen Java Programmierer zum Beispiel :
    - ist ein Modul nichts anderes als eine statische Klasse
    - sind Procedures nichts anderes als statische Methoden
    - und P Bestimmungen deren Deklaration
    - export bedeutet public, default ist private
    - Prototypen braucht nur der Compiler
    - globale Deklarationen entsprechen Klassenvariablen
    - sind lokale Variablen normal
    - und eine globale Procedure ist ein namenloses main
    - mit einer seltsamen Schnittstellendeklaration
    - sind Binderverzeichnisse, Signaturen und Binderlanguage Quatsch
    - darf man Methoden leider nicht überladen
    - hat der Compiler leider keine ausreichende Typprüfung
    - und Errorhandling ist leider Luxus und teuer
    - sind eval, call, callb und callp überflüssige Anweisugen
    - von denen es eine ganze Menge weitere gibt
    - ist die Unterscheidung zwischen BIFs und Procedures künstlich
    - aber das % Zeichen am Anfang ist lustig
    - lästig ist allerdings, dass man Methodenaufrufe nicht qualifizieren darf.

    So kuriose Dinge, wie Speicherüberlagerungen in den Deklarationen muss man nicht machen, die F Lochkarten kann man aus Beispielen abschreiben und die Lese- und Schreiboperationen sehen alle viel freundlicher aus, wenn man mit Programm beschriebenen Dateien und externen Datenstrukturen arbeitet, in die man liest und aus denen man schreibt, wenngleich es merkwürdig ist, dass das nicht als normale Funktionsaufrufe geschrieben werden darf, lustig müssen Sie schon gewesen sein, die alten Lochkartenzeiten und dass sich noch jemand daran erinnert...

    Dieter Bender
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  10. #10
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Zitat Zitat von BenderD
    Hallo,



    Das kann man so pauschal nicht sagen. Für einen OPM Programmierer, der von klassischem RPG her kommt ist das durchaus richtig, für einen C, Pascal oder Java Programmierer stimmt das so nicht, für den mag allenfalls die Programmerstellung etwas umständlich und das statische Binden etwas absonderlich sein; ansonsten hat das für ihn/sie mehr Wiedererkennungswert als OPM RPG (insbesondere im Free Format).
    Die seltsamen Lochkartendeklarationen sind RPG und nicht ILE Thema.

    Für einen Java Programmierer zum Beispiel :
    - ist ein Modul nichts anderes als eine statische Klasse
    - sind Procedures nichts anderes als statische Methoden
    - und P Bestimmungen deren Deklaration
    - export bedeutet public, default ist private
    - Prototypen braucht nur der Compiler
    - globale Deklarationen entsprechen Klassenvariablen
    - sind lokale Variablen normal
    - und eine globale Procedure ist ein namenloses main
    - mit einer seltsamen Schnittstellendeklaration
    - sind Binderverzeichnisse, Signaturen und Binderlanguage Quatsch
    - darf man Methoden leider nicht überladen
    - hat der Compiler leider keine ausreichende Typprüfung
    - und Errorhandling ist leider Luxus und teuer
    - sind eval, call, callb und callp überflüssige Anweisugen
    - von denen es eine ganze Menge weitere gibt
    - ist die Unterscheidung zwischen BIFs und Procedures künstlich
    - aber das % Zeichen am Anfang ist lustig
    - lästig ist allerdings, dass man Methodenaufrufe nicht qualifizieren darf.

    So kuriose Dinge, wie Speicherüberlagerungen in den Deklarationen muss man nicht machen, die F Lochkarten kann man aus Beispielen abschreiben und die Lese- und Schreiboperationen sehen alle viel freundlicher aus, wenn man mit Programm beschriebenen Dateien und externen Datenstrukturen arbeitet, in die man liest und aus denen man schreibt, wenngleich es merkwürdig ist, dass das nicht als normale Funktionsaufrufe geschrieben werden darf, lustig müssen Sie schon gewesen sein, die alten Lochkartenzeiten und dass sich noch jemand daran erinnert...

    Dieter Bender
    Hallo Dieter,

    das mag ja alles richtig sein, was Du sagst.
    Aber soweit ich das beurteilen kann handelt es sich bei Sunny um einen klassischen RPG Programmierer (so wie ich einer bin), der sich vorsichtig in die neue Welt der modularen Programmierung vortasten will. Viele von uns müssen sich leider mit gewachsenen Anwendungen herumschlagen, die man nicht von heute auf morgen umstellen kann. Dazu kommt noch, dass in der heutigen Zeit oft kein Geld für Schulungen zur Verfügung gestellt werden kann. Sich JAVA im Selbsttudium beizubringen ist m.E. schlichtweg unmöglich. Der Weg für uns "klassische RPG-Programmierer" ist nun mal nicht von JAVA nach RPG, sondern umgekehrt. Wenn man allerdings ILE einigermaßen verstanden hat, ist man zumindest mal in der Lage JAVA-Quellen zu entziffern und zu verstehen. Dann fällt einem der nächste Schritt nicht ganz so schwer.

    Übrigens noch eine Anmerkung und die kommt direkt hier aus Rochester von der Quelle:
    Die iSeries Roadmap sieht keineswegs eine Ablösung von RPG durch JAVA vor, sondern ein friedliches Miteinander, da jede Sprache ihre Stärken und Schwächen hat. Das bedeutet jedoch nicht, dass man wild Java-Methoden aus RPG und RPG-Funktionen aus JAVA aufrufen sollte. Dazu sind beide Sprachen doch zu verschieden.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

Similar Threads

  1. grundlegendes zu Modulen bzw. Prozeduren
    By stoerfang in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 16-06-06, 12:19
  2. Können CLLE Module selbst einen Wert halten bzw. zurückgeben?
    By JonnyRico in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 25-04-06, 10:16
  3. Definition von Modulen / Prozeduren
    By sunhole in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 18-08-05, 08:36
  4. sourcecode der module
    By roko in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 18-07-05, 16:45
  5. Prozeduren beim Systemstart
    By Mark_S in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 13-04-04, 21:39

Berechtigungen

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