Templat Data Perencanaan Produksi Anda
Templat Data Perencanaan Produksi Anda
- Atribut yang disarankan untuk analisis perencanaan produksi
- Aktivitas utama perencanaan produksi yang perlu dilacak
- Panduan terperinci untuk mengambil data dari SAP S/4HANA
Atribut Perencanaan Produksi
| Nama | Deskripsi | ||
|---|---|---|---|
| Aktivitas Activity | Nama kejadian atau tugas tertentu yang berlangsung pada waktu tertentu dalam proses perencanaan produksi. | ||
| Deskripsi Atribut ini mencatat langkah dan tonggak penting dalam siklus pesanan produksi. Contohnya, 'Pesanan Produksi Dibuat', 'Ketersediaan Material Diperiksa', 'Produksi Dimulai', dan 'Pesanan Ditutup Secara Finansial'. Setiap aktivitas menunjukkan tindakan atau perubahan status tertentu yang tercatat di sistem. Analisis urutan dan frekuensi aktivitas merupakan inti process mining. Analisis ini membantu memvisualisasikan alur proses, menemukan penyimpangan dari prosedur standar, serta mengidentifikasi aktivitas yang menyebabkan keterlambatan atau sering perlu dikerjakan ulang, seperti 'Rencana Produksi Disesuaikan'. Mengapa ini penting Atribut ini menentukan langkah-langkah proses sehingga alur kerja produksi yang sebenarnya beserta variasinya dapat ditemukan dan divisualisasikan. Sumber data Ditentukan dari perubahan status di tabel seperti JEST dan JCDS, kode transaksi yang digunakan (misalnya CO01 untuk membuat pesanan), atau catatan konfirmasi tertentu di AFRU. Contoh Pesanan produksi dibuatPesanan produksi dilepasProduksi dimulaiKonfirmasi akhir dicatatPenerimaan barang dicatat | |||
| Pesanan Produksi ProductionOrder | Pengenal unik untuk pesanan produksi yang digunakan sebagai ID kasus utama dalam proses perencanaan produksi. | ||
| Deskripsi Nomor Pesanan Produksi adalah kunci unik yang dibuat SAP S/4HANA untuk mengelola dan melacak semua aktivitas terkait pembuatan sejumlah produk tertentu. Nomor ini menghubungkan seluruh kejadian terkait, mulai dari perencanaan dan pelepasan hingga pelaksanaan dan penyelesaian akhir. Dalam process mining, atribut ini penting untuk mengelompokkan semua kejadian terkait ke dalam satu instans proses dari awal hingga akhir. Analisis berdasarkan Pesanan Produksi membantu mengukur KPI utama, seperti waktu siklus dan kepatuhan terhadap jadwal, serta menemukan hambatan yang memengaruhi proses produksi tertentu. Mengapa ini penting Atribut ini menghubungkan semua langkah proses sehingga seluruh siklus produksi dapat dianalisis pada tingkat kasus, dari awal hingga akhir. Sumber data Ini adalah nomor Pesanan Produksi yang biasanya terdapat di tabel SAP seperti AFKO (kolom AUFNR) dan AFPO. Contoh 100056710008341001299 | |||
| Waktu Mulai StartTime | Stempel waktu yang menunjukkan kapan suatu aktivitas atau kejadian dimulai. | ||
| Deskripsi Atribut ini mencatat tanggal dan waktu setiap kejadian dalam proses produksi. Data ini menjadi dasar untuk semua analisis proses berbasis waktu. Waktu Mulai penting untuk menghitung durasi antaraktivitas, mengukur total waktu siklus pesanan produksi, dan memahami kapan kejadian berlangsung. Data ini membantu menganalisis hambatan, waktu tunggu, dan kepatuhan terhadap jadwal dengan membandingkan stempel waktu aktual dengan tanggal yang direncanakan. Mengapa ini penting Atribut ini memberi konteks kronologis untuk semua kejadian sehingga kinerja proses, durasi, dan hambatan dapat dianalisis. Sumber data Informasi ini biasanya terdapat di tabel dokumen perubahan (CDHDR/CDPOS) untuk perubahan status, tabel konfirmasi (AFRU) untuk langkah pelaksanaan, dan tabel header (AFKO) untuk tanggal pembuatan. Contoh 2023-10-26T09:00:00Z2023-10-26T14:30:00Z2023-10-27T08:15:00Z | |||
| Pembaruan Data Terakhir LastDataUpdate | Stempel waktu yang menunjukkan kapan data terakhir kali diperbarui atau diambil dari sistem sumber. | ||
| Deskripsi Atribut ini mencatat tanggal dan waktu pengambilan data terbaru. Metadata ini memberi tahu pengguna seberapa baru data yang sedang dianalisis. Mengetahui waktu pembaruan terakhir penting agar hasil analisis dapat ditafsirkan dengan tepat. Informasi ini membantu pengguna memahami apakah mereka melihat informasi terkini atau data dari waktu tertentu. Hal tersebut memengaruhi relevansi temuan dan keputusan yang dibuat berdasarkan data. Mengapa ini penting Atribut ini memberi tahu pengguna seberapa baru data yang digunakan, hal penting untuk mengambil keputusan bisnis yang akurat dan relevan. Sumber data Stempel waktu ini dibuat dan ditambahkan selama proses ekstraksi, transformasi, dan pemuatan data (ETL). Contoh 2024-05-21T02:00:00Z2024-05-22T02:00:00Z2024-05-23T02:00:00Z | |||
| Sistem Sumber SourceSystem | Sistem tempat data perencanaan produksi diambil. | ||
| Deskripsi Atribut ini menunjukkan asal data, yang penting jika lingkungan kerja menggunakan beberapa sistem terintegrasi. Untuk proses ini, sumbernya biasanya adalah instans SAP S/4HANA tertentu. Dalam analisis data yang lebih luas, informasi tentang sistem sumber membantu menjaga integritas data dan memberi konteks saat data dari berbagai sumber digabungkan. Metadata ini juga penting untuk tata kelola dan pelacakan data. Mengapa ini penting Metadata ini penting untuk tata kelola data karena memperjelas asal dan konteks data proses. Sumber data Nilai statis ini biasanya ditambahkan saat ekstraksi data untuk mengidentifikasi klien dan ID sistem (SID) SAP S/4HANA. Contoh S4P_100S4H_PRD_200S4Q_300 | |||
| Nomor Material MaterialNumber | Pengenal unik produk yang dibuat dalam pesanan produksi. | ||
| Deskripsi Nomor Material menunjukkan barang yang akan dibuat berdasarkan pesanan produksi. Nomor ini menghubungkan proses produksi dengan data induk material, termasuk daftar material (BOM) dan informasi routing. Analisis berdasarkan Nomor Material membantu menemukan produk yang lebih sering mengalami keterlambatan, pengerjaan ulang, atau kekurangan material. Hasilnya dapat digunakan untuk memperbaiki proses khusus produk, misalnya dengan menyesuaikan parameter perencanaan atau meningkatkan rantai pasok komponen tertentu. Mengapa ini penting Atribut ini memungkinkan pemfilteran dan analisis berdasarkan produk yang dibuat, sehingga ketidakefisienan atau hambatan khusus produk dapat ditemukan. Sumber data Terdapat di tabel item Pesanan Produksi AFPO (kolom MATNR). Contoh RM-1001FG-2050SA-3100-B | |||
| Pabrik Plant | Fasilitas atau lokasi tempat pesanan produksi dikerjakan. | ||
| Deskripsi Pabrik adalah unit organisasi di SAP yang mewakili lokasi atau fasilitas produksi. Setiap pesanan produksi ditetapkan ke pabrik tertentu tempat kegiatan produksi berlangsung. Atribut ini penting untuk membandingkan kinerja antar lokasi produksi. Dengan mengelompokkan data proses berdasarkan Pabrik, organisasi dapat membandingkan kinerja, menemukan masalah atau praktik baik di lokasi tertentu, serta memahami perbedaan efisiensi, kapasitas, atau kepatuhan terhadap standar di tiap wilayah. Mengapa ini penting Atribut ini memungkinkan perbandingan kinerja antar lokasi produksi, sehingga praktik baik dapat dibagikan dan masalah khusus lokasi dapat ditangani. Sumber data Terdapat di tabel header Pesanan Produksi AFKO (kolom DWERK). Contoh 100017102000 | |||
| Pusat Kerja WorkCenter | Mesin, kelompok mesin, atau area perakitan tertentu yang bertanggung jawab atas suatu operasi. | ||
| Deskripsi Pusat Kerja adalah unit operasional tertentu di dalam pabrik tempat langkah produksi dilakukan. Unit ini dapat berupa satu mesin, lini produksi, atau sekelompok karyawan. Analisis data proses berdasarkan Pusat Kerja penting untuk menemukan hambatan kapasitas dan mengoptimalkan alokasi sumber daya. Analisis ini membantu menjawab pusat kerja mana yang kelebihan beban, mana yang kurang dimanfaatkan, dan di mana keterlambatan paling sering terjadi selama pelaksanaan produksi. Informasi ini penting untuk dasbor Identifikasi Hambatan Kapasitas. Mengapa ini penting Atribut ini membantu menemukan mesin atau lini produksi yang menjadi hambatan sehingga kapasitas dan pemanfaatan sumber daya dapat ditingkatkan secara terarah. Sumber data Terdapat di data operasi pesanan produksi, tabel AFVC (kolom ARBPL). Contoh WC-ASSEMBLY-01WC-MILLING-05WC-PACKING | |||
| Status Pesanan OrderStatus | Status pemrosesan pesanan produksi saat ini, seperti Dibuat, Dirilis, atau Selesai Secara Teknis. | ||
| Deskripsi Status Pesanan menunjukkan tahap keseluruhan pesanan produksi dalam siklusnya. Status ini merangkum berbagai status sistem dan pengguna yang diterapkan pada pesanan. Status umum mencakup CRTD (Dibuat), REL (Dirilis), CNF (Dikonfirmasi), TECO (Selesai Secara Teknis), dan CLSD (Ditutup). Status pesanan saat ini membantu Anda memahami pekerjaan yang sedang berlangsung. Dalam process mining, pelacakan perubahan status dari waktu ke waktu menghasilkan log aktivitas dan memberikan gambaran terperinci tentang alur proses serta durasi di setiap tahap. Mengapa ini penting Atribut ini memberi gambaran umum tentang tahap siklus pesanan dan menjadi dasar untuk menyusun urutan aktivitas dalam process mining. Sumber data Ditentukan dari status sistem yang tersimpan di tabel JEST, yang ditautkan melalui nomor objek di AFKO (kolom OBJNR). Contoh CRTDRELTECOCLSD | |||
| Tanggal Selesai yang Direncanakan PlannedEndDate | Tanggal penyelesaian pesanan produksi sesuai rencana awal. | ||
| Deskripsi Tanggal Selesai yang Direncanakan adalah tanggal target untuk menyelesaikan semua aktivitas produksi dalam suatu pesanan. Tanggal ini ditentukan saat penjadwalan produksi. Atribut ini penting untuk mengukur kepatuhan terhadap jadwal. Dengan membandingkan Tanggal Selesai yang Direncanakan dengan stempel waktu penyelesaian aktual, organisasi dapat menghitung KPI Tingkat Kepatuhan Jadwal Produksi dan menemukan pesanan yang terlambat. Analisis ini penting untuk meningkatkan akurasi perencanaan dan kepuasan pelanggan. Mengapa ini penting Atribut ini menjadi acuan untuk mengukur kepatuhan terhadap jadwal dan menilai akurasi perencanaan serta efisiensi pelaksanaan. Sumber data Terdapat di tabel header Pesanan Produksi AFKO (kolom GLTRP). Contoh 2023-11-152023-12-012024-01-20 | |||
| Jenis Pesanan OrderType | Klasifikasi pesanan produksi yang menentukan tujuan dan cara pemrosesannya. | ||
| Deskripsi Jenis Pesanan adalah elemen konfigurasi penting di SAP PP yang menentukan cara sistem menangani pesanan produksi. Jenis ini mengatur rentang nomor, pemilihan data induk, parameter penetapan biaya, dan aturan penyelesaian. Contohnya mencakup pesanan produksi standar, pesanan pengerjaan ulang, dan pesanan prototipe. Analisis berdasarkan Jenis Pesanan memungkinkan perbandingan kinerja dan alur berbagai jenis proses produksi. Analisis ini dapat menunjukkan apakah pesanan pengerjaan ulang membutuhkan waktu jauh lebih lama atau jenis pesanan tertentu lebih sering mengalami penyesuaian rencana. Temuan ini membantu menentukan perbaikan proses yang tepat sasaran. Mengapa ini penting Atribut ini memungkinkan analisis dikelompokkan berdasarkan tujuan bisnis pesanan, sehingga produksi standar, pengerjaan ulang, dan proses lainnya dapat dibandingkan. Sumber data Terdapat di tabel header Pesanan Produksi AFKO (kolom AUART). Contoh PP01PP03ZP01 | |||
| Kuantitas yang Dikonfirmasi TotalConfirmedQuantity | Total kuantitas material yang telah dikonfirmasi sebagai hasil produksi untuk pesanan tersebut. | ||
| Deskripsi Atribut ini menunjukkan akumulasi kuantitas barang jadi atau setengah jadi yang dilaporkan melalui konfirmasi produksi. Data ini melacak kemajuan pesanan menuju target penyelesaian. Dengan membandingkan kuantitas yang dikonfirmasi dengan kuantitas yang direncanakan, Anda dapat memantau kemajuan produksi dan menemukan masalah hasil produksi atau selisih. Atribut ini menjadi ukuran dasar output dan digunakan dalam berbagai perhitungan kinerja, termasuk tingkat barang afkir dan efisiensi. Mengapa ini penting Atribut ini melacak output aktual pesanan produksi, yang penting untuk memantau kemajuan, menghitung hasil produksi, dan menemukan selisih. Sumber data Dihitung dari gabungan catatan konfirmasi di AFRU (kolom LMNGA untuk kuantitas hasil produksi). Contoh 9801000501200 | |||
| Mengalami Pengerjaan Ulang IsRework | Penanda yang menunjukkan apakah pesanan produksi mengalami pengerjaan ulang atau penyesuaian rencana besar setelah produksi dimulai. | ||
| Deskripsi Atribut boolean ini ditentukan untuk menemukan pesanan produksi yang mengalami tindakan korektif atau perubahan rencana setelah produksi berjalan. Penanda ini dapat dipicu oleh aktivitas pengerjaan ulang yang tercatat secara eksplisit atau kejadian 'Rencana Produksi Disesuaikan' setelah 'Produksi Dimulai'. Penanda ini penting untuk menghitung KPI Tingkat Pengerjaan Ulang Produksi dan digunakan dalam dasbor Pengerjaan Ulang dan Revisi Produksi. Penanda ini memudahkan pemfilteran dan analisis kasus bermasalah, sehingga penyebab utama masalah kualitas atau penyimpangan proses yang memicu pengerjaan ulang berbiaya tinggi dapat ditemukan. Mengapa ini penting Atribut ini memisahkan kasus yang mengalami pengerjaan ulang agar masalah kualitas, penyimpangan proses, dan biaya terkait dapat dianalisis dan dikurangi secara terarah. Sumber data Kolom hasil perhitungan. Nilainya true jika aktivitas 'Rencana Produksi Disesuaikan' terjadi setelah aktivitas 'Produksi Dimulai' dalam kasus yang sama, atau jika jenis pesanan pengerjaan ulang tertentu digunakan. Contoh truefalse | |||
| Pengguna User | ID sistem pengguna yang membuat, mengubah, atau mengonfirmasi kejadian pesanan produksi. | ||
| Deskripsi Atribut ini mencatat ID pengguna SAP yang terkait dengan transaksi atau perubahan status tertentu, seperti melepas pesanan atau memasukkan konfirmasi. Data ini membantu melacak tindakan yang dilakukan di sistem. Analisis aktivitas berdasarkan Pengguna membantu memahami pembagian beban kerja, menemukan kebutuhan pelatihan, dan memastikan kepatuhan terhadap prosedur. Misalnya, analisis dapat menunjukkan apakah pengguna tertentu sering terlibat dalam penyesuaian rencana atau apakah keterlambatan berkaitan dengan tim tertentu. Mengapa ini penting Atribut ini membantu menetapkan tanggung jawab serta menganalisis beban kerja, perilaku pengguna, dan kebutuhan pelatihan. Sumber data Biasanya terdapat di header dokumen perubahan (CDHDR, kolom UNAME) atau catatan konfirmasi (AFRU, kolom PERNR untuk nomor personel). Contoh CB9980000021JSMITHPLANNER01 | |||
| Prioritas Produksi ProductionPriority | Kode atau nilai yang diberikan pada pesanan produksi untuk menunjukkan tingkat urgensi atau kepentingannya. | ||
| Deskripsi Perencana dan penjadwal menggunakan Prioritas Produksi untuk mengurutkan dan memprioritaskan pesanan, terutama saat sumber daya terbatas. Pesanan dengan prioritas lebih tinggi idealnya diproses lebih dahulu. Analisis atribut ini membantu menilai apakah prioritas yang ditetapkan benar-benar diikuti di lantai produksi. Dasbor Konsistensi Prioritas Produksi membandingkan urutan pemrosesan dengan prioritas yang ditetapkan untuk menemukan ketidaksesuaian. Hasilnya dapat membantu memperkuat disiplin penjadwalan dan menyelaraskan perencanaan dengan pelaksanaan. Mengapa ini penting Atribut ini membantu memastikan penjadwalan produksi mengikuti prioritas bisnis sehingga pesanan penting dipercepat sesuai rencana. Sumber data Atribut ini sering berupa kolom khusus atau ditentukan berdasarkan parameter pesanan lainnya. Lokasi spesifiknya bergantung pada konfigurasi. Contoh TinggiSedangRendah15 | |||
| Status Ketersediaan Material MaterialAvailabilityStatus | Menunjukkan apakah semua material yang dibutuhkan untuk pesanan produksi tersedia. | ||
| Deskripsi Status ini menunjukkan hasil pemeriksaan ketersediaan material untuk suatu pesanan produksi. Hasilnya dapat menunjukkan bahwa semua material tersedia, sebagian material belum tersedia, atau pemeriksaan belum dilakukan. Status 'kekurangan' menjadi tanda awal kemungkinan keterlambatan. Atribut ini penting untuk dasbor Analisis Dampak Kekurangan Material. Dengan menghubungkan status kekurangan dengan waktu antara pelepasan pesanan dan dimulainya produksi, Anda dapat mengukur keterlambatan akibat material yang tidak tersedia. Meningkatkan metrik ini membantu melancarkan alur produksi. Mengapa ini penting Atribut ini menjelaskan secara langsung keterlambatan antara pelepasan pesanan dan dimulainya produksi, serta membantu mengukur dampak masalah rantai pasok terhadap manufaktur. Sumber data Ini adalah status yang sering ditentukan dari status gabungan komponen material. Status ini dapat ditemukan di status sistem (JEST), misalnya 'MSPT' (kekurangan material). Contoh TersediaKekuranganBelum Diperiksa | |||
| Tanggal Mulai yang Direncanakan PlannedStartDate | Tanggal mulai pesanan produksi sesuai rencana awal. | ||
| Deskripsi Tanggal Mulai yang Direncanakan adalah tanggal target untuk memulai aktivitas produksi suatu pesanan. Tanggal ini menjadi salah satu hasil utama proses penjadwalan. Atribut ini menjadi acuan awal untuk menganalisis kepatuhan terhadap jadwal. Dengan membandingkan Tanggal Mulai yang Direncanakan dengan waktu mulai aktual, Anda dapat memahami keterlambatan di tahap awal, seperti keterlambatan penyiapan material atau pelepasan pesanan. Keterlambatan ini dapat berdampak pada seluruh jadwal produksi. Mengapa ini penting Atribut ini menjadi acuan untuk mengukur kepatuhan terhadap waktu mulai dan menemukan keterlambatan pada tahap praproduksi, seperti pelepasan pesanan dan ketersediaan material. Sumber data Terdapat di tabel header Pesanan Produksi AFKO (kolom GSTRP). Contoh 2023-11-102023-11-252024-01-15 | |||
| Tepat Waktu IsOnTime | Penanda yang menunjukkan apakah pesanan produksi selesai pada atau sebelum tanggal selesai yang direncanakan. | ||
| Deskripsi Atribut boolean hasil perhitungan ini mengukur kepatuhan terhadap jadwal secara langsung dengan membandingkan tanggal penyelesaian aktual dengan tanggal selesai yang direncanakan. Atribut ini memberikan hasil yang jelas untuk menunjukkan apakah setiap pesanan produksi selesai tepat waktu. Atribut ini menjadi dasar KPI Tingkat Kepatuhan Jadwal Produksi. Atribut ini memudahkan analisis dengan mengelompokkan pesanan yang selesai tepat waktu dan yang terlambat, sehingga karakteristik atau alur proses yang berkaitan dengan keterlambatan dapat ditemukan. Mengapa ini penting Atribut ini memberikan ukuran kepatuhan terhadap jadwal yang jelas dan sederhana untuk setiap pesanan, sehingga penyebab utama keterlambatan dapat dianalisis. Sumber data Kolom hasil perhitungan. Nilainya true jika stempel waktu aktivitas 'Pesanan Selesai Secara Teknis' lebih awal atau sama dengan atribut 'Tanggal Selesai yang Direncanakan'. Contoh truefalse | |||
| Waktu Selesai EndTime | Stempel waktu yang menunjukkan kapan suatu aktivitas atau kejadian selesai. | ||
| Deskripsi Atribut ini mencatat tanggal dan waktu selesainya setiap kejadian. Bersama Waktu Mulai, data ini menunjukkan durasi aktivitas. Waktu Selesai penting untuk menghitung waktu pemrosesan setiap aktivitas secara akurat. Data ini menjadi masukan utama untuk analisis kapasitas dan pemanfaatan sumber daya. Dengan membedakan waktu kerja aktif dari waktu menganggur atau menunggu, Anda dapat mengidentifikasi hambatan dengan lebih akurat. Mengapa ini penting Atribut ini memungkinkan penghitungan durasi aktivitas secara akurat, yang penting untuk menganalisis efisiensi sumber daya dan menemukan hambatan proses. Sumber data Untuk langkah pelaksanaan, data ini terdapat di tabel konfirmasi (AFRU). Untuk kejadian lain, nilainya mungkin sama dengan Waktu Mulai jika kejadian berlangsung seketika. Contoh 2023-10-26T09:45:00Z2023-10-26T15:00:00Z2023-10-27T10:30:00Z | |||
Aktivitas Perencanaan Produksi
| Aktivitas | Deskripsi | ||
|---|---|---|---|
| Konfirmasi akhir dicatat | Aktivitas ini menandai konfirmasi operasi terakhir dalam urutan kerja pesanan produksi. Artinya, semua langkah produksi yang direncanakan telah selesai di lantai produksi. | ||
| Mengapa ini penting Konfirmasi akhir menjadi tonggak penting yang menandai berakhirnya pekerjaan produksi fisik. Konfirmasi ini sering digunakan sebagai titik akhir yang lebih akurat untuk mengukur waktu siklus di lantai produksi sebelum penerimaan barang jadi. Sumber data Disimpulkan dari data konfirmasi di tabel AFRU. Catatan ini dikenali sebagai konfirmasi untuk urutan operasi terakhir (AFVC-VPLNR) yang memiliki indikator 'final confirmation' (AFRUD-AUERU). Pengumpulan data Temukan konfirmasi operasi terakhir di AFRU yang memiliki penanda konfirmasi akhir. Jenis peristiwa inferred | |||
| Penerimaan barang dicatat | Peristiwa ini mencatat penerimaan produk jadi dari lini produksi ke persediaan. Penerimaan ini secara resmi menambah jumlah stok material yang diproduksi. | ||
| Mengapa ini penting Tonggak penting ini menandai selesainya hasil produksi. Peristiwa ini sering dianggap sebagai akhir siklus produksi untuk mengukur ketepatan waktu pengiriman dan total waktu tunggu. Sumber data Ini adalah pencatatan keuangan langsung di tabel dokumen material MSEG (tingkat item) dan MKPF (tingkat header), biasanya dengan jenis pergerakan 101. Dokumen ini terhubung dengan pesanan produksi. Pengumpulan data Temukan dokumen material di MSEG yang terhubung dengan pesanan dan memiliki jenis pergerakan 101. Jenis peristiwa explicit | |||
| Pesanan produksi dibuat | Peristiwa ini mencatat pembuatan awal pesanan produksi di sistem. Pesanan tersebut menjadi permintaan resmi untuk memproduksi jumlah produk tertentu. Peristiwa ini tercatat saat pengguna menyimpan pesanan baru dan status awalnya ditetapkan ke CRTD (Created). | ||
| Mengapa ini penting Menandai awal siklus pesanan produksi. Analisis waktu dari pembuatan hingga pelepasan membantu menemukan keterlambatan administratif atau perencanaan sebelum produksi dijadwalkan secara resmi. Sumber data Peristiwa ini tercatat di tabel AUFK (Order Master Data) dengan tanggal pembuatan (ERDAT). Status pembuatan (CRTD) dicatat di tabel JEST dan JCDS, yang terhubung melalui nomor objek pesanan (OBJNR). Pengumpulan data Waktu dari AUFK-ERDAT atau log perubahan status menjadi 'CRTD' di JCDS. Jenis peristiwa explicit | |||
| Pesanan produksi dilepas | Ini adalah tonggak penting saat pesanan produksi disetujui dan siap dikerjakan di lantai produksi. Setelah pesanan dilepas, pengeluaran barang, konfirmasi, dan langkah pelaksanaan lainnya dapat dimulai. | ||
| Mengapa ini penting Peristiwa ini menandai dimulainya proses produksi yang siap dijalankan. Ini menjadi titik penting untuk mengukur waktu tunggu. Jarak waktu antara pembuatan dan pelepasan pesanan menjadi KPI utama untuk mengukur efisiensi sebelum produksi. Sumber data Pengguna atau pekerjaan sistem memicu pelepasan pesanan, sehingga statusnya berubah menjadi REL. Perubahan status ini dicatat beserta waktunya di tabel JCDS. Tanggal pelepasan juga sering disimpan di AFKO-FTRMI. Pengumpulan data Waktu perubahan status menjadi 'REL' di tabel JCDS. Jenis peristiwa inferred | |||
| Pesanan selesai secara teknis | Ini adalah langkah penutupan administratif yang mencegah perubahan logistik lebih lanjut pada pesanan, seperti pergerakan barang atau konfirmasi. Dari sisi logistik, pesanan dianggap selesai. | ||
| Mengapa ini penting TECO menjadi titik akhir yang pasti dalam proses produksi dan penting untuk menghitung total waktu siklus pesanan produksi. Status ini menandakan semua aktivitas logistik telah selesai dan pesanan siap untuk penyelesaian keuangan. Sumber data Peristiwa ini terjadi saat pengguna menetapkan status TECO (Technically Completed). Perubahan status beserta stempel waktunya tercatat di tabel JCDS. Pengumpulan data Waktu perubahan status menjadi 'TECO' di tabel JCDS. Jenis peristiwa inferred | |||
| Produksi dimulai | Menunjukkan dimulainya kegiatan produksi fisik untuk pesanan. Aktivitas ini biasanya disimpulkan dari konfirmasi pertama di lantai produksi atau pengeluaran komponen pertama untuk pesanan tersebut. | ||
| Mengapa ini penting Aktivitas ini menandai peralihan dari perencanaan ke pelaksanaan. Aktivitas ini penting untuk memantau kepatuhan terhadap jadwal dengan membandingkan tanggal mulai aktual dan tanggal mulai yang direncanakan. Sumber data Peristiwa ini disimpulkan dari data lain. Biasanya, waktunya diambil dari stempel waktu paling awal pada pencatatan pergerakan barang (tabel MSEG, jenis pergerakan 261) atau pencatatan konfirmasi waktu (tabel AFRU) yang terkait dengan pesanan. Pengumpulan data Waktu paling awal dari AFRU (konfirmasi) atau MSEG (pergerakan barang) untuk pesanan tersebut. Jenis peristiwa inferred | |||
| Rencana produksi disesuaikan | Menunjukkan perubahan penting pada pesanan produksi setelah dilepas, seperti perubahan jumlah, tanggal, atau daftar material. Perubahan ini diketahui dengan menganalisis dokumen perubahan. | ||
| Mengapa ini penting Penyesuaian yang sering terjadi dapat menunjukkan perencanaan yang tidak stabil atau permintaan yang berubah-ubah. Aktivitas ini menjadi dasar KPI Tingkat Revisi Rencana Produksi dan membantu menemukan sumber variasi proses. Sumber data Disimpulkan dari log perubahan di tabel CDHDR (Change document header) dan CDPOS (Change document items) untuk objek pesanan produksi (AUFK atau AFPO). Perubahan setelah tanggal pelepasan dianggap sebagai penyesuaian. Pengumpulan data Temukan perubahan pada kolom penting, seperti jumlah atau tanggal, di CDHDR/CDPOS setelah event pelepasan. Jenis peristiwa inferred | |||
| Kebutuhan kapasitas direncanakan | Aktivitas ini mencakup penjadwalan operasi pesanan produksi dan pemeriksaan ketersediaan kapasitas di pusat kerja yang diperlukan. Sistem mengevaluasi beban kapasitas pusat kerja dan meratakannya jika pengaturan tersebut diaktifkan, lalu menentukan tanggal produksi. | ||
| Mengapa ini penting Langkah ini penting untuk memastikan jadwal produksi dapat dijalankan. Analisis durasi dan hasilnya membantu menemukan hambatan kapasitas serta meningkatkan akurasi perencanaan sumber daya. Sumber data Umumnya, aktivitas ini disimpulkan dari status sistem yang menunjukkan pesanan telah dijadwalkan, seperti SETC (Scheduling carried out). Terisinya tanggal mulai dan selesai yang dijadwalkan (AUFK-GSTRP, AUFK-GLTRP) juga menandakan aktivitas ini selesai. Pengumpulan data Disimpulkan dari terisinya tanggal jadwal di AUFK/AFKO atau status terkait penjadwalan di JEST. Jenis peristiwa inferred | |||
| Ketersediaan material diperiksa | Menunjukkan tindakan sistem atau pengguna untuk memeriksa apakah semua komponen yang diperlukan bagi pesanan produksi tersedia dalam jumlah yang dibutuhkan dan tepat waktu. Pemeriksaan ini biasanya berjalan otomatis saat pesanan dibuat atau dilepas, atau dilakukan secara manual hingga memperbarui status pesanan. | ||
| Mengapa ini penting Menemukan kekurangan material sejak dini penting untuk perencanaan proaktif. Pelacakan aktivitas ini membantu memahami dampak ketersediaan material terhadap pelepasan pesanan dan dimulainya produksi tepat waktu. Sumber data Disimpulkan dari status pesanan. Status seperti MACM (Material committed) atau perubahan tanggal ketersediaan material (AFKO-MSERF) menunjukkan bahwa pemeriksaan telah dilakukan. Tidak adanya status kekurangan material (MSPT) juga dapat menunjukkan bahwa material tersedia. Pengumpulan data Disimpulkan dari perubahan status terkait komitmen material atau pelaksanaan transaksi COMAC. Jenis peristiwa inferred | |||
| Konfirmasi produksi dicatat | Menunjukkan pencatatan kemajuan operasi tertentu dalam pesanan produksi. Pencatatan ini mencakup jumlah yang diproduksi, barang afkir, dan waktu yang digunakan di pusat kerja. | ||
| Mengapa ini penting Konfirmasi memberikan gambaran langsung tentang kemajuan di lantai produksi dan penting untuk memantau status produksi. Analisis frekuensi dan waktu konfirmasi membantu memantau alur serta menemukan keterlambatan antaroperasi. Sumber data Setiap konfirmasi dicatat secara langsung sebagai entri di tabel AFRU (Order Completion Confirmations), beserta waktu (BUDAT, UZEIT) dan detail operasi. Pengumpulan data Dicatat sebagai dokumen di tabel AFRU. Jenis peristiwa explicit | |||
| Pesanan ditutup secara finansial | Langkah penutupan terakhir, saat pesanan diselesaikan dan tidak ada lagi pencatatan keuangan yang dapat dilakukan. Ini menandai berakhirnya siklus pesanan dari sisi pengendalian dan akuntansi. | ||
| Mengapa ini penting Meski sering berada di luar cakupan analisis produksi saja, aktivitas ini memberikan gambaran menyeluruh dari awal hingga akhir. Aktivitas ini dapat membantu menganalisis waktu antara penyelesaian logistik (TECO) dan penutupan keuangan. Sumber data Peristiwa ini terjadi saat pengguna menetapkan status CLSD (Closed). Perubahan status beserta stempel waktunya tercatat di tabel JCDS. Pengumpulan data Waktu perubahan status menjadi 'CLSD' di tabel JCDS. Jenis peristiwa inferred | |||
| Pesanan produksi dibatalkan | Menunjukkan pembatalan pesanan produksi sebelum selesai. Ini merupakan kondisi akhir alternatif yang menandakan proses tidak berhasil diselesaikan. | ||
| Mengapa ini penting Analisis pesanan yang dibatalkan dapat mengungkap masalah dalam perencanaan permintaan, data induk, atau proses penjualan. Tingkat pembatalan yang tinggi dapat menunjukkan masalah sistemik yang perlu ditangani. Sumber data Disimpulkan dari status sistem CACL (Cancellation) yang ditetapkan di tabel JCDS. Tanda penghapusan (AUFK-LOEKZ) juga dapat menunjukkan pembatalan. Pengumpulan data Waktu perubahan status menjadi 'CACL' di JCDS atau waktu tanda penghapusan ditetapkan di AUFK. Jenis peristiwa inferred | |||
| Terjadi kekurangan material | Peristiwa ini menunjukkan bahwa proses produksi terdampak atau terhenti karena satu atau beberapa komponen yang diperlukan tidak tersedia. Sistem menetapkan status tertentu pada pesanan untuk mencatat kondisi tersebut. | ||
| Mengapa ini penting Pelacakan kekurangan material penting untuk analisis dampak kekurangan material. Hal ini membantu mengukur keterlambatan akibat masalah rantai pasok dan meningkatkan perencanaan material. Sumber data Disimpulkan dari aktifnya status 'MSPT' (Material shortage) pada pesanan produksi. Waktu perubahan status ini dapat ditemukan di tabel JCDS. Pengumpulan data Waktu perubahan status menjadi 'MSPT' di tabel JCDS. Jenis peristiwa inferred | |||
| Terjadi penghentian tak terencana | Peristiwa hasil perhitungan ini menunjukkan jeda yang cukup lama selama pelaksanaan produksi. Peristiwa ini tidak tercatat secara langsung di sistem. Waktunya dihitung dengan mencari jeda panjang di antara konfirmasi produksi yang berurutan. | ||
| Mengapa ini penting Membantu memantau gangguan tak terencana, seperti kerusakan mesin atau masalah kualitas. Menemukan penghentian yang sering atau berlangsung lama penting untuk meningkatkan kestabilan dan hasil produksi di lantai produksi. Sumber data Dihitung dengan menganalisis waktu aktivitas 'Konfirmasi produksi dicatat' yang berurutan dari tabel AFRU. Jeda yang melebihi ambang batas yang ditentukan akan ditandai sebagai penghentian tak terencana. Pengumpulan data Hitung selisih waktu antara konfirmasi yang berurutan (AFRU-BUDAT/UZEIT). Jenis peristiwa calculated | |||
Panduan Ekstraksi
Langkah
- Periksa prasyarat: Pastikan Anda memiliki akun pengguna SAP S/4HANA dengan otorisasi yang sesuai untuk mengakses tampilan Core Data Services (CDS) yang diperlukan. Tampilan yang dibutuhkan mencakup
I_ProductionOrder,I_ProdOrdConfirmation,I_MaterialDocumentItem,I_ObjectStatus, danI_ChangeDocument. Anda juga memerlukan akses ke lingkungan eksekusi SQL yang terhubung ke basis data SAP HANA, seperti SAP HANA Studio, DBeaver, atau alat ETL eksternal. - Catat detail sistem: Tentukan pengenal sistem sumber untuk atribut
SourceSystem. Nama logis ini Anda tetapkan untuk mengenali asal data, misalnyaS4H_PROD. - Tentukan parameter ekstraksi: Sebelum menjalankan kueri, tentukan parameter utama, termasuk tanggal awal dan akhir periode ekstraksi serta filter khusus seperti
PlantatauProductionOrderTypeuntuk membatasi cakupan data. - Siapkan kueri SQL: Salin seluruh kueri SQL dari bagian
queryke klien SQL atau alat ekstraksi data pilihan Anda. - Atur placeholder: Ganti nilai placeholder dalam kueri dengan parameter Anda. Ini mencakup
_StartDate,_EndDate, dan pengenal sistem sumber. Sesuaikan ambang untuk peristiwaUnplanned Halt Occurred(misalnya,'24:00:00') dengan kebutuhan bisnis Anda. - Jalankan kueri ekstraksi: Jalankan skrip SQL yang sudah dikonfigurasi pada basis data sistem SAP S/4HANA. Jika dataset mencakup periode panjang dan berukuran besar, jalankan ekstraksi dalam beberapa bagian, misalnya per bulan, agar kinerja sistem tetap terjaga.
- Tinjau data awal: Setelah kueri selesai dijalankan, periksa hasilnya secara singkat. Periksa jumlah baris, pastikan semua kolom tersedia, dan pastikan kolom
Aktivitasberisi beragam peristiwa yang diharapkan. - Validasi data: Ikuti langkah di bagian
validationStepsuntuk melakukan validasi lebih menyeluruh. Bandingkan beberapa pesanan produksi dengan detailnya di sistem SAP menggunakan transaksiCO03untuk memastikan log peristiwa yang diekstrak akurat. - Ekspor ke CSV: Ekspor hasil akhir ke file CSV. Pastikan encoding file menggunakan UTF-8 agar karakter tidak bermasalah.
- Siapkan file untuk diunggah: Pastikan header kolom CSV sesuai dengan nama atribut yang diperlukan:
ProductionOrder,Aktivitas,StartTime,SourceSystem, danLastDataUpdate. Sebelum mengunggah file ke alat process mining, pastikan kolomStartTimemenggunakan format stempel waktu standar, seperti ISO 8601 (YYYY-MM-DDTHH:MM:SS).
Konfigurasi
- CDS View inti: Ekstraksi terutama menggunakan sejumlah CDS view standar yang menyajikan tabel SAP di baliknya dalam format terstruktur dan berorientasi bisnis. View utama mencakup:
I_ProductionOrder: Untuk data tingkat header dan peristiwa pembuatan.I_ProdOrdConfirmation: Untuk semua konfirmasi operasi.I_MaterialDocumentItem: Untuk pergerakan barang, seperti pengeluaran dan penerimaan.I_ObjectStatus: Untuk membaca perubahan status pesanan produksi.I_ChangeDocumentdan view terkait: Untuk mencatat perubahan pada kolom utama pesanan.
- Filter rentang tanggal: Terapkan filter rentang tanggal untuk mengendalikan volume data. Kueri yang disediakan menggunakan
CreationDatepesanan produksi. Untuk analisis awal, biasanya gunakan data selama 3 hingga 6 bulan. - Filter bisnis utama: Persempit kumpulan data dengan menerapkan filter berdasarkan atribut organisasi atau data induk. Filter yang umum digunakan mencakup:
Plant: Untuk menganalisis fasilitas produksi tertentu.ProductionOrderType: Untuk berfokus pada produksi standar, pengerjaan ulang, atau jenis pesanan lainnya.CompanyCode: Untuk membatasi data pada badan hukum tertentu.
- Ambang batas penghentian tak terencana: Kueri ini mencakup logika untuk menghasilkan peristiwa
Unplanned Halt Occurred. Logika ini memerlukan ambang waktu untuk menentukan jeda yang signifikan di antara operasi. Atur nilainya berdasarkan durasi siklus produksi dan aturan bisnis yang berlaku. - Prasyarat otorisasi: Pengguna SAP yang menjalankan kueri harus memiliki otorisasi tampilan untuk semua CDS view dan tabel yang mendasarinya. Jika otorisasi tidak tersedia, hasilnya bisa kosong atau tidak lengkap.
Contoh kueri 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 Langkah
- Pastikan Anda memiliki akses baca langsung ke skema SAP HANA yang berisi data pesanan produksi. Identifikasi pemilik skema, pengelolaan klien, konvensi stempel waktu, dan model otorisasi. Gunakan SAP HANA Database Explorer atau klien SQL yang disetujui. Sebelum menyelesaikan kueri, validasi rilis SAP S/4HANA yang digunakan dan cakupan perencanaan produksi yang diaktifkan.
- Konfigurasikan string koneksi, kredensial, nama skema, nilai klien, tanggal mulai dan akhir ekstraksi, serta filter khusus perusahaan. Kueri di bawah menggunakan AUFK, AFPO, JEST, dan JCDS, serta merujuk AFKO, AFVC, AFRU, RESB, MSEG, CDHDR, dan CDPOS. Sebelum menjalankannya, pastikan objek-objek ini tersedia di sistem Anda dan periksa definisi kolomnya. Ekstensi, tampilan kompatibilitas, dan perbedaan antar-rilis dapat memengaruhi ketersediaannya.
- Jalankan kueri di SAP HANA Database Explorer atau alat eksekusi SQL yang disetujui. Kueri ini membuat satu baris untuk setiap aktivitas yang diekstrak secara eksplisit, lalu menggabungkan baris aktivitas menggunakan UNION ALL. ProcessMind tidak digunakan untuk menyimpulkan peristiwa.
- Tinjau data sumber dan sesuaikan ekspresi yang ditandai sebagai khusus sistem jika diperlukan. Pastikan kode status yang digunakan untuk ketersediaan material, perencanaan kapasitas, penyelesaian teknis, penutupan keuangan, dan pembatalan sudah benar. Pastikan juga objek dan nama kolom dokumen perubahan yang digunakan untuk mengidentifikasi penyesuaian rencana sudah benar.
- Validasi konversi stempel waktu dan filter klien. Sistem SAP dapat menyimpan tanggal dan waktu di kolom terpisah. Sebagian instalasi menggunakan UTC, sementara yang lain menggunakan waktu lokal pabrik atau sistem. Pastikan nilai StartTime yang dihasilkan menggunakan zona waktu yang konsisten dan tanggal SAP yang tidak valid atau masih berupa nilai awal dikecualikan.
- Ekspor hasilnya sebagai file datar yang didukung ProcessMind, sebaiknya CSV atau teks berbatas UTF 8. Pertahankan nama kolom keluaran berikut persis seperti aslinya: ProductionOrder, Activity, StartTime, SourceSystem, LastDataUpdate, MaterialNumber, Plant, WorkCenter, PlannedEndDate, dan OrderStatus.
- Urutkan baris yang diekspor berdasarkan ProductionOrder dan StartTime. Jika stempel waktunya sama, gunakan urutan sekunder yang konsisten jika proses unggah Anda mendukungnya. Pertahankan satu baris untuk setiap peristiwa, termasuk konfirmasi dan perubahan status berulang jika masing-masing mewakili catatan sumber yang berbeda.
- Unggah file ke ProcessMind, lalu petakan ProductionOrder sebagai ID kasus, Activity sebagai aktivitas, dan StartTime sebagai stempel waktu peristiwa. Petakan kolom lainnya sebagai atribut peristiwa atau kasus sesuai konfigurasi impor ProcessMind. Pastikan semua 14 label aktivitas tetap sama persis seperti yang dihasilkan kueri.
Konfigurasi
- Rentang tanggal: Mulailah dengan periode berjalan selama tiga hingga enam bulan. Untuk pengujian awal, gunakan periode yang lebih pendek. Perluas rentang hanya setelah jumlah baris dan kinerja kueri tervalidasi.
- Parameter ekstraksi: Ganti [Your schema name], [Your client], [Extraction start date], [Extraction end date], dan [Your source system name] dengan nilai dari lingkungan Anda. Terapkan filter khusus perusahaan hanya setelah memastikan kolom dan nilai organisasi yang relevan.
- Konfigurasi status: Pastikan kode status SAP dan ID objek status yang tepat untuk CRTD, pelepasan, ketersediaan material, perencanaan kapasitas, penyelesaian teknis, penutupan keuangan, dan pembatalan. Profil status dan penyesuaian khusus dapat mengubah kode yang tersedia.
- Dokumen perubahan: Pastikan objek dokumen perubahan pesanan produksi, nama tabel dan kolom, serta format nilai yang digunakan untuk perubahan kuantitas, tanggal, BOM, dan rute. Kueri menganggap catatan CDHDR dan CDPOS yang cocok sebagai bukti penyesuaian rencana.
- Penanganan stempel waktu: Samakan zona waktu semua stempel waktu sumber. Pastikan apakah kolom tanggal dan waktu disimpan terpisah, apakah stempel waktu menggunakan waktu lokal atau UTC, serta bagaimana tanggal awal direpresentasikan.
- Kinerja: Batasi ekstraksi berdasarkan tanggal pembuatan pesanan atau tanggal pesanan produksi lain yang memiliki indeks. Filter berdasarkan klien, pilih hanya kolom yang diperlukan, dan jalankan ekstraksi pada waktu pelaporan yang sesuai. Untuk kumpulan data besar, lakukan ekstraksi per bulan atau rentang pesanan produksi, lalu simpan hasilnya secara bertahap.
- Objek basis data: Pastikan AUFK, AFPO, JEST, JCDS, AFKO, AFVC, AFRU, RESB, MSEG, CDHDR, dan CDPOS tersedia serta dapat dibaca di skema yang dipilih. Jika tampilan atau kolom berbeda pada rilis Anda, ganti dengan objek terkait yang dirilis atau disetujui.
- Otorisasi: Akses yang diperlukan mencakup izin baca ke skema dan objek SAP HANA yang dipilih, serta izin untuk menjalankan SQL. Proses tata kelola Anda mungkin juga mewajibkan otorisasi aplikasi SAP.
- Cakupan fungsional: Data perencanaan dan pelaksanaan produksi, data pergerakan persediaan, riwayat status, serta dokumen perubahan harus tersedia untuk periode yang dipilih. Catatan yang diarsipkan atau dihapus tidak akan dikembalikan.
- Pemetaan ProcessMind: Tetapkan ProductionOrder sebagai ID kasus, Activity sebagai aktivitas, dan StartTime sebagai stempel waktu peristiwa. Jangan mengandalkan ProcessMind untuk menyimpulkan aktivitas yang tidak tersedia dari atribut.
Contoh kueri 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; Siap Memulai?
Mulai tingkatkan efisiensi perencanaan produksi Anda. Siapkan data menggunakan templat ini dan temukan wawasan untuk mengoptimalkan proses.
Mulai Optimalkan Perencanaan Produksi Anda Hari Ini
Temukan dan atasi hambatan, lalu kurangi waktu siklus produksi hingga 30%.
Tidak perlu kartu kredit