โพสต์นี้กล่าวถึงปัญหาทั่วไปของ Oracle® Workflow Notification Mailer ที่ผู้ดูแลระบบฐานข้อมูล (DBA) เผชิญทุกวัน
แนะนำตัว
เมื่อคุณจัดการปัญหา คุณจะจัดการกับกระบวนการบันทึก ติดตาม และแก้ไขปัญหา เนื่องจาก Mailer การแจ้งเตือนเวิร์กโฟลว์มีองค์ประกอบมากมาย คุณอาจประสบปัญหาในการแก้ไขปัญหาที่เกี่ยวข้อง เพื่อช่วยคุณ เราจะกล่าวถึงปัญหาบางประการและการแก้ไขที่เป็นไปได้ อย่าพลาดสคริปต์ที่จำเป็นสำหรับจัดการกิจกรรม Mailer การแจ้งเตือนของเวิร์กโฟลว์อย่างง่ายดาย
ปัญหาทั่วไปเกี่ยวกับ Mailer การแจ้งเตือนเวิร์กโฟลว์และการแก้ไข
ส่วนต่อไปนี้สำรวจปัญหาและวิธีแก้ไขของ Mailer การแจ้งเตือนเวิร์กโฟลว์
ปัญหา:ผู้ใช้ไม่ได้รับการแจ้งเตือน
ผู้ใช้ไม่ได้รับอีเมลแจ้งเตือนหรือไม่สามารถแก้ไขการแจ้งเตือนที่ล้มเหลวได้
สาเหตุ:
การตั้งค่าต่อไปนี้ถูกตั้งค่าเป็น DISABLED
แทน MAILHTML
:
- PREFERENCE_VALUE ใน FND_USER_PREFERENCES ตาราง
- NOTIFICATION_PREFERENCE ใน WF_LOCAL_ROLES ตาราง
แก้ไข:
-
เรียกใช้คำสั่งต่อไปนี้เพื่อสำรองข้อมูลตาราง:
SQL> create table fnd_user_preferences_bkp as select * from fnd_user_preferences; Table created. SQL> create table wf_local_roles_bkp as select * from wf_local_roles; Table created.
-
รันคำสั่งต่อไปนี้เพื่ออัพเดตตาราง:
select user_name,preference_value from FND_USER_PREFERENCES where preference_value = 'DISABLED' and preference_name = 'MAILTYPE' and module_name = 'WF' and user_name like '%<USER_NAME>%'; update FND_USER_PREFERENCES set preference_value = 'MAILHTML' where preference_name = 'MAILTYPE' and preference_value = 'DISABLED' and module_name = 'WF' and user_name like '%<USERNAME>%'; select * from wf_local_roles where notification_preference = 'DISABLED' and name like '%<NAME>' update wf_local_roles set notification_preference = 'MAILHTML' where notification_preference = 'DISABLED' and name like '%<NAME>%'
-
เรียกใช้คำขอ ส่งการแจ้งเตือนเวิร์กโฟลว์ล้มเหลว/ข้อผิดพลาดอีกครั้ง จากความรับผิดชอบของผู้ดูแลระบบในการส่งการแจ้งเตือนที่ล้มเหลวอีกครั้ง ตั้งค่าพารามิเตอร์วันที่ การแจ้งเตือนที่ส่งในหรือหลังจากนั้น จนถึงวันที่กำหนด
หมายเหตุ: ใช้รูปแบบต่อไปนี้สำหรับวันที่:วว-MMM-YYYY (ตัวอย่าง:01-JAN-2020)
ปัญหาที่ 2:อีเมลไปผิดโฟลเดอร์
ระบบจะส่งอีเมลอนุมัติการแจ้งเตือนค่าใช้จ่ายไปยัง ยกเลิก โฟลเดอร์แทนกระบวนการ โฟลเดอร์
ตัวอย่างต่อไปนี้แสดงอีเมลอนุมัติมาตรฐาน การดำเนินการ รายการที่สร้างขึ้นเมื่อผู้อนุมัติคลิกที่ การอนุมัติ ลิงค์:
Action: 'Approve'
Note: ''
NID[5513471/192168752214903990869743932721878211126@WFMAIL]
เมื่อการแจ้งเตือนไปที่โฟลเดอร์ขยะ รายการ “การดำเนินการ” จะปรากฏขึ้นดังนี้:
Action: 'Approve'Note: ''NID5389465/1779945055187563456464409735425450546126@WFMAIL
สาเหตุ:
การตั้งค่ารูปแบบการสร้างอีเมล Microsoft® Outlook® คือโหมดข้อความ หรือคุณอนุมัติการแจ้งเตือนจากอุปกรณ์เคลื่อนที่
แก้ไข:
เมื่อใดก็ตามที่คุณอนุมัติการแจ้งเตือนทางอีเมลโดยใช้โหมดข้อความอีเมลหรือจากอุปกรณ์เคลื่อนที่ คุณควรตรวจสอบให้แน่ใจว่าคุณดำเนินการดังต่อไปนี้:
- เว้นช่องว่างระหว่างแต่ละฟิลด์
- ใส่ NID ค่าในวงเล็บ
ข้อความจากตัวอย่างก่อนหน้านี้ควรมีช่องว่างอย่างน้อยหนึ่งช่องระหว่างฟิลด์และ NID ค่าควรรวมวงเล็บเหลี่ยม ([ ]) ตามที่แสดงในตัวอย่างต่อไปนี้:
Action: 'Approve'
Note: ''
NID[5389465/1779945055187563456464409735425450546126@WFMAIL]
ปัญหาที่ 3:ผู้ใช้พลาดอีเมลหรือได้รับอีเมลเก่า
ผู้ใช้ไม่ได้รับอีเมลตรงเวลา หรือได้รับการแจ้งเตือนเก่าที่ปิดหรือยกเลิกไปแล้ว
สาเหตุ:
ปัญหานี้เกิดขึ้นเมื่อคิว Mailer การแจ้งเตือนเวิร์กโฟลว์เต็มไปด้วยข้อมูลขยะ
wf_notifications
พารามิเตอร์มี mail_status ตั้งค่าเป็น MAIL
สำหรับการแจ้งเตือนแบบปิดหรือ SENT
สำหรับการแจ้งเตือนที่เปิดอยู่
ในสถานการณ์สมมตินี้ wf_notification_out คิวมีรายการเก่ามากจาก wf_notifcations โต๊ะ. เหตุการณ์นี้ส่งการแจ้งเตือนความผิดปกติเมื่อพารามิเตอร์คำขอกระบวนการพื้นหลังเวิร์กโฟลว์ไม่ถูกต้อง
แก้ไข:
ใช้ขั้นตอนระดับสูงต่อไปนี้เพื่อสร้างคิวจดหมายแจ้งเวิร์กโฟลว์ใหม่:
-
ตรวจสอบกับลูกค้าเกี่ยวกับวิธีการล้างการแจ้งเตือนเก่า
-
เก็บวันที่เพื่อใช้อ้างอิง เช่น begin_date .
-
ปิด Mailer การแจ้งเตือนเวิร์กโฟลว์
-
ปิด OPENเก่าทั้งหมด การแจ้งเตือนที่เก่ากว่า begin_date .
-
อัปเดต mail_status เพื่อ ส่ง สำหรับการแจ้งเตือนที่เก่ากว่า begin_date .
-
สร้างคิวใหม่โดยใช้สคริปต์ต่อไปนี้เป็น APPS ผู้ใช้:
SQL> @$FND_TOP/patch/115/sql/wfntfqup.sql apps <APSS_PASSWD> APPLSYS
สคริปต์การบำรุงรักษาสำหรับ Mailer การแจ้งเตือนเวิร์กโฟลว์
คำสั่งในส่วนนี้จะช่วยคุณในการดูแลรักษา Mailer การแจ้งเตือนเวิร์กโฟลว์ คุณสามารถใส่คำสั่งลงในสคริปต์เพื่อความสะดวกของคุณ
สคริปต์ 1
สคริปต์นี้แก้ไขการตั้งค่าต่อไปนี้:
RUNNING
STARTING
STOPPED_ERROR
DEACTIVATED_USER
DEACTIVATED_SYSTEM
NOT_CONFIGURED
ใช้คำสั่งต่อไปนี้เพื่ออัปเดต component_status สำหรับ Workflow Notification Mailer และแก้ไขการตั้งค่า:
SQL> select component_status
from fnd_svc_components
where component_id =
(select component_id
from fnd_svc_components
where component_name = 'Workflow Notification Mailer');
COMPONENT_STATUS
------------------------------
STARTING
SQL> update fnd_svc_components set component_status='DEACTIVATED_SYSTEM' where component_id =
(select component_id
from fnd_svc_components
where component_name = 'Workflow Notification Mailer');
1 row updated
SQL> commit;
Commit complete.
สคริปต์ 2
คุณสามารถใช้คำสั่งต่อไปนี้เพื่อตั้งค่า Mailer STARTUP_MODE เป็น MANUAL
หรือ AUTOMATIC
:
SQL> select fsc.COMPONENT_NAME,fsc.STARTUP_MODE,fsc.COMPONENT_STATUS
from APPS.FND_CONCURRENT_QUEUES_VL fcq, fnd_svc_components fsc where fsc.concurrent_queue_id = fcq.concurrent_queue_id(+)
order by COMPONENT_STATUS , STARTUP_MODE , COMPONENT_NAME;
SQL> update fnd_svc_components fsc set fsc.STARTUP_MODE='MANUAL' where fsc.COMPONENT_NAME='Workflow Notification Mailer';
1 row updated.
SQL> commit;
Commit complete.
สคริปต์ 3
สคริปต์นี้อัปเดตรหัสผ่าน Mailer การแจ้งเตือนเวิร์กโฟลว์จากแบ็กเอนด์:
SQL> @wfmlrpwupd_in.sql
Enter value for password: *****
Enter value for componentid: 10006
Updated
SQL> @wfmlrpwupd_out.sql
Enter value for password: *****
Enter value for componentid: 10006
Updated
สคริปต์ 4
ใช้สคริปต์เดียวต่อไปนี้เพื่อเปลี่ยนค่า Mailer การแจ้งเตือนเวิร์กโฟลว์จากแบ็กเอนด์:
$FND_TOP/sql/afsvcpup.sql
บทสรุป
จดหมายแจ้งเวิร์กโฟลว์มีองค์ประกอบหลายอย่างและปัญหาที่ยุ่งยากบางอย่าง อย่าลืมสำรองข้อมูล wf_* ตารางก่อนอัปเดต
โปรดดูหมายเหตุ Oracle MetaLink ที่เกี่ยวข้องก่อนเรียกใช้สคริปต์เพื่อใช้การแก้ไข MetaLink มีสคริปต์อื่น ๆ อีกมากมายนอกเหนือจากที่รวมอยู่ในโพสต์นี้ ซึ่งสามารถช่วยคุณแก้ไขปัญหาใน Mailer การแจ้งเตือนเวิร์กโฟลว์
ใช้แท็บคำติชมเพื่อแสดงความคิดเห็นหรือถามคำถาม คุณยังแชทตอนนี้เพื่อเริ่มการสนทนาได้
เรียนรู้เพิ่มเติมเกี่ยวกับฐานข้อมูล