PDA

View Full Version : Von AS/Menu über WRKSPLF zu Custom-Funktion



Seiten : [1] 2

FrEEk
28-05-04, 09:32
Hallo an alle :)

Wir wollen SPOOL FILES direkt per Email versenden. Das Problem sollte so gelöst sein, dass man per WRKSPLF eine Datei auswählen kann und dann per Auswahl 1 direkt eine Eingabemaske mit Empfänger, Betreff... und was noch dazu gehört, erscheint.

Ich denke, dafür muss man irgendwie die Befehle mit eigenen Auswahlfunktionen versehen.

Weiss jemand, ob das möglich ist?

Danke schön für die Infos :D

Fuerchau
28-05-04, 10:11
An den Standard-Funktionen läßt sich nichts ändern.
Du kannst nur ein eigenes WRKSNDSPLF entwickeln und dann die Funktionen selber steuern.

FrEEk
28-05-04, 10:58
Hmm, komisch.. wir haben das gleiche bereits mit dem Versenden von Faxmeldungen, nur habe ich keine Möglichkeit, das ganze in der Source anzuschauen :(

Kann ich WRKSPLF nicht im "Auswahlmodus" aufrufen und die angezeigten Dateien an meine obere Funktion zurücksenden?

BenderD
28-05-04, 11:03
Hallo,
ich habe gerade meine Möhre nicht am laufen, muss also aus dem Gedächtnis einiges ergänzen:



Hallo an alle :)

Wir wollen SPOOL FILES direkt per Email versenden. Das Problem sollte so gelöst sein, dass man per WRKSPLF eine Datei auswählen kann und dann per Auswahl 1 direkt eine Eingabemaske mit Empfänger, Betreff... und was noch dazu gehört, erscheint.

Ich denke, dafür muss man irgendwie die Befehle mit eigenen Auswahlfunktionen versehen.

Weiss jemand, ob das möglich ist?

Danke schön für die Infos :D

geht net gibbds net, sagt man bei uns.

Hinter der Auswahl 1 steht wohl SNDNETSPLF 1. Ansatzpunkt ist an diesen Command einen Validity Checker anzuhängen, damit kommt man vor dem Versenden des Objektes an den Command dran und kann sich einklinken. Wir haben mal auf diese Art den CHGSPLFA aufgebohrt; wenn in der Formularart z.B.: #H13272 drinstand, haben wir mit APIs den Druck umformatiert, damit er auf ein bestimmtes Formular gepasst hat.
Das mit der eigenen Auswahl Maske, da müsste man mal unter Prompt Overwrite Programm suchen, ich meine da ist noch was, wo man den F4 in den Commands fummeln kann.

nette Herausforderung, früher hat mir sowas mal Spass gemacht.

mfg

Dieter Bender

FrEEk
01-06-04, 09:06
Hallo,
ich habe gerade meine Möhre nicht am laufen, muss also aus dem Gedächtnis einiges ergänzen:



geht net gibbds net, sagt man bei uns.

Hinter der Auswahl 1 steht wohl SNDNETSPLF 1. Ansatzpunkt ist an diesen Command einen Validity Checker anzuhängen, damit kommt man vor dem Versenden des Objektes an den Command dran und kann sich einklinken. Wir haben mal auf diese Art den CHGSPLFA aufgebohrt; wenn in der Formularart z.B.: #H13272 drinstand, haben wir mit APIs den Druck umformatiert, damit er auf ein bestimmtes Formular gepasst hat.
Das mit der eigenen Auswahl Maske, da müsste man mal unter Prompt Overwrite Programm suchen, ich meine da ist noch was, wo man den F4 in den Commands fummeln kann.

nette Herausforderung, früher hat mir sowas mal Spass gemacht.

mfg

Dieter Bender


Hört sich nett an..

Ich müsste irgendwie an den FILE-Parameter rankommen und überprüfen ob er NICHT leer ist. Wenn nicht, dann verzweige ich in den befehl STRSNDMAIL, wo die Eingabemaske kommt.

Zu Prompt Overwrite Programme:

Da habe ich jetzt so ziemlich alles durchsucht, aber das einzige, was ich gefunden habe ist der Befehl PMTCTL (Prompt Control). Irgendwie lässt sich der Befehl aber nicht in der CLP-Umgebung ausführen..

Ich schaue mal noch nach einem brauchbaren RTV-Befehl.. Vielleicht gibt es den ja.

Pikachu
01-06-04, 09:30
Hallo FrEEk!

Doch das geht, man kann dem WRKSPLF für Auswahl 1 einen eigenen Befehl mitgeben, der dann bei dieser Auswahl aufgerufen wird.

Dazu muss man eine Nachrichtendatei (so eine wie QCPFMSG) anlegen, und in diese die Nachrichten CPX3438 und CPX3439 eintragen, entsprechend den Nachrichten in QCPFMSG, jedoch anstelle dem SNDNETSPLF einen eigenen Befehl und die Übergabeparameter entsprechend anpassen.

Dieser eigene Befehl muss in die Bibliothek QSYS kopieren werden, da der WRKSPLF nur in der Systembibliotheksliste sucht (V5R2).

Jetzt noch ein OVRMSGF MSGF(QCPFMSG) TOMSGF(MYMSGF) und dann ein WRKSPLF.

So, ich hoffe ich habe nichts vergessen ...

Viele Grüße
Jürgen

FrEEk
01-06-04, 10:51
Hallo FrEEk!

Doch das geht, man kann dem WRKSPLF für Auswahl 1 einen eigenen Befehl mitgeben, der dann bei dieser Auswahl aufgerufen wird.

Dazu muss man eine Nachrichtendatei (so eine wie QCPFMSG) anlegen, und in diese die Nachrichten CPX3438 und CPX3439 eintragen, entsprechend den Nachrichten in QCPFMSG, jedoch anstelle dem SNDNETSPLF einen eigenen Befehl und die Übergabeparameter entsprechend anpassen.

Dieser eigene Befehl muss in die Bibliothek QSYS kopieren werden, da der WRKSPLF nur in der Systembibliotheksliste sucht (V5R2).

Jetzt noch ein OVRMSGF MSGF(QCPFMSG) TOMSGF(MYMSGF) und dann ein WRKSPLF.

So, ich hoffe ich habe nichts vergessen ...

Viele Grüße
Jürgen


Hallo Pikachu!

Das ist ja genial! ;)

Danke schön für Deine Antwort.

Funktioniert bestens.. habe einen Test mit einem einfachen Befehl (DSPLIBL) gemacht und der hat prompt richtig reagiert :)

Nochmals danke!

MfG
Florian

Fuerchau
01-06-04, 11:52
Beim OVRMSGF muss man allerdings aufpassen, dass ALLE Nachrichten zu diesem Zeitpunkt überschrieben werden. Nachrichten, die nicht gefunden werden, führen ggf. zu unerwarteten Abstürzen oder Fehlverhalten. Insbesonders, wenn e.g. eine Kommandozeile geöffnet ist und weitere Befehle ab dieser Ebene aufgerufen werden können. Der OVRMSGF gilt für alle Programme ab der Ebene des OVR's.
Da ist es schon einfacher, direkt die QCPFMSG zu ändern und ggf. bei jedem Release/PTF diese Änderungen zu wiederholen.

Prompt-Overwrite ist eine Funktion des CRTCMD bzw CHGCMD und hat mit PMTCTL nichts zu tun. PMTCTL ist eine Anweisung in einer CMD-Quelle um bestimmte Abhängigkeiten beim Prompting zu steuern.

Pikachu
01-06-04, 12:04
Hallo Fuerchau!


Beim OVRMSGF muss man allerdings aufpassen, dass ALLE Nachrichten zu diesem Zeitpunkt überschrieben werden. Nachrichten, die nicht gefunden werden, führen ggf. zu unerwarteten Abstürzen oder Fehlverhalten. ...

Der Hilfetext zum OVRMSGF sagt da aber was anderes. Da steht, dass die überschreibende Nachrichtendatei nicht alle Nachrichten enthalten muss. Wird eine Nachricht nicht gefunden, wird einfach in der überschriebenen Nachrichtendatei nach dieser Nachricht gesucht. ;)

Viele Grüße
Jürgen

Fuerchau
01-06-04, 12:07
Danke für den Hinweis, man lernt halt immer was dazu.