เทมเพลตข้อมูลการปิดงวดและการกระทบยอดสำหรับกระบวนการบันทึกบัญชีจนถึงการรายงาน
เทมเพลตข้อมูลการปิดงวดและการกระทบยอดสำหรับกระบวนการบันทึกบัญชีจนถึงการรายงาน
- แอตทริบิวต์ที่แนะนำให้รวบรวม
- กิจกรรมสำคัญที่ควรติดตาม
- คำแนะนำในการดึงข้อมูล
แอตทริบิวต์การปิดงวดและการกระทบยอดสำหรับกระบวนการบันทึกบัญชีจนถึงการรายงาน
| ชื่อ | คำอธิบาย | ||
|---|---|---|---|
| รอบบัญชีการเงิน FinancialPeriod | รหัสเฉพาะของรอบการรายงานทางการเงิน โดยทั่วไปประกอบด้วยปีบัญชีและรอบการลงรายการ. | ||
| คำอธิบาย รอบบัญชีการเงินใช้เป็นรหัสกรณีหลัก โดยรวบรวมกิจกรรมทั้งหมดที่เกี่ยวข้องกับการปิดบัญชีและกระทบยอดสำหรับรอบรายงานนั้น เช่น '2023-12' สำหรับเดือนธันวาคม 2023 จึงวิเคราะห์กระบวนการปิดรอบบัญชีของแต่ละรอบได้ตั้งแต่ต้นจนจบ การวิเคราะห์ช่วยติดตามระยะเวลาตั้งแต่ต้นจนจบของการปิดบัญชีแต่ละรอบ เปรียบเทียบผลระหว่างรอบ และค้นหาแนวโน้มหรือความผิดปกติ เมื่อกำหนดให้แต่ละรอบบัญชีการเงินเป็นกรณีเฉพาะ คุณจะเห็นและวัดประสิทธิภาพ คอขวด และความแตกต่างของกระบวนการปิดบัญชีในแต่ละช่วงเวลาได้. เหตุผลที่สำคัญ นี่คือรหัสกรณีสำคัญที่ใช้กำหนดขอบเขตการวิเคราะห์ และช่วยเปรียบเทียบระยะเวลาปิดบัญชี ปริมาณงาน และการปฏิบัติตามข้อกำหนดของกระบวนการในแต่ละรอบ. แหล่งข้อมูล โดยทั่วไปได้จากการนำปีบัญชี (GJAHR) และรอบการลงรายการ (MONAT) ในส่วนหัวของเอกสารการเงินมาต่อกัน เช่น จากตาราง BKPF. ตัวอย่าง 2023-122024-032023-Q4 | |||
| กิจกรรม ActivityName | ชื่อเหตุการณ์ทางธุรกิจหรืองานที่ดำเนินการในกระบวนการปิดรอบบัญชี. | ||
| คำอธิบาย แอตทริบิวต์นี้บันทึกขั้นตอนต่างๆ ในวงจร Record to Report เช่น 'ลงรายการปรับปรุงบัญชีแล้ว' หรือ 'จัดทำงบการเงินแล้ว' และเป็นแกนหลักของแผนผังกระบวนการที่แสดงลำดับเหตุการณ์ในการปิดรอบบัญชี การวิเคราะห์กิจกรรมเป็นพื้นฐานสำคัญของ process mining ช่วยให้เห็นภาพการไหลของกระบวนการ ระบุลำดับงาน ค้นหาความแตกต่างของกระบวนการ และวัดความถี่กับระยะเวลาของแต่ละขั้นตอน ข้อมูลนี้ช่วยระบุคอขวด เส้นทางที่ไม่เป็นไปตามมาตรฐาน และโอกาสในการกำหนดมาตรฐานหรือทำงานอัตโนมัติ. เหตุผลที่สำคัญ แอตทริบิวต์นี้จำเป็นต่อการสร้างแผนผังกระบวนการ เพื่อแสดงภาพและวิเคราะห์ลำดับงานในกระบวนการปิดรอบบัญชี. แหล่งข้อมูล ได้จากการใช้รหัสธุรกรรม SAP (TCODE) ประเภทเอกสาร (BLART) หรือการเรียกใช้โปรแกรมที่ระบุ (เช่น FAGL_FCV สำหรับการประเมินมูลค่าเงินตราต่างประเทศ) ร่วมกัน. ตัวอย่าง ลงรายการปรับปรุงบัญชีแล้วเริ่มกระทบยอดบัญชีปิดรอบบัญชีสำหรับการลงรายการ | |||
| ระบบต้นทาง SourceSystem | รหัสระบบต้นทางที่ใช้ดึงข้อมูล. | ||
| คำอธิบาย แอตทริบิวต์นี้ระบุแหล่งที่มาของข้อมูลเหตุการณ์ เช่น ชื่อหรือ ID ของระบบ SAP ECC ที่ใช้ ในองค์กรที่มี ERP หรือระบบการเงินหลายระบบ ฟิลด์นี้จำเป็นต่อการแยกข้อมูลจากแต่ละแหล่ง แม้จะใช้ระบบเดียว ฟิลด์นี้ก็ยังเป็นข้อมูลกำกับที่สำคัญต่อการกำกับดูแลข้อมูล การตรวจสอบ และการแก้ปัญหา ช่วยยืนยันที่มาของข้อมูล สร้างความเชื่อมั่นในการวิเคราะห์ และทำให้ตรวจสอบเส้นทางที่มาของข้อมูลได้ชัดเจน. เหตุผลที่สำคัญ ช่วยตรวจสอบเส้นทางที่มาของข้อมูลเพื่อการกำกับดูแล และจำเป็นต่อการแยกกระบวนการในองค์กรที่ใช้หลายระบบ. แหล่งข้อมูล โดยทั่วไปเป็นค่าคงที่ที่เพิ่มระหว่างการดึงข้อมูล เพื่อระบุ SAP client และ system ID ที่ใช้โดยเฉพาะ (เช่น จากตาราง T000). ตัวอย่าง ECC_PROD_100SAP_E74_200ECC_FINANCE | |||
| เวลาที่เกิดเหตุการณ์ EventTime | เวลาที่ระบุว่าเกิดกิจกรรมหรือเหตุการณ์เมื่อใด. | ||
| คำอธิบาย เวลาของเหตุการณ์ระบุวันที่และเวลาที่แน่นอนของแต่ละกิจกรรมในกระบวนการ และเป็นพื้นฐานด้านลำดับเวลาสำหรับการวิเคราะห์ โดยทั่วไปได้จากวันที่และเวลาที่สร้างเอกสาร เวลานี้จำเป็นต่อการเรียงเหตุการณ์ให้ถูกต้องเพื่อสร้างภาพการไหลของกระบวนการขึ้นใหม่ ใช้คำนวณตัวชี้วัดด้านระยะเวลาทั้งหมด รวมถึงระยะเวลาระหว่างกิจกรรม เวลารอ และระยะเวลาปิดรอบบัญชีโดยรวม การวิเคราะห์เวลาช่วยระบุความล่าช้าและทำความเข้าใจการกระจายงานตามช่วงเวลา. เหตุผลที่สำคัญ แอตทริบิวต์นี้จำเป็นต่อการเรียงเหตุการณ์ตามลำดับเวลา ซึ่งใช้คำนวณระยะเวลาของวงจรและค้นหาคอขวดในกระบวนการ. แหล่งข้อมูล โดยทั่วไปดึงจากวันที่บันทึกรายการ (CPUDT) และเวลาที่บันทึกรายการ (CPUTM) ในตาราง BKPF สำหรับเอกสารการเงิน. ตัวอย่าง 2023-12-28T14:30:15Z2024-01-02T09:05:00Z2024-01-05T17:21:45Z | |||
| อัปเดตข้อมูลล่าสุด LastDataUpdate | เวลาที่รีเฟรชหรือดึงข้อมูลจากระบบต้นทางครั้งล่าสุด. | ||
| คำอธิบาย แอตทริบิวต์นี้แสดงว่าข้อมูลที่นำมาวิเคราะห์เป็นข้อมูลล่าสุดเพียงใด โดยระบุวันที่และเวลาที่ data pipeline ทำงานครั้งล่าสุด เพื่อให้ทราบว่าข้อมูลเชิงลึกเกี่ยวกับกระบวนการเป็นข้อมูลใหม่แค่ไหน สำหรับแดชบอร์ด โดยเฉพาะแดชบอร์ดที่ติดตามความคืบหน้าแบบเรียลไทม์ เวลานี้ช่วยให้ผู้ใช้ทราบว่ากำลังดูข้อมูลล่าสุดหรือข้อมูลจากวันก่อนหน้า ช่วยให้ผู้ใช้เข้าใจขอบเขตของข้อมูลและตีความผลการวิเคราะห์ได้ถูกต้อง. เหตุผลที่สำคัญ แจ้งให้ผู้ใช้ทราบว่าข้อมูลเป็นข้อมูลล่าสุดเพียงใด ซึ่งจำเป็นต่อการตรวจสอบว่าการวิเคราะห์และแดชบอร์ดมีข้อมูลทันเวลาและเกี่ยวข้องกับสถานการณ์ปัจจุบัน. แหล่งข้อมูล เครื่องมือดึงข้อมูลหรือ ETL จะสร้างและเพิ่มเวลานี้เมื่อสิ้นสุดการโหลดข้อมูลแต่ละครั้ง. ตัวอย่าง 2024-05-21T04:00:00Z2024-05-20T04:00:00Z2024-05-19T04:00:00Z | |||
| จำนวนเงินในสกุลเงินท้องถิ่น DMBTR | มูลค่าทางการเงินของรายการธุรกรรม ซึ่งแสดงเป็นสกุลเงินท้องถิ่นของรหัสบริษัท. | ||
| คำอธิบาย แอตทริบิวต์นี้แสดงมูลค่าเงินของรายการทางการเงิน และเป็นตัวชี้วัดเชิงปริมาณหลักที่แสดงผลกระทบของธุรกรรมต่อบัญชีแยกประเภททั่วไป การวิเคราะห์จำนวนเงินจำเป็นต่อการจัดลำดับความสำคัญของปัญหาและทำความเข้าใจความเสี่ยงทางการเงิน ตัวอย่างเช่น แดชบอร์ด 'วิเคราะห์ปริมาณรายการปรับปรุง' จะให้ข้อมูลที่ชัดเจนขึ้นเมื่อแยกรายการปรับปรุงมูลค่าต่ำจำนวนมากออกจากรายการมูลค่าสูงจำนวนน้อย ช่วยให้ทีมมุ่งตรวจสอบธุรกรรมที่มีผลกระทบทางการเงินอย่างมีนัยสำคัญ. เหตุผลที่สำคัญ แสดงผลกระทบทางการเงินของธุรกรรมเป็นตัวเลข ช่วยวิเคราะห์ตามสาระสำคัญ เช่น ระบุรายการปรับปรุงที่มีมูลค่าสูง. แหล่งข้อมูล มีอยู่ในตารางรายการบรรทัดของเอกสาร BSEG (DMBTR). ตัวอย่าง 1500.75-25000.00123456.00 | |||
| บัญชี GL HKONT | เลขที่บัญชีแยกประเภททั่วไปที่ใช้ลงรายการบรรทัด. | ||
| คำอธิบาย บัญชีแยกประเภททั่วไป (GL) เป็นข้อมูลหลักสำคัญด้านการเงินที่ใช้จัดหมวดหมู่ธุรกรรม รายการทางการเงินแต่ละรายการจะกำหนดให้กับบัญชี GL อย่างน้อยหนึ่งบัญชี ในการปิดรอบบัญชี การวิเคราะห์กิจกรรมตามบัญชี GL จำเป็นต่อแดชบอร์ด 'คอขวดในการกระทบยอดบัญชี' และ 'วิเคราะห์ปริมาณรายการปรับปรุง' ช่วยระบุว่าบัญชีใดกระทบยอดได้ยาก ต้องปรับปรุงบ่อย หรือมีความเสี่ยงสูงที่จะรายงานข้อมูลคลาดเคลื่อนอย่างมีนัยสำคัญ ทีมจึงจัดลำดับความสำคัญและมุ่งแก้ไขบัญชีที่มีปัญหาได้. เหตุผลที่สำคัญ ช่วยวิเคราะห์การกระทบยอดและรายการปรับปรุงได้ตรงจุด พร้อมระบุบัญชีที่มีปัญหาซึ่งทำให้ล่าช้าหรือต้องแก้ไขบ่อย. แหล่งข้อมูล มีอยู่ในตารางรายการบรรทัดของเอกสารการเงิน BSEG (HKONT). ตัวอย่าง 113100400500750000 | |||
| ประเภทรายการบัญชี JournalEntryType | การจัดประเภทรายการบัญชี เช่น 'มาตรฐาน' 'ปรับปรุง' 'ค้างรับ' หรือ 'กลับรายการ'. | ||
| คำอธิบาย แอตทริบิวต์ที่ได้จากการคำนวณนี้จัดหมวดหมู่เอกสารการเงินตามวัตถุประสงค์ทางธุรกิจในกระบวนการปิดบัญชี โดยมักพิจารณาจากประเภทเอกสาร (BLART) เหตุผลในการกลับรายการ (STGRD) หรือบัญชี GL ที่ใช้ร่วมกัน การจัดประเภทนี้เป็นพื้นฐานสำคัญของแดชบอร์ด 'วิเคราะห์ปริมาณรายการปรับปรุง' และ KPI ที่เกี่ยวข้อง เมื่อระบุรายการปรับปรุงหรือรายการค้างรับได้ชัดเจน นักวิเคราะห์จะวัดปริมาณและมูลค่า ติดตามแนวโน้ม และตรวจสอบสาเหตุที่ต้องบันทึกรายการเหล่านี้ได้ อีกทั้งยังช่วยแยกรายการปฏิบัติงานตามปกติออกจากรายการปรับปรุงสิ้นรอบบัญชี. เหตุผลที่สำคัญ จัดหมวดหมู่รายการบันทึกเพื่อการวิเคราะห์เฉพาะด้าน ช่วยติดตามและวัดประเภทรายการสำคัญ เช่น รายการปรับปรุงและรายการค้างรับ ซึ่งเป็นตัวบ่งชี้สุขภาพของกระบวนการ. แหล่งข้อมูล ฟิลด์นี้ได้จากการคำนวณ ต้องกำหนดตรรกะตามกฎทางธุรกิจ โดยทั่วไปใช้ฟิลด์อย่างประเภทเอกสาร (BLART) จาก BKPF. ตัวอย่าง รายการปรับปรุงรายการค้างรับรายการกลับบัญชีมาตรฐาน | |||
| ประเภทเอกสาร BLART | รหัสที่ใช้จำแนกประเภทเอกสารบัญชี. | ||
| คำอธิบาย SAP ใช้ประเภทเอกสารเพื่อแยกธุรกรรมทางธุรกิจ เช่น ใบแจ้งหนี้จากผู้ขาย (KR) การรับชำระเงินจากลูกค้า (DZ) และรายการบัญชีแยกประเภททั่วไป (SA) นอกจากนี้ยังใช้ควบคุมคุณสมบัติ เช่น ช่วงเลขที่เอกสาร ในการวิเคราะห์การปิดบัญชีสิ้นรอบ ประเภทเอกสารเป็นตัวกรองที่ช่วยแยกกิจกรรมเฉพาะ เช่น รายการค้างรับ ประมาณการหนี้สิน หรือรายการกลับบัญชี นำไปวิเคราะห์ปริมาณและผลกระทบทางการเงินของธุรกรรมที่เกี่ยวข้องกับการปิดบัญชี และกำหนดกิจกรรมเฉพาะในโมเดลกระบวนการได้. เหตุผลที่สำคัญ ช่วยจัดประเภทและกรองธุรกรรม เพื่อแยกและวิเคราะห์กิจกรรมเฉพาะ เช่น รายการค้างรับ รายการกลับบัญชี หรือรายการระหว่างบริษัท. แหล่งข้อมูล อยู่ในตารางส่วนหัวของเอกสาร BKPF (BLART). ตัวอย่าง SAABKR | |||
| ผู้ใช้ที่รับผิดชอบ USNAM | SAP user ID ของผู้สร้างหรือเรียกใช้ธุรกรรม. | ||
| คำอธิบาย ฟิลด์นี้บันทึกผู้ใช้ที่ลงรายการเอกสาร เรียกใช้รายงาน หรือเรียกใช้โปรแกรมที่เกี่ยวข้องกับการปิดบัญชี จึงระบุผู้รับผิดชอบกิจกรรมแต่ละรายการได้ การวิเคราะห์ตามผู้ใช้จำเป็นต่อการทำความเข้าใจการกระจายภาระงาน ระบุความต้องการด้านการฝึกอบรม และตรวจสอบความเบี่ยงเบนของกระบวนการ แดชบอร์ดที่แสดงกิจกรรมแยกตามผู้ใช้ช่วยให้เห็นผู้ที่มีงานมากเกินไปหรือผู้ที่อาจทำงานไม่ตามขั้นตอนมาตรฐาน นอกจากนี้ยังช่วยบริหารผลการทำงานและจัดสรรทรัพยากรในทีมการเงิน. เหตุผลที่สำคัญ ช่วยวิเคราะห์การกระจายภาระงานและผลการทำงานของทีม รวมถึงระบุการเบี่ยงเบนของกระบวนการที่เกี่ยวข้องกับบุคคลแต่ละคน. แหล่งข้อมูล ข้อมูลการสร้างเอกสารอยู่ในตาราง BKPF (USNAM) ส่วนงานชุดดูได้จาก TBTCO (SDLUNAME). ตัวอย่าง JSMITHRDOEFIN_ADMIN | |||
| รหัสบริษัท BUKRS | หน่วยงานที่เป็นนิติบุคคลและใช้จัดทำงบการเงิน. | ||
| คำอธิบาย รหัสบริษัทเป็นหน่วยงานพื้นฐานใน SAP Financials ซึ่งแทนบริษัทอิสระที่มีบัญชีของตนเองและมียอดเดบิตกับเครดิตสมดุล ธุรกรรมทางการเงินทั้งหมดจะลงรายการในระดับรหัสบริษัท ใน process mining การกรองตามรหัสบริษัทจำเป็นต่อการเปรียบเทียบกระบวนการปิดรอบบัญชีระหว่างนิติบุคคลต่างๆ ในกลุ่มบริษัท ช่วยค้นหาแนวปฏิบัติที่ดีจากหน่วยงานที่ทำผลงานได้ดี และระบุหน่วยงานที่มีความล่าช้า รายการปรับปรุงจำนวนมาก หรือกระบวนการเบี่ยงเบนจากแนวทางที่กำหนด รหัสบริษัทจึงเป็นมิติสำคัญในการแบ่งกลุ่มข้อมูลเพื่อวิเคราะห์. เหตุผลที่สำคัญ ช่วยเปรียบเทียบผลการปิดรอบบัญชีและการปฏิบัติตามข้อกำหนดระหว่างนิติบุคคลต่างๆ ซึ่งจำเป็นต่อการวิเคราะห์การเงินในระดับกลุ่มบริษัท. แหล่งข้อมูล ฟิลด์นี้มีอยู่ในตารางเอกสารการเงินของ SAP เกือบทั้งหมด โดยเฉพาะ BKPF (ส่วนหัว) และ BSEG (รายการบรรทัด). ตัวอย่าง 10002000US01DE01 | |||
| เลขที่เอกสาร BELNR | รหัสเฉพาะของเอกสารบัญชีภายในปีบัญชีและรหัสบริษัท. | ||
| คำอธิบาย เลขที่เอกสารบัญชีเป็นคีย์หลักของรายการทางการเงินใน SAP รายการบัญชี ใบแจ้งหนี้ หรือเอกสารการชำระเงินแต่ละรายการจะมีเลขที่ไม่ซ้ำกัน โดยทั่วไปเลขที่เอกสารไม่ได้นำมาใช้วิเคราะห์กระบวนการในภาพรวม แต่มีประโยชน์มากเมื่อต้องการเจาะดูรายละเอียด นักวิเคราะห์สามารถใช้เลขที่เอกสารจากแดชบอร์ด process mining เพื่อเปิดธุรกรรมที่เกี่ยวข้องใน SAP ได้โดยตรง และตรวจสอบความผิดปกติ เช่น รายการปรับปรุงมูลค่าสูงหรือรายการกระทบยอดที่ล่าช้า จึงเชื่อมโยงข้อมูลเชิงลึกกับธุรกรรมต้นทางได้โดยตรง. เหตุผลที่สำคัญ เชื่อมโยงไปยังธุรกรรมต้นทางใน SAP ได้โดยตรง ช่วยให้ตรวจสอบรายละเอียดจากมุมมองกระบวนการไปยังรายการบัญชีที่ระบุได้. แหล่งข้อมูล อยู่ในตาราง BKPF (BELNR) ซึ่งเป็นคีย์หลัก. ตัวอย่าง 100000456719000001233000008901 | |||
| เกินกำหนด IsOverdue | ตัวบ่งชี้ที่คำนวณขึ้นเพื่อระบุว่ากิจกรรมเสร็จหลังวันที่เป้าหมายที่วางแผนไว้หรือไม่. | ||
| คำอธิบาย แอตทริบิวต์แบบค่าจริง/เท็จนี้เปรียบเทียบเวลาที่กิจกรรมเสร็จจริง (EventTime) กับกำหนดเวลาที่วางแผนไว้ (TargetCompletionDate) หากเวลาเกิดเหตุการณ์ช้ากว่าวันที่เป้าหมาย ระบบจะกำหนดค่าเป็นจริง แอตทริบิวต์นี้ใช้กับแดชบอร์ดการปฏิบัติตามข้อกำหนดการปิดงวดและงานเกินกำหนด รวมถึง KPI อัตราการปิดงวดตรงเวลา โดยแสดงให้เห็นทันทีเมื่องานไม่เป็นไปตามกำหนด ผู้จัดการจึงระบุงานล่าช้า เข้าใจผลกระทบต่อกำหนดการโดยรวม และติดตามให้ทีมทำงานตามกำหนดได้. เหตุผลที่สำคัญ แสดงให้เห็นชัดเจนเมื่อไม่เป็นไปตามกำหนดการ ช่วยให้ระบุงานล่าช้าและวัดผลการทำงานตรงเวลาได้อย่างรวดเร็ว. แหล่งข้อมูล แอตทริบิวต์นี้คำนวณในเครื่องมือ process mining โดยเปรียบเทียบ EventTime กับ TargetCompletionDate. ตัวอย่าง truefalse | |||
| คู่ค้าทางการค้า VBUND | รหัสบริษัทในเครือที่เกี่ยวข้องกับธุรกรรมระหว่างบริษัท. | ||
| คำอธิบาย ใช้ Trading Partner ID เพื่อระบุรหัสบริษัทอีกแห่งที่เข้าร่วมธุรกรรมระหว่างบริษัท ข้อมูลนี้จำเป็นต่อการกระทบยอดบัญชีระหว่างนิติบุคคลที่เกี่ยวข้องกัน แอตทริบิวต์นี้รองรับแดชบอร์ด 'ขั้นตอนการกระทบยอดระหว่างบริษัท' และ KPI 'ระยะเวลาการกระทบยอดระหว่างบริษัท' โดยกรองธุรกรรมที่มีคู่ค้าทางการค้า การวิเคราะห์จึงมุ่งดูประสิทธิภาพและความตรงเวลาของกระบวนการกระทบยอดระหว่างบริษัท ซึ่งมักเป็นปัญหาสำคัญในช่วงปิดรอบบัญชี. เหตุผลที่สำคัญ ระบุธุรกรรมระหว่างบริษัทโดยเฉพาะ ช่วยวิเคราะห์กระบวนการกระทบยอดระหว่างบริษัทที่มักซับซ้อนและใช้เวลานานได้ตรงจุด. แหล่งข้อมูล อยู่ในตารางรายการบรรทัดของเอกสาร BSEG (VBUND). ตัวอย่าง 1000US013000 | |||
| ปีบัญชี GJAHR | ปีบัญชีที่มีการบันทึกธุรกรรม. | ||
| คำอธิบาย ปีบัญชีเป็นองค์ประกอบพื้นฐานสำหรับจัดหมวดหมู่ข้อมูลทางการเงิน และเป็นส่วนสำคัญของ Case ID สำหรับงวดบัญชี ทั้งยังช่วยให้เข้าใจบริบทของธุรกรรมแต่ละรายการ แม้มักรวมปีบัญชีไว้ใน Case ID แต่การแยกเป็นแอตทริบิวต์ต่างหากจะช่วยวิเคราะห์แนวโน้มระยะยาวได้ คุณสามารถเปรียบเทียบระยะเวลาปิดงวด ปริมาณรายการปรับปรุง หรือ KPI ระหว่างปี เพื่อดูว่าประสิทธิภาพดีขึ้นหรือแย่ลงในช่วงหลายปีที่ผ่านมา. เหตุผลที่สำคัญ ช่วยระบุช่วงเวลาของข้อมูลและเปรียบเทียบประสิทธิภาพของกระบวนการปิดงวดระหว่างปีได้. แหล่งข้อมูล มีอยู่ในตารางส่วนหัวเอกสาร BKPF (GJAHR). ตัวอย่าง 202320242022 | |||
| เป็นงานแก้ไขซ้ำ IsRework | ตัวบ่งชี้ที่คำนวณขึ้นเพื่อระบุกิจกรรมที่เป็นการแก้ไขงานซ้ำ เช่น การกลับรายการหรือการกระทบยอดที่ถูกปฏิเสธ. | ||
| คำอธิบาย แอตทริบิวต์แบบค่าจริง/เท็จนี้ใช้ระบุเหตุการณ์หรือชุดเหตุการณ์ที่แสดงถึงการวนซ้ำหรือการแก้ไขในกระบวนการ เช่น กิจกรรม 'ตรวจทานการกระทบยอดแล้ว' ตามด้วย 'บันทึกรายการปรับปรุงบัญชีแล้ว' อีกครั้งในบัญชีเดียวกัน ซึ่งอาจจัดเป็นงานแก้ไขซ้ำ แอตทริบิวต์นี้จำเป็นต่อการวัดความสูญเปล่าในกระบวนการ และใช้กับแดชบอร์ดจำนวนครั้งที่ต้องแก้ไขการกระทบยอดซ้ำและ KPI อัตราการแก้ไขการกระทบยอดซ้ำ เมื่อแยกงานแก้ไขซ้ำออกมา ทีมจะตรวจสอบสาเหตุ วัดผลกระทบต่อระยะเวลาดำเนินงาน และติดตามผลของการปรับปรุงกระบวนการที่มุ่งทำงานให้ถูกต้องตั้งแต่ครั้งแรกได้. เหตุผลที่สำคัญ ช่วยวัดความไม่มีประสิทธิภาพของกระบวนการ โดยระบุกิจกรรมที่เป็นการแก้ไขหรือทำซ้ำ เพื่อให้วัดและลดความพยายามที่สูญเปล่าได้. แหล่งข้อมูล แอตทริบิวต์นี้ได้จากการคำนวณในเครื่องมือ process mining โดยกำหนดเงื่อนไขจากลำดับกิจกรรม เช่น การวนซ้ำ หรือจากแอตทริบิวต์ เช่น ReversalReason ไม่เป็นค่าว่าง. ตัวอย่าง truefalse | |||
| เป็นระบบอัตโนมัติ IsAutomated | ตัวบ่งชี้ว่ากิจกรรมดำเนินการโดยผู้ใช้หรือระบบอัตโนมัติ. | ||
| คำอธิบาย แอตทริบิวต์แบบค่าจริง/เท็จนี้ใช้แยกงานที่ทำด้วยตนเองออกจากงานที่ระบบดำเนินการโดยอัตโนมัติ เช่น งานประมวลผลแบบกลุ่มตามกำหนดเวลาสำหรับประเมินมูลค่าเงินตราต่างประเทศ หรือบอตที่บันทึกรายการประจำ โดยมักพิจารณาจากชื่อผู้ใช้ที่เชื่อมโยงกับธุรกรรม เช่น 'BATCHUSER' การทราบระดับการทำงานอัตโนมัติช่วยให้เห็นโอกาสเพิ่มประสิทธิภาพ เมื่อวิเคราะห์แอตทริบิวต์นี้ คุณจะเห็นว่าส่วนใดของกระบวนการยังทำด้วยตนเองและอาจนำระบบอัตโนมัติมาใช้ได้ อีกทั้งยังช่วยประเมินภาระงานของบุคลากรได้แม่นยำขึ้น โดยไม่นับกิจกรรมที่ระบบสร้างขึ้น. เหตุผลที่สำคัญ ใช้แยกกิจกรรมที่ทำด้วยตนเองออกจากกิจกรรมที่ระบบดำเนินการ ซึ่งจำเป็นต่อการหาโอกาสใช้ระบบอัตโนมัติและวัดภาระงานที่บุคลากรทำได้อย่างแม่นยำ. แหล่งข้อมูล แอตทริบิวต์นี้ได้จากการคำนวณ โดยทั่วไปใช้ User Name (USNAM) เป็นเกณฑ์ หากชื่อผู้ใช้ตรงกับรายการรหัสผู้ใช้ระบบหรือผู้ใช้ประมวลผลแบบกลุ่มที่ทราบอยู่แล้ว ก็จะถือว่าเป็นงานอัตโนมัติ. ตัวอย่าง truefalse | |||
| แผนก Department | แผนกตามหน้าที่หรือศูนย์ต้นทุนที่รับผิดชอบกิจกรรมหรือธุรกรรม. | ||
| คำอธิบาย แอตทริบิวต์นี้ระบุแผนกที่เกี่ยวข้องกับธุรกรรม เช่น 'การเงิน' 'ฝ่ายขาย' หรือ 'โลจิสติกส์' โดยมักอนุมานจากข้อมูลหลักของศูนย์ต้นทุนที่เชื่อมโยงกับรายการบันทึก หรือจากข้อมูลหลักของผู้ใช้ การวิเคราะห์ตามแผนกช่วยให้แดชบอร์ด 'การกระจายภาระงานของทีมปิดบัญชี' แสดงให้เห็นว่าแต่ละฝ่ายมีส่วนกับภาระงานช่วงสิ้นรอบบัญชีอย่างไร โดยเฉพาะธุรกรรมที่เริ่มจากฝ่ายต่างๆ และอาจต้องปรับปรุงหรือกระทบยอดในภายหลัง นอกจากนี้ยังช่วยระบุฝ่ายนอกทีมการเงินที่ส่งผลต่อกระบวนการปิดบัญชี. เหตุผลที่สำคัญ ช่วยวิเคราะห์ภาระงานและการปฏิบัติตามกระบวนการของแต่ละฝ่าย พร้อมแสดงให้เห็นว่าแผนกต่างๆ ส่งผลต่อประสิทธิภาพการปิดบัญชีอย่างไร. แหล่งข้อมูล มักอนุมานจากศูนย์ต้นทุน (KOSTL) ใน BSEG หรือจากข้อมูลหลักด้านทรัพยากรบุคคลของผู้ใช้ที่รับผิดชอบ ซึ่งอาจต้องเชื่อมข้อมูลจากหลายตาราง. ตัวอย่าง การเงินองค์กรเจ้าหนี้การค้าFP&A | |||
| วันที่เป้าหมายที่ต้องดำเนินการให้เสร็จ TargetCompletionDate | กำหนดเวลาหรือวันครบกำหนดที่วางแผนไว้สำหรับกิจกรรมหรือการปิดงวดทั้งหมด. | ||
| คำอธิบาย วันที่เป้าหมายที่ต้องดำเนินการให้เสร็จใช้เป็นกำหนดการอ้างอิงสำหรับวัดผลกระบวนการปิดงวด โดยเป็นวันครบกำหนดที่ต้องทำเป้าหมายสำคัญหรือการปิดงวดขั้นสุดท้ายให้เสร็จ ข้อมูลนี้จำเป็นต่อการวิเคราะห์ประสิทธิภาพและการปฏิบัติตามข้อกำหนด ใช้คำนวณ KPI อัตราการปิดงวดตรงเวลา และแสดงผลบนแดชบอร์ดการปฏิบัติตามข้อกำหนดการปิดงวดและงานเกินกำหนด เมื่อนำเวลาที่เกิดเหตุการณ์จริงมาเทียบกับวันที่เป้าหมาย ระบบจะระบุได้ว่างานเป็นไปตามกำหนด ล่าช้า หรือมีแนวโน้มล่าช้า ช่วยให้คุณจัดการกระบวนการปิดงวดได้ล่วงหน้า. เหตุผลที่สำคัญ ใช้ติดตามการปฏิบัติตามข้อกำหนดและประสิทธิภาพ โดยเป็นเกณฑ์อ้างอิงสำหรับตรวจสอบว่ากิจกรรมปิดงวดเสร็จตรงเวลาหรือไม่ และช่วยติดตาม KPI การส่งมอบตรงเวลา. แหล่งข้อมูล โดยทั่วไปข้อมูลนี้เป็นข้อมูลหลักที่ดูแลแยกไว้ในปฏิทิน เครื่องมือ closing cockpit เช่น SAP Financial Closing cockpit หรือสเปรดชีต ไม่ได้อยู่ในข้อมูลธุรกรรม. ตัวอย่าง 2023-12-29T23:59:59Z2024-01-03T17:00:00Z2024-01-02T12:00:00Z | |||
| สถานะการกระทบยอด ReconciliationStatus | สถานะปัจจุบันของการกระทบยอดบัญชี เช่น 'เปิดอยู่' 'อยู่ระหว่างตรวจสอบ' หรือ 'อนุมัติแล้ว'. | ||
| คำอธิบาย แอตทริบิวต์นี้ติดตามสถานะของการกระทบยอดบัญชีระหว่างดำเนินการตามเวิร์กโฟลว์ โดยระบุว่าการกระทบยอดเริ่มแล้ว ส่งให้ตรวจสอบ อนุมัติ หรือถูกปฏิเสธ แอตทริบิวต์นี้สำคัญต่อการติดตามความคืบหน้าของกิจกรรมกระทบยอดแบบเรียลไทม์ ช่วยระบุว่ารายการใดค้างอยู่และค้างมานานเท่าใด เพื่อใช้ติดตาม KPI เช่น 'ระยะเวลาการกระทบยอดบัญชี' อีกทั้งยังช่วยให้เห็นขั้นตอนการอนุมัติ และเป็นข้อมูลสำคัญสำหรับแดชบอร์ดที่ติดตามคอขวดในการกระทบยอดและภาระงานของทีม. เหตุผลที่สำคัญ ช่วยให้เห็นเวิร์กโฟลว์การกระทบยอด ติดตามความคืบหน้า ระบุคอขวด และวัดเวลาที่ใช้ตรวจสอบกับอนุมัติได้. แหล่งข้อมูล ข้อมูลนี้มักอยู่ในเครื่องมือกระทบยอดแยกต่างหาก เช่น SAP Account Substantiation and Automation by BlackLine หรือฟิลด์สถานะที่กำหนดขึ้นเอง โดยทั่วไปไม่มีฟิลด์มาตรฐานนี้ใน BKPF/BSEG. ตัวอย่าง ยังไม่เริ่มกำลังดำเนินการอนุมัติแล้วไม่อนุมัติ | |||
| เหตุผลในการกลับรายการ ReversalReason | รหัสที่ระบุสาเหตุของการกลับรายการเอกสารการเงิน. | ||
| คำอธิบาย เมื่อกลับรายการเอกสารใน SAP คุณสามารถกำหนดรหัสเหตุผลเพื่ออธิบายสาเหตุได้ เช่น 'กลับรายการในรอบบัญชีปัจจุบัน' หรือ 'บันทึกรายการไม่ถูกต้อง' แอตทริบิวต์นี้ให้ข้อมูลสำคัญเกี่ยวกับสาเหตุที่ต้องแก้ไขงานซ้ำ การวิเคราะห์เหตุผลในการกลับรายการช่วยค้นหารูปแบบข้อผิดพลาด เช่น การป้อนข้อมูลไม่ถูกต้องหรือระบุวันที่ผิด คุณนำข้อมูลนี้ไปใช้กำหนดมาตรการป้องกัน ปรับปรุงการฝึกอบรม หรือเพิ่มการควบคุมในระบบ เพื่อลดข้อผิดพลาดและการกลับรายการที่ตามมา ทำให้ปิดบัญชีได้มีประสิทธิภาพขึ้น. เหตุผลที่สำคัญ ช่วยให้เห็นสาเหตุหลักของข้อผิดพลาดและการแก้ไขงานซ้ำโดยตรง พร้อมระบุโอกาสในการปรับปรุงกระบวนการและป้องกันข้อผิดพลาด. แหล่งข้อมูล อยู่ในตารางส่วนหัวของเอกสาร BKPF (STGRD). ตัวอย่าง 010205 | |||
กิจกรรมการปิดงวดและการกระทบยอดสำหรับกระบวนการบันทึกบัญชีจนถึงการรายงาน
| กิจกรรม | คำอธิบาย | ||
|---|---|---|---|
| จัดทำงบการเงินแล้ว | หมายถึงเวลาที่จัดทำงบการเงินอย่างเป็นทางการ เช่น งบกำไรขาดทุนและงบดุล โดยทั่วไปจะบันทึกกิจกรรมนี้จากการติดตามการเรียกใช้โปรแกรมรายงานที่ระบุ. | ||
| เหตุผลที่สำคัญ นี่คือหมุดหมายสำคัญที่แสดงว่าการประมวลผลข้อมูลสิ้นสุดลงและเริ่มขั้นตอนตรวจสอบและอนุมัติขั้นสุดท้าย ระยะเวลาตั้งแต่เหตุการณ์นี้จนถึงการอนุมัติเป็น KPI สำคัญ. แหล่งข้อมูล อนุมานจากบันทึกการตรวจสอบระบบ เช่น STAD ซึ่งบันทึกการเรียกใช้โปรแกรมจัดทำงบการเงิน โดยส่วนใหญ่คือธุรกรรม F.01. บันทึก ดึงจากบันทึกระบบ (STAD) ที่ติดตามการเรียกใช้ธุรกรรมจัดทำงบการเงิน F.01. ประเภทเหตุการณ์ inferred | |||
| ปิดรอบบัญชีสำหรับการลงรายการ | หมายถึงการปิดรอบการลงรายการอย่างเป็นทางการ เพื่อป้องกันไม่ให้ลงรายการบัญชีจากการปฏิบัติงานเพิ่มเติม ช่วยรักษาความถูกต้องของข้อมูลการเงินในรอบบัญชีที่ปิดแล้ว และเป็นการเปลี่ยนการตั้งค่าอย่างชัดเจน. | ||
| เหตุผลที่สำคัญ นี่คือเหตุการณ์สิ้นสุดที่ชัดเจนของกระบวนการปิดรอบบัญชี ซึ่งจำเป็นต่อการคำนวณระยะเวลารวมของวงจรปิดบัญชีและวัดผลการปิดบัญชีตรงเวลา. แหล่งข้อมูล ระบบบันทึกการปิดรอบบัญชีผ่านธุรกรรม OB52 คุณตรวจสอบการเปลี่ยนแปลงได้จากเอกสารการเปลี่ยนแปลง (ตาราง CDHDR และ CDPOS) ของตารางการตั้งค่า T001B. บันทึก ดึงข้อมูลจากเอกสารการเปลี่ยนแปลง (CDHDR/CDPOS) ของตาราง T001B. ประเภทเหตุการณ์ explicit | |||
| เปิดงวดให้บันทึกรายการได้ | เป็นการเปิดรอบบัญชีอย่างเป็นทางการ เพื่อให้ลงรายการในบัญชีแยกประเภททั่วไปได้ ผู้ใช้ที่ได้รับอนุญาตจะเปลี่ยนการตั้งค่าเพื่อเปิดรอบบัญชีที่ระบุให้ลงรายการในรหัสบริษัทอย่างน้อยหนึ่งรหัส. | ||
| เหตุผลที่สำคัญ กิจกรรมนี้เป็นเหตุการณ์เริ่มต้นที่ชัดเจนของกรณีในกระบวนการปิดรอบบัญชี การวิเคราะห์เวลาตั้งแต่จุดนี้ช่วยให้เห็นวงจรทั้งหมดของรอบบัญชี. แหล่งข้อมูล ระบบบันทึกการเปลี่ยนแปลงรอบการลงรายการผ่านธุรกรรม OB52 คุณดึงข้อมูลการเปลี่ยนแปลงเหล่านี้ได้จากเอกสารการเปลี่ยนแปลงของตารางการตั้งค่า T001B โดยทั่วไปใช้ตาราง CDHDR และ CDPOS. บันทึก ดึงข้อมูลจากเอกสารการเปลี่ยนแปลง (CDHDR/CDPOS) ของตาราง T001B. ประเภทเหตุการณ์ explicit | |||
| เริ่มกระทบยอดบัญชี | หมายถึงการเริ่มกระบวนการกระทบยอดบัญชี GL ชุดหนึ่งสำหรับรอบบัญชี ใน SAP ECC มาตรฐานไม่มีเหตุการณ์นี้แยกเป็นรายการเฉพาะ จึงมักอนุมานจากกิจกรรมที่เกี่ยวข้อง เช่น การเรียกใช้รายงานสำคัญเป็นครั้งแรก. | ||
| เหตุผลที่สำคัญ กิจกรรมนี้เป็นหมุดหมายสำคัญสำหรับวัดระยะเวลาของขั้นตอนการกระทบยอดทั้งหมด การทราบว่าเริ่มกระทบยอดเมื่อใดจำเป็นต่อ KPI ระยะเวลาการกระทบยอดบัญชี. แหล่งข้อมูล ระบบไม่ได้บันทึกเหตุการณ์นี้ไว้อย่างชัดเจน จึงต้องอนุมานจากแหล่งข้อมูลอื่น เช่น บันทึกการตรวจสอบระบบ (ธุรกรรม STAD) ที่แสดงการเรียกใช้รายงานยอดคงเหลือครั้งแรก เช่น FAGLB03 หรือ FS10N. บันทึก อนุมานจากการเรียกใช้ธุรกรรมรายงานที่เกี่ยวข้องครั้งแรก (เช่น FAGLB03) ในบันทึกระบบ. ประเภทเหตุการณ์ inferred | |||
| เรียกใช้โปรแกรมประเมินมูลค่าเงินตราต่างประเทศ | หมายถึงการเรียกใช้โปรแกรมเพื่อประเมินมูลค่าใหม่ของรายการค้างและยอดคงเหลือที่บันทึกเป็นเงินตราต่างประเทศ โดยใช้อัตราแลกเปลี่ยน ณ วันสิ้นรอบบัญชี โดยทั่วไปจะเรียกใช้เป็นงานชุดในขั้นตอนปิดบัญชีสิ้นรอบ. | ||
| เหตุผลที่สำคัญ ขั้นตอนนี้สำคัญต่อการจัดทำรายงานทางการเงินให้ถูกต้องในองค์กรข้ามชาติ การวิเคราะห์เวลาและระยะเวลาที่ใช้ช่วยให้พบโอกาสในการทำงานอัตโนมัติและเพิ่มประสิทธิภาพ. แหล่งข้อมูล บันทึกข้อมูลจากล็อกการเรียกใช้โปรแกรมประเมินมูลค่าเงินตราต่างประเทศ เช่น FAGL_FCV หรือ F.05 รายละเอียดงานชุดจากตารางอย่าง TBTCO และ TBTCP ใช้ระบุเวลาเริ่มและสิ้นสุดการทำงาน. บันทึก ดึงจากล็อกงานชุด (ตาราง TBTCO) ของโปรแกรม FAGL_FC_VALUATION หรือ SAPF100. ประเภทเหตุการณ์ explicit | |||
| ลงรายการปรับปรุงบัญชีแล้ว | มีการลงรายการปรับปรุงบัญชีเพื่อแก้ไขยอดคงเหลือหลังจากประมวลผลธุรกรรมเบื้องต้นของรอบบัญชีเสร็จแล้ว SAP บันทึกเหตุการณ์นี้เป็นเอกสารทางการเงินมาตรฐาน. | ||
| เหตุผลที่สำคัญ ข้อมูลนี้จำเป็นต่อการวิเคราะห์ปริมาณรายการปรับปรุง หากมีรายการปรับปรุงจำนวนมาก อาจบ่งชี้ว่ากระบวนการต้นทางมีความถูกต้องไม่เพียงพอ และเป็นประเด็นสำคัญที่ควรนำไปปรับปรุงกระบวนการ. แหล่งข้อมูล พบข้อมูลในตาราง BKPF และ BSEG โดยทั่วไปจะระบุรายการเหล่านี้จากประเภทเอกสารเฉพาะ (BKPF-BLART) ที่กำหนดไว้สำหรับรายการปรับปรุง หรือจากการลงรายการในรอบบัญชีปิดพิเศษ เช่น รอบที่ 13 ถึง 16. บันทึก กรอง BKPF เพื่อหาเอกสารที่ลงรายการในรอบบัญชีพิเศษหรือใช้ประเภทเอกสารสำหรับรายการปรับปรุง. ประเภทเหตุการณ์ explicit | |||
| เคลียร์เอกสารระหว่างบริษัทแล้ว | กิจกรรมนี้บันทึกการเคลียร์รายการค้างระหว่างรหัสบริษัทสองแห่ง แสดงว่าธุรกรรมระหว่างบริษัทได้รับการชำระหรือกระทบยอดแล้ว โดย SAP บันทึกเป็นรายการทางการเงินอย่างชัดเจน ซึ่งโดยทั่วไปคือเอกสารเคลียร์. | ||
| เหตุผลที่สำคัญ การเคลียร์รายการระหว่างบริษัทล่าช้าเป็นคอขวดที่พบได้บ่อยในกระบวนการปิดบัญชี การติดตามกิจกรรมนี้จึงสำคัญต่อการวัดและปรับปรุงระยะเวลาการกระทบยอดระหว่างบริษัท. แหล่งข้อมูล ระบุได้จากเอกสารการเงินใน BKPF และ BSEG เอกสารเคลียร์จะเชื่อมโยงและปิดรายการค้าง โดยใช้วันที่เคลียร์ (BSEG-AUGDT) เป็นเวลาของเหตุการณ์ ระบุธุรกรรมระหว่างบริษัทได้จากฟิลด์คู่ค้าทางการค้า. บันทึก ระบุเอกสารเคลียร์ใน BKPF/BSEG ที่มีรายการซึ่งเกี่ยวข้องกับคู่ค้าทางการค้า. ประเภทเหตุการณ์ explicit | |||
| ตรวจสอบการกระทบยอดแล้ว | หมายถึงการตรวจสอบและยืนยันการกระทบยอดบัญชีหนึ่งบัญชีหรือกลุ่มบัญชี ใน SAP ECC มาตรฐานไม่มีการบันทึกเหตุการณ์นี้ไว้อย่างชัดเจน และมักจัดการผ่านการควบคุมนอกระบบหรือโซลูชันที่พัฒนาขึ้นเอง. | ||
| เหตุผลที่สำคัญ การติดตามเวลาที่ใช้ตรวจสอบช่วยให้เข้าใจคอขวดในขั้นตอนควบคุมและกำกับดูแลของกระบวนการปิดบัญชี และอาจชี้ให้เห็นความล่าช้าจากผู้บริหารไม่พร้อมหรือการต้องแก้ไขงานซ้ำ. แหล่งข้อมูล ไม่มีข้อมูลนี้ในตารางมาตรฐานของ ECC ต้องใช้โซลูชันที่พัฒนาขึ้นเอง เช่น ฟิลด์สถานะในตาราง Z ที่กำหนดเอง เวิร์กโฟลว์อย่างง่าย หรือการเชื่อมต่อกับเครื่องมือกระทบยอดจากผู้ให้บริการภายนอก. บันทึก บันทึกการเปลี่ยนสถานะจากเวิร์กโฟลว์หรือตาราง Z ที่พัฒนาขึ้นเอง หากมีการใช้งาน. ประเภทเหตุการณ์ inferred | |||
| เรียกใช้การเคลียร์ GR/IR แล้ว | เป็นการเรียกใช้โปรแกรมเคลียร์อัตโนมัติสำหรับบัญชีรับสินค้า/รับใบแจ้งหนี้ โปรแกรมจะจับคู่รายการรับสินค้ากับรายการรับใบแจ้งหนี้ที่เกี่ยวข้อง แล้วเคลียร์รายการเหล่านั้นออกจากกัน. | ||
| เหตุผลที่สำคัญ บัญชี GR/IR มักเป็นต้นเหตุของปัญหาในการกระทบยอด การติดตามกิจกรรมนี้ช่วยตรวจสอบว่าขั้นตอนอัตโนมัติทำงานถูกต้อง และช่วยวัดจำนวนรายการยกเว้นที่ต้องติดตามด้วยตนเอง. แหล่งข้อมูล บันทึกการเรียกใช้ไว้ในล็อกงานชุด (ธุรกรรม SM37) โดยทั่วไปใช้โปรแกรม SAPF124 ซึ่งเรียกใช้ผ่านธุรกรรม F.13 ตารางล็อกงานอย่าง TBTCO มีข้อมูลเวลาที่จำเป็น. บันทึก ดึงจากล็อกงานชุด (ตาราง TBTCO) ของโปรแกรมเคลียร์ SAPF124. ประเภทเหตุการณ์ explicit | |||
| ลงรายการกลับบัญชีแล้ว | กิจกรรมนี้บันทึกการลงรายการเอกสารที่กลับรายการบัญชีที่บันทึกไว้ก่อนหน้า ซึ่งมักทำเพื่อแก้ไขข้อผิดพลาด SAP จะเชื่อมโยงเอกสารกลับรายการกับเอกสารต้นฉบับไว้อย่างชัดเจน. | ||
| เหตุผลที่สำคัญ หากมีรายการกลับบัญชีจำนวนมาก อาจสะท้อนปัญหาความถูกต้องในการป้อนข้อมูลหรือการควบคุมกระบวนการ การติดตามเหตุการณ์เหล่านี้ช่วยวัดอัตราการทำงานถูกต้องตั้งแต่ครั้งแรกและระบุจุดที่ควรปรับปรุง. แหล่งข้อมูล พบเอกสารกลับรายการในตาราง BKPF โดยมักสร้างผ่านธุรกรรม FB08 และมีเลขที่เอกสารที่ถูกกลับรายการอ้างอิงอยู่ในฟิลด์ BKPF-STBLG. บันทึก ระบุเอกสารที่มีค่าใน BKPF-STBLG หรือสร้างผ่านรหัสธุรกรรมสำหรับกลับรายการ. ประเภทเหตุการณ์ explicit | |||
| ลงรายการค้างรับหรือประมาณการหนี้สิน | หมายถึงการบันทึกรายการบัญชีสำหรับรายการค้างรับ รายการรอตัดบัญชี หรือประมาณการหนี้สิน ซึ่งมักลงรายการในช่วงปลายรอบบัญชี SAP ไม่มีประเภทเหตุการณ์เฉพาะสำหรับรายการเหล่านี้ จึงต้องอนุมานจากลักษณะของรายการบัญชี. | ||
| เหตุผลที่สำคัญ การแยกรายการเหล่านี้ช่วยวิเคราะห์กระบวนการย่อยในการจัดการประมาณการ หากมีรายการค้างรับจำนวนมากหรือมีการปรับปรุงบ่อย อาจเป็นสัญญาณว่าควรปรับปรุงกระบวนการ. แหล่งข้อมูล อนุมานจากตารางเอกสารการเงิน BKPF และ BSEG โดยกรองตามประเภทเอกสารที่ระบุ (BKPF-BLART) บัญชี GL เฉพาะ (BSEG-HKONT) หรือคำสำคัญในข้อความส่วนหัว (BKPF-BKTXT). บันทึก กรองตาราง BKPF/BSEG ตามประเภทเอกสาร บัญชี GL ที่ระบุ หรือช่องข้อความ. ประเภทเหตุการณ์ inferred | |||
| สร้างรายงานงบทดลองแล้ว | บันทึกการเรียกใช้รายงานเพื่อสร้างงบทดลอง ขั้นตอนนี้ใช้ตรวจสอบว่ายอดเดบิตรวมเท่ากับยอดเครดิตรวมก่อนจัดทำงบการเงินอย่างเป็นทางการ. | ||
| เหตุผลที่สำคัญ นี่คือจุดตรวจสอบคุณภาพสำคัญก่อนจัดทำรายงานฉบับสุดท้าย หากเรียกใช้รายงานนี้ซ้ำหลายครั้ง อาจหมายถึงพบและแก้ไขปัญหาข้อมูลต้นทาง ซึ่งอาจทำให้เกิดความล่าช้า. แหล่งข้อมูล อนุมานจากบันทึกการตรวจสอบระบบ เช่น ธุรกรรม STAD ซึ่งอาจบันทึกการเรียกใช้ธุรกรรมรายงานงบทดลอง เช่น S_ALR_87012277 หรือ F.01. บันทึก ดึงจากบันทึกระบบ (STAD) ที่ติดตามการเรียกใช้รหัสธุรกรรมสำหรับรายงาน. ประเภทเหตุการณ์ inferred | |||
คู่มือการดึงข้อมูล
ขั้นตอน
- เข้าใช้เครื่องมือ SAP Query: เข้าสู่ระบบ SAP ECC ไปที่รหัสธุรกรรม
SQVI(QuickViewer) 2. สร้าง Query ใหม่: ตั้งชื่อ Query เช่นZ_R2R_PERIOD_CLOSEแล้วคลิก 'Create' ในหน้าต่างป๊อปอัป ให้ใส่ชื่อที่สื่อความหมาย เช่น 'Record to Report Period Close Extraction' จากนั้นเลือก 'Table join' เป็น 'Data source' 3. กำหนดการเชื่อมตาราง: เพิ่มตารางหลักBKPF(ส่วนหัวเอกสารทางบัญชี) แล้วเพิ่มตารางBSEG(รายการเอกสารทางบัญชี) SAP จะแนะนำเงื่อนไขการเชื่อมตารางโดยอัตโนมัติ (MANDT, BUKRS, BELNR, GJAHR) ให้ตรวจสอบและยืนยัน สำหรับกิจกรรมเปิดและปิดงวด ให้สร้าง Query แยกอีกชุดโดยเชื่อมCDHDRกับCDPOS4. เลือกฟิลด์ผลลัพธ์ (List Fields): ไปที่แท็บ 'List fld. select.' แล้วเลือกฟิลด์ที่ต้องใช้ในบันทึกเหตุการณ์จากตารางที่มี เช่นBKPF-BUKRS,BKPF-BELNR,BKPF-GJAHR,BKPF-MONAT,BKPF-CPUDT,BKPF-CPUTM,BKPF-USNAM,BKPF-BLART,BSEG-HKONT,BSEG-DMBTRและฟิลด์อื่นตามต้องการ 5. กำหนดพารามิเตอร์นำเข้า (Selection Fields): ไปที่แท็บ 'Selection fields' แล้วเลือกฟิลด์ที่ใช้กรองข้อมูลเมื่อเรียกใช้ ฟิลด์สำคัญที่สุดคือBKPF-BUKRS(รหัสบริษัท) และBKPF-GJAHR(ปีบัญชี) คุณอาจเพิ่มBKPF-MONAT(งวดบันทึกบัญชี) และBKPF-BLART(ประเภทเอกสาร) ได้ 6. สร้าง Variant สำหรับแต่ละกิจกรรม: เนื่องจาก SQVI ไม่สามารถรวมชุดข้อมูลที่เลือกต่างกันได้ (เช่น SQL UNION) คุณจึงต้องเรียกใช้ Query หลายครั้ง สำหรับแต่ละกิจกรรม เช่น 'บันทึกรายการค้างรับหรือประมาณการแล้ว' ให้เรียกใช้ Query และใส่ค่าตัวกรองเฉพาะในหน้าจอเลือกข้อมูล เช่น รายการประเภทเอกสารที่เกี่ยวข้องกับรายการค้างรับ บันทึกเงื่อนไขการเลือกชุดนี้เป็น Variant แล้วทำซ้ำสำหรับแต่ละกิจกรรมที่ดึงข้อมูลได้ 7. เรียกใช้และดึงข้อมูล: เรียกใช้ Query สำหรับแต่ละ Variant ที่สร้างไว้ ระบบจะใช้ตัวกรองเฉพาะของกิจกรรมนั้น 8. ส่งออกผลลัพธ์: ในหน้าผลลัพธ์ ให้ส่งออกข้อมูลเป็นไฟล์ในเครื่อง โดยทั่วไปเลือก 'Spreadsheet' แล้วส่งออกซ้ำสำหรับแต่ละ Variant 9. รวมและแปลงข้อมูล: เปิดไฟล์ที่ส่งออกด้วยโปรแกรมสเปรดชีตหรือเครื่องมือเขียนสคริปต์ รวมข้อมูลจากทุกไฟล์ด้วยตนเองเป็นไฟล์หลักไฟล์เดียว 10. เพิ่มคอลัมน์ค่าคงที่และค่าที่คำนวณ: เพิ่มคอลัมน์ที่ไม่ได้ดึงจากตาราง SAP โดยตรงลงในไฟล์ที่รวมแล้ว ได้แก่ActivityName(กำหนดเองตาม Variant ที่ใช้ดึงข้อมูล),FinancialPeriod(นำปีบัญชีกับงวดมาต่อกัน),EventTime(รวมฟิลด์วันที่และเวลา),SourceSystemและLastDataUpdate11. จัดรูปแบบเพื่ออัปโหลด: บันทึกไฟล์สุดท้ายเป็น CSV หรือ Excel โดยใช้ชื่อคอลัมน์ให้ตรงตามที่เครื่องมือ process mining กำหนด ตรวจสอบชนิดข้อมูลและรูปแบบก่อนอัปโหลด.
การกำหนดค่า
- แหล่งข้อมูล: เชื่อมตารางใน SAP Query (SQVI) โดยใช้ตารางหลัก BKPF, BSEG, CDHDR และ CDPOS. * ช่วงวันที่: แนะนำให้ดึงข้อมูลอย่างน้อย 3 ถึง 6 งวดบัญชีเต็ม เพื่อให้เห็นรูปแบบที่เกิดขึ้น กำหนดตัวกรองที่
BKPF-GJAHR(ปีบัญชี) และBKPF-MONAT(งวด). * ตัวกรองรหัสบริษัท: กรองด้วยBKPF-BUKRS(รหัสบริษัท) ทุกครั้ง เพื่อจำกัดปริมาณข้อมูลและวิเคราะห์เฉพาะนิติบุคคลที่ต้องการ ไม่แนะนำให้ดึงข้อมูลทุกรหัสบริษัทพร้อมกัน. * ตัวกรองประเภทเอกสาร: ใช้ตัวกรองBKPF-BLART(ประเภทเอกสาร) เพื่อแยกกิจกรรม เช่น รายการค้างรับ รายการปรับปรุง หรือการกลับรายการ คุณต้องตรวจสอบประเภทเอกสารที่เกี่ยวข้องกับองค์กรของคุณ. * ข้อกำหนดเบื้องต้น: ผู้ใช้ที่ดึงข้อมูลต้องได้รับสิทธิ์ใช้ธุรกรรมSQVIและมีสิทธิ์แสดงข้อมูลจากตารางการเงินที่เกี่ยวข้อง เช่น authorization object S_TABU_DIS. * ข้อควรพิจารณาด้านประสิทธิภาพ: การเชื่อม BKPF กับ BSEG ใช้ทรัพยากรมาก ควรดึงข้อมูลนอกช่วงเวลาที่มีการใช้งานสูง หลีกเลี่ยงการกำหนดช่วงวันที่กว้างมากหรือไม่กรองรหัสบริษัท เพราะอาจทำให้หน่วยความจำไม่เพียงพอหรือหมดเวลาการทำงาน.
ตัวอย่างคำค้น sql
/*
LOGICAL REPRESENTATION FOR SAP QUERY (SQVI)
This is not a single executable script. Due to limitations in SQVI, you must create a base query joining BKPF and BSEG, then run it multiple times using different selection screen variants to extract each activity below. The results must be combined manually.
A separate query joining CDHDR and CDPOS is needed for period open/close activities.
*/
-- Activity 1: Period Opened For Posting
-- Required Query: Join CDHDR and CDPOS in SQVI.
SELECT
CONCAT(T001B.VONJ1, T001B.POPER) AS FinancialPeriod,
'Period Opened For Posting' AS ActivityName,
TO_TIMESTAMP(CONCAT(CDHDR.UDATE, CDHDR.UTIME), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
T001B.BUKRS AS BUKRS,
NULL AS BELNR,
CDHDR.USERNAME AS USNAM,
NULL AS HKONT,
NULL AS BLART,
NULL AS DMBTR,
NULL AS JournalEntryType
FROM CDHDR
JOIN CDPOS ON CDHDR.CHANGENR = CDPOS.CHANGENR
JOIN T001B ON SUBSTRING(CDPOS.TABKEY, 4, 4) = T001B.BUKRS
WHERE CDHDR.OBJECTCLAS = 'DEBI_BUKRS' AND CDPOS.TABNAME = 'T001B' AND CDPOS.FNAME = 'OFPER' AND CDPOS.VALUE_NEW > CDPOS.VALUE_OLD;
UNION ALL
-- Activity 2: Accrual Or Provision Posted
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'Accrual Or Provision Posted' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.BELNR AS BELNR,
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Accrual' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BKPF.BLART IN ('SA', '[Your Accrual Doc Type]'); -- Filter by document types used for accruals
UNION ALL
-- Activity 3: Intercompany Document Cleared
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'Intercompany Document Cleared' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.AUGBL AS BELNR, -- The clearing document number
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Clearing' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BSEG.AUGBL IS NOT NULL AND BSEG.VBUND IS NOT NULL; -- Identify cleared items with an intercompany trading partner
UNION ALL
-- Activity 4: Foreign Currency Valuation Run
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'Foreign Currency Valuation Run' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.BELNR AS BELNR,
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Valuation' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BKPF.TCODE IN ('FAGL_FCV', 'FBB1'); -- Filter by FCV transaction code
UNION ALL
-- Activity 5: GR/IR Clearing Run Executed
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'GR/IR Clearing Run Executed' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.BELNR AS BELNR,
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Clearing' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BKPF.TCODE IN ('F.13', 'F13E'); -- Filter by automated clearing transaction codes
UNION ALL
-- Activity 6: Account Reconciliation Started (Proxy)
-- This is a proxy. It takes the earliest adjusting journal entry timestamp for the period.
SELECT
A.FinancialPeriod,
'Account Reconciliation Started' AS ActivityName,
MIN(A.EventTime) AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
A.BUKRS,
NULL AS BELNR,
NULL AS USNAM,
NULL AS HKONT,
NULL AS BLART,
NULL AS DMBTR,
NULL AS JournalEntryType
FROM (
SELECT CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
BKPF.BUKRS
FROM BKPF
WHERE BKPF.BLART IN ('AB', '[Your Adjusting Doc Type]')
) AS A
GROUP BY A.FinancialPeriod, A.BUKRS;
UNION ALL
-- Activity 7: Adjusting Journal Entry Posted
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'Adjusting Journal Entry Posted' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.BELNR AS BELNR,
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Adjusting' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BKPF.BLART IN ('AB', '[Your Adjusting Doc Type]'); -- Filter by document types for adjustments
UNION ALL
-- Activity 8: Reversal Entry Posted
SELECT
CONCAT(BKPF.GJAHR, BKPF.MONAT) AS FinancialPeriod,
'Reversal Entry Posted' AS ActivityName,
TO_TIMESTAMP(CONCAT(BKPF.CPUDT, BKPF.CPUTM), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
BKPF.BUKRS AS BUKRS,
BKPF.BELNR AS BELNR,
BKPF.USNAM AS USNAM,
BSEG.HKONT AS HKONT,
BKPF.BLART AS BLART,
BSEG.DMBTR AS DMBTR,
'Reversal' AS JournalEntryType
FROM BKPF
JOIN BSEG ON BKPF.BUKRS = BSEG.BUKRS AND BKPF.BELNR = BSEG.BELNR AND BKPF.GJAHR = BSEG.GJAHR
WHERE BKPF.STBLG IS NOT NULL; -- STBLG (Reversed Document Number) is populated for reversals
UNION ALL
-- Activity 9: Period Closed For Posting
-- Required Query: Join CDHDR and CDPOS in SQVI.
SELECT
CONCAT(T001B.VONJ1, T001B.POPER) AS FinancialPeriod,
'Period Closed For Posting' AS ActivityName,
TO_TIMESTAMP(CONCAT(CDHDR.UDATE, CDHDR.UTIME), 'YYYYMMDDHH24MISS') AS EventTime,
'[SAP ECC SID]' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
T001B.BUKRS AS BUKRS,
NULL AS BELNR,
CDHDR.USERNAME AS USNAM,
NULL AS HKONT,
NULL AS BLART,
NULL AS DMBTR,
NULL AS JournalEntryType
FROM CDHDR
JOIN CDPOS ON CDHDR.CHANGENR = CDPOS.CHANGENR
JOIN T001B ON SUBSTRING(CDPOS.TABKEY, 4, 4) = T001B.BUKRS
WHERE CDHDR.OBJECTCLAS = 'DEBI_BUKRS' AND CDPOS.TABNAME = 'T001B' AND CDPOS.FNAME = 'OFPER' AND CDPOS.VALUE_NEW < CDPOS.VALUE_OLD;
/*
-- Activities Not Extractable via this Method
-- The following activities are not data postings and cannot be reliably extracted by querying finance tables BKPF/BSEG.
-- Extraction would require analyzing application logs (SLG1), system logs (STAT), or custom-built logging solutions.
-- Activity: Trial Balance Report Generated
-- Activity: Financial Statements Generated
-- Activity: Reconciliation Reviewed
*/ ขั้นตอน
- กำหนดขอบเขตและออกแบบโปรแกรม: ระบุเงื่อนไขเฉพาะสำหรับค้นหากิจกรรมที่จำเป็นทั้ง 12 รายการ ปรึกษาเจ้าของกระบวนการทางธุรกิจและนักวิเคราะห์ SAP เพื่อยืนยันประเภทเอกสาร บัญชีแยกประเภททั่วไป และชื่อโปรแกรมที่เกี่ยวข้องกับกิจกรรมปิดงวดในระบบ SAP ECC ของคุณ
- สร้างโปรแกรม ABAP: ใช้ธุรกรรม
SE38(ABAP Editor) สร้างโปรแกรมที่เรียกใช้ได้ เช่นZ_PM_R2R_EXTRACTIONใส่ชื่อที่สื่อความหมายและกำหนดประเภทโปรแกรมเป็น 'Executable Program' - กำหนดหน้าจอเลือกข้อมูล: ในโปรแกรม ให้สร้างหน้าจอเลือกข้อมูลด้วย
PARAMETERSและSELECT-OPTIONSเพื่อให้ผู้ใช้ระบุขอบเขตการดึงข้อมูล ได้แก่ รหัสบริษัท (BUKRS), ปีบัญชี (GJAHR) และงวดบันทึกบัญชี (MONAT) ขั้นตอนนี้สำคัญต่อการควบคุมปริมาณข้อมูล - ประกาศโครงสร้างข้อมูล: กำหนดโครงสร้างตารางภายในสำหรับเก็บข้อมูลบันทึกเหตุการณ์ขั้นสุดท้าย โดยต้องมีแอตทริบิวต์ที่จำเป็นและแนะนำทั้งหมด ได้แก่
FinancialPeriod,ActivityName,EventTime,SourceSystem,LastDataUpdate,BUKRS,BELNR,USNAM,HKONT,BLART,DMBTRและJournalEntryType - เขียนตรรกะดึงข้อมูล: เขียนตรรกะ ABAP หลักเพื่อเลือกข้อมูลสำหรับกิจกรรมทั้ง 12 รายการ สำหรับแต่ละกิจกรรม ให้ค้นหาตาราง SAP ที่เกี่ยวข้อง เช่น BKPF, BSEG, TBTCO และ CDHDR แล้วบันทึกลงในตารางภายในชั่วคราว ใช้ตรรกะจากส่วน Query ABAP ที่แนบมาเป็นต้นแบบ
- ระบุกิจกรรมที่อนุมานจากข้อมูล: สำหรับกิจกรรมที่ไม่มีบันทึกโดยตรงใน SAP มาตรฐาน เช่น 'เริ่มการกระทบยอดบัญชี' หรือ 'ตรวจทานการกระทบยอดแล้ว' ให้ใช้ตรรกะอนุมานที่ตกลงกันไว้ เช่น ตรวจสอบการเรียกใช้รายงานนั้นเป็นครั้งแรก หรือค้นหา 'Z-tables' ที่กำหนดเอง หากมี
- รวมข้อมูลเหตุการณ์: หลังดึงข้อมูลของแต่ละกิจกรรมแล้ว ให้นำระเบียนจากตารางภายในชั่วคราวมาต่อท้ายในตารางภายในรวม ตรวจสอบว่า
EventTimeดึงค่าจากฟิลด์ต้นทางที่ถูกต้อง เช่น วันที่และเวลาบันทึกเอกสาร หรือวันที่และเวลาเริ่มงาน - ปรับข้อมูลให้เป็นมาตรฐานและจัดรูปแบบ: ปรับฟิลด์สำคัญให้เป็นมาตรฐานก่อนส่งออก รวมปีบัญชีกับงวดเป็นรหัส
FinancialPeriodกำหนดค่าSourceSystemและLastDataUpdateแบบคงที่ และใช้รูปแบบการประทับเวลาให้สอดคล้องกัน - พัฒนาฟังก์ชันส่งออก: เพิ่มฟังก์ชันส่งออกตารางภายในขั้นสุดท้าย วิธีที่ใช้กันทั่วไปคือเขียนข้อมูลเป็นไฟล์ CSV หรือไฟล์คั่นด้วยแท็บบน SAP Application Server (โดยใช้
OPEN DATASET) หรือให้ผู้ใช้ดาวน์โหลดลงเครื่องโดยตรง (โดยใช้ function moduleGUI_DOWNLOAD) - ทดสอบและตรวจสอบความถูกต้อง: ทดสอบโปรแกรมอย่างละเอียดด้วยชุดข้อมูลตัวแทนที่ครอบคลุมหลายรหัสบริษัทและหลายงวด ใช้ขั้นตอนตรวจสอบเพื่อยืนยันความถูกต้องและความครบถ้วนของข้อมูล ปรับตรรกะการเลือกข้อมูลตามข้อเสนอแนะจากผู้เชี่ยวชาญด้านฟังก์ชัน
- ตั้งเวลาการทำงาน (ไม่บังคับ): เมื่อตรวจสอบความถูกต้องแล้ว คุณสามารถตั้งเวลาให้โปรแกรมทำงานเป็น background job ผ่านธุรกรรม
SM36เพื่อดึงบันทึกเหตุการณ์เป็นระยะโดยอัตโนมัติ ไม่ต้องดำเนินการด้วยตนเอง.
การกำหนดค่า
- เกณฑ์การเลือกข้อมูล: โปรแกรมควรมีหน้าจอเลือกข้อมูลเพื่อกรองข้อมูล โดยมีตัวกรองสำคัญดังนี้:
Company Code (BUKRS): ต้องระบุเพื่อจำกัดขอบเขตให้เหลือนิติบุคคลที่เกี่ยวข้องFiscal Year (GJAHR): ต้องระบุปีหลักที่จะใช้ดึงข้อมูลPosting Period (MONAT): ต้องระบุงวดบัญชีที่ต้องการ
- การตั้งค่าตามกิจกรรม: การเลือกข้อมูลหลายรายการขึ้นอยู่กับการตั้งค่า SAP ของคุณ จึงควรกำหนดเป็นพารามิเตอร์หรือค่าคงที่ในโปรแกรม:
Accrual/Provision Document Types: รายการประเภทเอกสาร (BLART) ที่ใช้ระบุรายการค้างรับและประมาณการAdjusting Entry Document Types: รายการประเภทเอกสารที่ใช้ระบุรายการปรับปรุงบัญชีBackground Job/Program Names: ชื่อทางเทคนิคของโปรแกรมที่ใช้กับงานประเมินมูลค่าเงินตราต่างประเทศ (เช่นFAGL_FCV), การเคลียร์ GR/IR (เช่นSAPF124), รายงานงบทดลอง และการจัดทำงบการเงิน (เช่นRFBILA00)
- ช่วงวันที่: แม้จะเลือกข้อมูลหลักตามปีบัญชีและงวด แต่ตรรกะเบื้องหลังควรพิจารณาวันที่และเวลาของเหตุการณ์ทั้งหมด สำหรับการวิเคราะห์ครั้งแรก แนะนำให้ดึงข้อมูลย้อนหลัง 3 ถึง 6 งวดบัญชีที่ปิดแล้ว
- ประสิทธิภาพ: ประสิทธิภาพของโปรแกรมมีความสำคัญในระบบ SAP ขนาดใหญ่ ตรวจสอบให้แน่ใจว่าการเลือกข้อมูลจากฐานข้อมูลใช้ฟิลด์ดัชนี โดยเฉพาะในตารางอย่าง
BKPFและBSEGหลีกเลี่ยงการเลือกทุกฟิลด์ (SELECT *) และแบ่งประมวลผลเป็นชุดขนาดเหมาะสมหากจำเป็น - สิทธิ์การใช้งาน: ผู้ใช้หรือบัญชีบริการที่เรียกใช้โปรแกรมต้องมีสิทธิ์เข้าถึงตารางที่ค้นหาทั้งหมด (
BKPF,BSEG,TBTCO,TBTCP,CDHDR,CDPOS) และเรียกใช้ธุรกรรม เช่นSE38(สำหรับพัฒนา) และSM37/SM36(สำหรับตั้งเวลาและติดตามงาน).
ตัวอย่างคำค้น abap
REPORT Z_PM_R2R_EXTRACTION.
" ====================================================================
" DATA DECLARATIONS
" ====================================================================
TYPES: BEGIN OF ty_event_log,
FinancialPeriod TYPE string,
ActivityName TYPE string,
EventTime TYPE timestamp,
SourceSystem TYPE string,
LastDataUpdate TYPE timestamp,
BUKRS TYPE bukrs,
BELNR TYPE belnr_d,
USNAM TYPE usnam,
HKONT TYPE hkont,
BLART TYPE blart,
DMBTR TYPE dmbtr,
JournalEntryType TYPE string,
END OF ty_event_log.
DATA: lt_final_log TYPE STANDARD TABLE OF ty_event_log,
ls_log_entry LIKE LINE OF lt_final_log.
DATA: lv_source_system TYPE string VALUE 'SAP ECC'.
GET TIME STAMP FIELD ls_log_entry-LastDataUpdate.
" ====================================================================
" SELECTION SCREEN
" ====================================================================
SELECT-OPTIONS: s_bukrs FOR ls_log_entry-bukrs OBLIGATORY,
s_gjahr FOR bkpf-gjahr OBLIGATORY,
s_monat FOR bkpf-monat OBLIGATORY.
PARAMETERS: p_accrl TYPE blart DEFAULT 'SA', " Example Doc Type for Accruals
p_adjst TYPE blart DEFAULT 'AJ', " Example Doc Type for Adjustments
p_fcv TYPE btcjob DEFAULT 'FAGL_FCV*', " Program for FC Valuation
p_grir TYPE btcjob DEFAULT 'SAPF124*', " Program for GR/IR Clearing
p_fs TYPE btcjob DEFAULT 'RFBILA00'. " Program for Fin. Statements
" ====================================================================
" MAIN LOGIC
" ====================================================================
START-OF-SELECTION.
" --- 1. Period Opened For Posting ---
" Note: This is complex. This example queries change documents for posting period config (T001B).
SELECT h~objectid, h~udate, h~utime, h~username
INTO TABLE @DATA(lt_period_open)
FROM cdhdr AS h
WHERE h~objectclas = 'V_T001B' AND h~change_ind = 'U'.
LOOP AT lt_period_open INTO DATA(ls_period_open).
" Further logic needed to parse OBJECTID and check CDPOS for opening a period.
" This is a simplified placeholder for a complex logic.
ls_log_entry-ActivityName = 'Period Opened For Posting'.
" Populate other fields... append to lt_final_log
ENDLOOP.
" --- 2. Accrual Or Provision Posted ---
SELECT h~bukrs, h~belnr, h~gjahr, h~monat, h~blart, h~usnam, h~cputm, h~cpudt, i~hkont, i~dmbtr
FROM bkpf AS h JOIN bseg AS i ON h~belnr = i~belnr AND h~bukrs = i~bukrs AND h~gjahr = i~gjahr
INTO CORRESPONDING FIELDS OF TABLE @DATA(lt_accrual)
WHERE h~bukrs IN @s_bukrs AND h~gjahr IN @s_gjahr AND h~monat IN @s_monat AND h~blart = @p_accrl.
LOOP AT lt_accrual INTO DATA(ls_accrual).
CLEAR ls_log_entry.
CONVERT DATE ls_accrual-cpudt TIME ls_accrual-cputm INTO TIME STAMP ls_log_entry-EventTime TIME ZONE sy-zonlo.
CONCATENATE ls_accrual-gjahr ls_accrual-monat INTO ls_log_entry-FinancialPeriod.
ls_log_entry-ActivityName = 'Accrual Or Provision Posted'.
ls_log_entry-BUKRS = ls_accrual-bukrs.
ls_log_entry-BELNR = ls_accrual-belnr.
ls_log_entry-USNAM = ls_accrual-usnam.
ls_log_entry-HKONT = ls_accrual-hkont.
ls_log_entry-BLART = ls_accrual-blart.
ls_log_entry-DMBTR = ls_accrual-dmbtr.
ls_log_entry-JournalEntryType = 'Accrual'.
GET TIME STAMP FIELD ls_log_entry-LastDataUpdate.
ls_log_entry-SourceSystem = lv_source_system.
APPEND ls_log_entry TO lt_final_log.
ENDLOOP.
" --- 3. Intercompany Document Cleared ---
SELECT h~bukrs, h~belnr, h~gjahr, h~monat, h~blart, h~usnam, h~cputm, h~cpudt, i~hkont, i~dmbtr
FROM bkpf AS h JOIN bseg AS i ON h~belnr = i~belnr AND h~bukrs = i~bukrs AND h~gjahr = i~gjahr
INTO CORRESPONDING FIELDS OF TABLE @DATA(lt_ic_clear)
WHERE h~bukrs IN @s_bukrs AND h~gjahr IN @s_gjahr AND h~monat IN @s_monat
AND h~blart = 'AB' AND i~vbund <> space.
LOOP AT lt_ic_clear INTO DATA(ls_ic_clear).
" Populate ls_log_entry and append to lt_final_log, setting ActivityName = 'Intercompany Document Cleared'
ENDLOOP.
" --- 4. Foreign Currency Valuation Run ---
SELECT j~jobname, j~sdlstrtda, j~sdlstrttm, j~sdluname
INTO TABLE @DATA(lt_fcv_jobs)
FROM tbtco AS j
WHERE j~jobname LIKE @p_fcv AND j~status = 'F'. " F = Finished
LOOP AT lt_fcv_jobs INTO DATA(ls_fcv_job).
" Populate ls_log_entry, deriving FinancialPeriod from date, setting ActivityName = 'Foreign Currency Valuation Run'
ENDLOOP.
" --- 5. GR/IR Clearing Run Executed ---
SELECT j~jobname, j~sdlstrtda, j~sdlstrttm, j~sdluname
INTO TABLE @DATA(lt_grir_jobs)
FROM tbtco AS j
WHERE j~jobname LIKE @p_grir AND j~status = 'F'.
LOOP AT lt_grir_jobs INTO DATA(ls_grir_job).
" Populate ls_log_entry, deriving FinancialPeriod from date, setting ActivityName = 'GR/IR Clearing Run Executed'
ENDLOOP.
" --- 6. Account Reconciliation Started (Inferred) ---
" Note: Inferring this by first run of a report, e.g., FAGLB03. Requires custom logging or complex logic.
" Placeholder: Query a custom log table if available.
" SELECT ... FROM zreco_log ...
" --- 7. Adjusting Journal Entry Posted ---
SELECT h~bukrs, h~belnr, h~gjahr, h~monat, h~blart, h~usnam, h~cputm, h~cpudt, i~hkont, i~dmbtr
FROM bkpf AS h JOIN bseg AS i ON h~belnr = i~belnr AND h~bukrs = i~bukrs AND h~gjahr = i~gjahr
INTO CORRESPONDING FIELDS OF TABLE @DATA(lt_adjust)
WHERE h~bukrs IN @s_bukrs AND h~gjahr IN @s_gjahr AND h~monat IN @s_monat AND h~blart = @p_adjst.
LOOP AT lt_adjust INTO DATA(ls_adjust).
" Populate ls_log_entry and append, setting ActivityName = 'Adjusting Journal Entry Posted', JournalEntryType = 'Adjusting'
ENDLOOP.
" --- 8. Reversal Entry Posted ---
SELECT h~bukrs, h~belnr, h~gjahr, h~monat, h~blart, h~usnam, h~cputm, h~cpudt, i~hkont, i~dmbtr
FROM bkpf AS h JOIN bseg AS i ON h~belnr = i~belnr AND h~bukrs = i~bukrs AND h~gjahr = i~gjahr
INTO CORRESPONDING FIELDS OF TABLE @DATA(lt_reversal)
WHERE h~bukrs IN @s_bukrs AND h~gjahr IN @s_gjahr AND h~monat IN @s_monat AND h~stblg <> space.
LOOP AT lt_reversal INTO DATA(ls_reversal).
" Populate ls_log_entry and append, setting ActivityName = 'Reversal Entry Posted', JournalEntryType = 'Reversal'
ENDLOOP.
" --- 9. Trial Balance Report Generated (Inferred from Job) ---
" Similar to other jobs, query TBTCO for Trial Balance report programs.
" SELECT ... FROM tbtco ... WHERE jobname LIKE '[Your Trial Balance Program]'.
" --- 10. Financial Statements Generated ---
SELECT j~jobname, j~sdlstrtda, j~sdlstrttm, j~sdluname
INTO TABLE @DATA(lt_fs_jobs)
FROM tbtco AS j
WHERE j~jobname LIKE @p_fs AND j~status = 'F'.
LOOP AT lt_fs_jobs INTO DATA(ls_fs_job).
" Populate ls_log_entry, deriving FinancialPeriod from date, setting ActivityName = 'Financial Statements Generated'
ENDLOOP.
" --- 11. Reconciliation Reviewed (Inferred) ---
" Note: This activity is almost always managed outside of SAP or in a custom solution.
" Placeholder: Query a custom approval/log table if available.
" SELECT ... FROM zreco_approval ...
" --- 12. Period Closed For Posting ---
" Note: Similar to 'Period Opened', this is very complex. Query change documents for T001B.
SELECT h~objectid, h~udate, h~utime, h~username
INTO TABLE @DATA(lt_period_close)
FROM cdhdr AS h
WHERE h~objectclas = 'V_T001B' AND h~change_ind = 'U'.
LOOP AT lt_period_close INTO DATA(ls_period_close).
" Further logic needed to parse OBJECTID and check CDPOS for closing a period.
ls_log_entry-ActivityName = 'Period Closed For Posting'.
" Populate other fields... append to lt_final_log
ENDLOOP.
" ... Code to display or download the lt_final_log internal table ...
ENDFORMS. ขั้นตอน
- เตรียมข้อกำหนดเบื้องต้น: ขอข้อมูลรับรองสำหรับเข้าถึงฐานข้อมูล SAP ECC ที่อยู่เบื้องหลังแบบอ่านอย่างเดียว ระบุ schema ของฐานข้อมูลที่ถูกต้อง ซึ่งโดยทั่วไปคือ
SAPSR3หรือชื่ออื่นที่ผู้ดูแลฐานข้อมูลแจ้งให้ทราบ - ตรวจสอบการตั้งค่าระบบ: ปรึกษาทีม SAP Finance เพื่อระบุ
Company Codes(BUKRS) และงวดบัญชีที่ต้องการวิเคราะห์ ที่สำคัญคือต้องตรวจสอบDocument Types(BLART) ที่ใช้ในระบบสำหรับธุรกรรม 'บันทึกรายการค้างรับหรือประมาณการแล้ว', 'บันทึกรายการปรับปรุงบัญชีแล้ว' และ 'ระหว่างบริษัท' - ตรวจสอบชื่อโปรแกรมและงาน: ยืนยันชื่อโปรแกรมสำหรับงานประมวลผลแบบกลุ่มที่สำคัญ เช่น การประเมินมูลค่าเงินตราต่างประเทศ (เช่น
FAGL_FCV), การเคลียร์ GR/IR (เช่นSAPF124), รายงานงบทดลอง (เช่นRFBILA00) และการจัดทำงบการเงิน (เช่นRFBILA00) ตรวจสอบได้จากงานที่ตั้งเวลาไว้ในธุรกรรมSM37 - ปรับแต่ง SQL Query: คัดลอก SQL Query ที่ให้ไว้ไปยังโปรแกรมแก้ไขข้อความหรือ SQL client แทนค่าตัวแปรตัวอย่าง
{{start_date}},{{end_date}}และ{{company_codes}}ด้วยค่าจริงสำหรับการวิเคราะห์ แล้วปรับรายการประเภทเอกสารและชื่อโปรแกรมตามข้อมูลที่รวบรวมจากขั้นตอนก่อนหน้า - เชื่อมต่อฐานข้อมูล: ใช้เครื่องมือ SQL client ทั่วไป เช่น DBeaver, SQL Server Management Studio หรือ Oracle SQL Developer เพื่อเชื่อมต่อฐานข้อมูล SAP ด้วยข้อมูลรับรองที่ได้รับ
- เรียกใช้ Query: เรียกใช้ SQL Query ที่ปรับแต่งแล้วกับฐานข้อมูล ระยะเวลาที่ใช้ขึ้นอยู่กับช่วงวันที่และขนาดของตารางการเงิน
- ตรวจสอบผลลัพธ์เบื้องต้น: เมื่อ Query ทำงานเสร็จ ให้ตรวจสอบผลลัพธ์อย่างรวดเร็ว ดูว่าจำนวนแถวสมเหตุสมผล มีคอลัมน์ครบ และมีค่า
ActivityNameหลายประเภท - ส่งออกข้อมูล: ส่งออกผลลัพธ์ทั้งหมดจาก SQL client เป็นไฟล์ CSV และบันทึกด้วยการเข้ารหัส UTF-8 เพื่อป้องกันปัญหาอักขระ
- เตรียมอัปโหลด: ก่อนอัปโหลดไปยังเครื่องมือ process mining ให้ตรวจสอบว่าชื่อคอลัมน์ในไฟล์ CSV ตรงกับชื่อแอตทริบิวต์ที่กำหนดทุกประการ (
FinancialPeriod,ActivityName,EventTimeเป็นต้น) และตรวจสอบว่าคอลัมน์EventTimeใช้รูปแบบการประทับเวลาที่สอดคล้องกัน เช่นYYYY-MM-DD HH:MI:SS.
การกำหนดค่า
- ข้อมูลรับรองฐานข้อมูล: ต้องมีผู้ใช้ฐานข้อมูลแบบอ่านอย่างเดียวที่เข้าถึงตารางหลักด้านการเงินและระบบของ SAP ได้ เช่น
BKPF,BSEG,TBTCO,CDHDRและCDPOS - ช่วงวันที่: แนะนำให้ดึงข้อมูลอย่างน้อย 3 ถึง 6 งวดบัญชีเต็ม เพื่อให้เห็นความแตกต่างของกระบวนการที่มีนัยสำคัญ โปรดทราบว่าช่วงวันที่ที่กว้างขึ้นจะเพิ่มเวลาทำงานของ Query อย่างมาก
- รหัสบริษัท (
BUKRS): กรองด้วยรายการรหัสบริษัทที่ระบุทุกครั้ง การเรียกใช้ Query กับทุกรหัสบริษัทในระบบขนาดใหญ่ทำได้ยากและอาจทำให้ประสิทธิภาพลดลง - ประเภทเอกสาร (
BLART): การระบุประเภทรายการบัญชี เช่น รายการค้างรับและรายการปรับปรุง ขึ้นอยู่กับการตั้งค่า SAP ขององค์กรโดยตรง คุณต้องระบุรหัสประเภทเอกสารที่ถูกต้องในส่วนWHEREของ Query เพื่อจัดประเภทกิจกรรมได้แม่นยำ - ชื่อโปรแกรมและงาน: Query ใช้ชื่อโปรแกรมทั่วไปสำหรับขั้นตอนปิดงวดอัตโนมัติ ระบบของคุณอาจใช้โปรแกรม wrapper ที่กำหนดเองหรือชื่องานอื่น ตรวจสอบชื่อเหล่านี้ในธุรกรรม
SM37แล้วปรับ Query ให้ตรงกัน - ข้อควรพิจารณาด้านประสิทธิภาพ: Query นี้เข้าถึงตารางขนาดใหญ่มาก โดยเฉพาะ
BSEGและCDPOSแนะนำอย่างยิ่งให้ดึงข้อมูลนอกเวลาทำการเพื่อไม่ให้กระทบประสิทธิภาพของระบบ การจำกัดช่วงวันที่และรหัสบริษัทให้แคบเป็นวิธีที่มีประสิทธิภาพที่สุดในการควบคุมเวลาทำงาน.
ตัวอย่างคำค้น sql
SELECT
CONCAT(CAST(b.GJAHR AS VARCHAR(4)), '-', RIGHT(CONCAT('00', b.MONAT), 2)) AS FinancialPeriod,
'Period Opened For Posting' AS ActivityName,
c.UDATE + c.UTIME AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
p.TABKEY AS CompanyCode,
NULL AS DocumentNumber,
c.USERNAME AS ResponsibleUser,
NULL AS GLAccount,
NULL AS DocumentType,
NULL AS AmountInLocalCurrency,
NULL AS JournalEntryType
FROM CDHDR c
JOIN CDPOS p ON c.OBJECTCLAS = p.OBJECTCLAS AND c.OBJECTID = p.OBJECTID AND c.CHANGENR = p.CHANGENR
WHERE c.OBJECTCLAS = 'V_T001B'
AND p.TABNAME = 'T001B'
AND p.FNAME = 'FRPE1'
AND c.UDATE BETWEEN '{{start_date}}' AND '{{end_date}}'
UNION ALL
SELECT
CONCAT(CAST(b.GJAHR AS VARCHAR(4)), '-', RIGHT(CONCAT('00', b.MONAT), 2)) AS FinancialPeriod,
'Period Closed For Posting' AS ActivityName,
c.UDATE + c.UTIME AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
p.TABKEY AS CompanyCode,
NULL AS DocumentNumber,
c.USERNAME AS ResponsibleUser,
NULL AS GLAccount,
NULL AS DocumentType,
NULL AS AmountInLocalCurrency,
NULL AS JournalEntryType
FROM CDHDR c
JOIN CDPOS p ON c.OBJECTCLAS = p.OBJECTCLAS AND c.OBJECTID = p.OBJECTID AND c.CHANGENR = p.CHANGENR
WHERE c.OBJECTCLAS = 'V_T001B'
AND p.TABNAME = 'T001B'
AND p.FNAME = 'TOPE1'
AND c.UDATE BETWEEN '{{start_date}}' AND '{{end_date}}'
UNION ALL
SELECT
CONCAT(CAST(h.GJAHR AS VARCHAR(4)), '-', RIGHT(CONCAT('00', h.MONAT), 2)) AS FinancialPeriod,
'Accrual Or Provision Posted' AS ActivityName,
h.CPUDT + h.CPUTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
h.BUKRS AS CompanyCode,
h.BELNR AS DocumentNumber,
h.USNAM AS ResponsibleUser,
d.HKONT AS GLAccount,
h.BLART AS DocumentType,
d.DMBTR AS AmountInLocalCurrency,
'Accrual' AS JournalEntryType
FROM BKPF h
JOIN BSEG d ON h.MANDT = d.MANDT AND h.BUKRS = d.BUKRS AND h.BELNR = d.BELNR AND h.GJAHR = d.GJAHR
WHERE h.BUDAT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND h.BUKRS IN ({{company_codes}})
AND h.BLART IN ('SA', '[Your Accrual Doc Type]')
UNION ALL
SELECT
CONCAT(CAST(h.GJAHR AS VARCHAR(4)), '-', RIGHT(CONCAT('00', h.MONAT), 2)) AS FinancialPeriod,
'Intercompany Document Cleared' AS ActivityName,
h.AUGDT AS EventTime, -- Clearing Date
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
h.BUKRS AS CompanyCode,
h.BELNR AS DocumentNumber,
h.USNAM AS ResponsibleUser,
d.HKONT AS GLAccount,
h.BLART AS DocumentType,
d.DMBTR AS AmountInLocalCurrency,
'Clearing' AS JournalEntryType
FROM BKPF h
JOIN BSEG d ON h.MANDT = d.MANDT AND h.BUKRS = d.BUKRS AND h.BELNR = d.BELNR AND h.GJAHR = d.GJAHR
WHERE h.AUGDT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND h.BUKRS IN ({{company_codes}})
AND h.BLART IN ('[Your Intercompany Doc Type]')
AND h.AUGBL IS NOT NULL
UNION ALL
SELECT
CONCAT(CAST(YEAR(j.SDLSTRTDT) AS VARCHAR(4)), '-', RIGHT(CONCAT('00', MONTH(j.SDLSTRTDT)), 2)) AS FinancialPeriod,
'Foreign Currency Valuation Run' AS ActivityName,
j.SDLSTRTDT + j.SDLSTRTTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
NULL AS CompanyCode,
j.JOBNAME AS DocumentNumber,
j.SDLUNAME AS ResponsibleUser,
NULL AS GLAccount,
NULL AS DocumentType,
NULL AS AmountInLocalCurrency,
NULL AS JournalEntryType
FROM TBTCO j
JOIN TBTCP p ON j.JOBNAME = p.JOBNAME AND j.JOBCOUNT = p.JOBCOUNT
WHERE p.PROGNAME = 'FAGL_FCV' OR p.PROGNAME = 'SAPF100'
AND j.SDLSTRTDT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND j.STATUS = 'F' -- Finished
UNION ALL
SELECT
CONCAT(CAST(YEAR(j.SDLSTRTDT) AS VARCHAR(4)), '-', RIGHT(CONCAT('00', MONTH(j.SDLSTRTDT)), 2)) AS FinancialPeriod,
'GR/IR Clearing Run Executed' AS ActivityName,
j.SDLSTRTDT + j.SDLSTRTTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
NULL AS CompanyCode,
j.JOBNAME AS DocumentNumber,
j.SDLUNAME AS ResponsibleUser,
NULL AS GLAccount,
NULL AS DocumentType,
NULL AS AmountInLocalCurrency,
NULL AS JournalEntryType
FROM TBTCO j
JOIN TBTCP p ON j.JOBNAME = p.JOBNAME AND j.JOBCOUNT = p.JOBCOUNT
WHERE p.PROGNAME = 'SAPF124' -- Program for F.13
AND j.SDLSTRTDT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND j.STATUS = 'F'
UNION ALL
SELECT
CONCAT(CAST(YEAR(j.SDLSTRTDT) AS VARCHAR(4)), '-', RIGHT(CONCAT('00', MONTH(j.SDLSTRTDT)), 2)) AS FinancialPeriod,
'Account Reconciliation Started' AS ActivityName, -- Proxy event
j.SDLSTRTDT + j.SDLSTRTTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
NULL AS CompanyCode,
j.JOBNAME AS DocumentNumber,
j.SDLUNAME AS ResponsibleUser,
NULL AS GLAccount,
NULL AS DocumentType,
NULL AS AmountInLocalCurrency,
NULL AS JournalEntryType
FROM TBTCO j
JOIN TBTCP p ON j.JOBNAME = p.JOBNAME AND j.JOBCOUNT = p.JOBCOUNT
WHERE p.PROGNAME IN ('FAGLL03', 'FBL3N') -- Common reconciliation reports
AND j.SDLSTRTDT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND j.STATUS = 'F'
UNION ALL
SELECT
CONCAT(CAST(h.GJAHR AS VARCHAR(4)), '-', RIGHT(CONCAT('00', h.MONAT), 2)) AS FinancialPeriod,
'Adjusting Journal Entry Posted' AS ActivityName,
h.CPUDT + h.CPUTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
h.BUKRS AS CompanyCode,
h.BELNR AS DocumentNumber,
h.USNAM AS ResponsibleUser,
d.HKONT AS GLAccount,
h.BLART AS DocumentType,
d.DMBTR AS AmountInLocalCurrency,
'Adjusting' AS JournalEntryType
FROM BKPF h
JOIN BSEG d ON h.MANDT = d.MANDT AND h.BUKRS = d.BUKRS AND h.BELNR = d.BELNR AND h.GJAHR = d.GJAHR
WHERE h.BUDAT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND h.BUKRS IN ({{company_codes}})
AND h.BLART IN ('[Your Adjusting Doc Type]')
UNION ALL
SELECT
CONCAT(CAST(h.GJAHR AS VARCHAR(4)), '-', RIGHT(CONCAT('00', h.MONAT), 2)) AS FinancialPeriod,
'Reversal Entry Posted' AS ActivityName,
h.CPUDT + h.CPUTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
h.BUKRS AS CompanyCode,
h.BELNR AS DocumentNumber,
h.USNAM AS ResponsibleUser,
d.HKONT AS GLAccount,
h.BLART AS DocumentType,
d.DMBTR AS AmountInLocalCurrency,
'Reversal' AS JournalEntryType
FROM BKPF h
JOIN BSEG d ON h.MANDT = d.MANDT AND h.BUKRS = d.BUKRS AND h.BELNR = d.BELNR AND h.GJAHR = d.GJAHR
WHERE h.BUDAT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND h.BUKRS IN ({{company_codes}})
AND h.STBLG IS NOT NULL -- STBLG links to the reversed document
UNION ALL
SELECT
CONCAT(CAST(YEAR(j.SDLSTRTDT) AS VARCHAR(4)), '-', RIGHT(CONCAT('00', MONTH(j.SDLSTRTDT)), 2)) AS FinancialPeriod,
'Trial Balance Report Generated' AS ActivityName,
j.SDLSTRTDT + j.SDLSTRTTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
NULL AS CompanyCode,
j.JOBNAME AS DocumentNumber,
j.SDLUNAME AS ResponsibleUser,
NULL AS GLAccount,
NULL AS DocumentType,
NULL AS AmountInLocalCurrency,
NULL AS JournalEntryType
FROM TBTCO j
JOIN TBTCP p ON j.JOBNAME = p.JOBNAME AND j.JOBCOUNT = p.JOBCOUNT
WHERE p.PROGNAME IN ('RFSSLD00', 'S_ALR_87012310')
AND j.SDLSTRTDT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND j.STATUS = 'F'
UNION ALL
SELECT
CONCAT(CAST(YEAR(j.SDLSTRTDT) AS VARCHAR(4)), '-', RIGHT(CONCAT('00', MONTH(j.SDLSTRTDT)), 2)) AS FinancialPeriod,
'Financial Statements Generated' AS ActivityName,
j.SDLSTRTDT + j.SDLSTRTTM AS EventTime,
'SAP_ECC' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
NULL AS CompanyCode,
j.JOBNAME AS DocumentNumber,
j.SDLUNAME AS ResponsibleUser,
NULL AS GLAccount,
NULL AS DocumentType,
NULL AS AmountInLocalCurrency,
NULL AS JournalEntryType
FROM TBTCO j
JOIN TBTCP p ON j.JOBNAME = p.JOBNAME AND j.JOBCOUNT = p.JOBCOUNT
WHERE p.PROGNAME = 'RFBILA00' -- Program for F.01
AND j.SDLSTRTDT BETWEEN '{{start_date}}' AND '{{end_date}}'
AND j.STATUS = 'F'
-- UNION ALL
-- Note: 'Reconciliation Reviewed' is typically not a standard, logged event in SAP ECC.
-- This activity often happens offline or in a custom tool.
-- The following is a placeholder to be adapted if a custom (Z-table) log exists.
-- SELECT
-- CONCAT(CAST(YEAR(z.REVIEW_DATE) AS VARCHAR(4)), '-', RIGHT(CONCAT('00', MONTH(z.REVIEW_DATE)), 2)) AS FinancialPeriod,
-- 'Reconciliation Reviewed' AS ActivityName,
-- z.REVIEW_DATE AS EventTime,
-- 'SAP_ECC' AS SourceSystem,
-- CURRENT_TIMESTAMP AS LastDataUpdate,
-- z.BUKRS AS CompanyCode,
-- z.HKONT AS DocumentNumber, -- Using GL Account as a proxy identifier
-- z.REVIEWER_USER AS ResponsibleUser,
-- z.HKONT AS GLAccount,
-- NULL AS DocumentType,
-- NULL AS AmountInLocalCurrency,
-- NULL AS JournalEntryType
-- FROM ZRECON_LOG z -- Replace with your custom table for reconciliation status
-- WHERE z.REVIEW_DATE BETWEEN '{{start_date}}' AND '{{end_date}}'
-- AND z.STATUS = 'Reviewed'
; พร้อมเริ่มต้นหรือยัง?
ใช้เทมเพลตข้อมูลนี้เพื่อเริ่มต้นทำ process mining และดูข้อมูลเชิงลึกที่เป็นประโยชน์เกี่ยวกับการปิดบัญชีการเงิน เริ่มปรับปรุงกระบวนการบันทึกบัญชีจนถึงการรายงานได้วันนี้!
ปรับปรุงการปิดบัญชีจนถึงการรายงาน ลดระยะเวลาดำเนินงานได้ทันที
ขจัดคอขวดและลดระยะเวลาปิดบัญชีจนถึงการรายงานลง 30%.
ไม่ต้องใช้บัตรเครดิต เริ่มทดลองใช้ฟรี 14 วัน.