Отправлять выходные данные XLS параллельной программы в виде вложения по почте на целевой идентификатор электронной почты

Я использую Oracle EBS R12.1.3 на IBM AIX 5.3.

Недавно я получил требование отправить вывод параллельной программы в виде вложения по почте. Вывод в формате .XLS.

Приведенный ниже код хорошо работает для отправки выходного файла параллельной программы в формате XLS на желаемый идентификатор электронной почты.

echo "starting the program"
echo "################################"
echo "Current Child Request ID :"$4
REQ_ID=$4
echo $REQ_ID
echo "Do you want the output through auto-generated email:" $5

if [ $5 == 'Y' ]
then
echo "As per your request generating email containing XLS output as attachment for the Concurrent request $4"
YEAH_FILE=
sqlplus -s <DB_Schema_Name>/<Schema_Password>@<Instance_Name> << EOF
set linesize 300;
set pagesize 0;
set echo off;
set serveroutput off;
set sqlblank off;
set feedback off;
set heading off;
set wrap off;
col "REQ" format 9999999;
select '$APPLCSF/out/*' || REQUEST_ID ||'*.xls ' from FND_CONC_REQ_SUMMARY_V where REQUEST_ID ='$REQ_ID'; spool off EOF

#Get the email ID
SEND_MAIL_ID = 'echo <Email_ID>'

cat <<'EOF' - $YEAH_FILE | /usr/sbin/sendmail $SEND_MAIL_ID
Subject: Email with XLS output
Content-Type: application/vnd.ms-excel
MIME-Version: 1.0
Content-Disposition: attachment
EOF

else [ $5 == 'N' ]
echo "As per your request the Email won't trigger for the Concurrent request $4"
fi

exit 0;


person ARGStackOvaFlo    schedule 12.01.2018    source источник
comment
В чем вопрос, или его нет и вы хотите только нас побеспокоить?   -  person ULick    schedule 12.01.2018


Ответы (2)


Приведенный ниже код хорошо работает для отправки выходного файла параллельной программы в формате XLS на желаемый идентификатор электронной почты.

echo "starting the program"
echo "################################"
echo "Current Child Request ID :"$4
REQ_ID=$4
echo $REQ_ID
echo "Do you want the output through auto-generated email:" $5

if [ $5 == 'Y' ]
then
echo "As per your request generating email containing XLS output as attachment for the Concurrent request $4"
YEAH_FILE=
sqlplus -s <DB_Schema_Name>/<Schema_Password>@<Instance_Name> << EOF
set linesize 300;
set pagesize 0;
set echo off;
set serveroutput off;
set sqlblank off;
set feedback off;
set heading off;
set wrap off;
col "REQ" format 9999999;
select '$APPLCSF/out/*' || REQUEST_ID ||'*.xls ' from FND_CONC_REQ_SUMMARY_V where REQUEST_ID ='$REQ_ID'; spool off EOF

#Get the email ID
SEND_MAIL_ID = 'echo <Email_ID>'

cat <<'EOF' - $YEAH_FILE | /usr/sbin/sendmail $SEND_MAIL_ID
Subject: Email with XLS output
Content-Type: application/vnd.ms-excel
MIME-Version: 1.0
Content-Disposition: attachment
EOF

else [ $5 == 'N' ]
echo "As per your request the Email won't trigger for the Concurrent request $4"
fi

exit 0;

person ARGStackOvaFlo    schedule 12.01.2018

Здесь нет актуального вопроса.

Но если вы ищете отзывы о сценарии, обратите внимание, что использование вами паролей в командной строке небезопасно — их можно просмотреть в процессе. Вы должны передать их через STDIN — это можно сделать через канал: https://asktom.oracle.com/pls/asktom/f%3Fp%3D100:11:0::::P11_QUESTION_ID:142212348066

или в сеансе SQL*Plus: Передача переменной user,pass,sid в команда sqlplus

person Egret    schedule 13.01.2018