PDA

View Full Version : Query/400 automatisch aktuallisieren (bei Dateiänderung)



tarkusch
05-09-16, 16:32
Hallo Forum,

wie kann ich am schönsten ein Update/Aktuallisierung eines Query programmtechnisch(CL/RPG) lösen?

Im Internet hätte ich folgenden Link gefunden:
http://iprodeveloper.com/rpg-programming/retrieve-query-file-information-security-level-40 (http://www2.systeminetwork.com/code/index.cfm?fuseaction=showallissuecode&issueyear=2001&issuemonth=05)

Wir sind auf 7.1 und der Security Level ist 50.

lg

Peet
07-09-16, 18:30
Hallo zusammen,

möchte mich der Frage anschliessen....könnte einen automatischen "PseudoUpdate" von Query's auch gut gebrauchen.
Bei Dateierweiterungen reicht ja das "Reingehen" mit 2=Ändern und dann sofort wieder mit F3 raus !
(vorausgesetzt man will in dem jeweiligen Query nicht auf neue Felder aus der Dateierweiterung zugreifen)

Bin echt mal gespannt !

Vg.

BenderD
08-09-16, 06:57
... gab's schonmal:
http://newsolutions.de/forum-systemi-as400-i5-iseries/threads/14744-QUERY-aktualisieren?p=63460#post63460
Der postende Kollege hat seinerzeit damit hunderte von Queries aktualisiert, allerdings waren die Vorkehrungen und anschließenden Prüfungen nicht ganz trivial zu automatisieren. Meines Wissens läuft das unter SecLevel 50 nicht (da kann man nicht mehr ohne weiteres von der User domain auf Adressen der System domain zugreifen), aber da könnte eine Umgehung mit teporär niedriger Security, oder einer Maschine mit niedrigerem seclevel und save restore helfen.
Den lieben Kollegen können wir leider nicht mehr fragen, der ist auf tragische Weise tödlich verunglückt.

in memoriam Michael

D*B

tarkusch
08-09-16, 07:27
Hallo,

ich habe das über die Systemantwortliste schlussendlich gelöst.

DCL VAR(&InqMsgRpy) TYPE(*CHAR) LEN(10)

/* Wert "Antwort auf Anfragenachricht(Inquiry message reply)" sichern */
RTVJOBA InqMsgRpy(&InqMsgRpy)

/* Eigene definierte Systemantwortliste einstellen */
/* ADDRPYLE SEQNBR(xxxx) MSGID(QRY1058) RPY('I') */
CHGJOB INQMSGRPY(*SYSRPYL)

RUNQRY QRY(…/…)

/* Wert "Antwort auf Anfragenachricht(Inquiry message reply)" wiederherstellen*/
CHGJOB INQMSGRPY(&InqMsgRpy)

ENDPGM

lg

BenderD
08-09-16, 07:39
Hallo,

ich habe das über die Systemantwortliste schlussendlich gelöst.

DCL VAR(&InqMsgRpy) TYPE(*CHAR) LEN(10)

/* Wert "Antwort auf Anfragenachricht(Inquiry message reply)" sichern */
RTVJOBA InqMsgRpy(&InqMsgRpy)

/* Eigene definierte Systemantwortliste einstellen */
/* ADDRPYLE SEQNBR(xxxx) MSGID(QRY1058) RPY('I') */
CHGJOB INQMSGRPY(*SYSRPYL)

RUNQRY QRY(…/…)

/* Wert "Antwort auf Anfragenachricht(Inquiry message reply)" wiederherstellen*/
CHGJOB INQMSGRPY(&InqMsgRpy)

ENDPGM

lg

... hierzu sei angemerkt, dass man diesen Work around bei richtiger Vorgehensweise im reinen SQL Umfeld immer leicht vermeiden kann:
- alles greift ausschließlich auf Views zu
- eine View wird nie geändert
- für Erweiterungen gibt es eine neue View

soviel nur zu Problemen, die man nicht haben muss!!!

D*B