การจัดการ Oracle CRM On Demand > Expression Builder > ฟังก์ชันใน Expression Builder > PRE
PRE
ฟังก์ชัน PRE ใน Expression Builder จะคืนค่าก่อนหน้าของฟิลด์ที่ระบุ เมื่อค่าของฟิลด์ได้ถูกแก้ไขก่อนที่ค่าจะถูกอัปเดตในฐานข้อมูล
คำเตือน: ขอแนะนำว่าคุณไม่ควรใช้ฟังก์ชัน PRE กับกฎเวิร์กโฟลว์ที่มีการดำเนินการรอ เนื่องจากการดำเนินการรอนั้นมีผลต่อฟังก์ชัน PRE การดำเนินการใดก็ตามที่อยู่หลังการดำเนินการรอจะไม่กระทำจนกระทั่งครบตามช่วงเวลารอที่ระบุ การดำเนินการที่เหลือจะกระทำในการปฏิบัติงานชุดอื่นที่ไม่ใช่การปฏิบัติงานที่ทริกเกอร์กฎเริ่มแรก และค่าของฟิลด์ในเรคคอร์ดก่อนการดำเนินการที่ทริกเกอร์กฎเวิร์กโฟลว์จะไม่เหมือนเดิม ดังนั้น ค่าก่อนหน้าและค่าปัจจุบันของฟิลด์จะถูกพิจารณาว่าเหมือนกันเสมอ
Syntax
PRE('<fieldname>')
ประเภทผลลัพธ์
สตริง
อาร์กิวเมนต์
ตารางต่อไปนี้อธิบายอาร์กิวเมนต์สำหรับฟังก์ชัน
อาร์กิวเมนต์
|
คำอธิบาย
|
fieldname
|
ชื่อของฟิลด์ที่ถูกแก้ไข
|
หมายเหตุ: ชื่อฟิลด์ที่ไม่อ้างอิงกับภาษาและ Syntax ของชื่อฟิลด์ที่ใช้ในนิพจน์ตัวอย่างใดๆ ในหัวข้อนี้เป็นชื่อฟิลด์และ Syntax ของชื่อฟิลด์ที่ใช้ใน Expression Builder ในรีลีสก่อนหน้า Release 29 Service Pack 1 ตัวอย่างเหล่านี้ยังคงใช้ได้ อย่างไรก็ตาม หากคุณเลือกฟิลด์ที่สอดคล้องสำหรับนิพจน์จากรายการฟิลด์ใน Expression Builder ใน Release 29 Service Pack 1 หรือต่อมา ชื่อฟิลด์และ Syntax ของชื่อฟิลด์จะแตกต่างจากที่แสดงอยู่ในตัวอย่าง จึงขอแนะนำให้คุณเลือกฟิลด์สำหรับนิพจน์ของคุณจากรายการฟิลด์ใน Expression Builder เสมอ เพื่อให้ชื่อฟิลด์และ Syntax ของชื่อฟิลด์ถูกต้องเสมอ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับชื่อฟิลด์และ Syntax ของชื่อฟิลด์ในนิพจน์ โปรดดูที่ เกี่ยวกับนิพจน์
ข้อควรพิจารณาเหล่านี้มีผลเมื่อใช้ฟังก์ชัน PRE:
- ในนิพจน์เงื่อนไข เช่น เงื่อนไขเวิร์กโฟลว์และคำสั่งการตรวจสอบ เมื่อคุณใช้ฟังก์ชัน PRE เพื่อดึงค่าก่อนหน้าของฟิลด์ โปรดทราบว่าค่าเริ่มต้นของฟิลด์อาจว่างเปล่า (นั่นคือค่านัล) หากค่าเริ่มต้นเป็นนัล การเปรียบเทียบกับค่าที่ไม่ใช่ค่านัลอาจทำให้เกิดการทำงานที่คาดเดาไม่ได้ เพื่อให้แน่ใจว่านิพจน์เงื่อนไขจะมีค่าถูกต้องในกรณีดังกล่าว ให้ใช้ฟังก์ชัน PRE ร่วมกับฟังก์ชัน IfNull ตามที่แสดงในตัวอย่างนี้:
IfNull([<FieldName>], "Invalid") <> IfNull(PRE('<FieldName>'), "Invalid")
ในตัวอย่างนี้ สตริงข้อความ Invalid จะถูกใช้แทนค่านัล แต่คุณสามารถใช้สตริงที่คุณต้องการได้ โดยต้องไม่มีสตริงนั้นเป็นค่าในฟิลด์ที่กำลังตรวจสอบ:
- หากใช้ฟังก์ชัน PRE ในกฎเวิร์กโฟลว์หรือการดำเนินการที่เรียกใช้หลังจากการดำเนินการรอ ฟังก์ชันจะไม่ส่งคืนค่าก่อนหน้าของฟิลด์ อย่างไรก็ตาม คุณอาจมีกระบวนการทางธุรกิจที่ต้องการการเปรียบเทียบดังกล่าว ในกรณีนี้ คุณสามารถใช้กฎเวิร์กโฟลว์ที่มีกิจกรรมทริกเกอร์ ก่อนบันทึกเรคคอร์ดที่แก้ไข เพื่อจัดเก็บค่าก่อนหน้าของฟิลด์ในฟิลด์ที่ไม่ได้ใช้ในประเภทเรคคอร์ด จากนั้นคุณสามารถใช้ค่าฟิลด์ที่จัดเก็บไว้สำหรับการเปรียบเทียบที่คุณต้องการในกฎเวิร์กโฟลว์ที่มีการดำเนินการรอได้
เมื่อคุณจัดทำกฎเวิร์กโฟลว์เพื่อจัดเก็บค่าก่อนหน้าในฟิลด์ที่ไม่ได้ใช้ในประเภทเรคคอร์ด โปรดทราบว่าค่าก่อนหน้าของฟิลด์เริ่มแรกอาจว่างเปล่า (นั่นคือค่านัล) ดังนั้น คุณต้องใช้นิพจน์ต่อไปนี้เพื่อจัดเก็บค่าดีฟอลต์หากพบค่านัล:
IfNull([<FieldName>], "Invalid")
ในตัวอย่างนี้ สตริงข้อความ Invalid จะเป็นค่าดีฟอลต์ที่ถูกใช้แทนค่านัล แต่คุณสามารถใช้สตริงที่คุณต้องการได้ โดยต้องไม่มีสตริงนั้นเป็นค่าในฟิลด์เริ่มแรก
ตัวอย่างของการจัดทำกฎเวิร์กโฟลว์ที่ส่งอีเมล์ไปยังเจ้าของก่อนหน้าของเรคคอร์ดบริษัท
ต่อไปนี้เป็นตัวอย่างของวิธีจัดทำกฎเวิร์กโฟลว์ที่ส่งอีเมล์ไปยังเจ้าของก่อนหน้าของเรคคอร์ดบริษัทเมื่อมีการเปลี่ยนเจ้าของเรคคอร์ด
การจัดทำกฎเวิร์กโฟลว์ที่ส่งอีเมล์ไปยังเจ้าของก่อนหน้าของเรคคอร์ดบริษัท
- จัดทำกฎเวิร์กโฟลว์สำหรับประเภทเรคคอร์ดบริษัทที่มีกิจกรรมทริกเกอร์ เมื่อบันทึกเรคคอร์ดที่แก้ไข
- บันทึกกฎเวิร์กโฟลว์
- จัดทำการดำเนินการเพิ่มอีเมล์ในกฎเวิร์กโฟลว์
- ในการดำเนินการเวิร์กโฟลว์ ให้ดำเนินการดังต่อไปนี้:
- ในฟิลด์ถึง ให้เลือก ที่อยู่อีเมล์ที่ระบุ
- ในกล่องข้อความนิพจน์ฟิลด์ถึง ให้เพิ่มนิพจน์ต่อไปนี้:
JoinFieldValue('<User>', IfNull(PRE('<OwnerId>'), "admin@mycompany.com"),'<EMailAddr>')
- เพิ่มข้อความที่ต้องการในหัวเรื่องและเนื้อหาของอีเมล์
- บันทึกการดำเนินการของเวิร์กโฟลว์
หัวข้อที่เกี่ยวข้อง
โปรดดูหัวข้อดังต่อไปนี้สำหรับข้อมูล Expression Builder ที่เกี่ยวข้อง:
|