2010-09-16 10 views
1

Dans un déclencheur Oracle Forms, j'utilise la commande host pour créer un répertoire sur le serveur de fichiers. Voici un exemple de cette partie de mon code:Oracle Forms - Commande d'hôte - Retour Code d'erreur

HOST ('mkdir' ||: GLOBAL.DIRECTORY_PATH || '\ FERTILIZER \' || ADDY);

Je dois me faire renvoyer le code d'erreur si le répertoire n'est pas créé sur le serveur. Des suggestions du code que je dois ajouter?

Merci.

Répondre

2

FORM_SUCCESS renverra FALSE si la commande échoue pour une raison quelconque (à moins que vous ne soyez sur Windows 95, auquel cas il retournera toujours TRUE).

HOST('...'); 
IF NOT FORM_SUCCESS THEN 
    MESSAGE('something went wrong'); 
END IF; 
2

Si vous recherchez le code d'erreur de niveau du système d'exploitation réelle, alors vous êtes hors de la chance. La réponse ci-dessus de Jeffrey Kemp est le meilleur que vous obtiendrez.

Si vous rencontrez des problèmes, gardez à l'esprit que le système intégré HOST s'exécute sur la machine qui exécute le formulaire (normalement le serveur d'applications). Ainsi, votre commande doit être valide pour le système d'exploitation particulier du serveur d'applications.

En outre, et vous avez compris cela déjà, dans votre exemple, 'mkdir'||:GLOBAL.DIRECTORY_PATH||'\FERTILIZER\'||ADDY pourrait entraîner votre commande ayant pas d'espace entre la commande - mkdir et la chaîne, entraînant une commande qui a échoué.

1

Vous pouvez toujours obtenir le message d'erreur en utilisant cette instruction HOST (vCommand || '> error.txt');

+0

Ahh - oui bonne redirection d'ole. –