Fil d’Ariane du forum – Vous êtes ici :ForumForums techniques: AS/400FTP Client et execution programme
Vous devez vous identifier pour créer des messages et des sujets.

FTP Client et execution programme

Bonjour

j'ai un as400 et autres types de machines qui envoient des fichiers via FTP vers as400.

j'avais initialement developpé un pgm sur le wrkreginf (QIBM_QTMF_CLIENT_REQ) en pensant que.. mais non...cet exit ne fait que la validation des parametres passés dans le PUT (par exemple)

ma question est :

Comment faire pour executer un programme (sur l'as400 recevant, donc client) à réception d'un fichier FTP obtenu par PUT ?

Y a t-il un pont d'exit ? ou une API ?

Merci

 

Bonjour

RCMD dans le script FTP permet d'exécuter une commande sur le site distant

RCMD CALL PGM(…...

devrait fonctionner

 

Cdlt

 

 

Merci pour la réponse

le site distant est un windows etc... et il ne me semble pas que l'équipe en charge des Winx vont integrer des commandes pour mes beaux yeux...

 

Citation de ManuC le 11 septembre 2019, 10 h 56 min

Comment faire pour executer un programme (sur l'as400 recevant, donc client) à réception d'un fichier FTP obtenu par PUT ?

 

Citation de ManuC le 11 septembre 2019, 11 h 16 min

le site distant est un windows etc... et il ne me semble pas que l'équipe en charge des Winx vont integrer des commandes pour mes beaux yeux...

Si le site distant est un As400, RCMD CALL PGM(…... comme indiqué ci-dessus.

Si le site distant est un Windows, RUNRMTCMD permet d'exécuter une commande sur un serveur Windows, mais il y a un service spécifique (je ne sais plus lequel) à activer sur ce serveur pour cela

AS400 est le recepteur (donc client)

Les sites emetteurs sont soit des windows, soit des mainframe... (serveurs)

pour le moment, hormis inserer un RCMD apres l'execution du PUT (realisé par windows, mainframe...)...

je pensais qu'une api ou exit à developper sur la machine recepteur (l'as400) aurait pu eviter d'ajouter ce RCMD ...

Bonjour,

Il y a aussi la commande suivante :

STRTCPFTP RMTSYS(SYSDESTIN) qui peux être le même serveur.
Namefmt 1
binary
Put /qsys.lib/MALIB.lib/MONFIC.FILE /qsys.lib/DESTLIB.lib/MONFIC1.FILE

on écrit le script dans un fichier et la commande va le lire.

https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_72/rzaiq/rzaiqcrtclpgm.htm

Pour moi, c'est ce qu'il y a de plus souple.

Larry57

Bonjour

Merci pour les reponses.

Pour simplifier ma demande : Comment je peux executer un programme sur as400 à reception "complete" d'un fichier FTP ?

Hormis la rcmd ecrit et executée par le serveur emetteur...

j'aurais aimé trouver un programme 'exit' cote recepteur (donc l'as400) qui serait déclenché à reception du fichier... (type API ?) cet Exit aurait permis d'éviter au site distant d'envoyer un 'rmcd' vers l'as400...

 

Tu peux faire un programme qui fait un dir du répertoire et après avoir traité le fichier, tu renommes ou déplaces le fichier.

Et tu mets ton cl dans un batch qui tourne tous les x temps.

Une autre solution est d'ajouter un record dans une table et tu lances un trigger pour récupérer ton fichier.

Larry57

Bonjour

Je laisse avec une rmt cmd mise à la suite du put.

Merci pour vos reponses

Bonjour

Pourquoi ne pas utiliser la commande ftp QUOTE après le PUT du fichier?

QUOTE (Send a Command to an FTP Server)

To send a subcommand directly to the FTP server on the remote system,
use the QUOTE subcommand. The string is sent verbatim to the FTP
server.