FUNCTION t540sub_mail(l_pmm) DEFINE l_cmd LIKE type_file.chr1000 DEFINE l_pmc912 LIKE pmc_file.pmc912 #是否mail DEFINE l_pmd02 LIKE pmd_file.pmd02 DEFINE l_pmd07 LIKE pmd_file.pmd07 DEFINE l_zo02 LIKE zo_file.zo02 DEFINE l_subject STRING #主旨 DEFINE l_body STRING #內文路徑 DEFINE l_recipient STRING #收件者 DEFINE l_cnt LIKE type_file.num5 #SMALLINT DEFINE l_wc STRING DEFINE l_sql STRING DEFINE ls_context STRING DEFINE ls_temp_path STRING DEFINE ls_context_file STRING DEFINE l_pmm RECORD LIKE pmm_file.* DEFINE i LIKE type_file.num5 #FUN-870158 #廠商基本資料中如勾選要發mail給廠商,則依連絡人發mail SELECT pmc912 INTO l_pmc912 FROM pmc_file WHERE pmc01 = l_pmm.pmm09 IF SQLCA.sqlcode THEN CALL cl_err3("sel","pmc_file",l_pmm.pmm09,"",SQLCA.sqlcode,"","",0) ELSE IF l_pmc912 = 'Y' THEN #要發mail SELECT COUNT(*) INTO l_cnt FROM pmd_file WHERE pmd01 = l_pmm.pmm09 AND pmd07 IS NOT NULL AND pmd08 = 'Y' #FUN-940071 IF l_cnt >0 THEN #主旨 SELECT zo02 INTO l_zo02 FROM zo_file WHERE zo01 = g_lang LET l_subject = cl_getmsg("apm-795",g_lang) CLIPPED,l_zo02 CLIPPED, cl_getmsg("apm-796",g_lang) CLIPPED,l_pmm.pmm01 LET g_xml.subject = l_subject #內文 LET ls_context = cl_getmsg("apm-799",g_lang) CLIPPED LET ls_temp_path = FGL_GETENV("TEMPDIR") LET ls_context_file = ls_temp_path,"/report_context_" || FGL_GETPID() || ".txt" LET l_cmd = "echo '" || ls_context || "' > " || ls_context_file RUN l_cmd WITHOUT WAITING LET g_xml.body = ls_context_file #收件者 LET l_recipient = '' DECLARE t540sub_pmd_c CURSOR FOR SELECT pmd02,pmd07 FROM pmd_file WHERE pmd01 = l_pmm.pmm09 AND pmd07 IS NOT NULL AND pmd08 = 'Y' #No.FUN-940071 ORDER BY pmd02 LET i = 0 #FUN-870158 FOREACH t540sub_pmd_c INTO l_pmd02,l_pmd07 LET i = i + 1 IF i = 1 THEN LET l_recipient = l_recipient CLIPPED,l_pmd07 CLIPPED,":",l_pmd02 CLIPPED ,":","1" CLIPPED ELSE LET l_recipient = l_recipient CLIPPED ,";",l_pmd07 CLIPPED,":",l_pmd02 CLIPPED ,":","1" CLIPPED END IF END FOREACH LET g_xml.recipient = l_recipient LET l_wc = "pmm01='",l_pmm.pmm01 CLIPPED,"'", " AND pmm04='",l_pmm.pmm04 CLIPPED,"'", " AND pmm12='",l_pmm.pmm12 CLIPPED,"'" LET l_wc = cl_replace_str(l_wc,"'","\"") CALL FGL_SETENV("MAIL_TO",l_recipient) #FUN-870158 LET l_cmd = "apmr900 '",g_today,"' '",g_user CLIPPED,"' '",g_lang,"' 'Y' 'A' '1' '",l_wc CLIPPED,"' 'N' 'Y' '0' 'default' 'default' 'default' '",g_xml.subject,"' '",g_xml.body,"' '",g_xml.recipient,"' 'apmr900_0_std' ''" #FUN-870158 CALL cl_cmdrun(l_cmd) END IF END IF END IFEND FUNCTION