[NEWSboard IBMi Forum]
Seite 2 von 2 Erste 1 2
  1. #13
    Registriert seit
    Feb 2001
    Beiträge
    20.346
    Der Greenscreen Debugger funktioniert hier genauso gut, wie oben beschrieben. Ins besonders wenn man remote (Homeoffice) arbeitet, ist der ACS-Debugger einfach unzuverlässig und laaangsaaaaam.
    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

  2. #14
    Registriert seit
    Jan 2012
    Beiträge
    1.146
    Zitat Zitat von B.Hauser Beitrag anzeigen
    @1/2: Sowohl beim CREATE PROCEDURE als auch beim CREATE FUNCTION kann man den (Service-)Programm-Namen (mit Option PROGRAM_NAME) angeben. Den (Service-)Programm-Namen kann man (selber) festlegen und ist auf 10 Stellen beschränkt.
    ...Der Programm-Name kann unabhängig von dem SPECIFIC NAME festgelegt werden. Der SPECIFIC Name dient in erster Linie dazu, die aufgerufene Funktion/Prozedur (bei Überladungen) eindeutig zu lokalisieren.
    Der Source Code ist beim CREATE OR REPLACE Statement hinterlegt, d.h. jedes CREATE Statement generiert ein eigenes Objekt. Wenn man mehrere CREATE Statements in der gleichen Quelle hat, werden eben mehrere Objekte/Programme/Service-Programme mit einer exportierten Funktion generiert.
    Hallo Birgitta,
    vielen Dank für deine Infos. Genau das Schlüsselwort PROGRAM_NAME kannte ich bisher nicht. SPECIFIC_NAME habe ich bisher auch bei Überladungen eingesetzt.

    Ist es eigentlich eine gute Idee, das C-Programm mit PROGRAM_NAME selbst zu benennen? Ich dachte, es wäre eine gute Idee. Aber jetzt kamen bei uns Bedenken auf, dass das auch eine riskante Fehleroption sein kann: Wenn jemand eine UDF (also den Source) kopiert und eine neue Funktion schreibt und dabei vergisst, den PROGRAM_NAME anzupassen, wird die neue Funktion ja wahrscheinlich erstellt, aber das bestehende C-Programm wird fälschlicherweise überschrieben.

    Siehts du oder seht ihr das auch als Problem?

    Wir liebäugeln deshalb zur Zeit doch mit der Lösung, den C-Programmnamen automatisch generieren zu lassen und uns für die Debugzwecke das C-Programm manuell (z.B. mit SQL) heraus zu suchen.

  3. #15
    Registriert seit
    Mar 2002
    Beiträge
    5.303
    ... das generieren lassen ist selten eine gute Idee, insbesondere wenn die generierten Namen von der Reihenfolge der Erstellung von Programmen abhängen und man mehrer Umgebungen hat - noch verschärft, wenn man kein automatisches Deployment und change management hat.

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

  4. #16
    Registriert seit
    Feb 2001
    Beiträge
    20.346
    Das kann dir auch bei RPG passieren, wenn man den Namen im Programm vergeben hat, was allerdings eher selten gemacht wird.
    Die COBOL-Programmierer kennen das aber, da ist der Name in der Source ja Pflicht;-).
    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

  5. #17
    Registriert seit
    Jan 2012
    Beiträge
    1.146
    Zitat Zitat von BenderD Beitrag anzeigen
    ... das generieren lassen ist selten eine gute Idee, insbesondere wenn die generierten Namen von der Reihenfolge der Erstellung von Programmen abhängen und man mehrer Umgebungen hat - noch verschärft, wenn man kein automatisches Deployment und change management hat.
    D*B
    Das ist richtig. Danke für den Hinweis.

    Ich habe noch ein wenig weiter probiert. Bei mir klappt die Angabe des Programmnamens nur, wenn ich das Schlüsselwort "specific" verwende. PROGRAMM_NAME oder "specific name" funktioniert nicht.
    Oder wie soll das genau gehen?

    Wegen des Überschreibens von generierten Programmen bin jetzt auch etwas beruhigter:
    Wenn man einmal einen "specific" Programmnamen festgelegt hat, kann man den gar nicht so einfach von einer anderen Funktion aus überschreiben. Es gibt dann die Meldung, dass der Name bereits verwendet wird.

  6. #18
    Registriert seit
    Nov 2020
    Beiträge
    351
    Zitat Zitat von dschroeder Beitrag anzeigen
    Wegen des Überschreibens von generierten Programmen bin jetzt auch etwas beruhigter:
    Wenn man einmal einen "specific" Programmnamen festgelegt hat, kann man den gar nicht so einfach von einer anderen Funktion aus überschreiben. Es gibt dann die Meldung, dass der Name bereits verwendet wird.
    Naja, ich verwende das CREATE OR REPLACE.
    Da ich automatisierte Builds verwende, muss die bestehende Funktion vorher gelöscht werden, falls diese bereits vorhanden ist.
    Da ich das nicht jedes mal manuell machen möchte (was ja auch wieder fehleranfällig ist) muss man entweder in der Source vorher ein DROP FUNCTION oder eben das OR REPLACE verwenden.

  7. #19
    Registriert seit
    Jan 2012
    Beiträge
    1.146
    Wir verwenden ebenfalls nur create or replace.

    Ich finde es ja supergut, dass man den specific Name nicht einfach von einer anderen Funktion aus nochmal benutzen kann. Diese Gefahr ist durch die Warnung gebannt.

  8. #20
    Registriert seit
    Jan 2012
    Beiträge
    1.146
    Bevor jemand den Unsinn, den ich geschrieben habe, für bare Münze nimmt, hier nochmal eine Richtigstellung:

    Ich habe inzwischen herausgefunden, dass es doch das Schlüsselwort "program name" gibt. (Mein RDi erkennt das allerdings nicht als Schlüsselwort, aber es lässt sich ausführen.)

    Das heißt:
    • Mit program name kann ich selbst den Namen des C-Programms festlegen
    • Mit specific lege ich den eindeutigen Funktionsnamen fest. Z.B. wenn ich die selbe Funktion mit unterschiedlichen Parametern haben möchte.

Similar Threads

  1. Artikel: Rahmenprogramm Best Practices
    By NEWSolutions Redaktion in forum NEWSolutions artikel
    Antworten: 0
    Letzter Beitrag: 11-08-15, 17:07
  2. Erstellen einer UDF mit UNION
    By e_sichert in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 09-05-08, 13:25
  3. Job m.best. Anforderungen erstellen
    By deni87991 in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 10-04-06, 14:14
  4. PWRDWNSYS nach best. Job und IPL zu best. Datum/Uhrzeit
    By cassandra in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 30-04-03, 14:39

Berechtigungen

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