[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Mar 2002
    Beiträge
    5.379
    Zitat Zitat von mgraskamp Beitrag anzeigen
    Gibt es keine Möglichkeit, bei Beendigung der Main Procedure das Programm aus dem Speicher rauszubekommen?
    ACTGRP(*NEW) ist eine naheliegende Möglichkeit.
    Ansonsten gilt immer: lokale Variablen für alle nicht Zustands behafteten Variablen bevorzugen.
    Legt man alle Zustandsvariablen in eine (qualified, versteht sich) Datenstruktur (ich nenne die analog zu Java this) kann man diese mit einer einzigen Anweisung reinitialisieren und man kann auch einfach sowas ähnliches wie Mehrfach Aktivierung programmieren.

    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/

  2. #2
    Registriert seit
    Sep 2005
    Beiträge
    32
    ACTGRP(*NEW) hatte ich auch schon überlegt. Allerdings fehlte mit der Parameter im Befehl CRTSQLRPGI. Habe das jetzt aber in die Control-Options geschrieben und dann funktioniert es. Das Programm wird nicht so oft aufgerufen, da kann ruhig jedesmal eine neue Actgrp geöffnet werden.

  3. #3
    Registriert seit
    Apr 2005
    Beiträge
    385
    Kannst du im PGM bei den SQL Options mit angeben:
    Code:
     C/EXEC SQL                         
     C+ SET OPTION                      
     C+ COMPILEOPT = 'ACTGRP(*NEW)'     
     C/END-EXEC

  4. #4
    Registriert seit
    Jan 2009
    Beiträge
    67
    Standard RPG Compile Options kann man auch and den Befehl CRTSQLRPGI übergeben. Dafür ist der Parameter COMPILEOPT da.

    Zum Bespiel:

    CRTSQLRPGI ... COMPILEOPT('DFTACTGRP(*NO) ACTGRP(*CALLER) INCDIR(''/usr/local/include'') OPTION(*SRCSTMT *NODEBUGIO) OPTIMIZE(*BASIC)')

  5. #5
    Registriert seit
    Oct 2014
    Beiträge
    28
    Nur mal so gefragt, hilft da auch kein inz(*zero) bzw *inz(*blanks)?

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.748
    Leider nein.
    Inz ist eine Initialisierung die bei der Speicherbelegung ausgeführt wrd.
    Das selbe gilt dann für Clear.
    Einzig die Existenz einer *INZSR (auch verdeckt) sorgt automatisch dafür, dass der Compiler für jede Reset-Anwesiung eine Kopie mit dem Initwert des Feldes/der Struktur generiert.
    Ansonsten wirkt Reset da wohl wie Clear.

    Wenn du allerdings mittls NoMain eine Prozedur verwendest, dann wird nicht mehr static, sondern automatic storage belegt. Einzig Variablen, die vor der 1. Prozedur definiert sind, bleiben static.

    https://www.itjungle.com/2008/08/27/fhg082708-story01/
    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

Similar Threads

  1. Felder anonymisieren (DSGVO)
    By nico1964 in forum NEWSboard Programmierung
    Antworten: 37
    Letzter Beitrag: 12-06-18, 11:41
  2. Felder in der WSDL-Datei
    By svit in forum NEWSboard Programmierung
    Antworten: 0
    Letzter Beitrag: 06-07-15, 11:44
  3. VARCHAR Felder(UTF-8) und ILE RPG
    By uditzen in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 26-06-15, 11:03
  4. Modem initialisieren
    By Mädele in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 16-05-03, 12:31
  5. SQL Felder dynamisch
    By Harald.Wallukat in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 16-12-02, 21:37

Tags for this Thread

Berechtigungen

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