พิมพ์      เปิดเวอร์ชัน PDF ของวิธีใช้แบบออนไลน์


หัวข้อก่อนหน้า

หัวข้อถัดไป

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 จะเป็นค่าดีฟอลต์ที่ถูกใช้แทนค่านัล แต่คุณสามารถใช้สตริงที่คุณต้องการได้ โดยต้องไม่มีสตริงนั้นเป็นค่าในฟิลด์เริ่มแรก

ตัวอย่างของการจัดทำกฎเวิร์กโฟลว์ที่ส่งอีเมล์ไปยังเจ้าของก่อนหน้าของเรคคอร์ดบริษัท

ต่อไปนี้เป็นตัวอย่างของวิธีจัดทำกฎเวิร์กโฟลว์ที่ส่งอีเมล์ไปยังเจ้าของก่อนหน้าของเรคคอร์ดบริษัทเมื่อมีการเปลี่ยนเจ้าของเรคคอร์ด

การจัดทำกฎเวิร์กโฟลว์ที่ส่งอีเมล์ไปยังเจ้าของก่อนหน้าของเรคคอร์ดบริษัท

  1. จัดทำกฎเวิร์กโฟลว์สำหรับประเภทเรคคอร์ดบริษัทที่มีกิจกรรมทริกเกอร์ เมื่อบันทึกเรคคอร์ดที่แก้ไข
  2. บันทึกกฎเวิร์กโฟลว์
  3. จัดทำการดำเนินการเพิ่มอีเมล์ในกฎเวิร์กโฟลว์
  4. ในการดำเนินการเวิร์กโฟลว์ ให้ดำเนินการดังต่อไปนี้:
    1. ในฟิลด์ถึง ให้เลือก ที่อยู่อีเมล์ที่ระบุ
    2. ในกล่องข้อความนิพจน์ฟิลด์ถึง ให้เพิ่มนิพจน์ต่อไปนี้:

      JoinFieldValue('<User>', IfNull(PRE('<OwnerId>'), "admin@mycompany.com"),'<EMailAddr>')

    3. เพิ่มข้อความที่ต้องการในหัวเรื่องและเนื้อหาของอีเมล์
    4. บันทึกการดำเนินการของเวิร์กโฟลว์

หัวข้อที่เกี่ยวข้อง

โปรดดูหัวข้อดังต่อไปนี้สำหรับข้อมูล Expression Builder ที่เกี่ยวข้อง:


กันยายน 2017 ลิขสิทธิ์ © 2005, 2017, Oracle สงวนลิขสิทธ Legal Notices.