เทมเพลตข้อมูลการประมวลผลเงินเดือนของคุณ
เทมเพลตข้อมูลการประมวลผลเงินเดือนของคุณ
- ฟิลด์ข้อมูลสำคัญสำหรับวิเคราะห์เงินเดือน
- จุดสำคัญสำหรับค้นพบกระบวนการ
- แนวทางดึงข้อมูลเฉพาะระบบ
แอตทริบิวต์การประมวลผลเงินเดือน
| ชื่อ | คำอธิบาย | ||
|---|---|---|---|
| กิจกรรม Activity | งานหรือเหตุการณ์ที่เกิดขึ้นในกระบวนการจ่ายเงินเดือน. | ||
| คำอธิบาย แอตทริบิวต์นี้บันทึกชื่อขั้นตอนที่กำลังดำเนินการ เช่น 'ส่งใบบันทึกเวลาทำงานแล้ว', 'ดำเนินการจำลองเงินเดือนแล้ว' หรือ 'ดำเนินการจ่ายเงินแล้ว' ข้อมูลนี้เป็นพื้นฐานของแผนผังกระบวนการ และช่วยให้นักวิเคราะห์เห็นลำดับการทำงานในรอบจ่ายเงินเดือน ข้อมูลของแอตทริบิวต์นี้รวบรวมจากบันทึกหลายแหล่ง เช่น บันทึก Workflow (SWWLOGHIST), บันทึกการเปลี่ยนแปลง Infotype (CDHDR/CDPOS) และตารางสถานะเงินเดือนเฉพาะ ระบบจะตั้งชื่อให้สอดคล้องกันระหว่างการดึงข้อมูล เพื่อแปลงรหัสเหตุการณ์ทางเทคนิคเป็นชื่อกิจกรรมที่เข้าใจได้ในเชิงธุรกิจ. เหตุผลที่สำคัญ แอตทริบิวต์นี้กำหนดโหนดในกราฟกระบวนการ ทำให้เห็นลำดับการไหล วงจรที่เกิดซ้ำ และรูปแบบต่าง ๆ ของกระบวนการ. แหล่งข้อมูล ได้จากการเปลี่ยนแปลงสถานะใน SWWLOGHIST (Workflow), CDHDR (เอกสารการเปลี่ยนแปลง) หรือ PA03 (ระเบียนควบคุม). ตัวอย่าง ส่งใบบันทึกเวลาทำงานแล้วคำนวณค่าจ้างรวมแล้วแจ้งข้อยกเว้นจากการตรวจสอบแล้วจ่ายเงินแล้ว | |||
| ระเบียนเงินเดือน PayrollRecord | ตัวระบุเฉพาะที่รวมรหัสพนักงานกับรอบการจ่ายเงิน. | ||
| คำอธิบาย ระเบียนเงินเดือนทำหน้าที่เป็นรหัสเคสหลักสำหรับการวิเคราะห์ process mining โดยแทนการประมวลผลเงินเดือนหนึ่งรอบของพนักงานหนึ่งคนในรอบจ่ายที่กำหนด และเชื่อมโยงกิจกรรมทั้งหมดตั้งแต่ส่งใบบันทึกเวลาทำงานครั้งแรกจนถึงการยื่นข้อมูลภาษีขั้นสุดท้าย ใน SAP SuccessFactors Employee Central Payroll โดยทั่วไปจะสร้างรหัสนี้จากการนำหมายเลขประจำตัวบุคลากร (PERNR) มาต่อกับปีที่จ่ายเงินเดือน (PABRJ) และรอบการจ่ายเงินเดือน (PABRP) และอาจเพิ่มหมายเลขลำดับ (SEQNR) เพื่อแยกการประมวลผลหลายครั้ง การกำหนดรายละเอียดในระดับนี้ช่วยให้วิเคราะห์รอบการจ่ายแต่ละครั้งเป็นคนละเคส และวัดระยะเวลาดำเนินการพร้อมติดตามข้อผิดพลาดได้อย่างแม่นยำ. เหตุผลที่สำคัญ ระเบียนนี้ทำหน้าที่เป็น Case ID โดยรวบรวมเหตุการณ์ที่เกี่ยวข้องทั้งหมดเพื่อสร้างเส้นทางกระบวนการตั้งแต่ต้นจนจบของการจ่ายเงินเดือนแต่ละครั้ง. แหล่งข้อมูล สร้างจาก SAP Cluster B2 (ผลการประเมินเวลา) หรือจากตาราง PC_PAYRESULT (PERNR, PABRJ, PABRP, SEQNR). ตัวอย่าง 10023499-2023-1088291022-2024-01-SEQ01US-10293-2023-52 | |||
| เวลาประทับของเหตุการณ์ EventTimestamp | วันที่และเวลาที่กิจกรรมเกิดขึ้นอย่างแม่นยำ. | ||
| คำอธิบาย แอตทริบิวต์นี้บันทึกเวลาที่เกิดเหตุการณ์อย่างแม่นยำ ทั้งวันที่และเวลา ซึ่งเป็นข้อมูลสำคัญสำหรับคำนวณตัวชี้วัดด้านเวลา เช่น ระยะเวลาของรอบงาน ระยะเวลาตั้งแต่เริ่มจนเสร็จ และอัตราการประมวลผลระหว่างขั้นตอนต่าง ๆ ใน SAP ECP ข้อมูลนี้มาจากฟิลด์เวลาประทับ เช่น เหตุผลที่สำคัญ ข้อมูลนี้ใช้คำนวณระยะเวลาระหว่างเหตุการณ์ ซึ่งจำเป็นต่อการหาคอขวดด้านประสิทธิภาพและกรณีที่ไม่เป็นไปตาม SLA. แหล่งข้อมูล CDHDR-UDATE/UTIME, SWWLOGHIST-WI_CD/WI_CT หรือเวลาประทับจากบันทึกการตรวจสอบที่เกี่ยวข้อง. ตัวอย่าง 2023-10-25T08:30:00Z2023-10-26T14:15:22Z2023-11-01T09:00:00Z | |||
| ระบบต้นทาง SourceSystem | ระบบที่เป็นแหล่งที่มาของข้อมูลเหตุการณ์. | ||
| คำอธิบาย แอตทริบิวต์นี้ระบุอินสแตนซ์ SAP SuccessFactors Employee Central Payroll หรือระบบย่อยที่เชื่อมต่อ ซึ่งเป็นแหล่งที่มาของข้อมูล ในสภาพแวดล้อมที่มีระบบเงินเดือนหลายระบบหรือใช้ระบบแบบผสม ฟิลด์นี้ช่วยให้ตรวจสอบที่มาของข้อมูลและติดตามย้อนกลับได้ แอตทริบิวต์นี้มีประโยชน์เมื่อต้องวิเคราะห์ข้อมูลจากระบบที่ติดตั้งในภูมิภาคต่าง ๆ หรือเปรียบเทียบประสิทธิภาพระหว่างระบบเดิมกับระบบที่ย้ายมา โดยทั่วไปจะกำหนดค่าเป็นข้อความคงที่ระหว่างตั้งค่าการดึงข้อมูล. เหตุผลที่สำคัญ ช่วยแบ่งกลุ่มข้อมูลในสภาพแวดล้อมที่มีหลายระบบ และช่วยตรวจสอบปัญหาคุณภาพข้อมูลโดยระบุแหล่งที่มาได้. แหล่งข้อมูล System ID (SID) จากการติดตั้ง SAP หรือการตั้งค่าการดึงข้อมูล. ตัวอย่าง SAP_ECP_NASAP_ECP_EMEASuccessFactors_Core | |||
| อัปเดตข้อมูลล่าสุด LastDataUpdate | เวลาประทับของการดึงข้อมูลครั้งล่าสุด. | ||
| คำอธิบาย แอตทริบิวต์นี้ระบุเวลาที่รีเฟรชระเบียนข้อมูลในโมเดลข้อมูล process mining ครั้งล่าสุด ช่วยให้นักวิเคราะห์ทราบว่าข้อมูลเป็นปัจจุบันเพียงใด และมั่นใจได้ว่าข้อมูลเชิงลึกอ้างอิงจากข้อมูลล่าสุด แม้จะไม่ได้ใช้วิเคราะห์การไหลของกระบวนการโดยตรง แต่แอตทริบิวต์นี้สำคัญต่อการกำกับดูแลและตรวจสอบความถูกต้องของข้อมูล เพื่อยืนยันว่าแดชบอร์ดแสดงสถานะล่าสุดของระบบเงินเดือน. เหตุผลที่สำคัญ ช่วยให้ผู้ใช้ทราบว่าข้อมูลอาจล่าช้าเพียงใด และตรวจสอบได้ว่าตัวชี้วัดที่รายงานเป็นข้อมูลปัจจุบัน. แหล่งข้อมูล สร้างโดยสคริปต์ ETL / การดึงข้อมูลขณะทำงาน. ตัวอย่าง 2023-11-05T00:00:00Z2023-11-05T12:00:00Z | |||
| กลุ่มการจ่ายเงินเดือน PayrollArea | ระบุกลุ่มการจ่ายเงินเดือนที่พนักงานสังกัด. | ||
| คำอธิบาย กลุ่มการจ่ายเงินเดือนใช้จัดกลุ่มพนักงานที่ประมวลผลพร้อมกันในการเรียกใช้เงินเดือนแต่ละครั้ง โดยอาจแบ่งตามความถี่ในการจ่าย เช่น รายเดือนหรือทุกสองสัปดาห์ หรือแบ่งตามโครงสร้างองค์กร แอตทริบิวต์นี้สำคัญต่อการแบ่งกลุ่มเพื่อเปรียบเทียบประสิทธิภาพของกระบวนการระหว่างพนักงานกลุ่มต่าง ๆ ใน SAP ฟิลด์ทางเทคนิคที่ใช้คือ เหตุผลที่สำคัญ ช่วยเปรียบเทียบประสิทธิภาพของรอบการจ่ายเงินเดือนระหว่างกลุ่มต่าง ๆ เช่น พนักงานรายชั่วโมงกับพนักงานเงินเดือน. แหล่งข้อมูล ตาราง PA0001 (การกำหนดหน่วยงาน) ฟิลด์ ABKRS. ตัวอย่าง จ่ายทุกสองสัปดาห์ในสหรัฐฯจ่ายรายเดือนในเยอรมนีเงินเดือนผู้บริหาร | |||
| ความถี่ของรอบจ่าย PayCycleFrequency | ระบุว่าเป็นการจ่ายตามรอบปกติหรือนอกรอบ. | ||
| คำอธิบาย แอตทริบิวต์นี้แยกการจ่ายเงินเดือนตามกำหนดปกติออกจากการจ่าย 'นอกรอบ' ที่ทำเฉพาะกิจเพื่อแก้ไขข้อมูลหรือจ่ายเงินทันที การจ่ายนอกรอบในปริมาณสูงเป็นสัญญาณสำคัญของกระบวนการที่ไม่มีประสิทธิภาพ และติดตามได้ในแดชบอร์ด 'วิเคราะห์ปริมาณการจ่ายเงินนอกรอบ' ข้อมูลนี้ได้จากฟิลด์เหตุผลการจ่ายนอกรอบ ( เหตุผลที่สำคัญ จำเป็นต่อการวัด KPI 'สัดส่วนการจ่ายเงินนอกรอบ' และลดการประมวลผลที่ไม่เป็นไปตามรอบปกติ. แหล่งข้อมูล ตาราง RGDIR (ไดเรกทอรีคลัสเตอร์) ฟิลด์ OCRSN หรือ PAYTY. ตัวอย่าง ปกติแก้ไข Aจ่ายโบนัสสิ้นสุดการจ้างงาน | |||
| ประเภทพนักงาน EmployeeType | การจัดประเภทพนักงาน เช่น พนักงานประจำหรือผู้รับจ้าง. | ||
| คำอธิบาย แอตทริบิวต์นี้จัดประเภทพนักงานตามความสัมพันธ์ในการจ้างงาน เช่น พนักงานปัจจุบัน ผู้เกษียณอายุ หรือผู้รับจ้าง ความซับซ้อนในการประมวลผลเงินเดือนมักแตกต่างกันตามประเภทพนักงาน โดยบางกลุ่มอาจต้องดำเนินการด้วยตนเองมากขึ้นหรือตรวจสอบการปฏิบัติตามข้อกำหนดเป็นพิเศษ ข้อมูลนี้ดึงจากฟิลด์กลุ่มพนักงาน ( เหตุผลที่สำคัญ ช่วยระบุได้ว่าความแตกต่างหรือความล่าช้าของกระบวนการเกิดกับพนักงานบางประเภทโดยเฉพาะหรือไม่. แหล่งข้อมูล ตาราง PA0001 ฟิลด์ PERSG (กลุ่ม) และ PERSK (กลุ่มย่อย). ตัวอย่าง พนักงานปัจจุบันพนักงานฝึกหัดผู้รับบำนาญผู้รับจ้างรายชั่วโมง | |||
| เป็นระบบอัตโนมัติหรือไม่ IsAutomated | ตัวบ่งชี้ว่ากิจกรรมดำเนินการโดยผู้ใช้ระบบหรือไม่. | ||
| คำอธิบาย แอตทริบิวต์แบบ Boolean นี้ระบุว่าขั้นตอนกระบวนการดำเนินการโดยงานเบื้องหลังหรือผู้ใช้ระบบ หรือดำเนินการโดยบุคคล มีความสำคัญต่อแดชบอร์ด 'ติดตามการทำงานอัตโนมัติของการโอนเงินผ่านธนาคาร' เพื่อคำนวณสัดส่วนการประมวลผลที่ไม่ต้องดำเนินการด้วยตนเอง โดยทั่วไปจะตรวจสอบรหัสผู้ใช้กับรายชื่อบัญชีระบบที่ทราบ เช่น 'BATCH' หรือ 'SAP_WORKFLOW'. เหตุผลที่สำคัญ ช่วยวัดอัตราการทำงานอัตโนมัติและระบุโอกาสในการลดงานที่ต้องทำด้วยตนเอง. แหล่งข้อมูล ได้จากรหัสผู้ใช้ เช่น หาก User อยู่ใน ['BATCH', 'SYSTEM'] ให้เป็น true. ตัวอย่าง truefalse | |||
| ผู้เชี่ยวชาญด้านเงินเดือน PayrollSpecialist | รหัสผู้ใช้หรือชื่อผู้ประมวลผลระเบียน. | ||
| คำอธิบาย แอตทริบิวต์นี้บันทึกตัวตนของผู้ดูแลระบบหรือผู้เชี่ยวชาญด้านเงินเดือนที่รับผิดชอบขั้นตอนที่ต้องทำด้วยตนเองหรือการอนุมัติ เป็นแอตทริบิวต์หลักของแดชบอร์ด 'ปริมาณงานและผลงานของผู้เชี่ยวชาญ' ซึ่งช่วยวิเคราะห์การกระจายงานและประสิทธิภาพการทำงานของแต่ละคน ข้อมูลนี้มาจากฟิลด์ เหตุผลที่สำคัญ จำเป็นต่อการกระจายภาระงานให้สมดุลและระบุคอขวดที่เกิดจากบุคลากรในกระบวนการ. แหล่งข้อมูล ฟิลด์ระบบ (SY-UNAME) ที่บันทึกใน CDHDR หรือ Workflow Actor ID. ตัวอย่าง JSMITHKMILLERSYSTEM | |||
| ยอดเงินเดือนก่อนหักรายการ GrossPayAmount | ยอดเงินเดือนรวมก่อนหักรายการที่คำนวณได้สำหรับระเบียนนี้. | ||
| คำอธิบาย แอตทริบิวต์นี้แสดงมูลค่าเงินเดือนรวมก่อนหักรายการทั้งหมด เป็นตัวชี้วัดพื้นฐานสำหรับตรวจสอบข้อมูลทางการเงิน และใช้วิเคราะห์ความสัมพันธ์ระหว่างการจ่ายเงินมูลค่าสูงกับการตรวจสอบที่เข้มงวดขึ้นหรือระยะเวลาอนุมัติที่นานขึ้น ดึงข้อมูลจากตารางผลลัพธ์เงินเดือน (RT) โดยทั่วไปจะใช้ประเภทค่าจ้างที่ระบุยอดรวมก่อนหักรายการ เช่น /101 ข้อมูลนี้ช่วยวิเคราะห์ 'ความถูกต้องของการคำนวณสวัสดิการและภาษี' โดยใช้เป็นฐานในการคำนวณ. เหตุผลที่สำคัญ ช่วยวิเคราะห์พฤติกรรมของกระบวนการตามมูลค่าการจ่ายเงิน เช่น การจ่ายเงินจำนวนมากใช้เวลาอนุมัตินานกว่าหรือไม่. แหล่งข้อมูล ตารางผลลัพธ์เงินเดือน (RT), ประเภทค่าจ้าง /101 หรือรายการที่คล้ายกัน. ตัวอย่าง 5000.002500.5010500.00 | |||
| รอบการจ่ายเงินเดือน PayPeriod | หมายเลขรอบภายในปีงบประมาณ. | ||
| คำอธิบาย แอตทริบิวต์นี้ระบุหมายเลขลำดับของรอบการจ่ายเงินเดือน เช่น 01 สำหรับเดือนมกราคมหรือรอบจ่ายทุกสองสัปดาห์รอบแรก ช่วยให้นักวิเคราะห์ติดตามแนวโน้มประสิทธิภาพตามเวลาและระบุช่วงที่มีปริมาณงานมากตามฤดูกาล ข้อมูลนี้มาจาก เหตุผลที่สำคัญ ช่วยวิเคราะห์แนวโน้มและระบุคอขวดตามฤดูกาลในช่วงต่าง ๆ ของปี. แหล่งข้อมูล ตาราง PA0001 หรือคลัสเตอร์ผลลัพธ์เงินเดือน (RGDIR) ฟิลด์ PABRP. ตัวอย่าง 01122652 | |||
| ศูนย์ต้นทุน CostCenter | ศูนย์ต้นทุนที่เชื่อมโยงกับพนักงาน. | ||
| คำอธิบาย ศูนย์ต้นทุนระบุฝ่ายหรือหน่วยงานทางการเงินที่รับการจัดสรรต้นทุนของพนักงาน แดชบอร์ด 'คอขวดในการอนุมัติใบบันทึกเวลาทำงาน' ใช้ข้อมูลนี้แทนฝ่ายงาน เพื่อช่วยระบุหน่วยงานที่ทำให้รอบการจ่ายเงินเดือนล่าช้า ข้อมูลอยู่ใน Infotype การกำหนดหน่วยงาน (PA0001) ที่ฟิลด์ เหตุผลที่สำคัญ ช่วยเจาะดูข้อมูลตามโครงสร้างองค์กร เพื่อระบุฝ่ายที่ทำให้เกิดความล่าช้าหรือต้องทำงานซ้ำ. แหล่งข้อมูล ตาราง PA0001 ฟิลด์ KOSTL. ตัวอย่าง CC-1000 การเงินCC-2000 ไอทีCC-3000 ฝ่ายขาย | |||
| กำหนดเวลาประมวลผลตาม SLA SLAProcessingDeadline | เวลาที่กำหนดให้การประมวลผลเงินเดือนเสร็จสิ้น. | ||
| คำอธิบาย แอตทริบิวต์นี้ระบุกำหนดเวลาภายในหรือภายนอกสำหรับปิดการประมวลผลเงินเดือน เพื่อให้จ่ายเงินได้ตรงเวลา ใช้คำนวณ KPI 'อัตราการปฏิบัติตาม SLA' โดยเปรียบเทียบกับเวลาจริงที่ 'ดำเนินการจ่ายเงินแล้ว' แม้จะไม่ใช่ฟิลด์มาตรฐานในตาราง SAP เสมอไป แต่มักจัดเก็บไว้ในตารางควบคุมที่กำหนดเอง หรือกำหนดตามปฏิทินการจ่ายเงินเดือน เช่น 2 วันก่อนวันจ่ายเงิน สำหรับโมเดลข้อมูลนี้ มักคำนวณจากวันจ่ายเงินลบด้วยจำนวนวันเผื่อที่กำหนดไว้. เหตุผลที่สำคัญ ใช้เป็นเกณฑ์อ้างอิงเพื่อประเมินความตรงต่อเวลาและการปฏิบัติตาม SLA. แหล่งข้อมูล คำนวณจากวันจ่ายเงิน (T549S) ลบด้วยจำนวนวันประมวลผลที่ตั้งค่าไว้. ตัวอย่าง 2023-10-28T17:00:00Z2023-11-28T17:00:00Z | |||
| เขตกำกับดูแลภาษี TaxJurisdiction | เขตหรือหน่วยงานภาษีที่ใช้กับพนักงาน. | ||
| คำอธิบาย แอตทริบิวต์นี้ระบุหน่วยงานหรือเขตภาษีที่กำกับดูแลระเบียนเงินเดือน เช่น รัฐ จังหวัด หรือแคนตัน จำเป็นสำหรับแดชบอร์ด 'ข้อยกเว้นจากการตรวจสอบและความเสี่ยงด้านการปฏิบัติตามข้อกำหนด' เพื่อระบุตำแหน่งที่ปัญหาด้านการปฏิบัติตามข้อกำหนดเกิดขึ้น ใน SAP US Payroll ใช้ฟิลด์ เหตุผลที่สำคัญ ช่วยแบ่งกลุ่มความเสี่ยงด้านการปฏิบัติตามข้อกำหนดและข้อยกเว้นจากการตรวจสอบตามเขตกำกับดูแล. แหล่งข้อมูล ตาราง PA0001 หรือ PA0207/PA0208 ฟิลด์ TXJCD. ตัวอย่าง CANYTXNRW | |||
| จำนวนครั้งที่ทำงานซ้ำ ReworkCount | จำนวนครั้งที่ดำเนินการแก้ไข. | ||
| คำอธิบาย ตัวชี้วัดที่คำนวณนี้นับจำนวนครั้งที่กิจกรรม 'ดำเนินการแก้ไขข้อมูลแล้ว' ปรากฏในประวัติเคส เป็นตัววัดโดยตรงของความไม่มีประสิทธิภาพในกระบวนการ และใช้ประกอบแดชบอร์ด 'อัตราการแก้ไขด้วยตนเองและการทำงานซ้ำ' หากมีการทำงานซ้ำหลายครั้ง มักแสดงว่าคุณภาพข้อมูลมีปัญหาต่อเนื่อง หรือเคสมีความซับซ้อนจนไม่ผ่านการตรวจสอบในครั้งแรก. เหตุผลที่สำคัญ ช่วยวัดปริมาณงานที่เสียไปกับการแก้ข้อผิดพลาด และใช้สนับสนุนการลงทุนเพื่อยกระดับคุณภาพข้อมูล. แหล่งข้อมูล คำนวณโดยนับกิจกรรม 'ดำเนินการแก้ไขข้อมูลแล้ว' ของแต่ละ CaseId. ตัวอย่าง 013 | |||
| ตัวบ่งชี้ข้อยกเว้นจากการตรวจสอบ AuditExceptionFlag | ตัวบ่งชี้ว่ามีข้อยกเว้นจากการตรวจสอบเกิดขึ้นหรือไม่. | ||
| คำอธิบาย แอตทริบิวต์นี้ระบุเคสที่กฎการตรวจสอบแจ้งข้อยกเว้นหรือคำเตือนระหว่างการจำลองหรือคำนวณเงินเดือน เป็นข้อมูลหลักสำหรับ KPI 'ความถี่ของข้อยกเว้นจากการตรวจสอบ' ข้อมูลมักมาจากบันทึกเงินเดือนหรือตารางข้อความแสดงข้อผิดพลาดเฉพาะ (FEHLER) หากค่าเป็น true แสดงว่าเส้นทางกระบวนการมีขั้นตอนจัดการข้อยกเว้น. เหตุผลที่สำคัญ ช่วยชี้ให้เห็นปัญหาคุณภาพข้อมูลและความจำเป็นในการดำเนินการด้วยตนเอง. แหล่งข้อมูล ได้จากการตรวจพบข้อความแสดงข้อผิดพลาดในบันทึกเงินเดือนหรือรหัสสถานะที่เกี่ยวข้อง. ตัวอย่าง truefalse | |||
| นิติบุคคล LegalEntity | รหัสบริษัทหรือนิติบุคคลของพนักงาน. | ||
| คำอธิบาย แอตทริบิวต์นี้ระบุนิติบุคคล (Company Code) ที่เชื่อมโยงกับระเบียนเงินเดือน ช่วยจัดทำรายงานทางการเงินและวิเคราะห์ประสิทธิภาพการจ่ายเงินเดือนของบริษัทย่อยหรือนิติบุคคลต่าง ๆ ข้อมูลมาจากฟิลด์ เหตุผลที่สำคัญ ช่วยเปรียบเทียบผลการดำเนินงานระหว่างบริษัทและวิเคราะห์การจัดสรรทางการเงิน. แหล่งข้อมูล ตาราง PA0001 ฟิลด์ BUKRS. ตัวอย่าง US01DE011000 | |||
กิจกรรมการประมวลผลเงินเดือน
| กิจกรรม | คำอธิบาย | ||
|---|---|---|---|
| คำนวณค่าจ้างรวมแล้ว | การคำนวณสคีมาเงินเดือนรวมสำเร็จ ในการประมวลผลมาตรฐาน เหตุการณ์นี้เกิดขึ้นเมื่อโปรแกรมคำนวณเงินเดือนเขียนข้อมูลลงคลัสเตอร์ PCL2. | ||
| เหตุผลที่สำคัญ เป็นหมุดหมายสำคัญที่ยืนยันว่าระบบรวมข้อมูลเวลาทำงานและอัตราค่าจ้างได้สำเร็จ หากล่าช้าจะกระทบประสิทธิภาพการประมวลผลจากยอดก่อนหักเป็นยอดสุทธิ. แหล่งข้อมูล คลัสเตอร์ PCL2 (ผลการประมวลผลเงินเดือน) โดยเฉพาะเวลาประทับในตารางไดเรกทอรี (RGDIR) สำหรับ 'For-Period'. บันทึก บันทึกเมื่อมีการเขียนหมายเลขลำดับใหม่ลงในคลัสเตอร์เงินเดือน ประเภทเหตุการณ์ explicit | |||
| จ่ายเงินแล้ว | การดำเนินการจ่ายเงินเสร็จสมบูรณ์ โดยทั่วไปยืนยันจากธนาคารหรือเมื่อการประมวลผลการจ่ายเงิน F110 เสร็จสิ้น. | ||
| เหตุผลที่สำคัญ เป็นเวลาสิ้นสุดหลักสำหรับอัตราการปฏิบัติตาม SLA และใช้ระบุว่าพนักงานได้รับเงินตรงเวลาหรือไม่. แหล่งข้อมูล วันที่และเวลาจากตารางการประมวลผลการจ่ายเงิน (REGUH) หรืออนุมานจาก Value Date. บันทึก บันทึกเมื่อสถานะรอบจ่ายเงินเปลี่ยนเป็น Posted/Complete ประเภทเหตุการณ์ explicit | |||
| ดำเนินการจำลองเงินเดือนแล้ว | การทดลองประมวลผลด้วยโปรแกรมคำนวณเงินเดือนเพื่อค้นหาข้อผิดพลาด โดยไม่บันทึกผลลงฐานข้อมูล เป็นขั้นตอนสำคัญในช่วงตรวจสอบของ PCC. | ||
| เหตุผลที่สำคัญ จำเป็นต่อการคำนวณอัตราการคำนวณถูกต้องตั้งแต่ครั้งแรก การจำลองซ้ำบ่งชี้ว่าคุณภาพข้อมูลอาจมีปัญหา. แหล่งข้อมูล บันทึกอินสแตนซ์ขั้นตอนของ Payroll Control Center (PYC_D_STEP_INST) โดยประเภทขั้นตอนเป็น Simulation. บันทึก บันทึกเมื่อสถานะขั้นตอน Simulation ของ PCC เปลี่ยนเป็น COMPLETED ประเภทเหตุการณ์ explicit | |||
| ยื่นภาษีเสร็จแล้ว | การสร้างไฟล์รายงานภาษี เช่น PU19 ในสหรัฐฯ หรือการส่งไฟล์ให้ผู้ให้บริการยื่นภาษีภายนอก. | ||
| เหตุผลที่สำคัญ ช่วยให้เป็นไปตามข้อกำหนดทางกฎหมาย และติดตามขั้นตอนสุดท้ายด้านการปฏิบัติตามข้อกำหนดในลำดับงาน. แหล่งข้อมูล บันทึกจาก Tax Reporter Log Manager หรือ B2A (Business to Administration) Manager ที่ระบุว่าสร้างไฟล์สำเร็จ. บันทึก บันทึกเมื่อการประมวลผล Tax Reporter เสร็จสมบูรณ์ ประเภทเหตุการณ์ explicit | |||
| เริ่มกระบวนการเงินเดือนแล้ว | การสร้างอินสแตนซ์กระบวนการเงินเดือนใน Payroll Control Center (PCC) ซึ่งเป็นจุดเริ่มต้นอย่างเป็นทางการของรอบเงินเดือนสำหรับพื้นที่เงินเดือนที่ระบุ. | ||
| เหตุผลที่สำคัญ กำหนดเวลาเริ่มต้นสำหรับระยะเวลารอบเงินเดือนตั้งแต่ต้นจนจบ และระบุขอบเขตพนักงานที่จะประมวลผล. แหล่งข้อมูล ตาราง Payroll Control Center เช่น PYC_D_PY_PROC_INST ซึ่งติดตามการสร้างรหัสกระบวนการใหม่. บันทึก บันทึกเมื่อสร้างอินสแตนซ์กระบวนการ PCC ประเภทเหตุการณ์ explicit | |||
| ส่งใบบันทึกเวลาทำงานแล้ว | เหตุการณ์ที่พนักงานหรือผู้จัดการส่งข้อมูลเวลาทำงานสำหรับรอบจ่ายเงิน ระบบบันทึกเหตุการณ์นี้จากบันทึกคำขอในเวิร์กโฟลว์ของโมดูล Employee Central ที่เชื่อมกับ ECP. | ||
| เหตุผลที่สำคัญ เป็นจุดเริ่มต้นของช่วงรวบรวมข้อมูล หากล่าช้า ผลกระทบจะส่งต่อไปยังขั้นตอนถัดไปและบีบเวลาที่มีสำหรับประมวลผลเงินเดือน. แหล่งข้อมูล ตารางคำขอเวิร์กโฟลว์ของ Employee Central (WfRequest) โดยกรองหมวด Time Sheet หรือ Time Off. บันทึก บันทึกเมื่อสถานะเวิร์กโฟลว์เปลี่ยนเป็น SUBMITTED ประเภทเหตุการณ์ explicit | |||
| สร้างไฟล์โอนเงินผ่านธนาคารแล้ว | การสร้างไฟล์ Preliminary Data Medium Exchange (pre-DME) หรือไฟล์ DME ฉบับสมบูรณ์ ซึ่งมีคำสั่งจ่ายเงินสำหรับธนาคาร. | ||
| เหตุผลที่สำคัญ ติดตามการทำงานของระบบอัตโนมัติสำหรับการโอนเงินผ่านธนาคาร หากสร้างไฟล์ไม่สำเร็จถือเป็นการหยุดชะงักที่สำคัญของกระบวนการ. แหล่งข้อมูล บันทึกการทำงานของ DME / Payment Medium Workbench (PMW) ซึ่งมักจัดเก็บใน TemSe หรือตารางการประมวลผลการจ่ายเงินเฉพาะ (ReguH/ReguP). บันทึก บันทึกเมื่อรอบจ่ายเงิน (F110/RPCIPE) สร้างผลลัพธ์ ประเภทเหตุการณ์ explicit | |||
| อนุมัติบันทึกเงินเดือนแล้ว | การอนุมัติผลการประมวลผลเงินเดือนอย่างเป็นทางการสำหรับพนักงานหรือกลุ่มเงินเดือน โดยเกิดขึ้นในขั้นตอน 'Monitoring' หรือ 'Sign Off' ของ PCC. | ||
| เหตุผลที่สำคัญ เป็นจุดสิ้นสุดของช่วงคำนวณและตรวจสอบ และเป็นการอนุมัติให้จ่ายเงิน สำคัญต่อการวิเคราะห์ปริมาณงานที่ผู้เชี่ยวชาญดำเนินการได้. แหล่งข้อมูล บันทึกอินสแตนซ์ขั้นตอนของ Payroll Control Center (PYC_D_STEP_INST) สำหรับขั้นตอน Approval หรือ Confirmation. บันทึก บันทึกเมื่อสถานะขั้นตอน Approval ของ PCC เปลี่ยนเป็น COMPLETED ประเภทเหตุการณ์ explicit | |||
| อนุมัติใบบันทึกเวลาทำงานแล้ว | การอนุมัติข้อมูลเวลาทำงานอย่างเป็นทางการโดยผู้จัดการหรือผู้ดูแลระบบ การเปลี่ยนสถานะนี้ยืนยันว่าข้อมูลพร้อมส่งต่อไปยังระบบประมวลผลเงินเดือน. | ||
| เหตุผลที่สำคัญ ใช้คำนวณ KPI ระยะเวลารออนุมัติใบบันทึกเวลาทำงาน คอขวดในขั้นตอนนี้อาจบ่งชี้ว่าผู้จัดการอนุมัติล่าช้าหรือมีลำดับชั้นการอนุมัติซับซ้อน. แหล่งข้อมูล ตารางคำขอเวิร์กโฟลว์ของ Employee Central (WfRequest) โดยกรองสถานะ COMPLETED หรือ APPROVED. บันทึก บันทึกเมื่อสถานะเวิร์กโฟลว์เปลี่ยนเป็น APPROVED ประเภทเหตุการณ์ explicit | |||
| แก้ไขข้อมูลแล้ว | การเปลี่ยนแปลงข้อมูลหลักหรือข้อมูลเวลาทำงานเพื่อตอบสนองต่อข้อยกเว้นจากการตรวจสอบ แสดงถึงงานที่ต้องทำซ้ำเพื่อแก้การแจ้งเตือนเงินเดือน. | ||
| เหตุผลที่สำคัญ ติดตามอัตราการแก้ไขด้วยตนเองและการทำงานซ้ำ กิจกรรมนี้เป็นสาเหตุหลักที่ทำให้กระบวนการไม่มีประสิทธิภาพ. แหล่งข้อมูล อนุมานจากการเชื่อมเวลาของการแจ้งเตือน PCC กับการเปลี่ยนแปลงในบันทึกการตรวจสอบ (PCL4) ที่เกิดขึ้นภายหลังสำหรับพนักงานคนเดียวกัน ก่อนปิดการแจ้งเตือน. บันทึก ระบุการปรับปรุงข้อมูลหลักที่เกิดขึ้นขณะที่การแจ้งเตือน PCC ยังเปิดอยู่ ประเภทเหตุการณ์ inferred | |||
| แจ้งข้อยกเว้นจากการตรวจสอบแล้ว | การสร้างการแจ้งเตือนจากการตรวจสอบนโยบายของ Payroll Control Center เพื่อระบุข้อมูลที่ไม่สอดคล้องกันหรือความเสี่ยงด้านการปฏิบัติตามข้อกำหนด. | ||
| เหตุผลที่สำคัญ ใช้กับแดชบอร์ดความถี่ของข้อยกเว้นจากการตรวจสอบและความเสี่ยงด้านการปฏิบัติตามข้อกำหนดโดยตรง หากมีจำนวนมากอาจบ่งชี้ว่าคุณภาพข้อมูลในขั้นตอนก่อนหน้ามีปัญหา. แหล่งข้อมูล ตารางการแจ้งเตือนของ Payroll Control Center (PYC_D_ALERT) ซึ่งเชื่อมรหัสข้อผิดพลาดแต่ละรายการกับบันทึกพนักงาน. บันทึก บันทึกเมื่อมีการสร้างรายการใหม่ในตารางการแจ้งเตือนของ PCC ประเภทเหตุการณ์ explicit | |||
| ใช้การหักเงินสวัสดิการแล้ว | ขั้นตอนเฉพาะในสคีมาการคำนวณที่ประมวลผลกฎสวัสดิการ แม้จะเป็นส่วนหนึ่งของการประมวลผลหลัก แต่การแยกวิเคราะห์ขั้นตอนนี้ช่วยระบุข้อผิดพลาดในการตั้งค่าได้. | ||
| เหตุผลที่สำคัญ ใช้วิเคราะห์ความถูกต้องของการคำนวณสวัสดิการและภาษี และช่วยตรวจสอบปัญหาความคลาดเคลื่อนของกฎการหักเงินที่ซับซ้อน. แหล่งข้อมูล อนุมานจากการมี V0 split ในผลการประมวลผลเงินเดือน หรือจากรายการบันทึกเฉพาะ หากเปิดการบันทึกรายละเอียดไว้ ซึ่งพบไม่บ่อยในระบบใช้งานจริง. บันทึก เกิดขึ้นพร้อมกับการคำนวณค่าจ้างรวม แต่แยกเป็นคนละแนวคิดเพื่อใช้ในการวิเคราะห์ ประเภทเหตุการณ์ inferred | |||
| นำเข้าข้อมูลค่าตอบแทนจูงใจแล้ว | การนำเข้าข้อมูลค่าตอบแทนที่ไม่ใช่รายการมาตรฐาน เช่น โบนัสหรือค่าคอมมิชชัน เข้าสู่ระบบเงินเดือน โดยทั่วไปจะโหลดข้อมูลลง Infotypes 0015 หรือ 2010. | ||
| เหตุผลที่สำคัญ การนำเข้าล่าช้าทำให้คำนวณค่าจ้างรวมได้ไม่ถูกต้อง การวิเคราะห์ขั้นตอนนี้ช่วยปรับระยะเวลานำเข้าข้อมูลค่าตอบแทนจูงใจให้เหมาะสม. แหล่งข้อมูล บันทึกการตรวจสอบ (PCL4 หรือเทียบเท่า) ที่แสดงการสร้างรายการใน Infotype 0015 (Additional Payments) หรือ 2010 (Employee Remuneration Info). บันทึก เปรียบเทียบเวลาที่สร้าง Infotype กับบันทึกงานนำเข้าข้อมูล ประเภทเหตุการณ์ inferred | |||
| เผยแพร่สลิปเงินเดือนแล้ว | การเผยแพร่ใบแจ้งค่าตอบแทนให้พนักงานดูผ่านบริการ Self-Service (ESS). | ||
| เหตุผลที่สำคัญ ใช้วัดผลการปฏิบัติตาม SLA ในการส่งมอบสลิปเงินเดือน หากล่าช้าจะมีการส่งคำขอไปยังฝ่ายช่วยเหลือ. แหล่งข้อมูล อนุมานจาก 'Print Date' หรือการตั้งค่าวันที่พร้อมใช้งานในบันทึกบริการ mashup ของ Pay Slip. บันทึก คำนวณจากวันที่จ่ายเงิน + ระยะเวลาล่าช้าตามการตั้งค่าระบบ ประเภทเหตุการณ์ inferred | |||
คู่มือการดึงข้อมูล
ขั้นตอน
- ระบุพื้นที่เงินเดือนเป้าหมายและพารามิเตอร์งวดที่จะดึงข้อมูล โดยข้อมูลหลักจะมาจากตาราง Payroll Control Center (PCC) (PYC_*) และไดเรกทอรี payroll cluster (HRPY_RGDIR).
- เปิด SQL client หรือ SAP HANA Studio ที่เชื่อมต่อกับสคีมาส่วนหลังของ SAP SuccessFactors Employee Central Payroll (ECP).
- เรียกใช้สคริปต์ดึงข้อมูลในส่วน Query สคริปต์นี้รวบรวมข้อมูลจากตารางข้อมูลหลัก ผลการประมวลผลเงินเดือน และบันทึกการตรวจสอบ PCC.
- จับคู่กิจกรรม 'ส่งใบบันทึกเวลาทำงาน' และ 'อนุมัติใบบันทึกเวลาทำงาน' เนื่องจาก ECP มักรับข้อมูลนี้จาก Employee Central ให้ใช้เวลาที่สร้างและแก้ไขล่าสุดในตาราง PA2001 หรือในตารางเชื่อมต่อเวลาพิเศษ เช่น PTREQ_HEADER หากมี.
- ดึงข้อมูล 'นำเข้าข้อมูลค่าตอบแทนจูงใจ' โดยค้นหา Infotypes 0015 (การจ่ายเงินเพิ่มเติม) และ 2010 (ข้อมูลค่าตอบแทนพนักงาน) สำหรับรายการที่สร้างภายในงวดจ่ายเงินเป้าหมาย.
- ดึงขั้นตอนกระบวนการ PCC จากตาราง PYC_D_PYP (อินสแตนซ์กระบวนการ) และ PYC_D_BINST (อินสแตนซ์ขั้นตอน) เพื่อบันทึก 'เริ่มกระบวนการจ่ายเงินเดือน', 'ดำเนินการจำลองเงินเดือน', 'อนุมัติรายการเงินเดือน' และ 'เผยแพร่สลิปเงินเดือน'.
- ค้นหาตาราง PYC_D_ALERT เพื่อระบุเหตุการณ์ 'แจ้งข้อยกเว้นจากการตรวจสอบ' รายการเหล่านี้เชื่อมโยงพนักงานแต่ละคนกับข้อผิดพลาดจากการตรวจสอบที่พบในขั้นตอนตรวจสอบ PCC.
- สร้างเหตุการณ์ 'แก้ไขข้อมูล' โดยเชื่อมตาราง SAP Change Document Header (CDHDR) กับ Infotypes ที่เกี่ยวข้องกับเงินเดือน เช่น 0008, 0015 และ 2001 ในช่วงเวลาประมวลผลเงินเดือน.
- ใช้ตาราง HRPY_RGDIR เพื่อระบุเวลาที่แน่นอนของเหตุการณ์ 'คำนวณค่าจ้างรวม' สร้างเหตุการณ์ 'หักเงินสวัสดิการ' โดยใช้เวลาเดียวกัน เนื่องจากเกิดขึ้นพร้อมกันระหว่างการประมวลผล schema.
- เชื่อมข้อมูลการเงินจากตาราง REGUH (ข้อมูลการชำระเงิน) และ REGUT (การจัดการ DME) เพื่อบันทึก 'สร้างไฟล์โอนเงินผ่านธนาคาร' และ 'ดำเนินการจ่ายเงิน'.
- ปรับคอลัมน์ 'PayrollRecord' ให้เป็นไปตามรูปแบบ [EmployeeID]-[Period]-[Year] อย่างเคร่งครัด เพื่อให้ Case ID ไม่ซ้ำกัน.
- ส่งออกชุดข้อมูลสุดท้ายเป็นไฟล์ CSV โดยตรวจสอบให้ส่วนหัวตรงกับแอตทริบิวต์ที่กำหนดไว้ แล้วอัปโหลดไปยัง ProcessMind.
การกำหนดค่า
- ช่วงเวลา: ตั้งค่าการดึงข้อมูลให้ครอบคลุมช่วงย้อนหลัง 6 ถึง 12 เดือน เนื่องจากกระบวนการจ่ายเงินเดือนเป็นรอบ ช่วงนี้จึงมีข้อมูลที่หลากหลายเพียงพอสำหรับรอบปกติและรอบนอกกำหนด.
- พื้นที่เงินเดือน (ABKRS): กรองตามพื้นที่เงินเดือนที่ต้องการ เช่น รายเดือนในสหรัฐฯ หรือรายสัปดาห์ในเยอรมนี เพื่อให้เปรียบเทียบรอบกระบวนการที่คล้ายกัน.
- ภาษา: ตรวจสอบให้ดึงคำอธิบายกิจกรรมและขั้นตอนกระบวนการเป็นภาษาหลักของระบบ เช่น SPRAS = 'E'.
- รหัสกระบวนการ PCC: ระบุรหัส Process Definition (PYP_ID) ที่ใช้ในการตั้งค่า PCC สำหรับ 'การติดตาม', 'การผลิต' และ 'นอกงวด' เพื่อกรองขั้นตอนที่เกี่ยวข้อง.
- สกุลเงิน: ปรับจำนวนเงิน (GrossPayAmount) ให้เป็นสกุลเงินเดียวกัน หากดึงข้อมูลจากการปฏิบัติการเงินเดือนทั่วโลก.
- สิทธิ์การเข้าถึง: ผู้ใช้ฐานข้อมูลต้องมีสิทธิ์อ่านตารางทรัพยากรบุคคล (PA/PY) โดยเฉพาะ Cluster Directory (HRPY_RGDIR) และตาราง PCC (PYC_*).
ตัวอย่างคำค้น sql
/* Activity 1: Time Sheet Submitted */
SELECT
CONCAT(T.PERNR, CONCAT('-', T.PABRJ, T.PABRP)) AS PayrollRecord,
'Time Sheet Submitted' AS Activity,
T.BEGDA AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
T.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
T.PABRP AS PayPeriod,
CASE WHEN T.PABRP LIKE '9%' THEN 'Off-Cycle' ELSE 'Regular' END AS PayCycleFrequency,
0.00 AS GrossPayAmount,
T.UNAME AS PayrollSpecialist,
O.KOSTL AS CostCenter,
'True' AS IsAutomated
FROM PA2001 AS T
LEFT JOIN PA0001 AS O ON T.PERNR = O.PERNR AND O.ENDDA = '99991231'
WHERE T.AEDTM BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 2: Time Sheet Approved */
SELECT
CONCAT(T.PERNR, CONCAT('-', T.PABRJ, T.PABRP)) AS PayrollRecord,
'Time Sheet Approved' AS Activity,
T.AEDTM AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
T.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
T.PABRP AS PayPeriod,
CASE WHEN T.PABRP LIKE '9%' THEN 'Off-Cycle' ELSE 'Regular' END AS PayCycleFrequency,
0.00 AS GrossPayAmount,
T.UNAME AS PayrollSpecialist,
O.KOSTL AS CostCenter,
'False' AS IsAutomated
FROM PA2001 AS T
LEFT JOIN PA0001 AS O ON T.PERNR = O.PERNR AND O.ENDDA = '99991231'
WHERE T.AEDTM BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 3: Incentive Data Imported */
SELECT
CONCAT(I.PERNR, CONCAT('-', I.PABRJ, I.PABRP)) AS PayrollRecord,
'Incentive Data Imported' AS Activity,
I.AEDTM AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
I.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
I.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
I.BETRG AS GrossPayAmount,
I.UNAME AS PayrollSpecialist,
O.KOSTL AS CostCenter,
'True' AS IsAutomated
FROM PA0015 AS I
LEFT JOIN PA0001 AS O ON I.PERNR = O.PERNR AND O.ENDDA = '99991231'
WHERE I.AEDTM BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 4: Payroll Process Initialized */
SELECT
CONCAT('N/A', CONCAT('-', P.PABRJ, P.PABRP)) AS PayrollRecord,
'Payroll Process Initialized' AS Activity,
P.CREATED_TS AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
'ALL' AS PayrollArea,
NULL AS EmployeeType,
P.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
P.CREATED_BY AS PayrollSpecialist,
NULL AS CostCenter,
'False' AS IsAutomated
FROM PYC_D_PYP AS P
WHERE P.CREATED_TS BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 5: Payroll Simulation Executed */
SELECT
CONCAT('N/A', CONCAT('-', S.PABRJ, S.PABRP)) AS PayrollRecord,
'Payroll Simulation Executed' AS Activity,
S.END_TS AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
'ALL' AS PayrollArea,
NULL AS EmployeeType,
S.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
S.EXEC_USER AS PayrollSpecialist,
NULL AS CostCenter,
'True' AS IsAutomated
FROM PYC_D_BINST AS S
JOIN PYC_D_STEP AS D ON S.STEP_ID = D.ID
WHERE D.NAME LIKE '%Simulate%' AND S.END_TS BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 6: Audit Exception Flagged */
SELECT
CONCAT(A.RO_ID, CONCAT('-', P.PABRJ, P.PABRP)) AS PayrollRecord,
'Audit Exception Flagged' AS Activity,
A.CREATED_TS AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
P.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
P.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
'SYSTEM' AS PayrollSpecialist,
NULL AS CostCenter,
'True' AS IsAutomated
FROM PYC_D_ALERT AS A
JOIN PYC_D_PYP AS P ON A.PYP_ID = P.ID
WHERE A.CREATED_TS BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 7: Data Correction Performed */
SELECT
CONCAT(C.OBJECTID, CONCAT('-', P.PABRJ, P.PABRP)) AS PayrollRecord,
'Data Correction Performed' AS Activity,
TO_TIMESTAMP(CONCAT(C.UDATE, C.UTIME)) AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
P.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
P.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
C.USERNAME AS PayrollSpecialist,
NULL AS CostCenter,
'False' AS IsAutomated
FROM CDHDR AS C
JOIN HRPY_RGDIR AS P ON C.OBJECTID = P.PERNR
WHERE C.TCODE IN ('PA30', 'PA40') AND C.UDATE BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 8: Gross Pay Calculated */
SELECT
CONCAT(R.PERNR, CONCAT('-', R.PABRJ, R.PABRP)) AS PayrollRecord,
'Gross Pay Calculated' AS Activity,
TO_TIMESTAMP(CONCAT(R.RUNDT, R.RUNTM)) AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
R.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
R.PABRP AS PayPeriod,
CASE WHEN R.PABRP LIKE '9%' THEN 'Off-Cycle' ELSE 'Regular' END AS PayCycleFrequency,
0.00 AS GrossPayAmount,
R.UNAME AS PayrollSpecialist,
O.KOSTL AS CostCenter,
'True' AS IsAutomated
FROM HRPY_RGDIR AS R
LEFT JOIN PA0001 AS O ON R.PERNR = O.PERNR AND O.ENDDA = '99991231'
WHERE R.RUNDT BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 9: Benefit Deductions Applied */
SELECT
CONCAT(R.PERNR, CONCAT('-', R.PABRJ, R.PABRP)) AS PayrollRecord,
'Benefit Deductions Applied' AS Activity,
ADD_SECONDS(TO_TIMESTAMP(CONCAT(R.RUNDT, R.RUNTM)), 1) AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
R.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
R.PABRP AS PayPeriod,
CASE WHEN R.PABRP LIKE '9%' THEN 'Off-Cycle' ELSE 'Regular' END AS PayCycleFrequency,
0.00 AS GrossPayAmount,
R.UNAME AS PayrollSpecialist,
O.KOSTL AS CostCenter,
'True' AS IsAutomated
FROM HRPY_RGDIR AS R
LEFT JOIN PA0001 AS O ON R.PERNR = O.PERNR AND O.ENDDA = '99991231'
WHERE R.RUNDT BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 10: Payroll Record Approved */
SELECT
CONCAT('N/A', CONCAT('-', S.PABRJ, S.PABRP)) AS PayrollRecord,
'Payroll Record Approved' AS Activity,
S.END_TS AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
'ALL' AS PayrollArea,
NULL AS EmployeeType,
S.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
S.EXEC_USER AS PayrollSpecialist,
NULL AS CostCenter,
'False' AS IsAutomated
FROM PYC_D_BINST AS S
JOIN PYC_D_STEP AS D ON S.STEP_ID = D.ID
WHERE D.NAME LIKE '%Check%' AND S.STATUS = 'OK' AND S.END_TS BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 11: Bank Transfer File Generated */
SELECT
CONCAT(P.PERNR, CONCAT('-', P.PABRJ, P.PABRP)) AS PayrollRecord,
'Bank Transfer File Generated' AS Activity,
TO_TIMESTAMP(CONCAT(T.TSDAT, T.TSTIM)) AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
P.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
P.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
T.USRID AS PayrollSpecialist,
O.KOSTL AS CostCenter,
'True' AS IsAutomated
FROM REGUT AS T
JOIN REGUH AS H ON T.LAUFD = H.LAUFD AND T.LAUFI = H.LAUFI
JOIN HRPY_RGDIR AS P ON H.PERNR = P.PERNR
LEFT JOIN PA0001 AS O ON P.PERNR = O.PERNR AND O.ENDDA = '99991231'
WHERE T.TSDAT BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 12: Payment Executed */
SELECT
CONCAT(P.PERNR, CONCAT('-', P.PABRJ, P.PABRP)) AS PayrollRecord,
'Payment Executed' AS Activity,
TO_TIMESTAMP(CONCAT(H.LAUFD, '120000')) AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
P.ABKRS AS PayrollArea,
'Permanent' AS EmployeeType,
P.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
H.RBETR AS GrossPayAmount,
H.ZNME1 AS PayrollSpecialist,
O.KOSTL AS CostCenter,
'True' AS IsAutomated
FROM REGUH AS H
JOIN HRPY_RGDIR AS P ON H.PERNR = P.PERNR
LEFT JOIN PA0001 AS O ON P.PERNR = O.PERNR AND O.ENDDA = '99991231'
WHERE H.LAUFD BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 13: Pay Slip Published */
SELECT
CONCAT('N/A', CONCAT('-', S.PABRJ, S.PABRP)) AS PayrollRecord,
'Pay Slip Published' AS Activity,
S.END_TS AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
'ALL' AS PayrollArea,
NULL AS EmployeeType,
S.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
S.EXEC_USER AS PayrollSpecialist,
NULL AS CostCenter,
'True' AS IsAutomated
FROM PYC_D_BINST AS S
JOIN PYC_D_STEP AS D ON S.STEP_ID = D.ID
WHERE D.NAME LIKE '%Remuneration%' AND S.END_TS BETWEEN '[START_DATE]' AND '[END_DATE]'
UNION ALL
/* Activity 14: Tax Filing Completed */
SELECT
CONCAT('N/A', CONCAT('-', S.PABRJ, S.PABRP)) AS PayrollRecord,
'Tax Filing Completed' AS Activity,
S.END_TS AS EventTimestamp,
'SAP_ECP' AS SourceSystem,
CURRENT_TIMESTAMP AS LastDataUpdate,
'ALL' AS PayrollArea,
NULL AS EmployeeType,
S.PABRP AS PayPeriod,
'Regular' AS PayCycleFrequency,
0.00 AS GrossPayAmount,
S.EXEC_USER AS PayrollSpecialist,
NULL AS CostCenter,
'True' AS IsAutomated
FROM PYC_D_BINST AS S
JOIN PYC_D_STEP AS D ON S.STEP_ID = D.ID
WHERE D.NAME LIKE '%Tax%' AND S.END_TS BETWEEN '[START_DATE]' AND '[END_DATE]' ขั้นตอน
- เปิด ABAP Editor: เข้าสู่ระบบ SAP SuccessFactors Employee Central Payroll (ECP) ผ่าน SAP GUI แล้วไปที่รหัสธุรกรรม SE38 (ABAP Editor)
- สร้างโปรแกรม: ป้อนชื่อโปรแกรมใหม่ เช่น
Z_PROCESSMINING_PAYROLL_EXTแล้วคลิก สร้าง เลือกประเภท Executable program และ บันทึก เป็น Local Object (Package $TMP) เพื่อทดสอบ - ใส่โค้ด: คัดลอกโค้ด ABAP ทั้งหมดจากส่วน Query ด้านล่าง แล้ววางลงในตัวแก้ไข โดยแทนที่โค้ดเริ่มต้นที่มีอยู่
- ตรวจสอบและเปิดใช้งาน: คลิกปุ่ม ตรวจสอบ (Ctrl+F2) เพื่อตรวจสอบไวยากรณ์ เมื่อสถานะไม่มีข้อผิดพลาด ให้คลิก เปิดใช้งาน (Ctrl+F3)
- เริ่มดึงข้อมูล: กด Direct Processing (F8) เพื่อเรียกใช้รายงาน
- ตั้งค่าการเลือกข้อมูล: ในหน้าจอเลือกข้อมูล ให้ระบุ
Payroll Areaเช่น US, 99 และDate Rangeที่ถูกต้อง เช่น 3 เดือนที่ผ่านมา คุณจะกรองตามPersonnel Numbers(PERNR) เฉพาะรายการเพื่อทดสอบก็ได้ - เรียกใช้การดึงข้อมูล: เรียกใช้รายงาน ระบบจะประมวลผลตาราง HRPY_RGDIR, CATSDB, PA0015 และ REGUH เพื่อสร้างบันทึกเหตุการณ์
- ตรวจสอบผลลัพธ์: รายงานใช้
cl_demo_outputแสดงผลลัพธ์เป็นตารางบนหน้าจอ เพื่อให้ตรวจสอบได้ทันที - ส่งออกข้อมูล: คลิกขวาที่ตารางผลลัพธ์ เลือก Spreadsheet แล้วบันทึกเป็นไฟล์ CSV หรือ Excel
- จัดรูปแบบสำหรับ ProcessMind: เปิดไฟล์ที่ส่งออก ตรวจสอบว่าคอลัมน์
EventTimestampใช้รูปแบบYYYY-MM-DD HH:MM:SSและคอลัมน์PayrollRecordระบุเคสได้ไม่ซ้ำกัน โดยทั่วไปใช้ PERNR-SEQNR - อัปโหลด: นำเข้าไฟล์ CSV ที่จัดเตรียมแล้วไปยัง ProcessMind และจับคู่คอลัมน์กับรหัสเคส กิจกรรม timestamp และแอตทริบิวต์ตามความเหมาะสม.
การกำหนดค่า
- ช่วงวันที่: แนะนำให้ดึงข้อมูลครั้งละ 3 ถึง 6 เดือน เพื่อป้องกันหน่วยความจำหมดเวลาในสภาพแวดล้อม ABAP runtime.
- พื้นที่เงินเดือน: เป็นตัวกรองสำคัญ (ตาราง T549A) ควรดึงข้อมูลทีละพื้นที่เงินเดือน เช่น รายเดือนหรือรายสองสัปดาห์ เพื่อให้กระบวนการมีความสอดคล้องกัน.
- ตารางการตั้งค่า: สคริปต์ใช้
HRPY_RGDIR(Payroll Directory) เป็นตารางหลัก ตรวจสอบว่าผู้ใช้มีสิทธิ์S_TABU_DISสำหรับตารางนี้. - แหล่งข้อมูลเวลา: สคริปต์ตั้งสมมติฐานว่าข้อมูลใบบันทึกเวลาทำงานอยู่ใน
CATSDBหากใช้นาฬิกาบันทึกเวลาจากผู้ให้บริการภายนอกที่เชื่อมต่อกับIT2001หรือIT2010โดยตรงและไม่ได้ใช้ CATS กิจกรรมใบบันทึกเวลาทำงานอาจไม่มีข้อมูล และต้องปรับสคริปต์. - ข้อมูลการจ่ายเงิน: สคริปต์เชื่อมรอบประมวลผลเงินเดือนกับรอบการจ่ายเงินผ่าน
REGUH(ข้อมูลการชำระเงิน) ตรวจสอบว่าได้เรียกใช้รอบจ่ายเงินF110สำหรับงวดที่เลือกแล้ว จึงจะเห็นเหตุการณ์การจ่ายเงิน. - ประสิทธิภาพ: สำหรับระบบที่มีปริมาณข้อมูลสูง (พนักงานมากกว่า 100,000 คน) ให้เปลี่ยนจากคำสั่ง
SELECT *เป็นการดึงข้อมูลด้วย cursor หรือเรียกใช้ในโหมดเบื้องหลัง (F9).
ตัวอย่างคำค้น abap
REPORT Z_PROCESSMINING_PAYROLL_EXT.
TABLES: pernr, hrpy_rgdir, catsdb, pa0015, reguh.
TYPES: BEGIN OF ty_event_log,
payroll_record TYPE string,
activity TYPE string,
event_timestamp TYPE string,
source_system TYPE string,
last_data_update TYPE string,
payroll_area TYPE abkrs,
employee_type TYPE persg,
pay_period TYPE pabrj,
pay_cycle_freq TYPE string,
gross_pay_amount TYPE string,
payroll_specialist TYPE usnam,
cost_center TYPE kostl,
is_automated TYPE string,
END OF ty_event_log.
DATA: gt_output TYPE TABLE OF ty_event_log,
gs_output TYPE ty_event_log,
gt_rgdir TYPE TABLE OF hrpy_rgdir,
gs_rgdir TYPE hrpy_rgdir,
gt_cats TYPE TABLE OF catsdb,
gs_cats TYPE catsdb,
gt_p0015 TYPE TABLE OF pa0015,
gs_p0015 TYPE pa0015,
gt_reguh TYPE TABLE OF reguh,
gs_reguh TYPE reguh,
gv_tstamp TYPE timestamp,
gv_date TYPE d,
gv_time TYPE t,
gv_pernr TYPE pernr_d.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_pernr FOR pernr-pernr,
s_date FOR sy-datum OBLIGATORY.
PARAMETERS: p_abkrs TYPE abkrs OBLIGATORY DEFAULT '99'.
SELECTION-SCREEN END OF BLOCK b1.
START-OF-SELECTION.
" 1. Fetch Payroll Directory (The Core Process Driver)
SELECT * FROM hrpy_rgdir INTO TABLE gt_rgdir
WHERE pernr IN s_pernr
AND fpper LIKE '%'
AND cdate IN s_date.
IF gt_rgdir IS INITIAL.
WRITE: / 'No payroll results found for selection.'.
EXIT.
ENDIF.
SORT gt_rgdir BY pernr seqnr.
" Loop through Payroll Directory to build events
LOOP AT gt_rgdir INTO gs_rgdir.
CLEAR gs_output.
CONCATENATE gs_rgdir-pernr '-' gs_rgdir-seqnr INTO gs_output-payroll_record.
gs_output-source_system = 'SAP_ECP'.
gs_output-last_data_update = sy-datum.
gs_output-payroll_area = p_abkrs.
gs_output-pay_period = gs_rgdir-fpper.
gs_output-payroll_specialist = gs_rgdir-uname.
" --- Activity: Payroll Process Initialized ---
" Derived from the run date start
gs_output-activity = 'Payroll Process Initialized'.
CONCATENATE gs_rgdir-cdate gs_rgdir-ctime INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
" --- Activity: Payroll Simulation Executed ---
IF gs_rgdir-srtza = 'S'. " S = Simulation
gs_output-activity = 'Payroll Simulation Executed'.
CONCATENATE gs_rgdir-cdate gs_rgdir-ctime INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
ENDIF.
" --- Activity: Audit Exception Flagged ---
IF gs_rgdir-void IS NOT INITIAL. " Void indicator means rejected/exception
gs_output-activity = 'Audit Exception Flagged'.
CONCATENATE gs_rgdir-cdate gs_rgdir-ctime INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
" --- Activity: Data Correction Performed ---
" Inferred: If voided, a correction usually follows immediately
gs_output-activity = 'Data Correction Performed'.
" Add 1 hour to simulate reaction time
DATA: lv_corr_time TYPE t.
lv_corr_time = gs_rgdir-ctime + 3600.
CONCATENATE gs_rgdir-cdate lv_corr_time INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'FALSE'.
APPEND gs_output TO gt_output.
ENDIF.
" --- Activity: Gross Pay Calculated ---
IF gs_rgdir-srtza = 'A'. " A = Actual Result
gs_output-activity = 'Gross Pay Calculated'.
CONCATENATE gs_rgdir-cdate gs_rgdir-ctime INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-gross_pay_amount = '1000.00'. " Placeholder: Cluster read required for actual amount
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
" --- Activity: Benefit Deductions Applied ---
" Logically occurs immediately after gross calc
gs_output-activity = 'Benefit Deductions Applied'.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
" --- Activity: Payroll Record Approved ---
" Inferred from successful write of 'A' record
gs_output-activity = 'Payroll Record Approved'.
DATA: lv_appr_time TYPE t.
lv_appr_time = gs_rgdir-ctime + 60. " +1 minute
CONCATENATE gs_rgdir-cdate lv_appr_time INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'FALSE'.
APPEND gs_output TO gt_output.
" --- Activity: Pay Slip Published ---
" Available via ESS usually next day
gs_output-activity = 'Pay Slip Published'.
DATA: lv_slip_date TYPE d.
lv_slip_date = gs_rgdir-cdate + 1.
CONCATENATE lv_slip_date '080000' INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
" --- Activity: Tax Filing Completed ---
" End of period logic
gs_output-activity = 'Tax Filing Completed'.
DATA: lv_tax_date TYPE d.
lv_tax_date = gs_rgdir-paydt.
CONCATENATE lv_tax_date '235959' INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
ENDIF.
ENDLOOP.
" 2. Fetch Time Sheet Data (CATSDB)
" Linking to Payroll Record loosely via Period/Date
SELECT * FROM catsdb INTO TABLE gt_cats
WHERE pernr IN s_pernr
AND workdate IN s_date.
LOOP AT gt_cats INTO gs_cats.
CLEAR gs_output.
CONCATENATE gs_cats-pernr '-00000' INTO gs_output-payroll_record. " Generic mapping
gs_output-payroll_area = p_abkrs.
gs_output-source_system = 'SAP_ECP'.
" --- Activity: Time Sheet Submitted ---
IF gs_cats-status = '20' OR gs_cats-status = '30'.
gs_output-activity = 'Time Sheet Submitted'.
CONCATENATE gs_cats-laudate gs_cats-lautime INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'FALSE'.
APPEND gs_output TO gt_output.
ENDIF.
" --- Activity: Time Sheet Approved ---
IF gs_cats-status = '30'. " 30 = Approved
gs_output-activity = 'Time Sheet Approved'.
CONCATENATE gs_cats-apdat gs_cats-aptime INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'FALSE'.
APPEND gs_output TO gt_output.
ENDIF.
ENDLOOP.
" 3. Fetch Incentive Data (Infotype 0015)
SELECT * FROM pa0015 INTO TABLE gt_p0015
WHERE pernr IN s_pernr
AND begda IN s_date.
LOOP AT gt_p0015 INTO gs_p0015.
CLEAR gs_output.
CONCATENATE gs_p0015-pernr '-00000' INTO gs_output-payroll_record.
gs_output-source_system = 'SAP_ECP'.
gs_output-payroll_area = p_abkrs.
" --- Activity: Incentive Data Imported ---
gs_output-activity = 'Incentive Data Imported'.
CONCATENATE gs_p0015-aedtm '120000' INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'FALSE'.
APPEND gs_output TO gt_output.
ENDLOOP.
" 4. Fetch Payment Data (REGUH)
SELECT * FROM reguh INTO TABLE gt_reguh
WHERE zaldt IN s_date.
LOOP AT gt_reguh INTO gs_reguh.
" Filter for our PERNRs roughly (REGUH does not always have PERNR directly indexable easily in all views)
" For simulation, we map broadly or require join logic. Here assuming simple extraction.
CLEAR gs_output.
CONCATENATE gs_reguh-pernr '-99999' INTO gs_output-payroll_record.
gs_output-source_system = 'SAP_ECP'.
gs_output-payroll_area = p_abkrs.
" --- Activity: Bank Transfer File Generated ---
gs_output-activity = 'Bank Transfer File Generated'.
CONCATENATE gs_reguh-laufd gs_reguh-cpzut INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
" --- Activity: Payment Executed ---
gs_output-activity = 'Payment Executed'.
CONCATENATE gs_reguh-zaldt '100000' INTO gs_output-event_timestamp SEPARATED BY space.
gs_output-is_automated = 'TRUE'.
APPEND gs_output TO gt_output.
ENDLOOP.
" Output Display
cl_demo_output=>display( gt_output ). พร้อมเริ่มต้นหรือยัง?
เริ่มปรับปรุงกระบวนการจ่ายเงินเดือนให้มีประสิทธิภาพยิ่งขึ้น โดยใช้เทมเพลตนี้กับการดึงข้อมูล แนวทางที่เป็นขั้นตอนช่วยให้คุณเปลี่ยนข้อมูลดิบเป็นข้อมูลเชิงลึกที่นำไปใช้ได้อย่างรวดเร็ว.
เพิ่มประสิทธิภาพการประมวลผลเงินเดือนของคุณวันนี้
ร่วมกับบริษัทที่กำลังลดระยะเวลารอบการจ่ายเงินเดือนลง 30% วันนี้.
ไม่ต้องใช้บัตรเครดิต ตั้งค่าเสร็จภายในไม่กี่นาที.