Anmelden

View Full Version : SNDNETF ohne Directory Eintrag des Absenders



harkne
20-06-06, 06:26
Hallo,

ich müsste es irgendwie hinbekommen einen SNDNETF auszuführen ohne daß Absender unter WRKDIRE eingetragen ist. Der SNDNETF erfolgt über ein Programm welches von unterschiedlichsten Benutzer aufgerufen wird, die aber nicht unter WRKDIRE eingetragen werden sollen.

Hat da jemand eine Idee.

Ich kenn mich mit dem Zeugs leider überhaupt nicht aus.

JonnyRico
20-06-06, 07:22
Moin,

SNDNETF ist nur möglich wenn der User in der Systemverteilerliste eingetragen ist. Du könntest ja aber vielleicht einen SBMJOB machen und diesen unter einem anderen User laufen lassen.

Gruß

Sascha

harkne
20-06-06, 07:31
SBMJOB soll/kann/darf ich nicht machen. Ich muß aber nochmal genau nachfragen warum nicht. Habe ich sonst noch einem Möglichkeit dem SNDNETF was "vorzugaukeln" ? User des Jobs ändern ? Irgendein API ? Ich habe gestern nur kurz die Problemstellung erläutert bekommen mit den Worten aber nicht mit SBMJOB. Sonst noch irgendeine Idee ?

cbe
20-06-06, 08:57
Hallo,

Du könntest natürlich einen Satz mit Angabe der zu übertragenden Datei in eine DTQ oder Datei stellen und ein anderer, ständig laufender Job von einem User mit AbsenderID wartet auf solche Sätze und führt dann den entsprechenden SNDNETF aus.

Gruß
Christian

harkne
20-06-06, 10:10
Ich habe den Benutzer des aktuellen Jobs geändert.

Falls es jemand interessiert hier das CL



0001.00 PGM
0002.00
0003.00 DCL VAR(&HNDLORGUSR) TYPE(*CHAR) LEN(12)
0004.00 DCL VAR(&USER) TYPE(*CHAR) LEN(10)
0005.00 DCL VAR(&HNDLSNDUSR) TYPE(*CHAR) LEN(12)
0006.00
0006.01 /* Aktuellen Benutzer ermitteln */
0007.00 RTVJOBA USER(&USER)
0008.00
0008.01 /* Handle für aktuellen Benutzer ermitteln */
0009.00 CALL PGM(QSYGETPH) PARM(&USER '*NOPWD' +
0010.00 &HNDLORGUSR)
0011.00
0011.01 /* Switchen auf den User der im Systemverteilerverzeichnis eingetragen ist */
0012.00 CALL PGM(QSYGETPH) PARM('SNDNETFUSR' '*NOPWD' +
0013.00 &HNDLSNDUSR)
0014.00 CALL PGM(QWTSETP) PARM(&HNDLSNDUSR)
0015.00 CALL PGM(QSYRLSPH) PARM(&HNDLSNDUSR)
0016.00
0016.01 /* Datei senden */
0017.00 SNDNETF FILE(MYLIB/QCLSRC) TOUSRID((SNDNETFUSR +
0018.00 EDV)) MBR(MYMBR)
0019.00
0019.01 /* Zurück switchen auf ursprünglichen User */
0020.00 CALL PGM(QWTSETP) PARM(&HNDLORGUSR)
0021.00 CALL PGM(QSYRLSPH) PARM(&HNDLORGUSR)
0022.00
0023.00
0024.00 ENDPGM

Fuerchau
20-06-06, 12:23
Achtung:
Diese API's werden immer mit Berechtigung *PUBLIC *EXCLUDE ausgeliefert.
Das Programm muss also auch unter einem User (*OWNER) laufen, der die Berechtigung hat.

Da du die API's selber gefunden hast, brauch ich dir diese ja nicht mehr zu nennen.

Pikachu
20-06-06, 13:02
Hallo!
Diese API's werden immer mit Berechtigung *PUBLIC *EXCLUDE ausgeliefert.Hat sich da wieder etwas an den Berechtigungen geändert? Unter V5R2 besitzen diese APIs doch noch die Berechtigung *PUBLIC *USE !?

@harkne
Ab V5R3 hat sich etwas an den erforderlichen Parametern einiger dieser APIs geändert (http://www-912.ibm.com/s_dir/slkbase.NSF/0/f4c2729f75e5e71286256eed004ac199?OpenDocument)!

Viele Grüße
Jürgen

Fuerchau
20-06-06, 13:17
Hm, da scheint sich ja in V5 was geändert zu haben.
Früher (jaja) war das nähmlich so.
Vielleicht ändert das ja auch immer irgendwer ;)

holgerscherer
20-06-06, 18:43
Hm, da scheint sich ja in V5 was geändert zu haben.
Früher (jaja) war das nähmlich so.
Vielleicht ändert das ja auch immer irgendwer ;)

IBM = Immer Berechtigung Manipulieren
oder so...
habe mal eben auf einer V5R2-Maschine nachgesehen:

Benutzer Gruppe berechtg.
QSYS *ALL
QSRV *USE
QUSER *USE
QNOTES *USE
*PUBLIC *USE

nuja :)

-h

harkne
21-06-06, 07:14
Danke an alle für die Hilfe