0

我在 IBM AIX 5.3 上使用 Oracle EBS R12.1.3

最近我有一个要求,通过邮件将并发程序的输出作为附件发送。输出为 .XLS 格式。

以下代码适用于将 XLS 格式的并发程序输出文件发送到所需的电子邮件 ID。

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;

4

2 回答 2

0

以下代码适用于将 XLS 格式的并发程序输出文件发送到所需的电子邮件 ID。

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;

于 2018-01-12T18:08:04.653 回答
0

这里没有真正的问题。

但是,如果您正在寻找有关脚本的反馈,请注意您在命令行上使用密码是不安全的 - 可以在进程中查看它们。您应该通过 STDIN 传递它们 - 这可以通过管道完成:https ://asktom.oracle.com/pls/asktom/f%3Fp%3D100:11:0::::P11_QUESTION_ID:142212348066

或在 SQL*Plus 会话中: 在 sqlplus comman 中传递变量 user,pass,sid

于 2018-01-13T17:09:47.957 回答