เทมเพลตข้อมูลการวางแผนการผลิต
เทมเพลตข้อมูลการวางแผนการผลิต
- แอตทริบิวต์ที่แนะนำสำหรับวิเคราะห์การวางแผนการผลิต
- กิจกรรมหลักในการวางแผนการผลิตที่ควรติดตาม
- คำแนะนำโดยละเอียดสำหรับดึงข้อมูลจาก SAP S/4HANA
แอตทริบิวต์การวางแผนการผลิต
| ชื่อ | คำอธิบาย | ||
|---|---|---|---|
| กิจกรรม Activity | ชื่อเหตุการณ์หรืองานที่เกิดขึ้น ณ เวลาใดเวลาหนึ่งในกระบวนการวางแผนการผลิต. | ||
| คำอธิบาย แอตทริบิวต์นี้บันทึกขั้นตอนและเหตุการณ์สำคัญในวงจรของใบสั่งผลิต ตัวอย่างเช่น 'สร้างใบสั่งผลิตแล้ว', 'ตรวจสอบความพร้อมของวัสดุแล้ว', 'เริ่มการผลิตแล้ว' และ 'ปิดบัญชีใบสั่งผลิตแล้ว' แต่ละกิจกรรมแสดงการดำเนินการหรือการเปลี่ยนสถานะที่บันทึกไว้ในระบบ การวิเคราะห์ลำดับและความถี่ของกิจกรรมเป็นหัวใจของ process mining ช่วยให้เห็นภาพขั้นตอนการทำงาน ค้นหาจุดที่ต่างจากวิธีปฏิบัติมาตรฐาน และระบุกิจกรรมที่ทำให้เกิดความล่าช้าหรือต้องแก้ไขซ้ำบ่อยครั้ง เช่น 'ปรับแผนการผลิตแล้ว'. เหตุผลที่สำคัญ แอตทริบิวต์นี้กำหนดขั้นตอนของกระบวนการ ช่วยค้นหาและแสดงภาพเวิร์กโฟลว์การผลิตที่เกิดขึ้นจริง รวมถึงรูปแบบที่แตกต่างกัน. แหล่งข้อมูล ได้จากการเปลี่ยนสถานะในตาราง เช่น JEST และ JCDS รหัสธุรกรรมที่ใช้ (เช่น CO01 สำหรับสร้างรายการ) หรือระเบียนการยืนยันเฉพาะใน AFRU. ตัวอย่าง สร้างคำสั่งผลิตอนุมัติคำสั่งผลิตแล้วเริ่มการผลิตบันทึกการยืนยันขั้นตอนสุดท้ายบันทึกรับสินค้าเข้าคลัง | |||
| ใบสั่งผลิต ProductionOrder | รหัสเฉพาะของใบสั่งผลิต ซึ่งใช้เป็นรหัสกรณีหลักสำหรับกระบวนการวางแผนการผลิต. | ||
| คำอธิบาย หมายเลขใบสั่งผลิตเป็นคีย์เฉพาะที่ SAP S/4HANA สร้างขึ้นเพื่อจัดการและติดตามกิจกรรมทั้งหมดที่เกี่ยวข้องกับการผลิตสินค้าตามจำนวนที่กำหนด หมายเลขนี้เชื่อมโยงเหตุการณ์ที่เกี่ยวข้องทั้งหมด ตั้งแต่การวางแผนและการอนุมัติให้เริ่มผลิต ไปจนถึงการดำเนินงานและการชำระบัญชีขั้นสุดท้าย ใน process mining แอตทริบิวต์นี้ใช้จัดกลุ่มเหตุการณ์ที่เกี่ยวข้องให้เป็นกระบวนการเดียวตั้งแต่ต้นจนจบ การวิเคราะห์ตามหมายเลขใบสั่งผลิตช่วยวัด KPI สำคัญ เช่น ระยะเวลารอบการผลิต การทำงานตามกำหนดการ และคอขวดที่กระทบต่อการผลิตแต่ละรอบ. เหตุผลที่สำคัญ แอตทริบิวต์หลักที่เชื่อมโยงทุกขั้นตอนของกระบวนการ ทำให้วิเคราะห์วงจรการผลิตของแต่ละกรณีได้ครบตั้งแต่ต้นจนจบ. แหล่งข้อมูล หมายเลขใบสั่งผลิต ซึ่งโดยทั่วไปพบในตาราง SAP เช่น AFKO (ฟิลด์ AUFNR) และ AFPO. ตัวอย่าง 100056710008341001299 | |||
| เวลาเริ่มต้น StartTime | เวลาที่ระบุว่ากิจกรรมหรือเหตุการณ์เริ่มต้นขึ้นเมื่อใด. | ||
| คำอธิบาย แอตทริบิวต์นี้ระบุวันที่และเวลาของทุกเหตุการณ์ที่บันทึกไว้ในกระบวนการผลิต และเป็นข้อมูลพื้นฐานสำหรับการวิเคราะห์กระบวนการตามเวลา เวลาเริ่มต้นจำเป็นต่อการคำนวณระยะเวลาระหว่างกิจกรรม วัดระยะเวลารอบการผลิตทั้งหมดของใบสั่งผลิต และทำความเข้าใจจังหวะเวลาของเหตุการณ์ นอกจากนี้ยังช่วยวิเคราะห์คอขวด เวลารอ และการทำงานตามกำหนดการ โดยเปรียบเทียบเวลาที่เกิดขึ้นจริงกับวันที่วางแผนไว้. เหตุผลที่สำคัญ ระบุลำดับเวลาของเหตุการณ์ทั้งหมด จึงใช้วิเคราะห์ประสิทธิภาพ ระยะเวลา และคอขวดของกระบวนการได้. แหล่งข้อมูล โดยทั่วไปพบข้อมูลนี้ในตารางเอกสารการเปลี่ยนแปลง (CDHDR/CDPOS) สำหรับการเปลี่ยนสถานะ ตารางการยืนยัน (AFRU) สำหรับขั้นตอนการดำเนินงาน และตารางส่วนหัว (AFKO) สำหรับวันที่สร้าง. ตัวอย่าง 2023-10-26T09:00:00Z2023-10-26T14:30:00Z2023-10-27T08:15:00Z | |||
| ระบบต้นทาง SourceSystem | ระบบที่ใช้ดึงข้อมูลการวางแผนการผลิต. | ||
| คำอธิบาย แอตทริบิวต์นี้ระบุแหล่งที่มาของข้อมูล ซึ่งจำเป็นในสภาพแวดล้อมที่มีระบบเชื่อมต่อกันหลายระบบ สำหรับกระบวนการนี้ โดยทั่วไปจะเป็นอินสแตนซ์ SAP S/4HANA ที่ใช้งาน เมื่อวิเคราะห์ข้อมูลจากหลายแหล่ง การทราบระบบต้นทางช่วยตรวจสอบความถูกต้องของข้อมูลและให้บริบทที่เหมาะสมเมื่อนำข้อมูลมารวมกัน นอกจากนี้ยังเป็นข้อมูลเมตาสำคัญสำหรับการกำกับดูแลและตรวจสอบย้อนกลับข้อมูล. เหตุผลที่สำคัญ เป็นข้อมูลเมตาสำคัญสำหรับการกำกับดูแลข้อมูล ช่วยให้ทราบแหล่งที่มาและบริบทของข้อมูลกระบวนการอย่างชัดเจน. แหล่งข้อมูล โดยทั่วไปจะเพิ่มค่าแบบคงที่นี้ระหว่างการดึงข้อมูล เพื่อระบุ SAP S/4HANA client และรหัสระบบ (SID). ตัวอย่าง S4P_100S4H_PRD_200S4Q_300 | |||
| อัปเดตข้อมูลล่าสุด LastDataUpdate | เวลาที่ระบุว่ามีการรีเฟรชหรือดึงข้อมูลจากระบบต้นทางครั้งล่าสุดเมื่อใด. | ||
| คำอธิบาย แอตทริบิวต์นี้บันทึกวันที่และเวลาที่ดึงข้อมูลครั้งล่าสุด เป็นข้อมูลเมตาสำคัญที่ช่วยให้ผู้ใช้ทราบว่าข้อมูลที่กำลังวิเคราะห์เป็นข้อมูลล่าสุดเพียงใด การทราบเวลาอัปเดตล่าสุดช่วยให้ตีความผลการวิเคราะห์ได้ถูกต้อง และช่วยให้ผู้ใช้รู้ว่ากำลังดูข้อมูลปัจจุบันหรือข้อมูล ณ ช่วงเวลาใดเวลาหนึ่ง ซึ่งมีผลต่อความเกี่ยวข้องของข้อค้นพบและการตัดสินใจที่อิงข้อมูล. เหตุผลที่สำคัญ ช่วยให้ผู้ใช้ทราบว่าข้อมูลเป็นปัจจุบันเพียงใด ซึ่งสำคัญต่อการตัดสินใจทางธุรกิจที่ถูกต้องและเหมาะสม. แหล่งข้อมูล เวลานี้สร้างและเพิ่มระหว่างกระบวนการดึง แปลง และโหลดข้อมูล (ETL). ตัวอย่าง 2024-05-21T02:00:00Z2024-05-22T02:00:00Z2024-05-23T02:00:00Z | |||
| โรงงาน Plant | สถานที่หรือโรงงานที่ดำเนินการผลิตตามใบสั่งผลิต. | ||
| คำอธิบาย โรงงานเป็นหน่วยงานใน SAP ที่ใช้แทนสถานที่หรือโรงงานผลิต ใบสั่งผลิตแต่ละรายการจะกำหนดให้กับโรงงานแห่งหนึ่ง ซึ่งเป็นสถานที่ดำเนินกิจกรรมการผลิต แอตทริบิวต์นี้สำคัญต่อการเปรียบเทียบผลการดำเนินงานระหว่างสถานที่ผลิต เมื่อตัดข้อมูลตามโรงงาน องค์กรจะเปรียบเทียบผลการดำเนินงาน ค้นหาปัญหาหรือแนวปฏิบัติที่ดีของแต่ละแห่ง และทำความเข้าใจความแตกต่างด้านประสิทธิภาพ กำลังการผลิต หรือการปฏิบัติตามมาตรฐานในแต่ละภูมิภาคได้. เหตุผลที่สำคัญ ช่วยเปรียบเทียบผลการดำเนินงานระหว่างสถานที่ผลิต เพื่อค้นหาและแบ่งปันแนวปฏิบัติที่ดี หรือแก้ไขปัญหาเฉพาะของแต่ละแห่ง. แหล่งข้อมูล พบในตารางส่วนหัวใบสั่งผลิต AFKO (ฟิลด์ DWERK). ตัวอย่าง 100017102000 | |||
| วันที่สิ้นสุดตามแผน PlannedEndDate | วันที่กำหนดให้ใบสั่งผลิตเสร็จตามแผนเริ่มต้น. | ||
| คำอธิบาย วันที่สิ้นสุดตามแผนคือวันที่เป้าหมายที่คาดว่ากิจกรรมการผลิตทั้งหมดของใบสั่งผลิตจะเสร็จสิ้น โดยกำหนดวันที่นี้ในขั้นตอนการจัดตารางการผลิต แอตทริบิวต์นี้จำเป็นต่อการวัดว่าการผลิตเป็นไปตามกำหนดการหรือไม่ เมื่อนำวันที่สิ้นสุดตามแผนมาเปรียบเทียบกับเวลาที่เสร็จจริง องค์กรจะคำนวณ KPI อัตราการทำงานตามกำหนดการผลิต และระบุใบสั่งผลิตที่ล่าช้าได้ การวิเคราะห์นี้ช่วยเพิ่มความแม่นยำในการวางแผนและความพึงพอใจของลูกค้า. เหตุผลที่สำคัญ ใช้เป็นเกณฑ์ตั้งต้นในการวัดการทำงานตามกำหนดการ ช่วยประเมินความแม่นยำของการวางแผนและประสิทธิภาพการดำเนินงาน. แหล่งข้อมูล พบในตารางส่วนหัวใบสั่งผลิต AFKO (ฟิลด์ GLTRP). ตัวอย่าง 2023-11-152023-12-012024-01-20 | |||
| ศูนย์งาน WorkCenter | เครื่องจักร กลุ่มเครื่องจักร หรือพื้นที่ประกอบที่รับผิดชอบการปฏิบัติงานแต่ละขั้นตอน. | ||
| คำอธิบาย ศูนย์งานคือหน่วยปฏิบัติงานเฉพาะภายในโรงงานที่ใช้ดำเนินขั้นตอนการผลิต อาจเป็นเครื่องจักรหนึ่งเครื่อง สายการผลิต หรือกลุ่มพนักงาน การวิเคราะห์ข้อมูลกระบวนการตามศูนย์งานช่วยระบุคอขวดด้านกำลังการผลิตและจัดสรรทรัพยากรให้เหมาะสม ช่วยตอบได้ว่าศูนย์งานใดมีงานล้นมือ ศูนย์งานใดใช้กำลังการผลิตไม่เต็มที่ และมักเกิดความล่าช้าตรงจุดใดระหว่างการผลิต ข้อมูลนี้จำเป็นต่อแดชบอร์ดการระบุคอขวดด้านกำลังการผลิต. เหตุผลที่สำคัญ ช่วยระบุเครื่องจักรหรือสายการผลิตที่เป็นคอขวด เพื่อให้ปรับปรุงกำลังการผลิตและการใช้ทรัพยากรได้ตรงจุด. แหล่งข้อมูล พบในข้อมูลการปฏิบัติงานของใบสั่งผลิต ตาราง AFVC (ฟิลด์ ARBPL). ตัวอย่าง WC-ASSEMBLY-01WC-MILLING-05WC-PACKING | |||
| สถานะใบสั่งผลิต OrderStatus | สถานะปัจจุบันของใบสั่งผลิต เช่น สร้างแล้ว อนุมัติให้เริ่มผลิต หรือเสร็จสมบูรณ์ทางเทคนิค. | ||
| คำอธิบาย สถานะใบสั่งผลิตแสดงขั้นตอนปัจจุบันของใบสั่งผลิตในวงจรการทำงาน โดยสรุปสถานะต่างๆ ที่ระบบและผู้ใช้กำหนดให้กับใบสั่งผลิต สถานะที่พบบ่อย ได้แก่ CRTD (สร้างแล้ว), REL (อนุมัติให้เริ่มผลิต), CNF (ยืนยันแล้ว), TECO (เสร็จสมบูรณ์ทางเทคนิค) และ CLSD (ปิดแล้ว) การวิเคราะห์สถานะปัจจุบันของใบสั่งผลิตช่วยให้เข้าใจงานระหว่างดำเนินการ ใน process mining การติดตามการเปลี่ยนสถานะตามเวลาจะสร้างบันทึกกิจกรรม และช่วยให้เห็นรายละเอียดของขั้นตอนการทำงานและเวลาที่ใช้ในแต่ละขั้นตอน. เหตุผลที่สำคัญ แสดงภาพรวมขั้นตอนของใบสั่งผลิตในวงจรการทำงาน และเป็นข้อมูลพื้นฐานสำหรับสร้างลำดับกิจกรรมเพื่อใช้ใน process mining. แหล่งข้อมูล ได้จากสถานะระบบที่จัดเก็บในตาราง JEST ซึ่งเชื่อมโยงผ่านหมายเลขออบเจ็กต์ใน AFKO (ฟิลด์ OBJNR). ตัวอย่าง CRTDRELTECOCLSD | |||
| หมายเลขวัสดุ MaterialNumber | รหัสเฉพาะของสินค้าที่ผลิตตามใบสั่งผลิต. | ||
| คำอธิบาย หมายเลขวัสดุระบุสินค้าที่ใบสั่งผลิตกำหนดให้ผลิต และเชื่อมโยงกระบวนการผลิตกับข้อมูลหลักของวัสดุ ซึ่งรวมถึงรายการวัสดุ (BOM) และข้อมูลเส้นทางการผลิต การวิเคราะห์กระบวนการตามหมายเลขวัสดุช่วยระบุว่าสินค้าบางชนิดมีแนวโน้มล่าช้า ต้องแก้ไขซ้ำ หรือขาดแคลนวัสดุมากกว่าสินค้าอื่นหรือไม่ จากนั้นจึงปรับปรุงกระบวนการให้เหมาะกับสินค้าแต่ละชนิดได้ เช่น ปรับพารามิเตอร์การวางแผนหรือปรับปรุงห่วงโซ่อุปทานของชิ้นส่วนเฉพาะ. เหตุผลที่สำคัญ ใช้กรองและวิเคราะห์ตามสินค้าที่ผลิต เพื่อค้นหาความไม่มีประสิทธิภาพหรือคอขวดที่เกิดกับสินค้าแต่ละชนิด. แหล่งข้อมูล พบในตารางรายการใบสั่งผลิต AFPO (ฟิลด์ MATNR). ตัวอย่าง RM-1001FG-2050SA-3100-B | |||
| ตรงตามกำหนดเวลาหรือไม่ IsOnTime | ธงระบุว่าใบสั่งผลิตเสร็จภายในหรือก่อนวันที่สิ้นสุดตามแผนหรือไม่. | ||
| คำอธิบาย แอตทริบิวต์แบบบูลีนที่คำนวณได้นี้วัดการทำงานตามกำหนดการโดยตรง ด้วยการเปรียบเทียบวันที่เสร็จจริงกับวันที่สิ้นสุดตามแผน ผลลัพธ์จะแสดงอย่างชัดเจนว่าใบสั่งผลิตแต่ละรายการเสร็จตรงเวลาหรือล่าช้า แอตทริบิวต์นี้เป็นพื้นฐานสำหรับ KPI อัตราการทำงานตามกำหนดการผลิต ช่วยให้แบ่งกลุ่มใบสั่งผลิตที่เสร็จตรงเวลากับใบสั่งที่ล่าช้าได้ง่าย และช่วยค้นหาลักษณะหรือเส้นทางกระบวนการที่มักเกี่ยวข้องกับความล่าช้า. เหตุผลที่สำคัญ แสดงผลการทำงานตามกำหนดการของใบสั่งผลิตแต่ละรายการอย่างชัดเจนและเข้าใจง่าย ช่วยวิเคราะห์สาเหตุของความล่าช้า. แหล่งข้อมูล ฟิลด์คำนวณ กำหนดเป็น true หากเวลาของกิจกรรม 'ปิดใบสั่งผลิตทางเทคนิค' น้อยกว่าหรือเท่ากับแอตทริบิวต์ 'วันที่สิ้นสุดตามแผน'. ตัวอย่าง truefalse | |||
| ประเภทใบสั่งผลิต OrderType | การจัดประเภทใบสั่งผลิตที่กำหนดวัตถุประสงค์และควบคุมวิธีดำเนินการ. | ||
| คำอธิบาย ประเภทใบสั่งผลิตเป็นองค์ประกอบการกำหนดค่าหลักใน SAP PP ซึ่งกำหนดวิธีที่ระบบจัดการใบสั่งผลิต โดยควบคุมช่วงหมายเลข การเลือกข้อมูลหลัก พารามิเตอร์การคิดต้นทุน และกฎการชำระบัญชี ตัวอย่างเช่น ใบสั่งผลิตมาตรฐาน ใบสั่งแก้ไขงาน หรือใบสั่งผลิตต้นแบบ การวิเคราะห์กระบวนการตามประเภทใบสั่งผลิตช่วยเปรียบเทียบผลการดำเนินงานและขั้นตอนของกระบวนการผลิตแต่ละประเภท ทำให้เห็นได้ว่าใบสั่งแก้ไขงานใช้เวลานานกว่ามากหรือไม่ หรือใบสั่งบางประเภทมีการปรับแผนบ่อยเป็นพิเศษ ซึ่งช่วยให้ปรับปรุงกระบวนการได้ตรงจุด. เหตุผลที่สำคัญ ช่วยแบ่งการวิเคราะห์ตามวัตถุประสงค์ทางธุรกิจของใบสั่งผลิต และเปรียบเทียบการผลิตมาตรฐาน การแก้ไขงาน และกระบวนการประเภทอื่น. แหล่งข้อมูล พบในตารางส่วนหัวใบสั่งผลิต AFKO (ฟิลด์ AUART). ตัวอย่าง PP01PP03ZP01 | |||
| ปริมาณที่ยืนยันแล้ว TotalConfirmedQuantity | ปริมาณวัสดุรวมที่ยืนยันว่าผลิตได้ตามใบสั่งผลิต. | ||
| คำอธิบาย แอตทริบิวต์นี้แสดงปริมาณสะสมของสินค้าสำเร็จรูปหรือกึ่งสำเร็จรูปที่รายงานผ่านการยืนยันการผลิต ใช้ติดตามความคืบหน้าของใบสั่งผลิตเทียบกับเป้าหมายที่กำหนด การเปรียบเทียบปริมาณที่ยืนยันแล้วกับปริมาณตามแผนช่วยติดตามความคืบหน้าการผลิต และระบุปัญหาผลผลิตหรือความคลาดเคลื่อนได้ เป็นตัวชี้วัดผลผลิตพื้นฐานที่ใช้คำนวณผลการดำเนินงานหลายด้าน รวมถึงอัตราของเสียและประสิทธิภาพ. เหตุผลที่สำคัญ ติดตามผลผลิตจริงของใบสั่งผลิต ซึ่งจำเป็นต่อการติดตามความคืบหน้า คำนวณผลผลิต และระบุความคลาดเคลื่อน. แหล่งข้อมูล รวบรวมจากระเบียนการยืนยันใน AFRU (ฟิลด์ LMNGA สำหรับปริมาณผลผลิต). ตัวอย่าง 9801000501200 | |||
| เป็นงานแก้ไขหรือไม่ IsRework | ธงระบุว่าใบสั่งผลิตมีการแก้ไขงานหรือปรับแผนครั้งสำคัญหลังเริ่มผลิตหรือไม่. | ||
| คำอธิบาย แอตทริบิวต์แบบบูลีนนี้ใช้ระบุใบสั่งผลิตที่มีการแก้ไขหรือเปลี่ยนแผนหลังเริ่มการผลิตแล้ว โดยอาจพิจารณาจากกิจกรรมแก้ไขงานที่ระบุไว้ หรือเหตุการณ์ 'ปรับแผนการผลิตแล้ว' ที่เกิดหลังเหตุการณ์ 'เริ่มการผลิตแล้ว' ธงนี้จำเป็นต่อการคำนวณ KPI อัตราการแก้ไขงานผลิต และใช้กับแดชบอร์ดการแก้ไขงานและการปรับแผนการผลิต ช่วยกรองและวิเคราะห์กรณีที่มีปัญหา เพื่อค้นหาสาเหตุของปัญหาคุณภาพหรือความเบี่ยงเบนของกระบวนการที่ทำให้ต้องเสียค่าใช้จ่ายในการแก้ไขงาน. เหตุผลที่สำคัญ แยกกรณีที่มีการแก้ไขงานออกมา เพื่อวิเคราะห์และลดปัญหาคุณภาพ ความเบี่ยงเบนของกระบวนการ และค่าใช้จ่ายที่เกี่ยวข้องได้ตรงจุด. แหล่งข้อมูล ฟิลด์คำนวณ กำหนดเป็น true หากกิจกรรม 'ปรับแผนการผลิตแล้ว' เกิดหลังจากกิจกรรม 'เริ่มการผลิตแล้ว' ภายในกรณีเดียวกัน หรือมีการใช้ประเภทใบสั่งผลิตสำหรับแก้ไขงานโดยเฉพาะ. ตัวอย่าง truefalse | |||
| ผู้ใช้ User | รหัสผู้ใช้ในระบบที่สร้าง แก้ไข หรือยืนยันเหตุการณ์ของใบสั่งผลิต. | ||
| คำอธิบาย แอตทริบิวต์นี้บันทึกรหัสผู้ใช้ SAP ที่เกี่ยวข้องกับธุรกรรมหรือการเปลี่ยนสถานะ เช่น การอนุมัติใบสั่งผลิตหรือการบันทึกการยืนยัน จึงตรวจสอบย้อนหลังได้ว่าใครดำเนินการในระบบ การวิเคราะห์กิจกรรมตามผู้ใช้ช่วยให้เข้าใจการกระจายภาระงาน ระบุความต้องการฝึกอบรม และตรวจสอบการปฏิบัติตามขั้นตอน ตัวอย่างเช่น ช่วยให้เห็นว่าผู้ใช้บางรายเกี่ยวข้องกับการปรับแผนบ่อยหรือไม่ หรือความล่าช้าเกี่ยวข้องกับทีมใด. เหตุผลที่สำคัญ ช่วยระบุผู้รับผิดชอบและวิเคราะห์ภาระงาน พฤติกรรมของผู้ใช้แต่ละราย และโอกาสในการฝึกอบรม. แหล่งข้อมูล โดยทั่วไปพบในส่วนหัวเอกสารการเปลี่ยนแปลง (CDHDR ฟิลด์ UNAME) หรือระเบียนการยืนยัน (AFRU ฟิลด์ PERNR ซึ่งเป็นหมายเลขบุคลากร). ตัวอย่าง CB9980000021JSMITHPLANNER01 | |||
| ลำดับความสำคัญในการผลิต ProductionPriority | รหัสหรือค่าที่กำหนดให้ใบสั่งผลิตเพื่อระบุความเร่งด่วนหรือความสำคัญ. | ||
| คำอธิบาย ผู้วางแผนและผู้จัดตารางใช้ลำดับความสำคัญในการผลิตเพื่อจัดลำดับใบสั่งผลิต โดยเฉพาะเมื่อทรัพยากรมีจำกัด โดยหลักแล้วควรดำเนินการกับใบสั่งที่มีลำดับความสำคัญสูงก่อนใบสั่งที่มีลำดับความสำคัญต่ำ การวิเคราะห์แอตทริบิวต์นี้ช่วยตรวจสอบว่าหน้างานดำเนินการตามลำดับความสำคัญที่กำหนดไว้หรือไม่ แดชบอร์ดความสอดคล้องของการจัดลำดับความสำคัญในการผลิตจะเปรียบเทียบลำดับการดำเนินงานกับลำดับความสำคัญที่กำหนด เพื่อค้นหาความไม่สอดคล้อง ช่วยให้จัดตารางการผลิตได้เป็นระบบและสอดคล้องกับแผนมากขึ้น. เหตุผลที่สำคัญ ช่วยตรวจสอบว่าการจัดตารางการผลิตเป็นไปตามลำดับความสำคัญทางธุรกิจหรือไม่ เพื่อให้เร่งดำเนินการกับใบสั่งสำคัญตามที่กำหนด. แหล่งข้อมูล มักเป็นฟิลด์ที่กำหนดขึ้นเองหรือคำนวณจากพารามิเตอร์อื่นของใบสั่งผลิต ตำแหน่งที่จัดเก็บขึ้นอยู่กับการกำหนดค่าของระบบ. ตัวอย่าง สูงปานกลางต่ำ15 | |||
| วันที่เริ่มต้นตามแผน PlannedStartDate | วันที่กำหนดให้เริ่มผลิตตามใบสั่งผลิตตามแผนเริ่มต้น. | ||
| คำอธิบาย วันที่เริ่มต้นตามแผนคือวันที่เป้าหมายที่คาดว่าจะเริ่มกิจกรรมการผลิตของใบสั่งผลิต ซึ่งเป็นผลลัพธ์สำคัญจากกระบวนการจัดตารางการผลิต แอตทริบิวต์นี้เป็นเกณฑ์ตั้งต้นสำหรับวิเคราะห์การทำงานตามกำหนดการ เมื่อนำวันที่เริ่มต้นตามแผนมาเปรียบเทียบกับเวลาเริ่มจริง จะช่วยให้เข้าใจความล่าช้าในช่วงต้น เช่น การเตรียมวัสดุหรือการอนุมัติใบสั่งผลิต ซึ่งอาจส่งผลต่อกำหนดการผลิตทั้งหมด. เหตุผลที่สำคัญ ใช้เป็นเกณฑ์ตั้งต้นในการวัดการเริ่มงานตามกำหนดการ ซึ่งจำเป็นต่อการระบุความล่าช้าในขั้นตอนก่อนการผลิต เช่น การอนุมัติใบสั่งผลิตและความพร้อมของวัสดุ. แหล่งข้อมูล พบในตารางส่วนหัวใบสั่งผลิต AFKO (ฟิลด์ GSTRP). ตัวอย่าง 2023-11-102023-11-252024-01-15 | |||
| เวลาสิ้นสุด EndTime | เวลาที่ระบุว่ากิจกรรมหรือเหตุการณ์เสร็จสิ้นเมื่อใด. | ||
| คำอธิบาย แอตทริบิวต์นี้ระบุวันที่และเวลาที่เหตุการณ์แต่ละรายการเสร็จสิ้น เมื่อใช้ร่วมกับเวลาเริ่มต้น จะช่วยระบุระยะเวลาของกิจกรรม เวลาสิ้นสุดจำเป็นต่อการคำนวณเวลาที่ใช้ดำเนินกิจกรรมแต่ละรายการอย่างแม่นยำ ซึ่งเป็นข้อมูลสำคัญสำหรับวิเคราะห์กำลังการผลิตและการใช้ทรัพยากร นอกจากนี้ยังช่วยแยกเวลาทำงานจริงออกจากเวลาว่างหรือเวลารอ ทำให้ระบุคอขวดได้แม่นยำขึ้น. เหตุผลที่สำคัญ ช่วยคำนวณระยะเวลาของแต่ละกิจกรรมได้อย่างแม่นยำ ซึ่งจำเป็นต่อการวิเคราะห์ประสิทธิภาพการใช้ทรัพยากรและระบุคอขวดของกระบวนการ. แหล่งข้อมูล พบในตารางการยืนยัน (AFRU) สำหรับขั้นตอนการดำเนินงาน ส่วนเหตุการณ์อื่นอาจใช้เวลาเดียวกับเวลาเริ่มต้น หากเกิดขึ้นทันที. ตัวอย่าง 2023-10-26T09:45:00Z2023-10-26T15:00:00Z2023-10-27T10:30:00Z | |||
| สถานะความพร้อมของวัสดุ MaterialAvailabilityStatus | ระบุว่ามีวัสดุที่จำเป็นสำหรับใบสั่งผลิตครบหรือไม่. | ||
| คำอธิบาย สถานะนี้แสดงผลการตรวจสอบความพร้อมของวัสดุสำหรับใบสั่งผลิต โดยระบุได้ว่าวัสดุพร้อมครบ ขาดบางรายการ หรือยังไม่ได้ตรวจสอบ สถานะ 'ขาดแคลน' เป็นสัญญาณสำคัญที่อาจทำให้เกิดความล่าช้า แอตทริบิวต์นี้จำเป็นต่อแดชบอร์ดการวิเคราะห์ผลกระทบจากการขาดแคลนวัสดุ ช่วยวัดความล่าช้าที่เกิดจากวัสดุไม่พร้อม โดยเชื่อมโยงสถานะการขาดแคลนกับระยะเวลาตั้งแต่อนุมัติใบสั่งผลิตจนถึงเริ่มผลิต การปรับปรุงตัวชี้วัดนี้ช่วยให้การผลิตดำเนินไปได้ราบรื่นขึ้น. เหตุผลที่สำคัญ ช่วยอธิบายความล่าช้าระหว่างการอนุมัติใบสั่งผลิตกับการเริ่มผลิตโดยตรง และช่วยวัดผลกระทบของปัญหาห่วงโซ่อุปทานต่อการผลิต. แหล่งข้อมูล เป็นสถานะที่มักได้จากสถานะรวมของส่วนประกอบวัสดุ โดยดูได้จากสถานะระบบใน JEST เช่น 'MSPT' (วัสดุขาดแคลน). ตัวอย่าง พร้อมใช้งานขาดแคลนยังไม่ได้ตรวจสอบ | |||
กิจกรรมการวางแผนการผลิต
| กิจกรรม | คำอธิบาย | ||
|---|---|---|---|
| บันทึกการยืนยันขั้นตอนสุดท้าย | กิจกรรมนี้บันทึกการยืนยันงานปฏิบัติการขั้นสุดท้ายในเส้นทางการผลิตของคำสั่งผลิต แสดงว่าทำขั้นตอนการผลิตที่วางแผนไว้ครบแล้วในพื้นที่การผลิต. | ||
| เหตุผลที่สำคัญ การยืนยันขั้นสุดท้ายเป็นหมุดหมายสำคัญที่แสดงว่างานผลิตจริงเสร็จสิ้นแล้ว มักใช้เป็นจุดสิ้นสุดที่แม่นยำกว่าในการวัดเวลาวงจรการผลิตในพื้นที่การผลิต ก่อนรับสินค้าเข้าคลังขั้นสุดท้าย. แหล่งข้อมูล อนุมานจากข้อมูลการยืนยันในตาราง AFRU โดยระบุรายการยืนยันของลำดับงานปฏิบัติการสุดท้าย (AFVC-VPLNR) ที่ตั้งค่าตัวบ่งชี้ 'การยืนยันขั้นสุดท้าย' (AFRUD-AUERU) ไว้. บันทึก ค้นหารายการยืนยันงานปฏิบัติการสุดท้ายใน AFRU ที่เปิดใช้ตัวบ่งชี้การยืนยันขั้นสุดท้าย. ประเภทเหตุการณ์ inferred | |||
| บันทึกรับสินค้าเข้าคลัง | เหตุการณ์นี้บันทึกการรับสินค้าสำเร็จรูปจากสายการผลิตเข้าคลังสินค้า และเพิ่มยอดคงคลังของวัสดุที่ผลิตอย่างเป็นทางการ. | ||
| เหตุผลที่สำคัญ เป็นหมุดหมายสำคัญที่แสดงว่าผลผลิตเสร็จสมบูรณ์ มักใช้เป็นจุดสิ้นสุดของวงจรการผลิตเพื่อวัดการส่งมอบตรงเวลาและเวลานำโดยรวม. แหล่งข้อมูล เป็นรายการบันทึกทางการเงินที่ระบบบันทึกไว้อย่างชัดเจนในตารางเอกสารวัสดุ MSEG (ระดับรายการ) และ MKPF (ระดับส่วนหัว) โดยทั่วไปใช้ประเภทการเคลื่อนไหว 101 เอกสารเหล่านี้เชื่อมโยงกับคำสั่งผลิต. บันทึก ค้นหาเอกสารวัสดุใน MSEG ที่เชื่อมโยงกับคำสั่งผลิตและมีประเภทการเคลื่อนไหว 101. ประเภทเหตุการณ์ explicit | |||
| ปรับแผนการผลิต | หมายถึงการเปลี่ยนแปลงสำคัญของคำสั่งผลิตหลังจากปล่อยแล้ว เช่น การเปลี่ยนจำนวน วันที่ หรือรายการวัสดุที่ใช้ผลิต โดยตรวจจับจากการวิเคราะห์เอกสารการเปลี่ยนแปลง. | ||
| เหตุผลที่สำคัญ การปรับแผนบ่อยครั้งอาจบ่งชี้ว่าการวางแผนไม่เสถียรหรือความต้องการผันผวน กิจกรรมนี้เป็นพื้นฐานของ KPI อัตราการแก้ไขแผนการผลิต และช่วยค้นหาสาเหตุที่ทำให้กระบวนการแปรปรวน. แหล่งข้อมูล อนุมานจากบันทึกการเปลี่ยนแปลงในตาราง CDHDR (ส่วนหัวเอกสารการเปลี่ยนแปลง) และ CDPOS (รายการเอกสารการเปลี่ยนแปลง) ของออบเจ็กต์คำสั่งผลิต (AUFK หรือ AFPO) โดยนับการเปลี่ยนแปลงหลังวันที่ปล่อยคำสั่งผลิตเป็นการปรับแผน. บันทึก ค้นหาการเปลี่ยนแปลงฟิลด์สำคัญ เช่น จำนวนหรือวันที่ ใน CDHDR/CDPOS หลังเหตุการณ์ปล่อยคำสั่งผลิต. ประเภทเหตุการณ์ inferred | |||
| ปิดคำสั่งผลิตทางเทคนิค | เป็นขั้นตอนปิดงานด้านธุรการที่ป้องกันไม่ให้มีการเปลี่ยนแปลงด้านโลจิสติกส์เพิ่มเติมในคำสั่งผลิต เช่น การเคลื่อนย้ายสินค้าหรือการยืนยันงาน จากมุมมองด้านโลจิสติกส์ถือว่าคำสั่งผลิตเสร็จสมบูรณ์แล้ว. | ||
| เหตุผลที่สำคัญ TECO เป็นจุดสิ้นสุดที่ชัดเจนของกระบวนการผลิต และสำคัญต่อการคำนวณเวลาวงจรคำสั่งผลิตทั้งหมด แสดงว่ากิจกรรมด้านโลจิสติกส์เสร็จสิ้นแล้ว และคำสั่งผลิตพร้อมสำหรับการชำระบัญชีทางการเงิน. แหล่งข้อมูล ผู้ใช้เป็นผู้กำหนดสถานะเป็น TECO (Technically Completed) เพื่อเริ่มเหตุการณ์นี้ ระบบบันทึกการเปลี่ยนสถานะพร้อมเวลาไว้ในตาราง JCDS. บันทึก เวลาที่สถานะเปลี่ยนเป็น 'TECO' ในตาราง JCDS. ประเภทเหตุการณ์ inferred | |||
| เริ่มการผลิต | หมายถึงการเริ่มกิจกรรมการผลิตจริงของคำสั่งผลิต โดยทั่วไปอนุมานจากการยืนยันงานครั้งแรกในพื้นที่การผลิต หรือการเบิกส่วนประกอบครั้งแรกสำหรับคำสั่งผลิตนั้น. | ||
| เหตุผลที่สำคัญ กิจกรรมนี้เป็นจุดเปลี่ยนจากการวางแผนไปสู่การดำเนินการ จำเป็นต่อการติดตามการทำตามกำหนดการ โดยเปรียบเทียบวันที่เริ่มจริงกับวันที่เริ่มตามแผน. แหล่งข้อมูล เป็นเหตุการณ์ที่อนุมานจากข้อมูล โดยทั่วไปใช้เวลาที่เร็วที่สุดของการบันทึกการเคลื่อนย้ายสินค้า (ตาราง MSEG ประเภทการเคลื่อนไหว 261) หรือการบันทึกยืนยันเวลา (ตาราง AFRU) ที่เชื่อมโยงกับคำสั่งผลิต. บันทึก เวลาที่เร็วที่สุดจาก AFRU (การยืนยันงาน) หรือ MSEG (การเคลื่อนย้ายสินค้า) ของคำสั่งผลิต. ประเภทเหตุการณ์ inferred | |||
| สร้างคำสั่งผลิต | เป็นการสร้างคำสั่งผลิตครั้งแรกในระบบ เพื่อแจ้งอย่างเป็นทางการว่าต้องผลิตสินค้าตามจำนวนที่กำหนด ระบบบันทึกเหตุการณ์นี้เมื่อผู้ใช้บันทึกคำสั่งผลิตใหม่ และกำหนดสถานะเริ่มต้นเป็น CRTD (Created). | ||
| เหตุผลที่สำคัญ เป็นจุดเริ่มต้นของวงจรคำสั่งผลิต การวิเคราะห์เวลาตั้งแต่สร้างจนถึงปล่อยคำสั่งผลิตช่วยให้พบความล่าช้าด้านธุรการหรือการวางแผน ก่อนกำหนดการผลิตอย่างเป็นทางการ. แหล่งข้อมูล บันทึกเหตุการณ์นี้ในตาราง AUFK (ข้อมูลหลักของคำสั่งผลิต) โดยใช้วันที่สร้าง (ERDAT) ส่วนสถานะเริ่มต้น (CRTD) บันทึกไว้ในตาราง JEST และ JCDS ซึ่งเชื่อมโยงผ่านหมายเลขออบเจ็กต์ของคำสั่งผลิต (OBJNR). บันทึก เวลาจาก AUFK-ERDAT หรือจากบันทึกการเปลี่ยนสถานะเป็น 'CRTD' ใน JCDS. ประเภทเหตุการณ์ explicit | |||
| อนุมัติคำสั่งผลิตแล้ว | เป็นหมุดหมายสำคัญที่คำสั่งผลิตได้รับอนุมัติและพร้อมดำเนินการในพื้นที่การผลิต การปล่อยคำสั่งผลิตทำให้เริ่มเบิกสินค้า บันทึกผลการผลิต และดำเนินขั้นตอนอื่นๆ ได้. | ||
| เหตุผลที่สำคัญ เหตุการณ์นี้เป็นจุดเริ่มต้นอย่างเป็นทางการของกระบวนการผลิตที่พร้อมดำเนินการ และเป็นจุดสำคัญในการวัดเวลานำ เวลาตั้งแต่สร้างจนถึงปล่อยคำสั่งผลิตเป็น KPI สำคัญที่ใช้วัดประสิทธิภาพก่อนเริ่มผลิต. แหล่งข้อมูล ผู้ใช้หรืองานระบบเป็นผู้สั่งปล่อยคำสั่งผลิตอย่างชัดเจน ทำให้สถานะเปลี่ยนเป็น REL การเปลี่ยนสถานะนี้บันทึกพร้อมเวลาไว้ในตาราง JCDS โดยวันที่ปล่อยคำสั่งผลิตมักจัดเก็บไว้ใน AFKO-FTRMI ด้วย. บันทึก เวลาที่สถานะเปลี่ยนเป็น 'REL' ในตาราง JCDS. ประเภทเหตุการณ์ inferred | |||
| เกิดการหยุดผลิตโดยไม่วางแผน | เหตุการณ์ที่คำนวณขึ้นนี้หมายถึงช่วงเวลาว่างที่ยาวนานระหว่างการดำเนินการผลิต ไม่ใช่เหตุการณ์ที่ระบบบันทึกไว้โดยตรง แต่อนุมานจากช่วงเวลาที่ยาวนานระหว่างการยืนยันการผลิตที่เกิดขึ้นต่อเนื่องกัน. | ||
| เหตุผลที่สำคัญ ช่วยติดตามเหตุขัดข้องที่ไม่ได้วางแผนไว้ เช่น เครื่องจักรเสียหรือปัญหาคุณภาพ การระบุการหยุดผลิตที่เกิดบ่อยหรือกินเวลานานเป็นกุญแจสำคัญในการเพิ่มเสถียรภาพและปริมาณงานที่ผลิตได้ในพื้นที่การผลิต. แหล่งข้อมูล คำนวณจากการวิเคราะห์เวลาของกิจกรรม 'บันทึกการยืนยันการผลิต' ที่เกิดขึ้นต่อเนื่องกันในตาราง AFRU หากช่วงเวลาห่างกันเกินเกณฑ์ที่กำหนด ระบบจะระบุว่าเป็นการหยุดผลิตที่ไม่ได้วางแผนไว้. บันทึก คำนวณส่วนต่างระหว่างเวลาของการยืนยันงานที่เกิดขึ้นต่อเนื่องกัน (AFRU-BUDAT/UZEIT). ประเภทเหตุการณ์ calculated | |||
| เกิดวัสดุขาดแคลน | เหตุการณ์นี้หมายถึงกระบวนการผลิตได้รับผลกระทบหรือหยุดชะงัก เนื่องจากส่วนประกอบที่จำเป็นอย่างน้อยหนึ่งรายการไม่มีพร้อมใช้ ระบบจะกำหนดสถานะเฉพาะให้กับคำสั่งผลิตเพื่อแสดงเหตุการณ์นี้. | ||
| เหตุผลที่สำคัญ การติดตามวัสดุขาดแคลนเป็นสิ่งสำคัญต่อการวิเคราะห์ผลกระทบจากวัสดุขาดแคลน ช่วยวัดความล่าช้าที่เกิดจากปัญหาห่วงโซ่อุปทานและปรับปรุงการวางแผนวัสดุ. แหล่งข้อมูล อนุมานจากการเปิดใช้สถานะ 'MSPT' (Material shortage) สำหรับคำสั่งผลิต โดยดูเวลาที่เปลี่ยนสถานะได้จากตาราง JCDS. บันทึก เวลาที่สถานะเปลี่ยนเป็น 'MSPT' ในตาราง JCDS. ประเภทเหตุการณ์ inferred | |||
| ตรวจสอบความพร้อมของวัสดุแล้ว | หมายถึงการที่ระบบหรือผู้ใช้ตรวจสอบว่ามีส่วนประกอบที่จำเป็นสำหรับคำสั่งผลิตครบตามจำนวนและพร้อมใช้งานตามเวลาที่ต้องการหรือไม่ โดยทั่วไป ระบบจะตรวจสอบโดยอัตโนมัติเมื่อสร้างหรือปล่อยคำสั่งผลิต หรือผู้ใช้อาจตรวจสอบด้วยตนเอง ซึ่งจะทำให้สถานะคำสั่งผลิตอัปเดต. | ||
| เหตุผลที่สำคัญ การพบวัสดุขาดแคลนตั้งแต่เนิ่นๆ สำคัญต่อการวางแผนล่วงหน้า การติดตามกิจกรรมนี้ช่วยให้เข้าใจว่าความพร้อมของวัสดุส่งผลต่อการปล่อยคำสั่งผลิตและการเริ่มผลิตตรงเวลาอย่างไร. แหล่งข้อมูล อนุมานจากสถานะคำสั่งผลิต เช่น สถานะ MACM (Material committed) หรือการเปลี่ยนวันที่วัสดุพร้อมใช้ (AFKO-MSERF) แสดงว่ามีการตรวจสอบแล้ว นอกจากนี้ยังอนุมานได้จากการไม่มีสถานะวัสดุขาดแคลน (MSPT). บันทึก อนุมานจากการเปลี่ยนสถานะที่เกี่ยวข้องกับการจัดสรรวัสดุ หรือจากการเรียกใช้ธุรกรรม COMAC. ประเภทเหตุการณ์ inferred | |||
| บันทึกการยืนยันการผลิต | หมายถึงการบันทึกความคืบหน้าของงานปฏิบัติการหนึ่งในคำสั่งผลิต ซึ่งรวมถึงจำนวนที่ผลิต ของเสีย และเวลาที่ใช้ในศูนย์งาน. | ||
| เหตุผลที่สำคัญ การยืนยันงานช่วยให้เห็นความคืบหน้าในพื้นที่การผลิตแบบทันเวลา และจำเป็นต่อการติดตามสถานะการผลิต การวิเคราะห์ความถี่และเวลาของการยืนยันงานช่วยติดตามการไหลของงานและค้นหาความล่าช้าระหว่างขั้นตอน. แหล่งข้อมูล ระบบบันทึกการยืนยันงานแต่ละครั้งเป็นรายการในตาราง AFRU (การยืนยันการเสร็จสิ้นคำสั่งผลิต) พร้อมเวลา (BUDAT, UZEIT) และรายละเอียดของงานปฏิบัติการ. บันทึก บันทึกเป็นเอกสารในตาราง AFRU. ประเภทเหตุการณ์ explicit | |||
| ปิดคำสั่งผลิตทางการเงิน | เป็นขั้นตอนปิดงานขั้นสุดท้าย เมื่อชำระบัญชีคำสั่งผลิตแล้วจะไม่สามารถบันทึกรายการทางการเงินเพิ่มเติมได้ ถือเป็นการสิ้นสุดวงจรคำสั่งผลิตในมุมมองการควบคุมและการบัญชี. | ||
| เหตุผลที่สำคัญ แม้กิจกรรมนี้มักอยู่นอกขอบเขตการวิเคราะห์การผลิตโดยตรง แต่ช่วยให้เห็นกระบวนการตั้งแต่ต้นจนจบ และใช้วิเคราะห์ระยะเวลาตั้งแต่ปิดงานด้านโลจิสติกส์ (TECO) จนถึงปิดงานทางการเงินได้. แหล่งข้อมูล ผู้ใช้เป็นผู้กำหนดสถานะเป็น CLSD (Closed) เพื่อเริ่มเหตุการณ์นี้ ระบบบันทึกการเปลี่ยนสถานะพร้อมเวลาไว้ในตาราง JCDS. บันทึก เวลาที่สถานะเปลี่ยนเป็น 'CLSD' ในตาราง JCDS. ประเภทเหตุการณ์ inferred | |||
| ยกเลิกคำสั่งผลิต | หมายถึงการยกเลิกคำสั่งผลิตก่อนเสร็จสิ้น ซึ่งเป็นสถานะสิ้นสุดอีกแบบหนึ่งที่แสดงว่ากระบวนการไม่สำเร็จ. | ||
| เหตุผลที่สำคัญ การวิเคราะห์คำสั่งผลิตที่ถูกยกเลิกอาจช่วยให้พบปัญหาในการวางแผนความต้องการ ข้อมูลหลัก หรือกระบวนการขาย หากมีการยกเลิกจำนวนมาก อาจบ่งชี้ถึงปัญหาเชิงระบบที่ควรแก้ไข. แหล่งข้อมูล อนุมานจากสถานะระบบ CACL (Cancellation) ที่กำหนดไว้ในตาราง JCDS หรืออาจใช้ตัวบ่งชี้การลบ (AUFK-LOEKZ) เพื่อระบุการยกเลิกได้เช่นกัน. บันทึก เวลาที่สถานะเปลี่ยนเป็น 'CACL' ใน JCDS หรือเวลาที่กำหนดตัวบ่งชี้การลบใน AUFK. ประเภทเหตุการณ์ inferred | |||
| วางแผนความต้องการกำลังการผลิต | กิจกรรมนี้ครอบคลุมการจัดตารางงานของคำสั่งผลิตและตรวจสอบกำลังการผลิตที่ศูนย์งานที่ต้องใช้ ระบบประเมินภาระงานของศูนย์งานและปรับระดับภาระงานหากตั้งค่าไว้ เพื่อกำหนดวันที่ผลิต. | ||
| เหตุผลที่สำคัญ ขั้นตอนนี้สำคัญต่อการจัดทำกำหนดการผลิตที่ทำได้จริง การวิเคราะห์ระยะเวลาและผลลัพธ์ช่วยให้พบคอขวดด้านกำลังการผลิตและวางแผนทรัพยากรได้แม่นยำขึ้น. แหล่งข้อมูล โดยทั่วไปอนุมานจากสถานะระบบที่ระบุว่าจัดตารางคำสั่งผลิตแล้ว เช่น SETC (Scheduling carried out) นอกจากนี้ การมีวันที่เริ่มและสิ้นสุดตามกำหนดการ (AUFK-GSTRP, AUFK-GLTRP) ก็แสดงว่ากิจกรรมนี้เสร็จสิ้นแล้ว. บันทึก อนุมานจากการระบุวันที่ตามกำหนดการใน AUFK/AFKO หรือสถานะที่เกี่ยวกับการจัดตารางใน JEST. ประเภทเหตุการณ์ inferred | |||
คู่มือการดึงข้อมูล
ขั้นตอน
- ตรวจสอบข้อกำหนดเบื้องต้น: ตรวจสอบว่าคุณมีบัญชีผู้ใช้ใน SAP S/4HANA ที่ได้รับสิทธิ์เหมาะสมในการเข้าถึงวิว Core Data Services (CDS) ที่จำเป็น ได้แก่
I_ProductionOrder,I_ProdOrdConfirmation,I_MaterialDocumentItem,I_ObjectStatusและI_ChangeDocumentนอกจากนี้ ต้องมีสภาพแวดล้อมสำหรับรัน SQL ที่เชื่อมต่อกับฐานข้อมูล SAP HANA เช่น SAP HANA Studio, DBeaver หรือเครื่องมือ ETL ภายนอก - ระบุรายละเอียดระบบ: จดรหัสระบบต้นทางที่จะใช้กับแอตทริบิวต์
SourceSystemโดยกำหนดชื่อเชิงตรรกะเพื่อระบุแหล่งที่มาของข้อมูล เช่นS4H_PROD - กำหนดพารามิเตอร์การดึงข้อมูล: ก่อนรันคิวรี ให้กำหนดพารามิเตอร์หลัก ได้แก่ วันที่เริ่มต้นและวันที่สิ้นสุดของช่วงเวลาที่ต้องการดึงข้อมูล รวมถึงตัวกรองเฉพาะ เช่น
PlantหรือProductionOrderTypeเพื่อจำกัดขอบเขตข้อมูล - เตรียมคิวรี SQL: คัดลอกคิวรี SQL ฉบับเต็มจากส่วน
queryของเอกสารนี้ไปยังไคลเอนต์ SQL หรือเครื่องมือดึงข้อมูลที่เลือก - กำหนดค่าตัวแทน: แทนค่าตัวแทนในคิวรีด้วยพารามิเตอร์ของคุณ ได้แก่
_StartDate,_EndDateและรหัสระบบต้นทาง ปรับเกณฑ์ของเหตุการณ์ 'เกิดการหยุดชะงักที่ไม่ได้วางแผน' เช่น'24:00:00'ให้เหมาะกับบริบทธุรกิจ - รันคิวรีเพื่อดึงข้อมูล: รันสคริปต์ SQL ที่กำหนดค่าแล้วกับฐานข้อมูลของระบบ SAP S/4HANA หากชุดข้อมูลมีขนาดใหญ่และครอบคลุมช่วงเวลานาน ให้แบ่งดึงข้อมูลเป็นช่วงสั้นๆ เช่น เดือนต่อเดือน เพื่อหลีกเลี่ยงปัญหาด้านประสิทธิภาพ
- ตรวจสอบข้อมูลเบื้องต้น: เมื่อคิวรีทำงานเสร็จ ให้ตรวจสอบผลลัพธ์อย่างรวดเร็ว ตรวจสอบจำนวนแถวว่ามีคอลัมน์ครบ และดูว่าคอลัมน์
Activityมีเหตุการณ์ตามที่คาดไว้หลายประเภท - ตรวจสอบความถูกต้องของข้อมูล: ทำตามขั้นตอนในส่วน
validationStepsเพื่อตรวจสอบอย่างละเอียด เปรียบเทียบใบสั่งผลิตบางรายการกับรายละเอียดในระบบ SAP โดยใช้ธุรกรรมCO03เพื่อยืนยันความถูกต้องของบันทึกเหตุการณ์ที่ดึงมา - ส่งออกเป็น CSV: ส่งออกชุดผลลัพธ์สุดท้ายเป็นไฟล์ CSV และตรวจสอบว่าการเข้ารหัสไฟล์เป็น UTF-8 เพื่อป้องกันปัญหาอักขระ
- เตรียมอัปโหลด: ตรวจสอบว่าหัวคอลัมน์ใน CSV ตรงกับชื่อแอตทริบิวต์ที่กำหนด ได้แก่
ProductionOrder,Activity,StartTime,SourceSystemและLastDataUpdateก่อนอัปโหลดไปยังเครื่องมือ process mining ให้ตรวจสอบว่าคอลัมน์StartTimeใช้รูปแบบการประทับเวลามาตรฐาน เช่น ISO 8601 (YYYY-MM-DDTHH:MM:SS)
การกำหนดค่า
- CDS View หลัก: การดึงข้อมูลใช้ CDS view มาตรฐานที่จัดข้อมูลจากตาราง SAP ให้อยู่ในรูปแบบที่สอดคล้องกับมุมมองทางธุรกิจ โดย view สำคัญมีดังนี้
I_ProductionOrder: ข้อมูลระดับหัวเอกสารและเหตุการณ์สร้างใบสั่งI_ProdOrdConfirmation: การยืนยันการปฏิบัติงานทั้งหมดI_MaterialDocumentItem: การเคลื่อนไหวของสินค้า เช่น การเบิกและการรับI_ObjectStatus: การเปลี่ยนสถานะของใบสั่งผลิตI_ChangeDocumentและ view ที่เกี่ยวข้อง: การเปลี่ยนแปลงฟิลด์สำคัญของใบสั่ง
- การกรองช่วงวันที่: ควรกำหนดช่วงวันที่เพื่อควบคุมปริมาณข้อมูล คิวรีที่ให้มาจะใช้
CreationDateของใบสั่งผลิต โดยทั่วไปการวิเคราะห์เบื้องต้นใช้ข้อมูลย้อนหลัง 3 ถึง 6 เดือน - ตัวกรองทางธุรกิจที่สำคัญ: จำกัดชุดข้อมูลเพิ่มเติมด้วยแอตทริบิวต์หลักด้านองค์กรหรือข้อมูลหลัก ตัวกรองที่ใช้บ่อย ได้แก่
Plant: วิเคราะห์โรงงานผลิตแห่งใดแห่งหนึ่งProductionOrderType: เลือกประเภทใบสั่ง เช่น การผลิตปกติ การทำงานซ้ำ หรือประเภทอื่นCompanyCode: จำกัดข้อมูลให้เหลือนิติบุคคลที่กำหนด
- เกณฑ์ช่วงหยุดงานที่ไม่ได้วางแผน: คิวรีมีตรรกะสำหรับระบุเหตุการณ์
Unplanned Halt Occurredโดยต้องกำหนดช่วงเวลาขั้นต่ำเพื่อบอกว่าช่องว่างระหว่างการปฏิบัติงานมีนัยสำคัญหรือไม่ ควรกำหนดค่าตามรอบเวลาการผลิตและกฎทางธุรกิจ - ข้อกำหนดด้านสิทธิ์: ผู้ใช้ SAP ที่เรียกใช้คิวรีต้องมีสิทธิ์ดู CDS view และตารางต้นทางทั้งหมด หากไม่มีสิทธิ์ ผลลัพธ์อาจว่างเปล่าหรือมีข้อมูลไม่ครบถ้วน.
ตัวอย่างคำค้น sql
WITH BaseOrders AS (
SELECT
ProductionOrder,
Material AS MaterialNumber,
ProductionPlant AS Plant,
CreationDate,
CreationTime,
BasicEndDate AS PlannedEndDate,
TechnicalCompletionDate,
LastChangeDateTime
FROM I_ProductionOrder
-- P_CreationDateFrom and P_CreationDateTo are placeholders for your date range
WHERE CreationDate BETWEEN '[_StartDate]' AND '[_EndDate]'
-- Add other filters as needed, for example:
-- AND ProductionPlant IN ('[Your_Plant_1]', '[Your_Plant_2]')
-- AND ProductionOrderType = '[Your_Order_Type]'
)
SELECT
bo.ProductionOrder,
'Production Order Created' AS Activity,
TO_TIMESTAMP(bo.CreationDate || ' ' || LPAD(bo.CreationTime, 6, '0'), 'YYYYMMDD HH24MISS') AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
NULL AS WorkCenter,
bo.PlannedEndDate,
'CRTD' AS OrderStatus
FROM BaseOrders bo
UNION ALL
-- System status changes like Released, Technically Completed, Closed, Cancelled, Material Shortage
SELECT
os.ObjectInternalID AS ProductionOrder,
CASE os.SystemStatus
WHEN 'I0002' THEN 'Production Order Released'
WHEN 'I0043' THEN 'Material Availability Checked' -- Status: MACM (Material committed)
WHEN 'I0045' THEN 'Order Technically Completed'
WHEN 'I0046' THEN 'Order Financially Closed'
WHEN 'I0047' THEN 'Production Order Cancelled'
WHEN 'I0010' THEN 'Material Shortage Occurred' -- Status: MSPT (Material shortage)
END AS Activity,
os.StatusChangeDateTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
NULL AS WorkCenter,
bo.PlannedEndDate,
os.SystemStatus AS OrderStatus
FROM I_ObjectStatus AS os
JOIN BaseOrders AS bo ON os.ObjectInternalID = bo.ProductionOrder
WHERE os.SystemStatus IN ('I0002', 'I0043', 'I0045', 'I0046', 'I0047', 'I0010') AND os.StatusIsInactive = ''
UNION ALL
-- Production Started, inferred from the first goods issue or first confirmation
SELECT
s.ProductionOrder,
'Production Started' AS Activity,
s.StartEventTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
s.MaterialNumber,
s.Plant,
NULL AS WorkCenter,
s.PlannedEndDate,
NULL AS OrderStatus
FROM (
SELECT
bo.ProductionOrder,
bo.MaterialNumber,
bo.Plant,
bo.PlannedEndDate,
MIN(COALESCE(gm.PostingTime, cf.ConfirmationDateTime)) AS StartEventTime,
ROW_NUMBER() OVER(PARTITION BY bo.ProductionOrder ORDER BY MIN(COALESCE(gm.PostingTime, cf.ConfirmationDateTime))) as rn
FROM BaseOrders bo
LEFT JOIN I_MaterialDocumentItem gm ON bo.ProductionOrder = gm.ProductionOrder AND gm.GoodsMovementType IN ('261', '262') -- Goods Issue
LEFT JOIN I_ProdOrdConfirmation cf ON bo.ProductionOrder = cf.ProductionOrder
WHERE gm.ProductionOrder IS NOT NULL OR cf.ProductionOrder IS NOT NULL
GROUP BY bo.ProductionOrder, bo.MaterialNumber, bo.Plant, bo.PlannedEndDate
) s
WHERE s.rn = 1
UNION ALL
-- Production Confirmation Entered (for each confirmation)
SELECT
cf.ProductionOrder,
'Production Confirmation Entered' AS Activity,
cf.ConfirmationDateTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
cf.WorkCenter,
bo.PlannedEndDate,
NULL AS OrderStatus
FROM I_ProdOrdConfirmation cf
JOIN BaseOrders bo ON cf.ProductionOrder = bo.ProductionOrder
UNION ALL
-- Final Confirmation Entered
SELECT
cf.ProductionOrder,
'Final Confirmation Entered' AS Activity,
cf.ConfirmationDateTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
cf.WorkCenter,
bo.PlannedEndDate,
NULL AS OrderStatus
FROM I_ProdOrdConfirmation cf
JOIN BaseOrders bo ON cf.ProductionOrder = bo.ProductionOrder
WHERE cf.IsFinalConfirmation = 'X'
UNION ALL
-- Unplanned Halt Occurred (derived from gaps between confirmations)
SELECT
ProductionOrder,
'Unplanned Halt Occurred' AS Activity,
PreviousConfirmationTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
MaterialNumber,
Plant,
WorkCenter,
PlannedEndDate,
NULL AS OrderStatus
FROM (
SELECT
cf.ProductionOrder,
bo.MaterialNumber,
bo.Plant,
bo.PlannedEndDate,
cf.WorkCenter,
cf.ConfirmationDateTime,
LAG(cf.ConfirmationDateTime, 1) OVER (PARTITION BY cf.ProductionOrder ORDER BY cf.ConfirmationDateTime) AS PreviousConfirmationTime,
(SECONDS_BETWEEN(LAG(cf.ConfirmationDateTime, 1) OVER (PARTITION BY cf.ProductionOrder ORDER BY cf.ConfirmationDateTime), cf.ConfirmationDateTime) / 3600.0) as HoursDiff
FROM I_ProdOrdConfirmation cf
JOIN BaseOrders bo ON cf.ProductionOrder = bo.ProductionOrder
) AS gaps
WHERE gaps.HoursDiff > 24 -- Configurable threshold in hours, e.g. 24 hours
UNION ALL
-- Goods Receipt Posted
SELECT
gm.ProductionOrder,
'Goods Receipt Posted' AS Activity,
gm.PostingTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
NULL AS WorkCenter,
bo.PlannedEndDate,
NULL AS OrderStatus
FROM I_MaterialDocumentItem gm
JOIN BaseOrders bo ON gm.ProductionOrder = bo.ProductionOrder
WHERE gm.GoodsMovementType = '101'
UNION ALL
-- Capacity Requirements Planned (using Release event as a proxy)
SELECT
os.ObjectInternalID AS ProductionOrder,
'Capacity Requirements Planned' AS Activity,
os.StatusChangeDateTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
NULL AS WorkCenter,
bo.PlannedEndDate,
os.SystemStatus AS OrderStatus
FROM I_ObjectStatus AS os
JOIN BaseOrders AS bo ON os.ObjectInternalID = bo.ProductionOrder
WHERE os.SystemStatus = 'I0002' AND os.StatusIsInactive = '' -- Status 'REL' (Released)
UNION ALL
-- Production Plan Adjusted
SELECT
ch.ObjectValue AS ProductionOrder,
'Production Plan Adjusted' AS Activity,
ch.CreationDateTime AS StartTime,
'[_SourceSystemName]' AS SourceSystem,
CURRENT_UTCTIMESTAMP AS LastDataUpdate,
bo.MaterialNumber,
bo.Plant,
NULL as WorkCenter,
bo.PlannedEndDate,
NULL as OrderStatus
FROM I_ChangeDocument AS ch
JOIN BaseOrders bo ON ch.ObjectValue = bo.ProductionOrder
WHERE ch.ChangeDocumentObject = 'PRODORDER'
-- Monitoring changes in key fields like Total Quantity (GAMNG) or Basic Finish Date (GLTRP)
AND ch.FieldName IN ('GAMNG', 'GLTRP')
GROUP BY ch.ObjectValue, ch.CreationDateTime, bo.MaterialNumber, bo.Plant, bo.PlannedEndDate ขั้นตอน
- ยืนยันว่ามีสิทธิ์อ่านข้อมูลโดยตรงจากสคีมา SAP HANA ที่เก็บข้อมูลใบสั่งผลิต และระบุเจ้าของสคีมา การจัดการไคลเอนต์ รูปแบบการประทับเวลา และรูปแบบการให้สิทธิ์ ใช้ SAP HANA Database Explorer หรือไคลเอนต์ SQL ที่ได้รับอนุมัติ ตรวจสอบรุ่น SAP S/4HANA ที่เกี่ยวข้องและขอบเขตการวางแผนการผลิตที่เปิดใช้งานก่อนสรุปคิวรี
- กำหนดสตริงการเชื่อมต่อ ข้อมูลรับรอง ชื่อสคีมา ค่าไคลเอนต์ วันที่เริ่มต้นและสิ้นสุดการดึงข้อมูล รวมถึงตัวกรองเฉพาะบริษัท คิวรีด้านล่างใช้ AUFK, AFPO, JEST และ JCDS และอ้างอิง AFKO, AFVC, AFRU, RESB, MSEG, CDHDR และ CDPOS ด้วย ตรวจสอบว่ามีออบเจ็กต์เหล่านี้ในระบบและยืนยันคำจำกัดความของฟิลด์ก่อนรัน เนื่องจากอาจมีส่วนขยาย วิวเพื่อความเข้ากันได้ และความแตกต่างระหว่างรุ่น
- รันคิวรีใน SAP HANA Database Explorer หรือเครื่องมือรัน SQL ที่ได้รับอนุมัติ คิวรีจะสร้างหนึ่งแถวต่อกิจกรรมที่ดึงข้อมูลไว้อย่างชัดเจน แล้วรวมแถวกิจกรรมด้วย UNION ALL โดยไม่อาศัย ProcessMind ในการอนุมานเหตุการณ์
- ตรวจสอบข้อมูลต้นทางและปรับนิพจน์ที่ระบุว่าเฉพาะระบบตามความจำเป็น โดยเฉพาะรหัสสถานะที่ใช้กับความพร้อมของวัสดุ การวางแผนกำลังการผลิต การปิดงานทางเทคนิค การปิดบัญชี และการยกเลิก รวมถึงยืนยันออบเจ็กต์เอกสารการเปลี่ยนแปลงและชื่อฟิลด์ที่ใช้ระบุการปรับแผนการผลิต
- ตรวจสอบการแปลงการประทับเวลาและการกรองไคลเอนต์ ระบบ SAP อาจจัดเก็บวันที่และเวลาแยกกัน บางระบบใช้ UTC ขณะที่บางระบบใช้เวลาท้องถิ่นของโรงงานหรือระบบ ตรวจสอบให้แน่ใจว่าค่า
StartTimeที่ได้ใช้เขตเวลาเดียวกัน และตัดวันที่ SAP ที่ไม่ถูกต้องหรือเป็นค่าเริ่มต้นออก - ส่งออกผลลัพธ์เป็นไฟล์แบบแบนที่ ProcessMind รองรับ โดยแนะนำให้ใช้ CSV หรือข้อความคั่นด้วย UTF 8 คงชื่อคอลัมน์ผลลัพธ์ให้ตรงตามนี้ทุกประการ: ProductionOrder, Activity, StartTime, SourceSystem, LastDataUpdate, MaterialNumber, Plant, WorkCenter, PlannedEndDate และ OrderStatus
- เรียงแถวที่ส่งออกตาม ProductionOrder และ StartTime หากขั้นตอนอัปโหลดรองรับ ให้กำหนดลำดับรองที่แน่นอนสำหรับรายการที่มีการประทับเวลาเดียวกัน เก็บหนึ่งแถวต่อเหตุการณ์ รวมถึงการยืนยันซ้ำและการเปลี่ยนสถานะซ้ำเมื่อเป็นระเบียนต้นทางคนละรายการ
- อัปโหลดไฟล์ไปยัง ProcessMind แล้วกำหนด ProductionOrder เป็นรหัสเคส, Activity เป็นกิจกรรม และ StartTime เป็นเวลาของเหตุการณ์ กำหนดคอลัมน์ที่เหลือเป็นแอตทริบิวต์ของเหตุการณ์หรือเคสตามการตั้งค่านำเข้าของ ProcessMind ตรวจสอบว่าป้ายชื่อกิจกรรมทั้ง 14 รายการยังตรงตามที่คิวรีสร้างไว้อย่างครบถ้วน
การกำหนดค่า
- ช่วงวันที่: เริ่มจากช่วงย้อนหลัง 3 ถึง 6 เดือน ใช้ช่วงเวลาสั้นกว่านี้ในการทดสอบเบื้องต้น และขยายช่วงหลังจากตรวจสอบจำนวนแถวและประสิทธิภาพของคิวรีแล้วเท่านั้น
- พารามิเตอร์การดึงข้อมูล: แทนที่ [Your schema name], [Your client], [Extraction start date], [Extraction end date] และ [Your source system name] ด้วยค่าจากระบบของคุณ ใช้ตัวกรองเฉพาะบริษัทหลังจากยืนยันฟิลด์และค่าของหน่วยงานที่เกี่ยวข้องแล้วเท่านั้น
- การกำหนดค่าสถานะ: ตรวจสอบรหัสสถานะ SAP และตัวระบุออบเจ็กต์สถานะที่ระบบใช้จริงสำหรับ CRTD การอนุมัติให้เริ่มงาน ความพร้อมของวัสดุ การวางแผนกำลังการผลิต การปิดงานทางเทคนิค การปิดบัญชี และการยกเลิก โปรไฟล์สถานะและส่วนปรับแต่งเฉพาะอาจทำให้รหัสที่ใช้ได้แตกต่างกัน
- เอกสารการเปลี่ยนแปลง: ยืนยันออบเจ็กต์เอกสารการเปลี่ยนแปลงของใบสั่งผลิต ชื่อตาราง ชื่อฟิลด์ และรูปแบบค่าที่ใช้กับการเปลี่ยนแปลงปริมาณ วันที่ BOM และเส้นทางการผลิต คิวรีจะถือว่าระเบียน CDHDR และ CDPOS ที่ตรงกันเป็นหลักฐานการปรับแผน
- การจัดการการประทับเวลา: ปรับการประทับเวลาต้นทางทั้งหมดให้เป็นเขตเวลาเดียวกัน ตรวจสอบว่าฟิลด์วันที่และเวลาแยกกันหรือไม่ การประทับเวลาเป็นเวลาท้องถิ่นหรือ UTC และระบบแทนวันที่เริ่มต้นอย่างไร
- ประสิทธิภาพ: จำกัดการดึงข้อมูลด้วยวันที่สร้างใบสั่งหรือวันที่ใบสั่งผลิตอื่นที่มีดัชนี กรองตามไคลเอนต์ เลือกเฉพาะคอลัมน์ที่จำเป็น และรันในช่วงเวลาที่เหมาะกับการรายงาน หากชุดข้อมูลมีขนาดใหญ่ ให้ดึงข้อมูลแยกตามเดือนหรือช่วงหมายเลขใบสั่งผลิต แล้วบันทึกผลลัพธ์เพิ่มเป็นระยะ
- ออบเจ็กต์ฐานข้อมูล: ตรวจสอบว่ามี AUFK, AFPO, JEST, JCDS, AFKO, AFVC, AFRU, RESB, MSEG, CDHDR และ CDPOS ในสคีมาที่เลือก และสามารถอ่านข้อมูลได้ หากวิวหรือฟิลด์แตกต่างกันในรุ่นที่ใช้ ให้เปลี่ยนเป็นออบเจ็กต์ที่เผยแพร่หรือได้รับอนุมัติซึ่งตรงกัน
- สิทธิ์: ต้องมีสิทธิ์อ่านสคีมาและออบเจ็กต์ SAP HANA ที่เลือก รวมถึงสิทธิ์รัน SQL กระบวนการกำกับดูแลขององค์กรอาจกำหนดให้ต้องมีสิทธิ์ในแอปพลิเคชัน SAP ด้วย
- ขอบเขตการทำงาน: ต้องเก็บข้อมูลการวางแผนและดำเนินการผลิต ข้อมูลการเคลื่อนไหวสินค้าคงคลัง ประวัติสถานะ และเอกสารการเปลี่ยนแปลงไว้ตลอดช่วงเวลาที่เลือก ระบบจะไม่ส่งคืนระเบียนที่เก็บถาวรหรือลบไปแล้ว
- การกำหนดค่า ProcessMind: กำหนด ProductionOrder เป็นรหัสเคส, Activity เป็นกิจกรรม และ StartTime เป็นเวลาของเหตุการณ์ อย่าคาดหวังให้ ProcessMind สร้างกิจกรรมที่ขาดหายไปจากแอตทริบิวต์
ตัวอย่างคำค้น sql
WITH
params AS (
SELECT
'[Your client]' AS mandt,
TO_DATE('[Extraction start date]', 'YYYY-MM-DD') AS date_from,
TO_DATE('[Extraction end date]', 'YYYY-MM-DD') AS date_to,
'[Your source system name]' AS source_system,
CURRENT_UTCTIMESTAMP AS last_data_update
FROM DUMMY
),
orders AS (
SELECT
a.mandt,
LTRIM(a.aufnr, '0') AS production_order,
a.aufnr AS production_order_raw,
a.erdat AS order_created_date,
a.erfzeit AS order_created_time,
a.auart AS order_type,
a.werks AS plant,
a.objnr AS object_number,
a.ktext AS order_text,
p.matnr AS material_number,
p.psmng AS planned_quantity,
p.wemng AS delivered_quantity,
k.gstrp AS planned_start_date,
k.gltrp AS planned_end_date,
k.ftrmi AS release_date,
k.ftrmp AS release_time,
k.gamng AS total_order_quantity,
k.plnbez AS header_material_number,
k.plnty AS task_list_type,
k.plnnr AS task_list_group,
k.plnal AS task_list_group_counter
FROM [Your schema name].AUFK a
LEFT JOIN [Your schema name].AFPO p
ON p.mandt = a.mandt
AND p.aufnr = a.aufnr
LEFT JOIN [Your schema name].AFKO k
ON k.mandt = a.mandt
AND k.aufnr = a.aufnr
CROSS JOIN params x
WHERE a.mandt = x.mandt
AND a.erdat >= x.date_from
AND a.erdat < ADD_DAYS(x.date_to, 1)
),
status_history AS (
SELECT
o.*,
j.stat,
j.inact,
j.chgnr,
j.udate AS status_date,
j.utime AS status_time,
c.usnam AS status_user,
c.chind AS status_change_indicator
FROM orders o
INNER JOIN [Your schema name].JEST j
ON j.mandt = o.mandt
AND j.objnr = o.object_number
LEFT JOIN [Your schema name].JCDS c
ON c.mandt = j.mandt
AND c.objnr = j.objnr
AND c.stat = j.stat
AND c.chgnr = j.chgnr
WHERE COALESCE(j.inact, '') <> 'X'
),
operations AS (
SELECT
o.production_order,
o.mandt,
v.vornr,
v.arbid,
v.steus,
v.ltxa1,
v.aufpl,
v.aplzl,
cr.name1 AS work_center
FROM orders o
LEFT JOIN [Your schema name].AFVC v
ON v.mandt = o.mandt
AND v.aufpl = (SELECT MAX(k2.aufpl) FROM [Your schema name].AFKO k2 WHERE k2.mandt = o.mandt AND k2.aufnr = o.production_order_raw)
LEFT JOIN [Your schema name].CRHD cr
ON cr.mandt = v.mandt
AND cr.objty = 'A'
AND cr.objid = v.arbid
),
confirmations AS (
SELECT
o.production_order,
o.mandt,
r.rmzhl,
r.vornr,
r.budat AS confirmation_date,
r.ersda AS entry_date,
r.erzet AS entry_time,
r.ism01,
r.ism02,
r.ism03,
r.ism04,
r.ism05,
r.ism06,
r.xmnga,
r.stzhl,
r.stzhl AS reversal_counter,
r.lmnga AS confirmed_quantity,
r.xmnge AS scrap_quantity,
r.aufpl,
r.aplzl,
op.work_center
FROM orders o
INNER JOIN [Your schema name].AFRU r
ON r.mandt = o.mandt
AND r.aufnr = o.production_order_raw
LEFT JOIN operations op
ON op.production_order = o.production_order
AND op.mandt = r.mandt
AND op.vornr = r.vornr
),
first_confirmation AS (
SELECT production_order, MIN(TO_TIMESTAMP(TO_VARCHAR(entry_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(entry_time), 6, '0'), 'YYYYMMDDHH24MISS')) AS start_time
FROM confirmations
GROUP BY production_order
),
last_confirmation AS (
SELECT production_order, MAX(TO_TIMESTAMP(TO_VARCHAR(entry_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(entry_time), 6, '0'), 'YYYYMMDDHH24MISS')) AS final_time
FROM confirmations
GROUP BY production_order
),
first_goods_issue AS (
SELECT
o.production_order,
MIN(TO_TIMESTAMP(TO_VARCHAR(m.budat_mkpf, 'YYYYMMDD') || LPAD(TO_VARCHAR(m.cputm_mkpf), 6, '0'), 'YYYYMMDDHH24MISS')) AS start_time
FROM orders o
INNER JOIN [Your schema name].MSEG m
ON m.mandt = o.mandt
AND m.aufnr = o.production_order_raw
AND m.bwart IN ('261', '262')
GROUP BY o.production_order
),
first_receipt AS (
SELECT
o.production_order,
MIN(TO_TIMESTAMP(TO_VARCHAR(m.budat_mkpf, 'YYYYMMDD') || LPAD(TO_VARCHAR(m.cputm_mkpf), 6, '0'), 'YYYYMMDDHH24MISS')) AS receipt_time
FROM orders o
INNER JOIN [Your schema name].MSEG m
ON m.mandt = o.mandt
AND m.aufnr = o.production_order_raw
AND m.bwart IN ('101', '102')
GROUP BY o.production_order
),
plan_changes AS (
SELECT
o.production_order,
MIN(TO_TIMESTAMP(TO_VARCHAR(h.udate, 'YYYYMMDD') || LPAD(TO_VARCHAR(h.utime), 6, '0'), 'YYYYMMDDHH24MISS')) AS adjustment_time
FROM orders o
INNER JOIN [Your schema name].CDHDR h
ON h.mandant = o.mandt
AND h.objectid = o.production_order_raw
INNER JOIN [Your schema name].CDPOS p
ON p.mandant = h.mandant
AND p.objectclas = h.objectclas
AND p.objectid = h.objectid
AND p.changenr = h.changenr
WHERE h.objectclas IN ('ORDER', 'PP_ORDER')
AND p.tabname IN ('AFKO', 'AFPO', 'AFVC', 'RESB')
AND p.fname IN ('GAMNG', 'PSMNG', 'GSTRP', 'GLTRP', 'MATNR', 'BDMNG', 'VORNR')
GROUP BY o.production_order
),
status_times AS (
SELECT
production_order,
MIN(CASE WHEN stat IN ('I0001', 'CRTD') THEN TO_TIMESTAMP(TO_VARCHAR(status_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(status_time), 6, '0'), 'YYYYMMDDHH24MISS') END) AS created_status_time,
MIN(CASE WHEN stat IN ('I0002', 'REL') THEN TO_TIMESTAMP(TO_VARCHAR(status_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(status_time), 6, '0'), 'YYYYMMDDHH24MISS') END) AS released_time,
MIN(CASE WHEN stat IN ('I0003', 'MATC', 'MANC') THEN TO_TIMESTAMP(TO_VARCHAR(status_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(status_time), 6, '0'), 'YYYYMMDDHH24MISS') END) AS material_available_time,
MIN(CASE WHEN stat IN ('I0004', 'CAPC', 'CAPA') THEN TO_TIMESTAMP(TO_VARCHAR(status_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(status_time), 6, '0'), 'YYYYMMDDHH24MISS') END) AS capacity_planned_time,
MIN(CASE WHEN stat IN ('I0045', 'TECO') THEN TO_TIMESTAMP(TO_VARCHAR(status_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(status_time), 6, '0'), 'YYYYMMDDHH24MISS') END) AS technically_completed_time,
MIN(CASE WHEN stat IN ('I0046', 'CLSD') THEN TO_TIMESTAMP(TO_VARCHAR(status_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(status_time), 6, '0'), 'YYYYMMDDHH24MISS') END) AS financially_closed_time,
MIN(CASE WHEN stat IN ('I0076', 'DLFL', 'CANC') THEN TO_TIMESTAMP(TO_VARCHAR(status_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(status_time), 6, '0'), 'YYYYMMDDHH24MISS') END) AS cancelled_time
FROM status_history
GROUP BY production_order
),
material_shortages AS (
SELECT
o.production_order,
MIN(TO_TIMESTAMP(TO_VARCHAR(j.status_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(j.status_time), 6, '0'), 'YYYYMMDDHH24MISS')) AS shortage_time
FROM status_history j
INNER JOIN orders o
ON o.production_order = j.production_order
WHERE j.stat IN ('I0042', 'MANC', 'MSHT')
GROUP BY o.production_order
),
capacity_times AS (
SELECT
production_order,
MIN(COALESCE(released_time, created_status_time)) AS capacity_time
FROM status_times
GROUP BY production_order
),
base_attributes AS (
SELECT
o.production_order,
o.material_number,
o.plant,
COALESCE(op.work_center, '') AS work_center,
o.planned_end_date,
COALESCE(st.stat, '') AS current_status
FROM orders o
LEFT JOIN status_history st
ON st.production_order = o.production_order
AND st.inact = ''
LEFT JOIN operations op
ON op.production_order = o.production_order
AND op.vornr = (SELECT MIN(op2.vornr) FROM operations op2 WHERE op2.production_order = o.production_order)
),
events AS (
SELECT o.production_order, 'Production Order Created' AS activity, COALESCE(st.created_status_time, TO_TIMESTAMP(TO_VARCHAR(o.order_created_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(o.order_created_time), 6, '0'), 'YYYYMMDDHH24MISS')) AS start_time FROM orders o LEFT JOIN status_times st ON st.production_order = o.production_order
UNION ALL
SELECT production_order, 'Material Availability Checked', material_available_time FROM status_times WHERE material_available_time IS NOT NULL
UNION ALL
SELECT production_order, 'Capacity Requirements Planned', capacity_time FROM capacity_times WHERE capacity_time IS NOT NULL
UNION ALL
SELECT production_order, 'Production Order Released', released_time FROM status_times WHERE released_time IS NOT NULL
UNION ALL
SELECT o.production_order, 'Production Started', LEAST(COALESCE(fc.start_time, TO_TIMESTAMP('99991231235959', 'YYYYMMDDHH24MISS')), COALESCE(fg.start_time, TO_TIMESTAMP('99991231235959', 'YYYYMMDDHH24MISS'))) FROM orders o LEFT JOIN first_confirmation fc ON fc.production_order = o.production_order LEFT JOIN first_goods_issue fg ON fg.production_order = o.production_order WHERE fc.start_time IS NOT NULL OR fg.start_time IS NOT NULL
UNION ALL
SELECT production_order, 'Production Confirmation Entered', TO_TIMESTAMP(TO_VARCHAR(entry_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(entry_time), 6, '0'), 'YYYYMMDDHH24MISS') FROM confirmations
UNION ALL
SELECT production_order, 'Material Shortage Occurred', shortage_time FROM material_shortages WHERE shortage_time IS NOT NULL
UNION ALL
SELECT production_order, 'Production Plan Adjusted', adjustment_time FROM plan_changes WHERE adjustment_time IS NOT NULL
UNION ALL
SELECT c.production_order, 'Unplanned Halt Occurred', ADD_SECONDS(c.confirmation_time, 1) FROM (SELECT production_order, TO_TIMESTAMP(TO_VARCHAR(entry_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(entry_time), 6, '0'), 'YYYYMMDDHH24MISS') AS confirmation_time, LEAD(TO_TIMESTAMP(TO_VARCHAR(entry_date, 'YYYYMMDD') || LPAD(TO_VARCHAR(entry_time), 6, '0'), 'YYYYMMDDHH24MISS')) OVER (PARTITION BY production_order ORDER BY entry_date, entry_time, rmzhl) AS next_confirmation_time FROM confirmations) c WHERE c.next_confirmation_time IS NOT NULL AND SECONDS_BETWEEN(c.confirmation_time, c.next_confirmation_time) >= 86400
UNION ALL
SELECT production_order, 'Final Confirmation Entered', final_time FROM last_confirmation WHERE final_time IS NOT NULL
UNION ALL
SELECT production_order, 'Goods Receipt Posted', receipt_time FROM first_receipt WHERE receipt_time IS NOT NULL
UNION ALL
SELECT production_order, 'Order Technically Completed', technically_completed_time FROM status_times WHERE technically_completed_time IS NOT NULL
UNION ALL
SELECT production_order, 'Order Financially Closed', financially_closed_time FROM status_times WHERE financially_closed_time IS NOT NULL
UNION ALL
SELECT production_order, 'Production Order Cancelled', cancelled_time FROM status_times WHERE cancelled_time IS NOT NULL
)
SELECT
e.production_order AS "ProductionOrder",
e.activity AS "Activity",
e.start_time AS "StartTime",
p.source_system AS "SourceSystem",
p.last_data_update AS "LastDataUpdate",
b.material_number AS "MaterialNumber",
b.plant AS "Plant",
NULLIF(b.work_center, '') AS "WorkCenter",
b.planned_end_date AS "PlannedEndDate",
b.current_status AS "OrderStatus"
FROM events e
INNER JOIN base_attributes b
ON b.production_order = e.production_order
CROSS JOIN params p
WHERE e.start_time IS NOT NULL
ORDER BY e.production_order, e.start_time, e.activity; พร้อมเริ่มต้นหรือยัง?
เริ่มต้นปรับปรุงประสิทธิภาพการวางแผนการผลิต เตรียมข้อมูลด้วยเทมเพลตนี้ แล้วค้นหาข้อมูลเชิงลึกที่ช่วยให้คุณปรับปรุงกระบวนการได้.
เริ่มปรับปรุงการวางแผนการผลิตวันนี้
ระบุและขจัดคอขวด ลดเวลารอบการผลิตได้ 30%.
ไม่ต้องใช้บัตรเครดิต