Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > E-Business
E-Business Forum d'entraide sur Oracle E-Business
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/05/2008, 10h21   #1
Invité de passage
 
Inscription : mai 2008
Messages : 3
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 3
Points : 1
Points : 1
Par défaut Envoyer un report standard par mail

Bonjour,

Dans E-Business suite (V12), existe-t-il un moyen (simple) pour envoyer un report standard oracle par mail à la personne qui lance le report dans le concurrent program manager ?

Existe-t-il une solution qui permette de ne pas devoir développer du spécifique pour chaque report standard oracle que l'on désire envoyer par mail et que l'on peut donc facilement transposer pour les autres reports standards ?

D'avance merci pour votre réponse !

Meilleures salutations.
v2000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2008, 21h04   #2
Candidat au titre de Membre du Club
 
Inscription : octobre 2006
Messages : 30
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 30
Points : 10
Points : 10
Par défaut envoi de report

Salut

moi j'utilise un script Shell pour envoyer le report et le log puis je les zippe avec gzip puis j'envoie par SENDMAIL ou MPack
si tu a besoin du script complet je peux te l'envoyer.
sinon je ne connais d'autre façon de l'envoi.
si tu trouve une autre manière de faire fais moi signe
izghad_06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2008, 16h37   #3
Invité de passage
 
Inscription : mai 2008
Messages : 3
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 3
Points : 1
Points : 1


Merci pour ta réponse!

Tes solutions sont les bienvenues, c'est toujours intéressant de connaitre la vision d'autres personnes sur une problématique donnée que l'on peut résoudre de X façons différentes.....

En fait, j'ai trouvé un moyen de procéder, mais cela requiert un peu de configuration....

Comme je ne voulais pas modifier les reports standards, ni l'appel à ces reports, j'ai procédé comme suit :

Step 1 Setup Printer Driver
System Administrator -> Install -> Printer -> Driver
Driver Name : Email PDF
User Driver : e-Document Mail
Description : This driver used to send output by mail attachament
SRW Driver : HPA
Driver Method : Program
Driver Method Parameters :
- Spool File = 'Y'
- Standard input = 'N'
- Program Name = '$XXFND_TOP/bin/eMailFile.sh'
Arguments : $PROFILES$.CONC_REQUEST_ID $APPLCSF/$APPLOUT/*$PROFILES$.CONC_REQUEST_ID.out $PROFILES$.USER_ID $XXFND_TOP/log

Step 2 Register Printer :
Printer : Mail Output
Type : Mail Output
Description : File Tansfert by mail

Step 3 Printer Types :
Type : Mail Output
Description : Mail Output
Style : Mail Output Transfert
Driver Name : Email PDF

Step 4 Printer Styles :
Style Name : Mail Output
Seq : a valid free sequence number
User Style : Mail Output
Layout
- Columns : 132
- Lines : 55

Ensuite j'ai mon programme Unix $XXFND_TOP/bin/eMailFile.sh
Pour des raisons de pratiques entreprise, seules les personnes définies comme employé peuvent utiliser cette fonctionalité.
Pour ce faire, il faut donc se définir comme employé AVEC ADRESSE MAIL dans avec une responsabilité "HRMS Manager".

Step 5 Le shell script Unix est :

LOGFILE=$XXFND_TOP/log/Mail_to_requestor_$1.log
REQUEST_ID=$1
OUT_FILE=$2
USER_ID=$3
LOG_PATH=$4
#get the name and e-mail address of the requestor
unixvar=`sqlplus -s apps/apps <<!
set termout off
set feedback off
set pagesize 0
--# => this code to be used in case requestor is defined as an oracle user only
--#SELECT USER_NAME||':'||EMAIL_ADDRESS
--#FROM fnd_user
--#WHERE user_id=${USER_ID};
--# => this code to be used in case requestor is defined as an oracle user AND as an employee
select U.user_name||':'||U.email_address||':'||P.last_name||':'||P.first_name||':'||P.title||':'||P.email_address
FROM FND_USER U,
PER_PEOPLE_F P
where U.employee_id = P.person_id (+)
AND U.user_id = ${USER_ID};
exit
!`
# let's decompose query result into variables
count=1
num_of_fields=`echo $unixvar | awk -F: '{print NF}'`
echo "unixvar => $unixvar | awk -F: '{print NF}'" >> $LOGFILE
echo "num_of_fields= $num_of_fields" >> $LOGFILE
while [ $count -lt $num_of_fields+1 ]
do
test_var=`echo $unixvar | cut -d : -f $count`
echo "test_var= $test_var" >> $LOGFILE
if [[ $count -eq 1 ]];then
P_USER_NAME=$test_var
elif [[ $count -eq 2 ]];then
P_MAIL_TO_USER=$test_var
elif [[ $count -eq 3 ]];then
P_LAST_NAME=$test_var
elif [[ $count -eq 4 ]];then
P_FIRST_NAME=$test_var
elif [[ $count -eq 5 ]];then
P_TITLE=$test_var
elif [[ $count -eq 6 ]];then
P_MAIL_TO_EMPLOYEE=$test_var
fi
count=`expr $count + 1`
echo "count= $count" >> $LOGFILE
echo "The value is : $test_var" >> $LOGFILE
done
#set up the sender of the mail => mail is not sent if sender not specific
#if mail not sent, check for security reason
#(1. sendmail command desactivated
# 2. mail smtp restricted
# 3. firewall settings)

P_SENDER=$(whoami)@Mon_Entreprise.com
#P_SENDER="no-reply@Mon_Entreprise.com"
#create mail file
MAILFILE=${XXFND_TOP}/bin/MailPDF_$1.txt

#check if PDF file exists for this output
MyCommand="ls $APPLCSF/$APPLOUT/*$REQUEST_ID*.PDF"
echo "MyCommand= $MyCommand" >> $LOGFILE
MyResult=`eval $MyCommand`
echo "MyResult= $MyResult" >> $LOGFILE
ATTACHMENT=`basename $MyResult`
echo "ATTACHMENT= $ATTACHMENT" >> $LOGFILE

touch $MAILFILE
#create mail subject depending of the output file name to attach to mail
if [[ -n $ATTACHMENT ]];then
subject="Mail $ATTACHMENT from Oracle Applications"
echo "subject is $subject" >> $LOGFILE
echo "Subject : " $subject > $MAILFILE
else
subject="Mail $REQUEST_ID.txt from Oracle Applications"
echo "subject is $subject" >> $LOGFILE
echo "Subject : " $subject > $MAILFILE
fi

#write the french mail body depending of the output file name to attach to mail
if [[ -n $ATTACHMENT ]];then
echo "Veuillez trouver ci attaché le fichier $ATTACHMENT qui a été généré lors de l'execution du request_id $REQUEST_ID." >> $MAILFILE
else
echo "Veuillez trouver ci attaché le fichier $REQUEST_ID.txt qui a été généré lors de l'execution du request_id $REQUEST_ID." >> $MAILFILE
fi
echo "" >> $MAILFILE

#affect the recipient of the mail
if [[ $P_MAIL_TO_USER != "" ]];then
P_MAIL_TO=$P_MAIL_TO_USER
elif [[ $P_MAIL_TO_EMPLOYEE != "" ]];then
P_MAIL_TO=$P_MAIL_TO_EMPLOYEE
else
#to be removed !!!!!!!!!!
P_MAIL_TO="une_adress_defaut@Mon_Entreprise.com"
fi

G_SYSDATE=`date '+%Y/%M/%d %H:%M:%S'`
#construct the subject of the mail depending of the output file name to attach to mail
#sends the mail with the output file as an attachment
if [[ -n $ATTACHMENT ]];then
subject="Mail $ATTACHMENT from Oracle Applications"
echo "subject is $subject" >> $LOGFILE
echo "Mailing $subject to $P_MAIL_TO at $G_SYSDATE" >> $LOGFILE
(cat $MAILFILE; uuencode $MyResult $ATTACHMENT) | sendmail -f $P_SENDER $P_MAIL_TO
else
subject="Mail $OUT_FILE_NAME from Oracle Applications"
echo "subject is $subject" >> $LOGFILE
#echo "Mailing $subject to $P_MAIL_TO at `date`" >> $LOGFILE
echo "Mailing $subject to $P_MAIL_TO at $G_SYSDATE" >> $LOGFILE
(cat $MAILFILE; uuencode $OUT_FILE $REQUEST_ID.txt) | sendmail -f $P_SENDER $P_MAIL_TO
fi

#remove the mailfile
rm $MAILFILE

echo "" >> $LOGFILE
echo "Mail sent !" >> $LOGFILE

exit 0

/*************************************/
Step 6
Une fois ceci implémenté, dans l'écran "Submit Request" on presse sur le bouton "Options..", puis sous "Print the Output To:"
1) champs "Style" sélectionner "Mail Output"
2) champs "Printer" sélectionne également "Mail Output"

Voilà !
J'espère que ce post pourra également aider d'autres développeurs ....
Meilleures salutations
V2000
v2000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h54.


 
 
 
 
Partenaires

Hébergement Web