เทมเพลตข้อมูลสำหรับกระบวนการบันทึกบัญชีจนถึงรายงาน: ปิดงวดและกระทบยอด
เทมเพลตข้อมูลสำหรับกระบวนการบันทึกบัญชีจนถึงรายงาน: ปิดงวดและกระทบยอด
- แอตทริบิวต์ที่แนะนำให้รวบรวม
- กิจกรรมหลักที่ควรติดตามเพื่อวิเคราะห์กระบวนการ
- คำแนะนำทีละขั้นตอนในการดึงข้อมูล
แอตทริบิวต์ของกระบวนการบันทึกบัญชีจนถึงรายงาน: ปิดงวดและกระทบยอด
| ชื่อ | คำอธิบาย | ||
|---|---|---|---|
| งวดการเงิน FinancialPeriod | รหัสเฉพาะของรอบการรายงานทางการเงิน เช่น '2023-12' สำหรับเดือนธันวาคม 2023 ซึ่งใช้เป็นเคสของกระบวนการปิดบัญชีสิ้นงวด. | ||
| คำอธิบาย งวดบัญชีเป็นรหัสเคสหลักที่รวบรวมกิจกรรมทั้งหมดในการปิดบัญชีสำหรับช่วงเวลาหนึ่ง โดยทั่วไปคือเดือนปฏิทินหรืองวดบัญชี แต่ละงวดบัญชีแทนการดำเนินกระบวนการสิ้นงวดครบหนึ่งรอบ. ในการวิเคราะห์ process mining แอตทริบิวต์นี้ช่วยติดตามวงจรชีวิตของการปิดงวดบัญชีตั้งแต่เริ่มต้นจนถึงการรายงานขั้นสุดท้าย ใช้เปรียบเทียบระยะเวลาของแต่ละรอบ ระบุเส้นทางกระบวนการที่พบบ่อย และวิเคราะห์ความแตกต่างระหว่างการปิดบัญชีรายเดือน รายไตรมาส และรายปี เมื่อกำหนดให้แต่ละงวดเป็นเคส นักวิเคราะห์จะวัดผลการดำเนินงานตามช่วงเวลาและระบุคอขวดเชิงระบบได้. เหตุผลที่สำคัญ นี่คือรหัสเคสสำคัญที่ใช้กำหนดขอบเขตการวิเคราะห์ ช่วยเปรียบเทียบผลการปิดงวดบัญชีตามช่วงเวลาและระบุแนวโน้มหรือปัญหาที่เกิดซ้ำ. แหล่งข้อมูล ได้จากการรวมฟิลด์ปีบัญชี (GJAHR) และงวดบัญชี (MONAT) จากส่วนหัวเอกสารทางการเงิน โดยทั่วไปมาจากตารางอย่าง BKPF. ตัวอย่าง 2023-122024-03ไตรมาส 1 ปี 2024 | |||
| กิจกรรม ActivityName | ชื่อขั้นตอนหรืองานเฉพาะในกระบวนการปิดงวดบัญชี เช่น 'ลงรายการปรับปรุงบัญชีแล้ว' หรือ 'ปิดงวดบัญชีไม่ให้ลงรายการ'. | ||
| คำอธิบาย แอตทริบิวต์นี้แทนเหตุการณ์หรืองานหนึ่งรายการในกระบวนการปิดงวดบัญชีและกระทบยอดตั้งแต่ต้นจนจบ กิจกรรมเป็นองค์ประกอบพื้นฐานของแผนผังกระบวนการ ซึ่งแสดงลำดับงานที่ดำเนินการ โดยมักได้ข้อมูลจากรหัสธุรกรรม ประเภทเอกสาร หรือการเปลี่ยนสถานะใน SAP S/4HANA. การวิเคราะห์กิจกรรมเป็นพื้นฐานสำคัญของ process mining ช่วยแสดงภาพขั้นตอนการทำงาน ระบุจุดที่เบี่ยงเบนจากขั้นตอนมาตรฐาน ค้นหาคอขวดที่ทำให้กิจกรรมใช้เวลานาน และทำความเข้าใจความถี่และลำดับของงาน ข้อมูลนี้จำเป็นต่อแดชบอร์ด เช่น Period Close Variant Analysis และ Current Period Close Status. เหตุผลที่สำคัญ กำหนดขั้นตอนในกระบวนการ เป็นพื้นฐานของแผนผังกระบวนการและช่วยวิเคราะห์ขั้นตอนการทำงาน จุดที่เบี่ยงเบน และคอขวด. แหล่งข้อมูล ได้จากหลายแหล่ง เช่น รหัสธุรกรรม (TCODE) ประเภทเอกสาร (BLART) หรือฟิลด์สถานะในตารางที่เกี่ยวข้องกับงานปิดบัญชี เช่น SAP Financial Closing Cockpit. ตัวอย่าง เปิดงวดให้ลงบัญชีได้เริ่มกระทบยอดบัญชีสร้างงบการเงินแล้วเริ่มกระทบยอดระหว่างบริษัท | |||
| เวลาเริ่มต้น EventTime | เวลาที่ระบุว่ากิจกรรมเริ่มต้นหรือถูกบันทึกในระบบเมื่อใด. | ||
| คำอธิบาย เวลาเกิดเหตุการณ์ระบุวันที่และเวลาที่กิจกรรมเกิดขึ้นอย่างแม่นยำ สำหรับการลงบัญชีทางการเงิน มักใช้เวลาสร้างเอกสาร (CPUTM) หรือวันที่ลงบัญชี (BUDAT) ส่วนการเปลี่ยนสถานะหรืองานต่างๆ ใช้เวลาที่บันทึกการเปลี่ยนแปลง. แอตทริบิวต์นี้จำเป็นต่อการเรียงลำดับกิจกรรมตามเวลา และเป็นพื้นฐานของการวิเคราะห์ตามระยะเวลาทั้งหมด ใช้คำนวณช่วงเวลาระหว่างกิจกรรม ระยะเวลาของงานแต่ละรายการ และระยะเวลารวมของกระบวนการตั้งแต่ต้นจนจบ อีกทั้งยังรองรับ KPI เช่น ระยะเวลาปิดงวดบัญชีเฉลี่ย และเวลาเฉลี่ยในการอนุมัติการกระทบยอด. เหตุผลที่สำคัญ เวลาที่บันทึกนี้จำเป็นต่อการเรียงลำดับเหตุการณ์ตามเวลา และใช้คำนวณระยะเวลาและผลการดำเนินงานทั้งหมด. แหล่งข้อมูล ดึงจากฟิลด์เวลา เช่น วันที่สร้าง (CPUDT) และเวลาที่สร้าง (CPUTM) ในตารางอย่าง BKPF หรือจากฟิลด์วันที่เปลี่ยนแปลงในตารางสถานะต่างๆ เช่น CDHDR และ CDPOS. ตัวอย่าง 2023-12-28T09:15:30Z2024-01-02T14:00:12Z2024-01-05T11:21:00Z | |||
| ผู้ใช้ที่รับผิดชอบ ResponsibleUser | รหัสผู้ใช้ของผู้ที่ดำเนินกิจกรรมหรือรับผิดชอบงาน. | ||
| คำอธิบาย แอตทริบิวต์นี้ระบุพนักงานที่ทำงาน เช่น ลงรายการบัญชีหรืออนุมัติการกระทบยอด โดยทั่วไปบันทึกเป็นรหัสผู้ใช้ในบันทึกระบบและส่วนหัวเอกสาร. การวิเคราะห์กระบวนการแยกตามผู้ใช้มีความสำคัญต่อการทำความเข้าใจการกระจายภาระงาน ผลการปฏิบัติงานของแต่ละคน และความจำเป็นในการฝึกอบรม แดชบอร์ด Resource Allocation Efficiency ใช้แอตทริบิวต์นี้แสดงระยะเวลาทำกิจกรรมของผู้ใช้แต่ละคน นอกจากนี้ยังช่วยระบุงานที่อาจทำให้เป็นระบบอัตโนมัติได้ โดยแสดงงานซ้ำๆ ที่ผู้ใช้หลายคนทำ. เหตุผลที่สำคัญ เชื่อมโยงกิจกรรมในกระบวนการกับผู้ที่ดำเนินการ ช่วยวิเคราะห์ภาระงาน ปรับการใช้ทรัพยากรให้เหมาะสม และบริหารผลการปฏิบัติงาน. แหล่งข้อมูล มักพบในตารางส่วนหัวเอกสาร เช่น BKPF (ฟิลด์ USNAM, ชื่อผู้ใช้) หรือตารางเอกสารการเปลี่ยนแปลง เช่น CDHDR (ฟิลด์ USERNAME). ตัวอย่าง เอบราวน์ซีสมิธดีจอห์นสัน | |||
| รหัสบริษัท CompanyCode | รหัสเฉพาะของนิติบุคคลหรือบริษัทในโครงสร้างองค์กร SAP. | ||
| คำอธิบาย Company Code คือหน่วยบัญชีอิสระภายในองค์กร ซึ่งสามารถจัดทำชุดบัญชีที่ครบถ้วนและแยกเป็นอิสระได้ กิจกรรมปิดบัญชีสิ้นงวดทั้งหมดจะดำเนินการในระดับ Company Code มิตินี้เป็นพื้นฐานสำคัญสำหรับการวิเคราะห์ทางการเงิน ใน process mining คุณสามารถใช้เปรียบเทียบกระบวนการปิดงวดระหว่างนิติบุคคลต่างๆ ได้ แดชบอร์ด 'Period Close Variant Analysis' ใช้ Company Code เพื่อระบุความแตกต่างและส่งเสริมการกำหนดมาตรฐานขั้นตอนการปิดบัญชี. เหตุผลที่สำคัญ ให้บริบทด้านโครงสร้างองค์กรที่สำคัญ ช่วยให้เปรียบเทียบกระบวนการระหว่างนิติบุคคลต่างๆ เพื่อค้นหาความแตกต่างและแนวทางปฏิบัติที่ดีได้. แหล่งข้อมูล พบได้ในตารางการเงินเกือบทั้งหมดของ SAP โดยเฉพาะตารางส่วนหัว BKPF (ฟิลด์ BUKRS). ตัวอย่าง 10001710US01DE01 | |||
| วันที่เป้าหมายให้เสร็จ TargetCompletionDate | วันที่วางแผนไว้หรือกำหนดส่งสำหรับทำกิจกรรมสำคัญให้เสร็จ เช่น การจัดทำงบการเงิน. | ||
| คำอธิบาย วันที่เป้าหมายให้เสร็จคือกำหนดเวลาภายในหรือภายนอกสำหรับหมุดหมายหนึ่งๆ ในกระบวนการปิดงวด เป็นวันที่คาดว่างานจะเสร็จสิ้น แอตทริบิวต์นี้จำเป็นต่อการวัดการทำงานตามกำหนดเวลาและประสิทธิภาพเทียบกับกำหนดส่ง ใช้เป็นข้อมูลตั้งต้นของแดชบอร์ด 'Reporting Deadline Adherence' และ KPI 'Financial Statement On-Time Rate' ซึ่งเปรียบเทียบวันที่เป้าหมายกับ เหตุผลที่สำคัญ ช่วยวิเคราะห์ผลการดำเนินงานเทียบกับกำหนดส่ง เพื่อวัดและปรับปรุงอัตราการทำกิจกรรมปิดบัญชีสำคัญให้เสร็จตรงเวลา. แหล่งข้อมูล ข้อมูลนี้มักอยู่ในระบบจัดการงานหรือระบบจัดตารางเวลา เช่น SAP Financial Closing cockpit ซึ่งใช้กำหนดรายการงานปิดบัญชีพร้อมวันที่สิ้นสุดตามแผน. ตัวอย่าง 2024-01-05T23:59:59Z2024-04-04T23:59:59Z2024-07-05T23:59:59Z | |||
| เวลาสิ้นสุด EndTime | เวลาที่ระบุว่ากิจกรรมเสร็จสิ้นเมื่อใด. | ||
| คำอธิบาย เวลาสิ้นสุดระบุว่างานเสร็จเมื่อใด ในบางกรณีอาจตรงกับเวลาเริ่มต้น หากเป็นเหตุการณ์ที่เกิดขึ้นทันทีและบันทึกไว้ในระบบ สำหรับกิจกรรมที่วัดระยะเวลาได้ จะใช้เวลาที่งานเสร็จสมบูรณ์. เมื่อนำไปใช้ร่วมกับเวลาเริ่มต้น แอตทริบิวต์นี้จำเป็นต่อการคำนวณ เหตุผลที่สำคัญ ใช้คำนวณระยะเวลาของกิจกรรม (Processing Time) ซึ่งจำเป็นต่อการระบุคอขวดด้านประสิทธิภาพและวิเคราะห์ประสิทธิผล. แหล่งข้อมูล เช่นเดียวกับเวลาเริ่มต้น ข้อมูลนี้อาจมาจากฟิลด์เวลาหลายแห่ง สำหรับบางกิจกรรมอาจใช้เวลาเดียวกับเวลาเริ่มต้น ส่วนกิจกรรมอื่นอาจใช้วันที่ 'เสร็จสิ้นเมื่อ' หรือ 'เปลี่ยนแปลงเมื่อ' ในตารางแอปพลิเคชันหรือบันทึกการเปลี่ยนแปลง (CDHDR, CDPOS). ตัวอย่าง 2023-12-28T09:16:10Z2024-01-02T17:30:00Z2024-01-05T11:21:00Z | |||
| สถานะการกระทบยอด ReconciliationStatus | สถานะของกิจกรรมกระทบยอดบัญชี เช่น 'ยังไม่ดำเนินการ', 'กำลังดำเนินการ' หรือ 'อนุมัติแล้ว'. | ||
| คำอธิบาย แอตทริบิวต์นี้ติดตามสถานะของกระบวนการกระทบยอดสำหรับบัญชีหรืองานแต่ละรายการ โดยระบุว่าการกระทบยอดเริ่มแล้ว ส่งให้ตรวจสอบแล้ว อนุมัติแล้ว หรือถูกปฏิเสธ การเปลี่ยนสถานะถือเป็นเหตุการณ์สำคัญในกระบวนการ ข้อมูลนี้เป็นพื้นฐานของแดชบอร์ด 'Reconciliation Rework Analysis' เมื่อวิเคราะห์ลำดับสถานะ คุณจะเห็นกรณีที่สถานะ 'อนุมัติแล้ว' ตามด้วยการปรับปรุงเพิ่มเติม ซึ่งบ่งชี้ว่ามีการทำงานซ้ำ นอกจากนี้ยังใช้กับ KPI 'First-Pass Reconciliation Rate' เพื่อแสดงว่าการกระทบยอดใดได้รับอนุมัติโดยไม่เคยถูกปฏิเสธหรือเปิดขึ้นมาทำใหม่. เหตุผลที่สำคัญ ติดตามความคืบหน้าและผลลัพธ์ของงานกระทบยอด ช่วยระบุงานที่ต้องทำซ้ำ วัดอัตราการอนุมัติ และวิเคราะห์คอขวด. แหล่งข้อมูล โดยทั่วไปข้อมูลนี้จัดเก็บอยู่ในตารางของเครื่องมือกระทบยอดที่ใช้งาน เช่น SAP Financial Closing cockpit หรือ SAP Account Substantiation and Automation by BlackLine. ตัวอย่าง ยังไม่เริ่มอยู่ระหว่างเตรียมการอนุมัติแล้วถูกปฏิเสธ | |||
| หมายเลขบัญชีแยกประเภททั่วไป (GL) GlAccountNumber | รหัสที่ใช้ระบุบัญชีเฉพาะในบัญชีแยกประเภททั่วไป. | ||
| คำอธิบาย หมายเลขบัญชีแยกประเภททั่วไป (GL) ใช้ระบุบัญชีแต่ละบัญชีที่บันทึกรายการทางการเงิน เช่น เงินสด เจ้าหนี้การค้า หรือรายได้ กิจกรรมปิดบัญชีสิ้นงวดหลายอย่าง เช่น การกระทบยอดและการบันทึกรายการปรับปรุง เกี่ยวข้องโดยตรงกับบัญชี GL ที่ระบุไว้ แอตทริบิวต์นี้จำเป็นต่อการวิเคราะห์กระบวนการทางการเงินอย่างละเอียด แดชบอร์ด 'Adjusting Journal Entry Analysis' ใช้แสดงจำนวนรายการปรับปรุงแยกตามบัญชี เพื่อช่วยระบุจุดที่มีปัญหา ส่วน KPI 'Avg GL Account Reconciliation Time' ใช้ข้อมูลนี้เพื่อค้นหาความล่าช้าที่เกี่ยวข้องกับบัญชีแต่ละบัญชี. เหตุผลที่สำคัญ เชื่อมโยงกิจกรรมในกระบวนการกับบัญชีการเงินแต่ละบัญชี ช่วยวิเคราะห์การกระทบยอดและรายการสมุดรายวันอย่างละเอียดเพื่อค้นหาสาเหตุของปัญหา. แหล่งข้อมูล พบในตารางรายการบรรทัดของเอกสารการเงิน โดยหลักคือ BSEG (ฟิลด์ HKONT) หรือ ACDOCA ซึ่งเป็นตารางสมุดรายวันสากลของ S/4HANA. ตัวอย่าง 113100004000000073000000 | |||
| หมายเลขเอกสาร DocumentNumber | รหัสเฉพาะของเอกสารการเงิน เช่น รายการสมุดรายวัน. | ||
| คำอธิบาย SAP กำหนดหมายเลขเอกสารที่ไม่ซ้ำกันให้กับการบันทึกรายการทางการเงินแต่ละรายการ หมายเลขนี้เป็นข้อมูลอ้างอิงหลักสำหรับติดตามและตรวจสอบธุรกรรมแต่ละรายการที่ประกอบกันเป็นกิจกรรมในกระบวนการปิดบัญชี แม้หมายเลขเอกสารจะไม่ใช่ Case ID แต่ก็เชื่อมโยงกลับไปยังระบบต้นทางได้โดยตรง นักวิเคราะห์สามารถใช้หมายเลขนี้เจาะลึกจากมุมมอง process mining ไปดูรายละเอียดธุรกรรมใน SAP S/4HANA เพื่อหาสาเหตุของปัญหาได้ โดยเฉพาะเมื่อตรวจสอบรายการปรับปรุงสมุดรายวันหรือรายการบันทึกการกระทบยอดที่ระบุ. เหตุผลที่สำคัญ ใช้อ้างอิงธุรกรรมต้นทางใน SAP ได้โดยตรง ช่วยให้เจาะดูรายละเอียดและตรวจสอบย้อนหลังจากโมเดลกระบวนการได้สะดวก. แหล่งข้อมูล อยู่ในตารางส่วนหัวเอกสารการเงิน BKPF (ฟิลด์ BELNR) และตารางรายการบรรทัด เช่น BSEG หรือ ACDOCA. ตัวอย่าง 100000045190000001300000023 | |||
| จำนวนเงินในเอกสาร DocumentAmount | มูลค่ารวมของรายการบันทึกทางการเงินในสกุลเงินของเอกสาร. | ||
| คำอธิบาย แอตทริบิวต์นี้แสดงมูลค่าเงินที่เกี่ยวข้องกับเอกสารการเงิน สำหรับรายการปรับปรุงสิ้นงวด อาจเป็นจำนวนเงินค้างรับค้างจ่ายหรือรายการแก้ไขที่บันทึกไว้ การวิเคราะห์จำนวนเงินช่วยประเมินสาระสำคัญทางการเงิน นักวิเคราะห์สามารถจัดลำดับการตรวจสอบรายการปรับปรุงที่มีมูลค่าสูง ซึ่งอาจมีความเสี่ยงทางการเงินมากกว่าได้ นอกจากนี้ยังใช้กรองแผนผังกระบวนการให้แสดงเฉพาะธุรกรรมที่เกินเกณฑ์ที่กำหนด เพื่อให้เห็นกิจกรรมสำคัญได้ชัดเจนขึ้น. เหตุผลที่สำคัญ เพิ่มมิติทางการเงินให้กับการวิเคราะห์ ช่วยจัดลำดับความสำคัญของปัญหาตามผลกระทบทางการเงินและสาระสำคัญ. แหล่งข้อมูล โดยทั่วไปต้องรวมค่าจากตารางรายการบรรทัด เช่น BSEG หรือ ACDOCA (ฟิลด์ WRBTR ซึ่งเป็นจำนวนเงินในสกุลเงินของเอกสาร). ตัวอย่าง 15000.00250.75-500.00 | |||
| ประเภทเอกสารสมุดรายวัน JournalEntryType | ประเภทของเอกสารการเงินที่บันทึก ใช้แยกรายการทั่วไป รายการค้างรับค้างจ่าย และรายการปรับปรุง. | ||
| คำอธิบาย ประเภทเอกสารสมุดรายวัน หรือ Document Type ตามคำเรียกใน SAP เป็นรหัสที่ใช้จัดประเภทเอกสารทางบัญชี โดยกำหนดประเภทบัญชีที่บันทึกเอกสารได้ และใช้แยกธุรกรรมทางธุรกิจ เช่น ใบแจ้งหนี้จากผู้ขาย (KR) รายการบันทึกบัญชีแยกประเภททั่วไป (SA) หรือการรับชำระเงินจากลูกค้า (DZ) ในกระบวนการปิดงวด แอตทริบิวต์นี้สำคัญต่อการแยกวิเคราะห์กิจกรรมบางประเภทโดยเฉพาะ เช่น ใช้กรองรายการปรับปรุงสมุดรายวันเพื่อรองรับแดชบอร์ด 'Adjusting Journal Entry Analysis' และ KPI 'Adjusting Journal Entries Count' นอกจากนี้ยังช่วยคำนวณ 'Manual Postings Ratio'. เหตุผลที่สำคัญ จัดหมวดหมู่ธุรกรรมทางการเงิน ช่วยให้วิเคราะห์รายการบันทึกเฉพาะประเภท เช่น รายการปรับปรุงด้วยตนเอง ซึ่งมีความสำคัญต่อการปิดงวดอย่างราบรื่น. แหล่งข้อมูล เป็นฟิลด์มาตรฐานในตารางส่วนหัวเอกสารการเงิน BKPF (ฟิลด์ BLART). ตัวอย่าง SAKRAB | |||
| เป็นการทำงานซ้ำในการกระทบยอดหรือไม่ IsReconciliationRework | ค่าสถานะแบบบูลีนที่เป็นจริงเมื่อกิจกรรมกระทบยอดตามด้วยการปฏิเสธหรือการปรับปรุงเพิ่มเติม. | ||
| คำอธิบาย แอตทริบิวต์ที่คำนวณนี้ใช้ระบุกรณีที่ต้องทำงานซ้ำในกระบวนการย่อยการกระทบยอด ระบบจะทำเครื่องหมายกิจกรรมหรือเคสที่การกระทบยอดถูกปฏิเสธ เปิดขึ้นอีกครั้งหลังส่งตรวจ หรือมีการบันทึกรายการปรับปรุงหลังจากระบุว่ากระทบยอดบัญชี GL เสร็จแล้ว ค่าสถานะนี้ออกแบบมาเพื่อใช้กับแดชบอร์ด 'Reconciliation Rework Analysis' และ KPI 'Reconciliation Rework Rate' โดยแปลงลำดับกิจกรรมที่ซับซ้อนให้เป็นแอตทริบิวต์ที่วัดได้ ช่วยให้ทีมเห็นปริมาณงานที่ต้องทำซ้ำและมุ่งปรับปรุงคุณภาพตั้งแต่ครั้งแรก. เหตุผลที่สำคัญ วัดปริมาณงานที่ต้องทำซ้ำโดยตรง ซึ่งเป็นสัญญาณสำคัญของความไม่มีประสิทธิภาพในกระบวนการ ช่วยให้วิเคราะห์และปรับปรุงคุณภาพการกระทบยอดได้ตรงจุด. แหล่งข้อมูล คำนวณจากลำดับกิจกรรม ตัวอย่างเช่น ตั้งค่าสถานะเป็นจริงเมื่อกิจกรรม 'อนุมัติการกระทบยอด' ตามด้วย 'บันทึกรายการปรับปรุงสมุดรายวัน' สำหรับบัญชี GL เดียวกันภายในงวดเดียวกัน. ตัวอย่าง truefalse | |||
| เป็นระบบอัตโนมัติหรือไม่ IsAutomated | ค่าสถานะแบบบูลีนที่ระบุว่ากิจกรรมดำเนินการโดยผู้ใช้ระบบหรือกระบวนการอัตโนมัติ. | ||
| คำอธิบาย ค่าสถานะนี้ใช้แยกงานที่ผู้ใช้ทำด้วยตนเองออกจากงานที่ระบบดำเนินการโดยอัตโนมัติ เช่น งานประมวลผลแบบกลุ่มตามกำหนดเวลาสำหรับประเมินมูลค่าสกุลเงิน หรือการหักล้างรายการอัตโนมัติ โดยทั่วไปจะคำนวณจาก ID ของ แอตทริบิวต์นี้ช่วยให้เข้าใจระดับการทำงานอัตโนมัติในกระบวนการปิดบัญชี และค้นหาโอกาสเพิ่มระบบอัตโนมัติ โดยชี้ให้เห็นงานที่ทำด้วยตนเองและมีปริมาณสูง นอกจากนี้ยังใช้วิเคราะห์สาเหตุของปัญหา เพื่อดูว่าคอขวดเกิดในขั้นตอนที่ทำด้วยตนเองหรือขั้นตอนอัตโนมัติ. เหตุผลที่สำคัญ แยกกิจกรรมที่คนทำออกจากกิจกรรมของระบบ ซึ่งสำคัญต่อการค้นหาโอกาสใช้ระบบอัตโนมัติและวิเคราะห์ประสิทธิภาพของทั้งสองรูปแบบ. แหล่งข้อมูล เป็นแอตทริบิวต์ที่คำนวณขึ้น โดยมักใช้กฎกับฟิลด์ 'ResponsibleUser' เช่น ตรวจสอบ ID ของผู้ใช้ระบบหรือผู้ใช้แบบกลุ่มอย่าง 'BATCHUSER' หรือใช้รหัสธุรกรรม. ตัวอย่าง truefalse | |||
| รหัสธุรกรรม TransactionCode | รหัสธุรกรรม SAP (T-code) ที่ใช้ดำเนินกิจกรรม. | ||
| คำอธิบาย รหัสธุรกรรมเป็นทางลัดสำหรับเรียกใช้ฟังก์ชันหรือโปรแกรมเฉพาะใน SAP ตัวอย่างเช่น FB01 ใช้บันทึกเอกสาร และ FAGLB03 ใช้แสดงยอดคงเหลือของบัญชี GL โดย T-code มักบอกได้ชัดเจนว่ามีการทำกิจกรรมใด แอตทริบิวต์นี้ช่วยกำหนดกิจกรรมในโมเดลกระบวนการ และใช้แยกกิจกรรมที่ทำด้วยตนเองกับกิจกรรมอัตโนมัติได้อย่างน่าเชื่อถือ อีกทั้งช่วยให้เข้าใจว่างานดำเนินการในระบบอย่างไร การวิเคราะห์ T-code อาจช่วยค้นพบวิธีทำงานที่ไม่เป็นมาตรฐานหรือไม่มีประสิทธิภาพ. เหตุผลที่สำคัญ แสดงมุมมองทางเทคนิคในระดับระบบว่ากิจกรรมดำเนินการอย่างไร มีประโยชน์ในการระบุขั้นตอนที่ทำด้วยตนเองหรืออัตโนมัติ รวมถึงขั้นตอนที่ไม่เป็นมาตรฐาน. แหล่งข้อมูล พบในตารางส่วนหัวเอกสารการเงิน BKPF (ฟิลด์ TCODE) หรือในบันทึกการเปลี่ยนแปลงเอกสาร. ตัวอย่าง FB01FAGL_FCVF.13 | |||
| ระบบต้นทาง SourceSystemId | รหัสของอินสแตนซ์หรือไคลเอนต์ SAP S/4HANA ที่ดึงข้อมูลออกมา. | ||
| คำอธิบาย แอตทริบิวต์นี้ระบุระบบต้นทางของข้อมูล ในสภาพแวดล้อมที่มี SAP หลายอินสแตนซ์ เช่น แยกตามภูมิภาคหรือหน่วยธุรกิจ ฟิลด์นี้จำเป็นต่อการแยกแหล่งข้อมูล. โดยหลักแล้วใช้เพื่อกำกับดูแลข้อมูล ตรวจสอบ และรักษาความถูกต้องของข้อมูล ในการวิเคราะห์ สามารถใช้ฟิลด์นี้เป็นตัวกรองเพื่อเปรียบเทียบกระบวนการจากระบบต้นทางต่างๆ เมื่อนำมารวมไว้ในโมเดล process mining เดียวกัน. เหตุผลที่สำคัญ แสดงที่มาและบริบทของข้อมูลอย่างชัดเจน โดยเฉพาะเมื่อมีหลายระบบต้นทาง. แหล่งข้อมูล โดยทั่วไปเป็นเมทาดาทาที่เพิ่มระหว่างการดึงข้อมูล ซึ่งมักมาจากรหัสระบบ (SY-SYSID) หรือไคลเอนต์ (SY-MANDT) ใน SAP. ตัวอย่าง ระบบ S4H สำหรับใช้งานจริง 100ระบบ S4H สำหรับทดสอบคุณภาพ 200ระบบ ECC เดิม 001 | |||
| ระยะเวลารอบการปิดงวด PeriodCloseCycleTime | เวลารวมที่ใช้ปิดงวดการเงิน ตั้งแต่กิจกรรมแรกจนถึงกิจกรรมสุดท้าย. | ||
| คำอธิบาย เมตริกนี้แสดงระยะเวลาตั้งแต่ต้นจนจบของกระบวนการปิดงวดสำหรับแต่ละเคส (งวดการเงิน) โดยคำนวณจากเวลาของกิจกรรมสุดท้ายลบด้วยเวลาของกิจกรรมแรกในงวดนั้น นี่คือ KPI หลักที่ใช้กับแดชบอร์ด 'Period Close Cycle Time Overview' และ KPI 'Average Period Close Cycle Time' เพื่อวัดประสิทธิภาพและความรวดเร็วโดยรวมของกระบวนการปิดบัญชีในภาพรวม ช่วยให้เปรียบเทียบผลตามช่วงเวลาและระหว่าง Company Code ต่างๆ ได้. เหตุผลที่สำคัญ เป็น KPI หลักสำหรับวัดระยะเวลาโดยรวมของกระบวนการ ช่วยติดตามการปรับปรุงประสิทธิภาพในภาพรวมตามช่วงเวลา. แหล่งข้อมูล คำนวณในระดับเคส: ตัวอย่าง P5D10H30MP7D2HP6D | |||
| วันที่เสร็จสิ้นจริง ActualCompletionDate | วันที่กิจกรรมสำคัญหรือการปิดงวดทั้งหมดเสร็จสิ้นจริง. | ||
| คำอธิบาย แอตทริบิวต์นี้บันทึกวันที่จริงที่หมุดหมายสำคัญเสร็จสิ้น เช่น เวลาที่อนุมัติงบการเงินขั้นสุดท้ายหรือปิดงวดเพื่อบันทึกรายการ ค่านี้ใช้คู่กับ เหตุผลที่สำคัญ ระบุเวลาที่หมุดหมายเสร็จสิ้นจริง ซึ่งจำเป็นต่อการวัดผลเทียบกับกำหนดการและวิเคราะห์ความล่าช้า. แหล่งข้อมูล ดึงจาก EventTime ของกิจกรรมสุดท้ายในลำดับ เช่น 'อนุมัติงบการเงิน' หรือ 'ปิดงวดเพื่อบันทึกรายการ'. ตัวอย่าง 2024-01-06T10:00:00Z2024-04-05T17:00:00Z2024-07-04T11:00:00Z | |||
| สกุลเงินของเอกสาร DocumentCurrency | รหัสสกุลเงินที่ใช้กับจำนวนเงินในเอกสารการเงิน. | ||
| คำอธิบาย แอตทริบิวต์นี้ระบุสกุลเงินที่ใช้บันทึกธุรกรรม เช่น USD, EUR หรือ JPY และให้บริบทที่จำเป็นสำหรับแอตทริบิวต์ สำหรับองค์กรที่ดำเนินงานในหลายประเทศ การวิเคราะห์แยกตามสกุลเงินอาจมีความสำคัญ เพราะช่วยให้ตีความมูลค่าเงินได้ถูกต้อง และจำเป็นเมื่อต้องแปลงเป็นสกุลเงินรายงานเดียวเพื่อวิเคราะห์ยอดรวม หากไม่มีข้อมูลนี้ จะเปรียบเทียบหรือรวมค่า เหตุผลที่สำคัญ ให้บริบทที่จำเป็นสำหรับมูลค่าเงิน เพื่อให้ตีความจำนวนเงินได้ถูกต้อง โดยเฉพาะเมื่อมีการใช้หลายสกุลเงิน. แหล่งข้อมูล อยู่ในตารางส่วนหัวเอกสารการเงิน BKPF (ฟิลด์ WAERS). ตัวอย่าง USDEURJPY | |||
| เสร็จตรงเวลาหรือไม่ IsOnTime | ค่าสถานะแบบบูลีนที่เป็นจริงเมื่อหมุดหมายเสร็จในวันที่กำหนดหรือก่อนวันเป้าหมาย. | ||
| คำอธิบาย แอตทริบิวต์นี้แสดงผลการทำงานตามกำหนดเวลาในรูปแบบที่เข้าใจง่าย โดยคำนวณจากการเปรียบเทียบ นี่คือการคำนวณหลักของ KPI 'Financial Statement On-Time Rate' ช่วยให้ติดตามผลได้ง่ายขึ้นด้วยการแปลงการเปรียบเทียบวันที่เป็นสถานะที่ชัดเจนว่า 'ตรงเวลา' หรือ 'ล่าช้า' ซึ่งแสดงในแดชบอร์ดและรายงานได้สะดวก อีกทั้งช่วยวัดผลของแนวทางที่มุ่งเร่งกระบวนการปิดบัญชี. เหตุผลที่สำคัญ ทำให้การวิเคราะห์การทำงานตามกำหนดส่งเห็นผลชัดเจนว่าเสร็จตามกำหนดหรือล่าช้า จึงติดตามและรายงานผลการทำงานตรงเวลาได้ง่าย. แหล่งข้อมูล ฟิลด์คำนวณ: ตัวอย่าง truefalse | |||
| อัปเดตข้อมูลล่าสุด LastDataUpdate | เวลาที่ระบุว่ามีการรีเฟรชหรือดึงข้อมูลจากระบบต้นทางครั้งล่าสุดเมื่อใด. | ||
| คำอธิบาย แอตทริบิวต์นี้บันทึกวันที่และเวลาที่ดึงข้อมูลล่าสุด เพื่อให้ทราบว่าข้อมูลที่วิเคราะห์ในเครื่องมือ process mining เป็นข้อมูลใหม่เพียงใด. จุดประสงค์หลักคือการกำกับดูแลข้อมูลและแจ้งให้ผู้ใช้ทราบ ผู้ดูแดชบอร์ดจะเห็นว่าการวิเคราะห์เป็นข้อมูลปัจจุบันแค่ไหน ซึ่งสำคัญอย่างยิ่งกับแดชบอร์ดติดตามสถานะใกล้เรียลไทม์ เช่น 'Current Period Close Status' ช่วยให้ผู้ใช้ทราบว่ากำลังดูข้อมูลของวันนี้ เมื่อวาน หรือสัปดาห์ก่อน. เหตุผลที่สำคัญ แจ้งให้ผู้ใช้ทราบว่าข้อมูลเป็นปัจจุบันเพียงใด เพื่อให้เข้าใจว่าข้อมูลเชิงลึกของกระบวนการอ้างอิงข้อมูลล่าสุดแค่ไหน. แหล่งข้อมูล เป็นเมทาดาทาที่เครื่องมือดึงข้อมูลหรือ ETL สร้างและประทับเวลาไว้ในชุดข้อมูลขณะทำงาน. ตัวอย่าง 2024-06-10T08:00:00Z2024-06-09T08:00:00Z | |||
กิจกรรมของกระบวนการบันทึกบัญชีจนถึงรายงาน: ปิดงวดและกระทบยอด
| กิจกรรม | คำอธิบาย | ||
|---|---|---|---|
| ปิดงวดไม่ให้ลงบัญชี | นี่คือกิจกรรมสุดท้ายของรอบ โดยปิดงวดบัญชีอย่างเป็นทางการเพื่อป้องกันการลงรายการธุรกรรมเพิ่มเติม ช่วยรักษาความถูกต้องของข้อมูลในรายงานการเงินฉบับสมบูรณ์. | ||
| เหตุผลที่สำคัญ กิจกรรมนี้เป็นเหตุการณ์สิ้นสุดที่ชัดเจนของกระบวนการ จำเป็นต่อการคำนวณระยะเวลาปิดงวดบัญชีทั้งหมดและวิเคราะห์แนวโน้มการเสร็จสิ้นกระบวนการ. แหล่งข้อมูล เช่นเดียวกับการเปิดงวด เหตุการณ์นี้บันทึกไว้ในเอกสารการเปลี่ยนแปลง (ตาราง CDHDR และ CDPOS) ซึ่งเก็บการแก้ไขตารางควบคุมงวดบัญชี T001B ผ่านธุรกรรม OB52. บันทึก กรองบันทึกการเปลี่ยนแปลงของตาราง T001B เพื่อระบุการปิดปีบัญชีและงวดที่เกี่ยวข้อง. ประเภทเหตุการณ์ explicit | |||
| เปิดงวดให้ลงบัญชีได้ | กิจกรรมนี้เป็นจุดเริ่มต้นของงวดบัญชี โดยเปิดงวดสำหรับบันทึกรายการธุรกรรม การเปลี่ยนแปลงการตั้งค่านี้ดำเนินการโดยผู้ดูแลระบบการเงินใน SAP และมีบันทึกไว้อย่างชัดเจน เพื่อให้ลงรายการบัญชีของงวดใหม่ได้. | ||
| เหตุผลที่สำคัญ กิจกรรมนี้เป็นเหตุการณ์เริ่มต้นหลักของกระบวนการปิดงวดบัญชี ช่วยวัดระยะเวลาตั้งแต่ต้นจนจบได้อย่างแม่นยำ และกำหนดจุดเริ่มต้นที่ชัดเจนสำหรับการวิเคราะห์กระบวนการ. แหล่งข้อมูล ระบบบันทึกเหตุการณ์นี้ไว้ในเอกสารการเปลี่ยนแปลง (ตาราง CDHDR และ CDPOS) ซึ่งเก็บการแก้ไขตารางควบคุมงวดบัญชี T001B โดยทั่วไปดำเนินการผ่านธุรกรรม OB52. บันทึก กรองบันทึกการเปลี่ยนแปลงของตาราง T001B ตามปีบัญชีและงวดที่ต้องการ. ประเภทเหตุการณ์ explicit | |||
| เริ่มกระทบยอดบัญชี | แสดงจุดเริ่มต้นของกระบวนการตรวจสอบยอดคงเหลือในบัญชี GL ซึ่งทำด้วยตนเองหรือกึ่งอัตโนมัติ อนุมานได้เมื่อสถานะการกระทบยอดเปลี่ยนจาก 'New' เป็น 'In Progress' หรือเมื่อมีการบันทึกการดำเนินการครั้งแรกของผู้จัดทำ. | ||
| เหตุผลที่สำคัญ เหตุการณ์นี้เป็นหมุดหมายสำคัญในการทำความเข้าใจระยะเวลาและแรงงานที่ใช้ตรวจสอบยอดในงบดุล ช่วยระบุว่าบัญชีหรือแผนกใดเริ่มกระทบยอดล่าช้า. แหล่งข้อมูล โดยทั่วไป เหตุการณ์นี้บันทึกจากเครื่องมือกระทบยอดโดยเฉพาะ เช่น SAP Account Substantiation and Automation by BlackLine หรือระบบของผู้ให้บริการรายอื่น โดยอนุมานจากเวลาที่เปลี่ยนสถานะ. บันทึก ติดตามเวลาที่สถานะการกระทบยอดบัญชี GL เปลี่ยนจาก 'Not Started' เป็นสถานะอื่นเป็นครั้งแรก. ประเภทเหตุการณ์ inferred | |||
| เริ่มกระทบยอดระหว่างบริษัท | กิจกรรมนี้แสดงจุดเริ่มต้นของการจับคู่และกระทบยอดธุรกรรมระหว่างรหัสบริษัทต่างๆ ในกลุ่มเดียวกัน โดยมักเริ่มจากการเรียกใช้งานกระทบยอดหรือสร้างเคสกระทบยอดใหม่ในเครื่องมือ ICMR ของ SAP. | ||
| เหตุผลที่สำคัญ การกระทบยอดระหว่างบริษัทมักซับซ้อนและใช้เวลานาน การวิเคราะห์ระยะเวลาและขั้นตอนช่วยให้การปิดบัญชีระดับกลุ่มคล่องตัวขึ้น และทำให้มั่นใจได้ว่างบการเงินรวมถูกต้อง. แหล่งข้อมูล อนุมานจากการเปลี่ยนสถานะในโมดูล SAP Intercompany Matching and Reconciliation (ICMR) หรือจากการสร้างเอกสารกระทบยอดรายการแรกของงวด. บันทึก ติดตามวันที่สร้างหรือเวลาที่เปลี่ยนสถานะของหน่วยกระทบยอดในเครื่องมือ ICMR สำหรับงวดที่กำหนด. ประเภทเหตุการณ์ inferred | |||
| ลงบัญชีรายการปรับปรุงแล้ว | แสดงรายการบัญชีเพื่อแก้ไขที่ทำหลังจากกระทบยอดเบื้องต้นแล้ว โดยทั่วไปใช้แก้ผลต่างที่พบระหว่างการตรวจสอบ รายการนี้ลงบัญชีในบัญชีแยกประเภททั่วไปโดยตรง. | ||
| เหตุผลที่สำคัญ หากมีรายการปรับปรุงบัญชีบ่อยครั้ง อาจแสดงว่ากระบวนการก่อนหน้าหรือการกระทบยอดมีคุณภาพไม่ดีตั้งแต่ครั้งแรก การวิเคราะห์รายการเหล่านี้ช่วยหาสาเหตุของข้อผิดพลาดและลดการแก้งานซ้ำ. แหล่งข้อมูล บันทึกเป็นเอกสารโดยตรงในตาราง ACDOCA และ BKPF ระบุได้จากประเภทเอกสารเฉพาะ วันที่ลงบัญชีช่วงท้ายของรอบปิดบัญชี หรือคำอธิบายข้อความที่กำหนด. บันทึก กรองรายการบัญชีใน BKPF โดยใช้ประเภทเอกสารร่วมกับวันที่ลงบัญชีเทียบกับกิจกรรมการกระทบยอด. ประเภทเหตุการณ์ explicit | |||
| สร้างงบการเงินแล้ว | กิจกรรมนี้แสดงการจัดทำงบการเงินอย่างเป็นทางการ เช่น งบดุลและงบกำไรขาดทุน ซึ่งเป็นผลสรุปของกระบวนการบัญชีและการรวมงบ ณ สิ้นงวด. | ||
| เหตุผลที่สำคัญ นี่คือหมุดหมายสำคัญในรอบ Record to Report การจัดทำให้ทันเวลามีความสำคัญต่อการส่งรายงานตามกำหนดและให้ข้อมูลแก่ผู้มีส่วนได้ส่วนเสียได้ทันท่วงที. แหล่งข้อมูล ควรบันทึกเหตุการณ์นี้ผ่านเครื่องมือจัดการการปิดบัญชี เช่น SAP Financial Closing Cockpit ซึ่งมีงานนี้เป็นขั้นตอนโดยตรง หากไม่มี ต้องอนุมานจากบันทึกการสร้างรายงานหรือเวลาที่สร้างไฟล์. บันทึก ติดตามสถานะเสร็จสิ้นของงาน 'Generate Financial Statements' ในเครื่องมือปิดบัญชี หรือวิเคราะห์บันทึกการเรียกใช้รายงาน. ประเภทเหตุการณ์ inferred | |||
| อนุมัติการกระทบยอดบัญชีแล้ว | กิจกรรมนี้แสดงการอนุมัติขั้นสุดท้ายของการกระทบยอดบัญชี GL เพื่อยืนยันว่ามีหลักฐานรองรับยอดคงเหลือและแก้ไขปัญหาที่พบแล้ว อนุมานได้จากการเปลี่ยนสถานะเป็น 'Approved' ในเครื่องมือกระทบยอด. | ||
| เหตุผลที่สำคัญ หมุดหมายนี้แสดงว่ากิจกรรมควบคุมที่สำคัญเสร็จสิ้นแล้ว การติดตามเวลาอนุมัติช่วยระบุคอขวดในขั้นตอนตรวจสอบ และจำเป็นต่อการวัดงานแก้ไขซ้ำและอัตราการผ่านตั้งแต่ครั้งแรก. แหล่งข้อมูล บันทึกจากระบบจัดการการกระทบยอด เช่น SAP Account Substantiation and Automation โดยติดตามเวลาที่สถานะเปลี่ยนเป็นอนุมัติขั้นสุดท้าย. บันทึก ระบุเวลาที่ฟิลด์สถานะการกระทบยอดเปลี่ยนเป็นสถานะสุดท้าย 'Approved'. ประเภทเหตุการณ์ inferred | |||
| จัดทำงบทดลองแล้ว | แสดงว่าจัดทำและบันทึกงบทดลองเพื่อรอตรวจสอบแล้ว ซึ่งเป็นจุดตรวจสอบสำคัญก่อนจัดทำงบการเงินฉบับสุดท้าย โดยมักบันทึกเหตุการณ์นี้เมื่อบันทึกผลลัพธ์ของรายงาน. | ||
| เหตุผลที่สำคัญ การจัดทำงบทดลองเป็นจุดตรวจสอบคุณภาพที่สำคัญ การวิเคราะห์ช่วงเวลาที่จัดทำช่วยให้เข้าใจความพร้อมก่อนรายงานขั้นสุดท้าย และอาจชี้ให้เห็นความล่าช้าในกิจกรรมก่อนหน้า. แหล่งข้อมูล เหตุการณ์นี้มักไม่มีบันทึกโดยตรง อาจอนุมานจากการเรียกใช้ธุรกรรมรายงานเฉพาะ หากบันทึกตัวแปรพร้อมชื่อผู้ใช้และวันที่ไว้ หรือหากจัดการกระบวนการผ่านเครื่องมืออย่าง SAP Financial Closing Cockpit. บันทึก ต้องวิเคราะห์ระบบเพื่อดูว่ามีกลไกบันทึกข้อมูลที่เชื่อถือได้หรือไม่ เช่น บันทึกการเรียกใช้รายงานหรือรายการงานใน closing cockpit. ประเภทเหตุการณ์ inferred | |||
| ดำเนินงานรวมบัญชีแล้ว | แสดงการดำเนินกิจกรรมรวมงบใน SAP Group Reporting เช่น การแปลงค่าสกุลเงิน การจัดประเภทรายการใหม่ และการตัดกำไรระหว่างบริษัท โดยทั่วไปจัดการและบันทึกงานเหล่านี้ในหน้าติดตามการรวมงบ. | ||
| เหตุผลที่สำคัญ สำหรับองค์กรที่มีนิติบุคคลหลายแห่ง การรวมงบเป็นขั้นตอนสำคัญที่ส่งผลต่อกำหนดการ การติดตามงานเหล่านี้ช่วยให้การปิดบัญชีระดับกลุ่มคล่องตัวขึ้นและจัดทำรายงานรวมได้ตรงเวลา. แหล่งข้อมูล บันทึกจากประวัติสถานะใน Data Monitor หรือ Consolidation Monitor ของ SAP S/4HANA สำหรับ Group Reporting โดยทั่วไปแต่ละงานจะมีข้อมูลผู้ใช้ เวลา และสถานะ. บันทึก ดึงบันทึกการทำงานของงานจากตารางเบื้องหลังของ Consolidation Monitor ใน Group Reporting. ประเภทเหตุการณ์ explicit | |||
| เรียกใช้การเคลียร์รายการอัตโนมัติแล้ว | แสดงการเรียกใช้โปรแกรมหักล้างอัตโนมัติใน SAP เช่น การหักล้าง GR/IR (การรับสินค้า/การรับใบแจ้งหนี้) งานเหล่านี้จับคู่และหักล้างรายการคงค้างในบัญชี GL ที่กำหนด ช่วยลดงานกระทบยอดด้วยตนเอง. | ||
| เหตุผลที่สำคัญ กิจกรรมนี้แสดงระดับการทำงานอัตโนมัติในกระบวนการกระทบยอด หากงานล้มเหลวหรือพบข้อยกเว้น อาจทำให้เกิดงานด้วยตนเองและความล่าช้าจำนวนมาก. แหล่งข้อมูล บันทึกจากประวัติการทำงานของงานแบบกลุ่มที่เกี่ยวข้อง เช่น F.13 หรือ F.13E สำหรับการหักล้างอัตโนมัติ ตารางบันทึกงาน TBTCO และ TBTCP มีรายละเอียดการทำงาน. บันทึก ติดตามเวลาเริ่มต้นและสิ้นสุดของงานที่เกี่ยวข้องกับธุรกรรม เช่น F.13 จากบันทึกงานของ SAP. ประเภทเหตุการณ์ explicit | |||
| เรียกใช้การประเมินมูลค่าเงินตราต่างประเทศ | ขั้นตอนมาตรฐานช่วงสิ้นเดือนนี้ใช้ประเมินมูลค่ารายการคงค้างและยอดคงเหลือในสกุลเงินต่างประเทศใหม่ตามอัตราแลกเปลี่ยน ณ วันสิ้นงวด เมื่อเรียกใช้โปรแกรม ระบบจะลงรายการผลต่างจากการประเมินมูลค่า. | ||
| เหตุผลที่สำคัญ ช่วยให้ปฏิบัติตามมาตรฐานการบัญชีและแสดงสถานะทางการเงินได้ถูกต้อง การติดตามกิจกรรมนี้ช่วยให้มั่นใจว่าประเมินมูลค่าเงินตราต่างประเทศครบถ้วนและตรงเวลา. แหล่งข้อมูล บันทึกจากประวัติการทำงานของโปรแกรมประเมินมูลค่าเงินตราต่างประเทศ เช่น FAGL_FCV รายละเอียดงานจัดเก็บไว้ในตาราง TBTCO และ TBTCP. บันทึก ติดตามประวัติการทำงานของงานที่เกี่ยวข้องกับธุรกรรม FAGL_FCV หรือโปรแกรมที่ใช้ทำงานเบื้องหลัง. ประเภทเหตุการณ์ explicit | |||
| ลงบัญชีรายการค้างรับและประมาณการหนี้สินแล้ว | เหตุการณ์นี้บันทึกการสร้างรายการบัญชีด้วยตนเองสำหรับค่าใช้จ่ายค้างจ่าย รายการรอตัดบัญชี และประมาณการหนี้สินอื่นๆ ที่จำเป็นต่อการรายงานทางการเงินตามเกณฑ์คงค้าง รายการเหล่านี้เป็นธุรกรรมที่ลงบัญชีในบัญชีแยกประเภททั่วไปโดยตรง. | ||
| เหตุผลที่สำคัญ การติดตามรายการเหล่านี้ช่วยวิเคราะห์จำนวนและช่วงเวลาของการปรับปรุงด้วยตนเอง หากมีจำนวนมาก อาจเป็นโอกาสในการทำงานโดยอัตโนมัติหรือปรับปรุงกระบวนการก่อนหน้า. แหล่งข้อมูล บันทึกเป็นรายการบัญชีโดยตรงในตารางสมุดรายวันกลาง ACDOCA และตารางส่วนหัว BKPF โดยระบุรายการได้จากประเภทเอกสารเฉพาะที่กำหนดไว้สำหรับรายการค้างรับและประมาณการหนี้สิน. บันทึก กรองเอกสารในตาราง BKPF ตามประเภทเอกสาร เช่น 'SA' หรือประเภทที่กำหนดเอง และวันที่ลงบัญชีภายในงวด. ประเภทเหตุการณ์ explicit | |||
| อนุมัติงบการเงินแล้ว | แสดงการลงนามอนุมัติงบการเงินขั้นสุดท้ายโดยผู้บริหารที่มีอำนาจ ก่อนเผยแพร่ โดยมากเป็นกระบวนการนอกระบบ แต่บันทึกได้หากมีขั้นตอนอนุมัติดิจิทัลอย่างเป็นทางการ. | ||
| เหตุผลที่สำคัญ นี่คือจุดตรวจสอบคุณภาพและการควบคุมขั้นสุดท้าย การติดตามช่วงเวลานี้จำเป็นต่อการทำความเข้าใจว่าการรายงานเป็นไปตามกำหนดหรือไม่ และรอบการตรวจสอบของผู้บริหารมีประสิทธิภาพเพียงใด. แหล่งข้อมูล บันทึกเหตุการณ์นี้ได้หากมีเวิร์กโฟลว์หรือฟิลด์สถานะสำหรับอนุมัติงบการเงิน เช่น ใน SAP Financial Closing Cockpit หรือระบบจัดการเอกสาร. บันทึก ระบุฟิลด์ข้อมูลและเวลาที่แสดงการอนุมัติขั้นสุดท้ายของชุดงบการเงิน. ประเภทเหตุการณ์ inferred | |||
| โอนข้อมูลจากบัญชีย่อยเสร็จแล้ว | แสดงการทำงานเสร็จสิ้นของงานแบบกลุ่มที่โอนข้อมูลสรุปจากบัญชีแยกประเภทย่อย เช่น ลูกหนี้ เจ้าหนี้ และบัญชีสินทรัพย์ ไปยังบัญชีแยกประเภททั่วไป ขั้นตอนนี้ช่วยให้ธุรกรรมจากการปฏิบัติงานทั้งหมดปรากฏใน GL ก่อนเริ่มขั้นตอนปิดบัญชี. | ||
| เหตุผลที่สำคัญ ความล่าช้าในการปิดบัญชีแยกประเภทย่อยอาจเป็นคอขวดสำคัญของกระบวนการโดยรวม การติดตามกิจกรรมนี้ช่วยให้พบจุดที่ไม่มีประสิทธิภาพในการรวบรวมและเชื่อมโยงข้อมูลจากระบบต้นทาง. แหล่งข้อมูล อนุมานจากสถานะเสร็จสมบูรณ์ของงานแบบกลุ่มที่รับผิดชอบการชำระบัญชีและโอนข้อมูล บันทึกงานดูได้จากตาราง TBTCO และ TBTCP. บันทึก ระบุและติดตามเวลาที่งานแบบกลุ่มที่เกี่ยวข้องเสร็จสิ้นในภาพรวมงานของ SAP (ธุรกรรม SM37). ประเภทเหตุการณ์ explicit | |||
คู่มือการดึงข้อมูล
ขั้นตอน
- ตรวจสอบ CDS view: ลงชื่อเข้าใช้ระบบ SAP S/4HANA ผ่าน SAP HANA Studio หรือ Eclipse ที่ติดตั้ง ADT ใช้ ABAP Development Tools ค้นหาและตรวจสอบว่ามี CDS view มาตรฐานตามที่ระบุในคำสั่งหรือไม่ เช่น I_JournalEntryItem, I_BatchJob และ I_ConsolidationTaskLog สำหรับกระบวนการอย่างการกระทบยอดบัญชี คุณอาจต้องสร้าง CDS view ที่กำหนดเอง เช่น Z_I_ACCOUNTRECONCILIATION เพื่อบันทึกการเปลี่ยนแปลงสถานะ
- เปิดให้เรียกใช้ CDS view ผ่าน OData: ใน SAP backend ใช้ทรานแซกชัน
SEGW(Gateway Service Builder) เพื่อสร้างโปรเจกต์ใหม่ คลิกขวาที่โฟลเดอร์ Data Model แล้วเลือก 'Reference -> Data Source' เพิ่ม CDS view ที่ต้องการ จากนั้นสร้าง runtime object เพื่อสร้าง OData service สำหรับเปิดให้ระบบภายนอกเรียกใช้ view เหล่านี้ - เปิดใช้งาน OData service: ไปที่ทรานแซกชัน
/IWFND/MAINT_SERVICEบน SAP Gateway hub คลิก 'Add Service' ค้นหา service ที่สร้างไว้ในขั้นตอนก่อนหน้าแล้วเพิ่ม service นี้ เพื่อเปิดใช้งานและให้เรียกใช้ได้ - เชื่อมต่อแหล่งข้อมูล: ใช้เครื่องมือดึงข้อมูลที่เลือก เช่น Python, Power BI หรือแพลตฟอร์ม ETL เฉพาะ เพื่อเชื่อมต่อกับ OData service ที่สร้างขึ้น คุณต้องมี URL ของ service และข้อมูลรับรองที่ได้รับอนุญาตให้เข้าถึง CDS view
- ปรับและเรียกใช้คำสั่ง: คัดลอก SQL query ที่ให้ไว้ แล้วแก้ค่าตัวอย่างสำหรับช่วงวันที่ รหัสบริษัท และชื่อ CDS view หรือ batch job ที่กำหนดเองให้ตรงกับระบบ SAP ของคุณ เรียกใช้คำสั่งกับ OData service endpoint โปรดทราบว่า OData ใช้ไวยากรณ์ต่างออกไป เช่น
$filterและ$selectคุณจึงอาจต้องแปลงตรรกะของคำสั่ง UNION ALL ให้เป็นการเรียก API แยกกัน โดยเรียกหนึ่งครั้งต่อกิจกรรม - รวมข้อมูลกิจกรรม: โดยทั่วไป OData ไม่รองรับคำสั่ง UNION ALL ที่ซับซ้อนในการเรียกครั้งเดียว คุณจึงต้องส่งคำขอแยกสำหรับแต่ละบล็อกกิจกรรมในคำสั่ง แล้วรวมผลลัพธ์จากทุกคำขอเป็นชุดข้อมูลหรือตารางเดียวในเครื่องมือที่ใช้
- แปลงและตรวจสอบข้อมูล: ตรวจสอบข้อมูลที่รวมแล้ว ให้แน่ใจว่าคอลัมน์
EventTimeและEndTimeใช้รูปแบบเวลาประทับเดียวกัน ตรวจสอบว่าFinancialPeriodอยู่ในรูปแบบ 'YYYY-MM' และจัดการค่า NULL ในคอลัมน์ เช่นResponsibleUserหรือDocumentNumberตามความเหมาะสม - ส่งออกเป็นบันทึกเหตุการณ์: ส่งออกชุดข้อมูลสุดท้ายที่รวมแล้วเป็นไฟล์ CSV ตรวจสอบว่าส่วนหัวคอลัมน์ตรงกับแอตทริบิวต์ที่ต้องใช้ ได้แก่
FinancialPeriod,ActivityName,EventTime,EndTime,ResponsibleUserเป็นต้น จากนั้นจึงอัปโหลดไฟล์นี้ไปยัง ProcessMind ได้
การกำหนดค่า
- CDS view: คำสั่งใช้ CDS view มาตรฐานและแบบกำหนดเองร่วมกัน view มาตรฐาน เช่น
I_JournalEntryItem(สำหรับรายการบัญชี) และI_BatchJob(สำหรับการเรียกใช้งานอัตโนมัติ) เป็นสิ่งจำเป็น ส่วน view ที่กำหนดเอง เช่นZ_I_ACCOUNTRECONCILIATIONมักจำเป็นสำหรับบันทึกสถานะของกระบวนการภายในที่ไม่มีใน view มาตรฐาน - ช่วงวันที่: กำหนดช่วงวันที่สำหรับการดึงข้อมูลให้ชัดเจนเพื่อควบคุมปริมาณข้อมูล คำสั่งใช้ค่าตัวอย่าง
[Start Date]และ[End Date]ซึ่งโดยทั่วไปควรครอบคลุม 3 ถึง 6 งวดบัญชีเต็ม เพื่อให้วิเคราะห์ได้อย่างมีความหมาย - ตัวกรองสำคัญ: การกรองข้อมูลมีความสำคัญต่อประสิทธิภาพและความเกี่ยวข้องของผลลัพธ์ กรองด้วย
CompanyCodeเสมอ ตัวกรองสำคัญอื่น ๆ ได้แก่Ledger(เช่น '0L' สำหรับบัญชีแยกประเภทหลัก),FiscalYearและค่าDocumentTypeที่ใช้แยกรายการลงบัญชีปกติ รายการค้างรับค้างจ่าย และรายการปรับปรุง - ข้อกำหนดเบื้องต้น: ผู้เรียกใช้ต้องได้รับสิทธิ์ใน SAP เพื่อเข้าถึง CDS view ที่ระบุและเรียกใช้ OData service เช่น ออบเจ็กต์สิทธิ์
S_SERVICEและS_RFCนอกจากนี้ต้องตั้งค่าและเปิดใช้งาน SAP Gateway service แล้ว - ประสิทธิภาพ: การสืบค้น
I_JournalEntryItemอาจใช้ทรัพยากรมาก ควรใช้ตัวกรองที่เจาะจง โดยเฉพาะวันที่ รหัสบริษัท และบัญชีแยกประเภท พิจารณาเรียกใช้ในช่วงที่มีการใช้งานน้อย หรือใช้วิธีโหลดข้อมูลส่วนที่เปลี่ยนแปลงสำหรับการติดตามอย่างต่อเนื่อง
ตัวอย่างคำค้น sql
SELECT
CONCAT(CAST(PostingDate AS DATE FORMAT 'YYYY'), '-', CAST(PostingDate AS DATE FORMAT 'MM')) AS FinancialPeriod,
'Period Opened For Posting' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
CAST(CreationDateTime AS TIMESTAMP) AS EndTime,
CreatedByUser AS ResponsibleUser,
CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_FinPostingPeriodControl -- This is a proxy; this activity is a configuration change often found in change logs (CDHDR/CDPOS for table T001B)
WHERE PostingPeriodVariant = '[Your Variant]' AND FiscalYear = '[Your Fiscal Year]' AND FromPostingPeriod = 1 AND AuthorizationGroup IS NOT NULL -- Logic to detect the opening event
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod, -- Infer period from Job Name if patterned, otherwise use job start date
'Subledger Data Transfer Completed' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE '[Subledger Job Prefix]%' AND JobStatus = 'F' -- 'F' for Finished
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(CAST(CreationDate AS DATE FORMAT 'YYYY'), '-', CAST(CreationDate AS DATE FORMAT 'MM')) AS FinancialPeriod,
'Intercompany Reconciliation Started' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
NULL AS EndTime,
CreatedByUser AS ResponsibleUser,
LeadingCompanyCode AS CompanyCode,
NULL AS GlAccountNumber,
ReconciliationCase AS DocumentNumber,
ReconciliationCaseStatus AS ReconciliationStatus,
NULL AS TargetCompletionDate,
NULL AS ProcessingTime
FROM I_ICRcnCase -- Part of SAP S/4HANA for group reporting
WHERE CreationDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Accruals And Provisions Posted' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
CAST(CreationDateTime AS TIMESTAMP) AS EndTime,
CreatedByUser AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
AccountingDocument AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_JournalEntryItem
WHERE DocumentType IN ('[Accrual Doc Type 1]', '[Accrual Doc Type 2]') -- e.g., 'SA', 'AC'
AND PostingDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Automated Clearing Run Executed' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE 'SAPF124%' AND JobStatus = 'F'
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Foreign Currency Valuation Run' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE 'FAGL_FCV%' AND JobStatus = 'F'
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
-- This activity often requires a custom view on a custom table or an add-on like SAP Account Substantiation and Automation.
-- The following is a placeholder for such a custom view.
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Account Reconciliation Started' AS ActivityName,
CAST(ChangedAt AS TIMESTAMP) AS EventTime,
NULL AS EndTime,
ChangedBy AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
ReconciliationID AS DocumentNumber,
'In Progress' AS ReconciliationStatus,
PlannedCompletionDate AS TargetCompletionDate,
NULL AS ProcessingTime
FROM Z_I_ACCOUNTRECONCILIATION -- Placeholder for your custom reconciliation status view
WHERE Status = 'IN_PROGRESS' AND OldStatus = 'NEW'
AND ChangeDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Adjusting Journal Entry Posted' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
CAST(CreationDateTime AS TIMESTAMP) AS EndTime,
CreatedByUser AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
AccountingDocument AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_JournalEntryItem
WHERE DocumentType IN ('[Adjustment Doc Type 1]', '[Adjustment Doc Type 2]') -- e.g., 'AJ'
AND PostingDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
-- This activity often requires a custom view on a custom table or an add-on product.
-- The following is a placeholder for such a custom view.
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Account Reconciliation Approved' AS ActivityName,
CAST(ChangedAt AS TIMESTAMP) AS EventTime,
CAST(ChangedAt AS TIMESTAMP) AS EndTime,
ApprovedBy AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
ReconciliationID AS DocumentNumber,
'Approved' AS ReconciliationStatus,
PlannedCompletionDate AS TargetCompletionDate,
NULL AS ProcessingTime
FROM Z_I_ACCOUNTRECONCILIATION -- Placeholder for your custom reconciliation status view
WHERE Status = 'APPROVED'
AND ChangeDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Consolidation Tasks Executed' AS ActivityName,
CAST(TaskExecutionUTCTimestamp AS TIMESTAMP) AS EventTime,
CAST(TaskCompletionUTCTimestamp AS TIMESTAMP) AS EndTime,
ExecutedByUser AS ResponsibleUser,
ConsolidationUnitCompanyCode AS CompanyCode, -- Assuming mapping exists
NULL AS GlAccountNumber,
DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(TaskExecutionUTCTimestamp AS TIMESTAMP), CAST(TaskCompletionUTCTimestamp AS TIMESTAMP)) AS ProcessingTime
FROM I_ConsolidationTaskLog
WHERE ConsolidationTaskStatus = 'S' -- Successful
AND TaskExecutionUTCDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Trial Balance Prepared' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE '[Trial Balance Job Prefix]%' AND JobStatus = 'F' -- Example: FAGL_TRIAL_BALANCE_RUN
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Financial Statements Generated' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE '[Fin Statement Job Prefix]%' AND JobStatus = 'F'
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
-- Approval is often a manual step. This requires a custom solution to capture.
-- The following is a placeholder for such a custom view.
SELECT
CONCAT(ApprovalYear, '-', LPAD(ApprovalPeriod, 2, '0')) AS FinancialPeriod,
'Financial Statements Approved' AS ActivityName,
CAST(ApprovalTimestamp AS TIMESTAMP) AS EventTime,
CAST(ApprovalTimestamp AS TIMESTAMP) AS EndTime,
ApproverUser AS ResponsibleUser,
CompanyCode,
NULL AS GlAccountNumber,
FinancialStatementVersion AS DocumentNumber,
'Approved' AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM Z_I_FINSTATEMENTAPPROVAL -- Placeholder for custom approval tracking view
WHERE ApprovalDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(CAST(LastChangeDate AS DATE FORMAT 'YYYY'), '-', CAST(LastChangeDate AS DATE FORMAT 'MM')) AS FinancialPeriod,
'Period Closed For Posting' AS ActivityName,
CAST(LastChangeDateTime AS TIMESTAMP) AS EventTime,
CAST(LastChangeDateTime AS TIMESTAMP) AS EndTime,
LastChangedByUser AS ResponsibleUser,
CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_FinPostingPeriodControl -- Proxy, see note on 'Period Opened'
WHERE PostingPeriodStatus = 'C' -- 'C' for Closed
AND LastChangeDate BETWEEN '[Start Date]' AND '[End Date]'; ขั้นตอน
- ยืนยันว่ามีสิทธิ์อ่านโดยตรงใน SAP HANA schema ที่มีตารางแอปพลิเคชันที่ต้องใช้ และระบุเจ้าของ schema สำหรับ ACDOCA, TBTCO, CDHDR และ CDPOS แทนค่าตัวอย่าง schema ในคำสั่งด้วยชื่อ schema ที่ได้รับอนุมัติ
- ยืนยันปีบัญชี งวดบัญชี ขอบเขตรหัสบริษัท และช่วงวันที่ที่จะดึงข้อมูล ใช้ช่วงวันที่ที่ครอบคลุมวงจรปิดงวดทั้งหมด โดยทั่วไปคือสามถึงหกเดือน แล้วแทนพารามิเตอร์วันที่ด้วยค่าที่เหมาะกับระบบของคุณ
- ตรวจสอบการจับคู่ฟิลด์ในระบบสำหรับการเปลี่ยนแปลงการตั้งค่างวดบัญชี การทำงานของ batch job การเปลี่ยนสถานะการกระทบยอด การเรียกใช้การรวมบัญชี การสร้างรายงาน และระเบียนการอนุมัติ คำสั่งใช้ค่าตัวอย่างที่สื่อความหมายแทนออบเจ็กต์ต้นทาง ซึ่งอาจไม่มีใน SAP S/4HANA ทุกระบบ ให้แทนค่าตัวอย่างเหล่านั้นด้วย view หรือตารางที่ได้รับอนุมัติจากระบบของคุณก่อนเรียกใช้
- เรียกใช้คำสั่งด้วยข้อมูลรับรองฐานข้อมูลแบบอ่านอย่างเดียว คำสั่งจะสร้างหนึ่งแถวเหตุการณ์สำหรับแต่ละกิจกรรมที่ต้องใช้โดยตรง และจะไม่อนุมานเหตุการณ์เพิ่มเติมจากลำดับเหตุการณ์
- ตรวจสอบคอลัมน์ที่ส่งคืน โดย FinancialPeriod เป็นรหัสเคส, ActivityName เป็นกิจกรรมของเหตุการณ์ และ EventTime เป็นเวลาประทับเหตุการณ์ที่ต้องมี ส่วน EndTime, ResponsibleUser, CompanyCode, GlAccountNumber, DocumentNumber, ReconciliationStatus และ TargetCompletionDate จะมีเมื่อระเบียนต้นทางมีข้อมูลเหล่านี้
- ตรวจสอบว่าผลลัพธ์มีทุกกิจกรรมที่ต้องใช้ รวมถึงกิจกรรมที่อาจไม่มีระเบียนต้นทางในบางงวด หากไม่มีประเภทกิจกรรม คำสั่งจะส่งคืนแถวตรวจสอบที่กำหนด ActivityName เป็น Activity Coverage Validation ให้ลบแถวดังกล่าวหรือจัดการแยกต่างหากก่อนอัปโหลดไปยัง ProcessMind หากการนำเข้าปลายทางรับเฉพาะเหตุการณ์ทางธุรกิจ
- ตรวจสอบเหตุการณ์ตัวอย่างกับระเบียนแอปพลิเคชันและบันทึกงานใน SAP ยืนยันว่าเหตุการณ์รายการบัญชีตรงกับระเบียน ACDOCA เหตุการณ์งานตรงกับระเบียน TBTCO และเหตุการณ์การเปลี่ยนแปลงตรงกับระเบียน CDHDR และ CDPOS หรือแหล่งข้อมูลการกระทบยอดและการอนุมัติที่กำหนดไว้
- ส่งออกผลลัพธ์เป็นไฟล์ CSV ที่เข้ารหัส UTF-8 หรือรูปแบบตารางอื่นที่ ProcessMind รองรับ คงชื่อคอลัมน์ FinancialPeriod, ActivityName และ EventTime ให้ตรงตามนี้ทุกประการ เรียงตาม FinancialPeriod และ EventTime และเก็บหนึ่งแถวต่อเหตุการณ์ที่ดึงข้อมูลโดยตรง
- อัปโหลดบันทึกเหตุการณ์ไปยัง ProcessMind แล้วกำหนด FinancialPeriod เป็นรหัสเคส, ActivityName เป็นกิจกรรม และ EventTime เป็นเวลาเริ่มต้น หากมี EndTime ให้กำหนดเป็นเวลาสิ้นสุด และกำหนดคอลัมน์ที่เหลือเป็นแอตทริบิวต์ของเหตุการณ์หรือเคส
หมายเหตุสำคัญเกี่ยวกับการจับคู่แหล่งข้อมูล: SAP S/4HANA ไม่มีโครงสร้างตารางแบบเดียวที่ใช้ได้กับเครื่องมือกระทบยอด ตัวติดตามการรวมบัญชี คลังรายงาน เวิร์กโฟลว์การอนุมัติ หรือการตั้งค่างวดบัญชีทุกระบบ ให้แทนค่าตัวอย่าง [Your table name] และ [Your column name] ในคำสั่งด้วยออบเจ็กต์และคอลัมน์ที่ตรวจสอบแล้วจากระบบของคุณ อย่านำค่าตัวอย่างไปใช้เป็น SQL ที่เรียกใช้ได้จริง
การกำหนดค่า
- การเข้าถึงฐานข้อมูล: ใช้ผู้ใช้ฐานข้อมูล SAP HANA แบบอ่านอย่างเดียวที่มีสิทธิ์ SELECT บน ACDOCA, TBTCO, CDHDR, CDPOS และออบเจ็กต์ต้นทางที่กำหนดค่าสำหรับควบคุมงวดบัญชี การกระทบยอด การรวมบัญชี การรายงาน และการอนุมัติ.
- การกำหนดค่า schema: แทน [Your SAP schema] ด้วย schema จริงที่มีออบเจ็กต์แอปพลิเคชัน ตรวจสอบว่าออบเจ็กต์เป็นตาราง calculation view หรือ reporting view ที่ได้รับอนุมัติ.
- ช่วงวันที่: ดึงข้อมูลให้ครอบคลุมรอบการปิดบัญชีทั้งหมด โดยทั่วไปคือสามถึงหกเดือน รวมกิจกรรมเปิดและปิดงวด รายการบัญชีล่าช้า การกลับรายการ การอนุมัติ และรายการปรับปรุงหลังปิดงวด.
- งวดบัญชี: กรองตามปีบัญชีและงวดบัญชีที่รหัสบริษัทใช้ อย่าสมมติว่าเป็นงวดตามปีปฏิทิน หาก variant ของปีบัญชีแตกต่างออกไป.
- รหัสบริษัท: กรองรหัสบริษัทเมื่อกระบวนการครอบคลุมนิติบุคคลที่เลือก ใช้ [Configure based on your system] หากกำหนดขอบเขตไว้ในตารางจับคู่โครงสร้างองค์กรแยกต่างหาก.
- ประเภทเอกสาร: จำกัดการดึงรายการบัญชีให้เหลือประเภทเอกสารที่ใช้กับรายการค้างจ่าย ประมาณการ รายการปรับปรุง การตีราคา การหักล้าง และรายการปิดบัญชีอื่น ๆ ตรวจสอบการกำหนดค่าประเภทเอกสารในระบบก่อนเปิดใช้ตัวกรองเหล่านี้.
- สถานะงาน: รวมเฉพาะงานที่เสร็จสมบูรณ์หรือทำงานสำเร็จสำหรับกิจกรรมที่บันทึกการเสร็จสิ้น ตรวจสอบค่าสถานะใน TBTCO ของระบบก่อนใช้เงื่อนไขกรองสถานะ.
- เอกสารการเปลี่ยนแปลง: กรอง CDHDR และ CDPOS ตาม object class และตัวบ่งชี้การเปลี่ยนแปลงที่เกี่ยวข้อง หลังจากตรวจสอบการกำหนดค่าในระบบแล้ว เอกสารการเปลี่ยนแปลงเพียงอย่างเดียวอาจระบุกิจกรรมทางธุรกิจได้ไม่ครบทุกกิจกรรม.
- แหล่งข้อมูลการกระทบยอดและการอนุมัติ: กำหนดออบเจ็กต์ต้นทางที่ตรวจสอบแล้วสำหรับการเปลี่ยนสถานะการกระทบยอด การดำเนินการของผู้จัดทำ การอนุมัติ วันที่เป้าหมาย และการลงนามดิจิทัล แหล่งข้อมูลเหล่านี้แตกต่างกันไปตามส่วนประกอบและส่วนขยาย SAP ที่ติดตั้ง.
- ประสิทธิภาพ: จำกัดเงื่อนไขกรองตามปีบัญชี งวดบัญชี รหัสบริษัท วันที่ลงบัญชี และเวลาประทับเหตุการณ์ ใส่ตัวกรองในแต่ละส่วนของ UNION ALL หลีกเลี่ยงการสแกน ACDOCA โดยไม่มีเงื่อนไข และเรียกใช้ในช่วงเวลารายงานที่ได้รับอนุมัติ.
- ชนิดข้อมูล: ปรับเวลาประทับให้ใช้เขตเวลาและชนิดข้อมูลเดียวกัน แปลงสตริงว่างเป็น NULL และคงเลขศูนย์นำหน้าในรหัสบริษัท หมายเลขบัญชี และหมายเลขเอกสาร.
- ข้อกำหนดเบื้องต้น: ตรวจสอบว่ามีและบันทึกข้อมูลจากส่วนประกอบ SAP เครื่องมือกระทบยอด ฟังก์ชันรวมบัญชี การบันทึกงาน การเปิดใช้งานเอกสารการเปลี่ยนแปลง และบันทึกการตรวจสอบรายงานหรือเวิร์กโฟลว์ที่จำเป็นแล้ว.
- ความปลอดภัยและการปฏิบัติตามข้อกำหนด: ให้สิทธิ์เท่าที่จำเป็น ปกป้องข้อมูลทางการเงินและข้อมูลผู้ใช้ บันทึกวัตถุประสงค์ในการดึงข้อมูล และปฏิบัติตามข้อกำหนดด้านการตรวจสอบ SAP และฐานข้อมูลขององค์กร.
ตัวอย่างคำค้น sql
WITH
params AS (
SELECT
TO_DATE('[Start date YYYY-MM-DD]') AS start_date,
TO_DATE('[End date YYYY-MM-DD]') AS end_date,
'[Fiscal year]' AS fiscal_year_filter,
'[Fiscal period]' AS fiscal_period_filter,
'[Company code filter]' AS company_code_filter
FROM DUMMY
),
base_events AS (
SELECT
TO_NVARCHAR(a.RYEAR) || '-' || LPAD(TO_NVARCHAR(a.POPER), 2, '0') AS FinancialPeriod,
'Accruals And Provisions Posted' AS ActivityName,
CAST(a.BUDAT AS TIMESTAMP) AS EventTime,
CAST(NULL AS TIMESTAMP) AS EndTime,
CAST(a.USNAM AS NVARCHAR(80)) AS ResponsibleUser,
CAST(a.RBUKRS AS NVARCHAR(20)) AS CompanyCode,
CAST(a.RACCT AS NVARCHAR(40)) AS GlAccountNumber,
CAST(a.BELNR AS NVARCHAR(40)) AS DocumentNumber,
CAST(NULL AS NVARCHAR(40)) AS ReconciliationStatus,
CAST(NULL AS DATE) AS TargetCompletionDate
FROM [Your SAP schema].ACDOCA a
CROSS JOIN params p
WHERE a.BUDAT >= p.start_date
AND a.BUDAT < ADD_DAYS(p.end_date, 1)
AND (p.fiscal_year_filter = '[Fiscal year]' OR TO_NVARCHAR(a.RYEAR) = p.fiscal_year_filter)
AND (p.fiscal_period_filter = '[Fiscal period]' OR TO_NVARCHAR(a.POPER) = p.fiscal_period_filter)
AND (p.company_code_filter = '[Company code filter]' OR TO_NVARCHAR(a.RBUKRS) = p.company_code_filter)
AND a.BLART IN ('[Accrual document type]', '[Provision document type]')
UNION ALL
SELECT
TO_NVARCHAR(a.RYEAR) || '-' || LPAD(TO_NVARCHAR(a.POPER), 2, '0'),
'Adjusting Journal Entry Posted',
CAST(a.BUDAT AS TIMESTAMP),
CAST(NULL AS TIMESTAMP),
CAST(a.USNAM AS NVARCHAR(80)),
CAST(a.RBUKRS AS NVARCHAR(20)),
CAST(a.RACCT AS NVARCHAR(40)),
CAST(a.BELNR AS NVARCHAR(40)),
CAST(NULL AS NVARCHAR(40)),
CAST(NULL AS DATE)
FROM [Your SAP schema].ACDOCA a
CROSS JOIN params p
WHERE a.BUDAT >= p.start_date
AND a.BUDAT < ADD_DAYS(p.end_date, 1)
AND (p.fiscal_year_filter = '[Fiscal year]' OR TO_NVARCHAR(a.RYEAR) = p.fiscal_year_filter)
AND (p.fiscal_period_filter = '[Fiscal period]' OR TO_NVARCHAR(a.POPER) = p.fiscal_period_filter)
AND (p.company_code_filter = '[Company code filter]' OR TO_NVARCHAR(a.RBUKRS) = p.company_code_filter)
AND a.BLART IN ('[Adjusting journal entry document type]')
UNION ALL
SELECT
TO_NVARCHAR(a.RYEAR) || '-' || LPAD(TO_NVARCHAR(a.POPER), 2, '0'),
'Foreign Currency Valuation Run',
CAST(a.BUDAT AS TIMESTAMP),
CAST(NULL AS TIMESTAMP),
CAST(a.USNAM AS NVARCHAR(80)),
CAST(a.RBUKRS AS NVARCHAR(20)),
CAST(a.RACCT AS NVARCHAR(40)),
CAST(a.BELNR AS NVARCHAR(40)),
CAST(NULL AS NVARCHAR(40)),
CAST(NULL AS DATE)
FROM [Your SAP schema].ACDOCA a
CROSS JOIN params p
WHERE a.BUDAT >= p.start_date
AND a.BUDAT < ADD_DAYS(p.end_date, 1)
AND (p.fiscal_year_filter = '[Fiscal year]' OR TO_NVARCHAR(a.RYEAR) = p.fiscal_year_filter)
AND (p.fiscal_period_filter = '[Fiscal period]' OR TO_NVARCHAR(a.POPER) = p.fiscal_period_filter)
AND (p.company_code_filter = '[Company code filter]' OR TO_NVARCHAR(a.RBUKRS) = p.company_code_filter)
AND a.BLART IN ('[Foreign currency valuation document type]')
UNION ALL
SELECT
TO_NVARCHAR(a.RYEAR) || '-' || LPAD(TO_NVARCHAR(a.POPER), 2, '0'),
'Automated Clearing Run Executed',
CAST(a.BUDAT AS TIMESTAMP),
CAST(NULL AS TIMESTAMP),
CAST(a.USNAM AS NVARCHAR(80)),
CAST(a.RBUKRS AS NVARCHAR(20)),
CAST(a.RACCT AS NVARCHAR(40)),
CAST(a.BELNR AS NVARCHAR(40)),
CAST(NULL AS NVARCHAR(40)),
CAST(NULL AS DATE)
FROM [Your SAP schema].ACDOCA a
CROSS JOIN params p
WHERE a.BUDAT >= p.start_date
AND a.BUDAT < ADD_DAYS(p.end_date, 1)
AND (p.fiscal_year_filter = '[Fiscal year]' OR TO_NVARCHAR(a.RYEAR) = p.fiscal_year_filter)
AND (p.fiscal_period_filter = '[Fiscal period]' OR TO_NVARCHAR(a.POPER) = p.fiscal_period_filter)
AND (p.company_code_filter = '[Company code filter]' OR TO_NVARCHAR(a.RBUKRS) = p.company_code_filter)
AND a.BLART IN ('[Automated clearing document type]')
UNION ALL
SELECT
CAST(j.[Financial period column] AS NVARCHAR(20)),
'Subledger Data Transfer Completed',
CAST(j.[Job end timestamp column] AS TIMESTAMP),
CAST(j.[Job end timestamp column] AS TIMESTAMP),
CAST(j.[Job user column] AS NVARCHAR(80)),
CAST(j.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(j.[Job name column] AS NVARCHAR(40)),
CAST(NULL AS NVARCHAR(40)),
CAST(NULL AS DATE)
FROM [Your SAP schema].TBTCO j
CROSS JOIN params p
WHERE j.[Job end timestamp column] >= p.start_date
AND j.[Job end timestamp column] < ADD_DAYS(p.end_date, 1)
AND j.[Job status column] = '[Successful job status]'
AND j.[Job name column] IN ('[AR transfer job]', '[AP transfer job]', '[Asset Accounting transfer job]')
UNION ALL
SELECT
CAST(j.[Financial period column] AS NVARCHAR(20)),
'Intercompany Reconciliation Started',
CAST(j.[Job start timestamp column] AS TIMESTAMP),
CAST(j.[Job end timestamp column] AS TIMESTAMP),
CAST(j.[Job user column] AS NVARCHAR(80)),
CAST(j.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(j.[Job name column] AS NVARCHAR(40)),
CAST(NULL AS NVARCHAR(40)),
CAST(NULL AS DATE)
FROM [Your SAP schema].TBTCO j
CROSS JOIN params p
WHERE j.[Job start timestamp column] >= p.start_date
AND j.[Job start timestamp column] < ADD_DAYS(p.end_date, 1)
AND j.[Job name column] IN ('[Intercompany reconciliation job]')
UNION ALL
SELECT
CAST(r.[Financial period column] AS NVARCHAR(20)),
'Intercompany Reconciliation Started',
CAST(r.[Status change timestamp column] AS TIMESTAMP),
CAST(NULL AS TIMESTAMP),
CAST(r.[Responsible user column] AS NVARCHAR(80)),
CAST(r.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(r.[Reconciliation case column] AS NVARCHAR(40)),
CAST(r.[Status column] AS NVARCHAR(40)),
CAST(r.[Target completion date column] AS DATE)
FROM [Your table name for intercompany reconciliation] r
CROSS JOIN params p
WHERE r.[Status change timestamp column] >= p.start_date
AND r.[Status change timestamp column] < ADD_DAYS(p.end_date, 1)
AND r.[Status column] IN ('Started', 'In Progress')
UNION ALL
SELECT
CAST(r.[Financial period column] AS NVARCHAR(20)),
'Account Reconciliation Started',
CAST(r.[Status change timestamp column] AS TIMESTAMP),
CAST(NULL AS TIMESTAMP),
CAST(r.[Responsible user column] AS NVARCHAR(80)),
CAST(r.[Company code column] AS NVARCHAR(20)),
CAST(r.[GL account column] AS NVARCHAR(40)),
CAST(r.[Reconciliation case column] AS NVARCHAR(40)),
CAST(r.[Status column] AS NVARCHAR(40)),
CAST(r.[Target completion date column] AS DATE)
FROM [Your table name for account reconciliation] r
CROSS JOIN params p
WHERE r.[Status change timestamp column] >= p.start_date
AND r.[Status change timestamp column] < ADD_DAYS(p.end_date, 1)
AND r.[Status column] IN ('In Progress')
UNION ALL
SELECT
CAST(r.[Financial period column] AS NVARCHAR(20)),
'Account Reconciliation Approved',
CAST(r.[Status change timestamp column] AS TIMESTAMP),
CAST(NULL AS TIMESTAMP),
CAST(r.[Approver user column] AS NVARCHAR(80)),
CAST(r.[Company code column] AS NVARCHAR(20)),
CAST(r.[GL account column] AS NVARCHAR(40)),
CAST(r.[Reconciliation case column] AS NVARCHAR(40)),
CAST(r.[Status column] AS NVARCHAR(40)),
CAST(r.[Target completion date column] AS DATE)
FROM [Your table name for account reconciliation] r
CROSS JOIN params p
WHERE r.[Status change timestamp column] >= p.start_date
AND r.[Status change timestamp column] < ADD_DAYS(p.end_date, 1)
AND r.[Status column] = 'Approved'
UNION ALL
SELECT
CAST(c.[Financial period column] AS NVARCHAR(20)),
'Consolidation Tasks Executed',
CAST(c.[Execution start timestamp column] AS TIMESTAMP),
CAST(c.[Execution end timestamp column] AS TIMESTAMP),
CAST(c.[Responsible user column] AS NVARCHAR(80)),
CAST(c.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(c.[Task identifier column] AS NVARCHAR(40)),
CAST(c.[Status column] AS NVARCHAR(40)),
CAST(c.[Target completion date column] AS DATE)
FROM [Your table name for consolidation execution] c
CROSS JOIN params p
WHERE c.[Execution start timestamp column] >= p.start_date
AND c.[Execution start timestamp column] < ADD_DAYS(p.end_date, 1)
AND c.[Status column] IN ('Completed', 'Successful')
UNION ALL
SELECT
CAST(t.[Financial period column] AS NVARCHAR(20)),
'Trial Balance Prepared',
CAST(t.[Report saved timestamp column] AS TIMESTAMP),
CAST(t.[Report saved timestamp column] AS TIMESTAMP),
CAST(t.[Responsible user column] AS NVARCHAR(80)),
CAST(t.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(t.[Report identifier column] AS NVARCHAR(40)),
CAST(t.[Status column] AS NVARCHAR(40)),
CAST(t.[Target completion date column] AS DATE)
FROM [Your table name for trial balance output] t
CROSS JOIN params p
WHERE t.[Report saved timestamp column] >= p.start_date
AND t.[Report saved timestamp column] < ADD_DAYS(p.end_date, 1)
AND t.[Status column] IN ('Saved', 'Completed')
UNION ALL
SELECT
CAST(f.[Financial period column] AS NVARCHAR(20)),
'Financial Statements Generated',
CAST(f.[Generation timestamp column] AS TIMESTAMP),
CAST(f.[Generation timestamp column] AS TIMESTAMP),
CAST(f.[Responsible user column] AS NVARCHAR(80)),
CAST(f.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(f.[Report identifier column] AS NVARCHAR(40)),
CAST(f.[Status column] AS NVARCHAR(40)),
CAST(f.[Target completion date column] AS DATE)
FROM [Your table name for financial statement output] f
CROSS JOIN params p
WHERE f.[Generation timestamp column] >= p.start_date
AND f.[Generation timestamp column] < ADD_DAYS(p.end_date, 1)
AND f.[Status column] IN ('Generated', 'Saved', 'Completed')
UNION ALL
SELECT
CAST(f.[Financial period column] AS NVARCHAR(20)),
'Financial Statements Approved',
CAST(f.[Approval timestamp column] AS TIMESTAMP),
CAST(f.[Approval timestamp column] AS TIMESTAMP),
CAST(f.[Approver user column] AS NVARCHAR(80)),
CAST(f.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(f.[Report identifier column] AS NVARCHAR(40)),
CAST(f.[Status column] AS NVARCHAR(40)),
CAST(f.[Target completion date column] AS DATE)
FROM [Your table name for financial statement approval] f
CROSS JOIN params p
WHERE f.[Approval timestamp column] >= p.start_date
AND f.[Approval timestamp column] < ADD_DAYS(p.end_date, 1)
AND f.[Status column] = 'Approved'
UNION ALL
SELECT
CAST(x.[Financial period column] AS NVARCHAR(20)),
'Period Opened For Posting',
CAST(x.[Change timestamp column] AS TIMESTAMP),
CAST(x.[Change timestamp column] AS TIMESTAMP),
CAST(x.[Changed by column] AS NVARCHAR(80)),
CAST(x.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(x.[Change document number column] AS NVARCHAR(40)),
CAST(x.[New status column] AS NVARCHAR(40)),
CAST(NULL AS DATE)
FROM [Your table name for posting period changes] x
CROSS JOIN params p
WHERE x.[Change timestamp column] >= p.start_date
AND x.[Change timestamp column] < ADD_DAYS(p.end_date, 1)
AND x.[New status column] = 'Open'
UNION ALL
SELECT
CAST(x.[Financial period column] AS NVARCHAR(20)),
'Period Closed For Posting',
CAST(x.[Change timestamp column] AS TIMESTAMP),
CAST(x.[Change timestamp column] AS TIMESTAMP),
CAST(x.[Changed by column] AS NVARCHAR(80)),
CAST(x.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(x.[Change document number column] AS NVARCHAR(40)),
CAST(x.[New status column] AS NVARCHAR(40)),
CAST(NULL AS DATE)
FROM [Your table name for posting period changes] x
CROSS JOIN params p
WHERE x.[Change timestamp column] >= p.start_date
AND x.[Change timestamp column] < ADD_DAYS(p.end_date, 1)
AND x.[New status column] = 'Closed'
),
activity_list AS (
SELECT 'Period Opened For Posting' AS ActivityName FROM DUMMY
UNION ALL SELECT 'Subledger Data Transfer Completed' FROM DUMMY
UNION ALL SELECT 'Intercompany Reconciliation Started' FROM DUMMY
UNION ALL SELECT 'Accruals And Provisions Posted' FROM DUMMY
UNION ALL SELECT 'Automated Clearing Run Executed' FROM DUMMY
UNION ALL SELECT 'Foreign Currency Valuation Run' FROM DUMMY
UNION ALL SELECT 'Account Reconciliation Started' FROM DUMMY
UNION ALL SELECT 'Adjusting Journal Entry Posted' FROM DUMMY
UNION ALL SELECT 'Account Reconciliation Approved' FROM DUMMY
UNION ALL SELECT 'Consolidation Tasks Executed' FROM DUMMY
UNION ALL SELECT 'Trial Balance Prepared' FROM DUMMY
UNION ALL SELECT 'Financial Statements Generated' FROM DUMMY
UNION ALL SELECT 'Financial Statements Approved' FROM DUMMY
UNION ALL SELECT 'Period Closed For Posting' FROM DUMMY
),
missing_activities AS (
SELECT
CAST(NULL AS NVARCHAR(20)) AS FinancialPeriod,
'Activity Coverage Validation' AS ActivityName,
CAST(NULL AS TIMESTAMP) AS EventTime,
CAST(NULL AS TIMESTAMP) AS EndTime,
CAST(NULL AS NVARCHAR(80)) AS ResponsibleUser,
CAST(NULL AS NVARCHAR(20)) AS CompanyCode,
CAST(NULL AS NVARCHAR(40)) AS GlAccountNumber,
CAST(NULL AS NVARCHAR(40)) AS DocumentNumber,
CAST('Missing activity: ' || al.ActivityName AS NVARCHAR(40)) AS ReconciliationStatus,
CAST(NULL AS DATE) AS TargetCompletionDate
FROM activity_list al
LEFT JOIN base_events b ON b.ActivityName = al.ActivityName
WHERE b.ActivityName IS NULL
)
SELECT
FinancialPeriod,
ActivityName,
EventTime,
EndTime,
ResponsibleUser,
CompanyCode,
GlAccountNumber,
DocumentNumber,
ReconciliationStatus,
TargetCompletionDate
FROM base_events
UNION ALL
SELECT
FinancialPeriod,
ActivityName,
EventTime,
EndTime,
ResponsibleUser,
CompanyCode,
GlAccountNumber,
DocumentNumber,
ReconciliationStatus,
TargetCompletionDate
FROM missing_activities
ORDER BY FinancialPeriod, EventTime, ActivityName พร้อมเริ่มต้นหรือยัง?
ใช้เทมเพลตข้อมูลนี้เพื่อช่วยให้องค์กรทำงานได้มีประสิทธิภาพและปฏิบัติตามข้อกำหนดได้ดียิ่งขึ้น เริ่มปรับปรุงกระบวนการ Record to Report ของคุณได้วันนี้.
ปรับปรุงกระบวนการปิดบัญชีและกระทบยอดบันทึกบัญชีจนถึงรายงานได้วันนี้
ค้นหาจุดที่ไม่มีประสิทธิภาพและลดระยะเวลาปิดงวดได้สูงสุด 30%.
ไม่ต้องใช้บัตรเครดิต เริ่มต้นใช้งานได้ในไม่กี่นาที.