Templat data pengelolaan gudang Anda
Templat data pengelolaan gudang Anda
- Atribut yang disarankan untuk analisis menyeluruh
- Aktivitas utama yang perlu dilacak di seluruh proses
- Panduan mengekstrak data dari SAP EWM
Atribut pengelolaan gudang
| Nama | Deskripsi | ||
|---|---|---|---|
| Warehouse Order WarehouseOrder | ID unik untuk pesanan gudang yang mengelompokkan sejumlah tugas gudang untuk dikerjakan oleh suatu sumber daya. | ||
| Deskripsi Warehouse Order menjadi ID kasus utama untuk melacak proses penanganan barang di gudang dari awal hingga akhir. Warehouse Order mewakili satu paket pekerjaan, misalnya mengambil barang untuk pengiriman keluar atau menempatkan barang yang baru diterima. Setiap Warehouse Order mencakup satu atau beberapa tugas gudang. Dalam process mining, analisis berdasarkan Warehouse Order memberikan gambaran menyeluruh tentang siklus hidup suatu paket pekerjaan. Analisis ini membantu menemukan hambatan, mengukur waktu siklus dari pembuatan hingga penyelesaian, dan memahami seluruh alur aktivitas yang terkait dengan satu instruksi logistik. Mengapa ini penting Pengenal utama ini menghubungkan semua aktivitas gudang terkait, sehingga Anda dapat menganalisis proses dari awal hingga akhir dan mengukur waktu siklus untuk satu unit kerja. Sumber data Pengenal ini biasanya terdapat pada tabel header Warehouse Order SAP EWM, seperti /SCWM/WHO. Contoh 200000145200000146200000147 | |||
| Nama aktivitas ActivityName | Nama aktivitas atau peristiwa tertentu dalam manajemen gudang, seperti 'Tugas pengambilan barang dibuat' atau 'Pengeluaran barang dicatat'. | ||
| Deskripsi Atribut ini menjelaskan satu langkah atau peristiwa dalam proses manajemen gudang. Aktivitas ini membentuk peta proses dan mencakup tugas seperti pembuatan, konfirmasi, pengemasan, pemuatan, serta pemindahan barang. Analisis urutan dan frekuensi aktivitas menjadi dasar process mining. Analisis ini membantu memvisualisasikan alur proses, menemukan jalur yang umum maupun jarang terjadi, mendeteksi penyimpangan dari prosedur standar, dan menunjukkan langkah tertentu yang menyebabkan keterlambatan atau pengerjaan ulang. Mengapa ini penting Atribut ini menentukan langkah-langkah dalam proses dan menjadi dasar peta proses. Dengan atribut ini, Anda dapat menganalisis alur proses, penyimpangan, dan hambatan. Sumber data Ditentukan dari perubahan status, pesan peristiwa, atau log transaksi terkait pesanan dan tugas gudang di tabel seperti /SCWM/ORDIM_C (konfirmasi), atau dengan menafsirkan kolom status di /SCWM/WHO dan /SCWM/ORDIM_O. Contoh Tugas pengambilan barang dikonfirmasiTugas penyimpanan dibuatPenerimaan barang dicatatWarehouse Order selesai | |||
| Pembaruan data terakhir LastDataUpdate | Waktu yang menunjukkan kapan data untuk rekaman ini terakhir kali diperbarui dari sistem sumber. | ||
| Deskripsi Atribut ini mencatat waktu terakhir data diambil dari sistem sumber. Informasi ini memberi konteks penting tentang kebaruan data yang sedang dianalisis. Dalam analisis atau dasbor, Anda perlu mengetahui seberapa baru data yang digunakan untuk mengambil keputusan. Waktu ini membantu pengguna memahami apakah data yang dilihat merupakan informasi terkini atau rekaman dari waktu tertentu, sehingga mereka dapat menilai relevansinya. Mengapa ini penting Menunjukkan kebaruan data. Informasi ini penting agar pengguna mengetahui seberapa terkini analisis proses yang mereka lihat. Sumber data Kolom metadata ini biasanya dibuat dan ditambahkan selama proses ekstraksi data (ETL). Nilainya menunjukkan waktu pemuatan data. Contoh 2023-11-01T02:00:00Z2023-11-02T02:00:00Z | |||
| Sistem sumber SourceSystem | Menunjukkan sistem sumber tempat data diambil, misalnya instans produksi SAP EWM. | ||
| Deskripsi Atribut ini menunjukkan sistem pencatatan asal data manajemen gudang. Di lingkungan perusahaan yang menggunakan beberapa sistem, asal data perlu dicantumkan agar data dapat ditelusuri dan dipahami konteksnya. Dalam analisis, atribut ini membantu membedakan proses yang melibatkan beberapa sistem atau membandingkan proses dari instans berbeda, misalnya sistem terpisah untuk tiap wilayah. Dengan begitu, asal-usul data tercatat dengan jelas dan dapat diaudit. Mengapa ini penting Memberikan konteks dan memudahkan penelusuran, terutama jika Anda menggunakan beberapa instans SAP atau sistem terintegrasi. Asal-usul data pun tercatat dengan jelas. Sumber data Biasanya berupa nilai tetap yang ditambahkan saat proses ekstraksi, transformasi, dan pemuatan data (ETL) untuk menunjukkan instans SAP S/4HANA atau EWM tertentu. Contoh SAP_EWM_PROD_EUS4H_US_100EWM_APAC_PRD | |||
| Waktu mulai EventTime | Waktu yang menunjukkan kapan aktivitas atau peristiwa dimulai. | ||
| Deskripsi Atribut ini mencatat tanggal dan waktu persis saat aktivitas gudang tertentu terjadi. Data waktu ini digunakan untuk mengurutkan peristiwa dan menghitung durasi di antaranya. Dalam process mining, Waktu mulai diperlukan untuk menyusun urutan peristiwa secara kronologis untuk setiap kasus. Data ini digunakan untuk menghitung waktu siklus, waktu tunggu, dan waktu pemrosesan, yang penting untuk analisis kinerja, identifikasi hambatan, dan pemantauan SLA. Mengapa ini penting Waktu ini penting untuk mengurutkan peristiwa secara kronologis dan menghitung semua metrik kinerja berbasis waktu, seperti waktu siklus dan durasi. Sumber data Biasanya terdapat di tabel peristiwa atau konfirmasi seperti /SCWM/ORDIM_C (misalnya kolom CONF_TIMESTAMP), atau di log perubahan status yang terkait dengan pesanan dan tugas gudang. Contoh 2023-10-26T10:00:00Z2023-10-26T10:15:30Z2023-10-26T11:20:00Z | |||
| ID pengguna User | Pengenal petugas gudang atau pengguna yang mengonfirmasi atau menjalankan aktivitas. | ||
| Deskripsi Atribut ini mencatat ID pengguna yang bertanggung jawab menjalankan tugas gudang. Pengguna tersebut dapat berupa petugas pengambilan yang mengonfirmasi pengambilan, petugas pengemasan di stasiun pengemasan, atau operator forklift yang mengonfirmasi penempatan barang. Data ini penting untuk dashboard 'Pemanfaatan sumber daya dan peralatan'. Data tersebut memungkinkan analisis kinerja individu atau tim, membantu menemukan kebutuhan pelatihan, dan dapat digunakan untuk membagi beban kerja staf gudang secara lebih merata. Mengapa ini penting Mengaitkan pekerjaan dengan orang tertentu, sehingga Anda dapat menganalisis kinerja berdasarkan pengguna atau tim serta mendukung pengelolaan sumber daya dan pembagian beban kerja. Sumber data Biasanya terdapat pada data konfirmasi Warehouse Task, misalnya di kolom UNAME pada tabel /SCWM/ORDIM_C. Contoh JSMITHARODRIGUEZOPERATOR_05 | |||
| Jenis Warehouse Order WarehouseOrderType | Mengelompokkan Warehouse Order berdasarkan tujuannya, seperti penyimpanan, pengambilan barang, atau pengisian ulang stok internal. | ||
| Deskripsi Jenis Warehouse Order mengelompokkan pesanan berdasarkan fungsi logistiknya. Pembedaan ini penting karena setiap jenis pesanan mengikuti jalur proses dan memiliki target kinerja yang berbeda. Dalam analisis, atribut ini menjadi dimensi utama untuk pemfilteran dan perbandingan. Misalnya, dasbor 'Jumlah dan volume Warehouse Order' menggunakannya untuk membandingkan kinerja proses barang masuk (penyimpanan) dan barang keluar (pengambilan). Hasilnya, Anda mendapat gambaran operasional gudang yang lebih bermakna. Mengapa ini penting Memungkinkan Anda mengelompokkan analisis berdasarkan kategori proses, misalnya barang masuk atau barang keluar, sehingga perbandingan dan wawasan yang diperoleh lebih relevan. Sumber data Jenis ini ditentukan berdasarkan jenis proses gudang dan biasanya terdapat pada tabel header Warehouse Order /SCWM/WHO. Contoh PICKPUTWREPLSTGE | |||
| Nomor material MaterialNumber | ID unik untuk produk atau material yang ditangani dalam tugas gudang. | ||
| Deskripsi Atribut ini menunjukkan material yang dipindahkan, diambil, dikemas, atau diterima. Atribut ini menjadi dimensi penting untuk mengelompokkan dan menganalisis kinerja gudang berdasarkan karakteristik produk. Analisis berdasarkan Nomor material membantu menjawab pertanyaan seperti produk mana yang paling lama disimpan, produk mana yang paling sering mengalami kesalahan pengambilan, atau produk mana yang memerlukan pemeriksaan kualitas. Informasi ini penting untuk dasbor 'Kinerja penerimaan dan penyimpanan barang' serta 'Waktu tunggu pemeriksaan kualitas'. Mengapa ini penting Memungkinkan Anda memfilter dan mengelompokkan data proses berdasarkan produk. Ini penting untuk menemukan masalah khusus produk dalam penanganan, penyimpanan, atau pengendalian kualitas. Sumber data Informasi ini biasanya tersedia di tabel tugas gudang seperti /SCWM/ORDIM_O dan terhubung ke data induk material. Contoh FIN-1001RAW-2050SFIN-300-A | |||
| Prioritas Priority | Tingkat prioritas pesanan gudang yang menunjukkan urgensinya, misalnya tinggi, sedang, atau rendah. | ||
| Deskripsi Atribut ini mengelompokkan pesanan gudang berdasarkan kepentingan bisnis atau tingkat urgensinya. Pesanan berprioritas tinggi, misalnya untuk pengiriman ekspres atau pasokan produksi penting, perlu ditangani lebih cepat. Prioritas menjadi dimensi utama dalam dashboard dan KPI 'Kepatuhan pemenuhan pesanan prioritas'. Anda dapat memfilter dan mengelompokkan kinerja untuk memastikan pesanan paling penting diproses sesuai waktu yang ditetapkan, sehingga operasional gudang selaras dengan sasaran bisnis. Mengapa ini penting Membantu Anda memprioritaskan analisis dan pemantauan agar pesanan mendesak memenuhi tingkat layanan. Hal ini berdampak langsung pada kepuasan pelanggan. Sumber data Prioritas dapat ditetapkan pada dokumen pengiriman terkait, lalu diteruskan ke pesanan gudang. Informasi ini mungkin tersedia di tabel seperti /SCWM/WHO. Contoh TinggiSedangRendah | |||
| Status Warehouse Order WarehouseOrderStatus | Status Warehouse Order saat ini atau status akhirnya, seperti 'Completed' atau 'Canceled'. | ||
| Deskripsi Atribut ini menunjukkan hasil akhir dari pesanan gudang. Mengetahui apakah pesanan berhasil diselesaikan atau dibatalkan penting untuk menganalisis tingkat keberhasilan proses dan mencari tahu penyebab pesanan tidak selesai. Atribut ini menjadi filter utama dalam banyak analisis. Misalnya, perhitungan Waktu Siklus Gudang dari Awal hingga Akhir biasanya hanya mencakup pesanan yang selesai. Atribut ini juga membantu Anda mengetahui seberapa sering pesanan dibatalkan dan menyelidiki penyebabnya. Mengapa ini penting Menunjukkan hasil suatu kasus. Anda dapat memfilter pesanan yang selesai atau dibatalkan, yang penting untuk analisis waktu siklus dan throughput yang akurat. Sumber data Kolom status biasanya terdapat di tabel header pesanan gudang, /SCWM/WHO. Contoh SelesaiSedang diprosesDibatalkan | |||
| Waktu selesai EventEndTime | Waktu yang menunjukkan kapan aktivitas atau peristiwa selesai. | ||
| Deskripsi Atribut ini mencatat tanggal dan waktu saat aktivitas gudang tertentu selesai. Untuk peristiwa singkat, nilainya sering sama dengan Waktu mulai. Namun, nilainya dapat berbeda untuk aktivitas yang memiliki durasi terukur, seperti pengemasan atau pemuatan. Waktu selesai yang terpisah memungkinkan Anda menghitung durasi pemrosesan setiap aktivitas dengan tepat. Data ini penting untuk dasbor kinerja yang menganalisis durasi langkah tertentu, seperti 'Efisiensi pengambilan dan pengemasan', sehingga Anda dapat menemukan tugas yang paling banyak menyita waktu. Mengapa ini penting Memungkinkan penghitungan durasi setiap aktivitas secara tepat. Informasi ini penting untuk menemukan langkah yang memakan waktu dan tugas yang membutuhkan banyak sumber daya. Sumber data Untuk peristiwa yang berlangsung singkat, nilainya sering sama dengan waktu mulai. Untuk tugas yang berlangsung lama, nilainya mungkin tersimpan di kolom terpisah pada tabel seperti /SCWM/ORDIM_C atau ditentukan dari perubahan status berikutnya. Contoh 2023-10-26T10:05:00Z2023-10-26T10:25:45Z2023-10-26T11:20:00Z | |||
| Kuantitas aktual ActualQuantity | Kuantitas material aktual yang dikonfirmasi pengguna untuk suatu tugas gudang. | ||
| Deskripsi Atribut ini menunjukkan kuantitas yang benar-benar ditangani secara fisik dan dikonfirmasi oleh petugas gudang. Nilainya dapat berupa jumlah barang yang diambil dari lokasi penyimpanan, jumlah yang disimpan, atau jumlah yang dihitung saat penerimaan barang. Membandingkan kuantitas aktual dengan kuantitas yang direncanakan merupakan langkah penting dalam 'Analisis selisih persediaan'. Selisih antara kedua nilai ini menunjukkan pengecualian proses yang perlu diselidiki. Atribut ini mengukur akurasi operasional secara langsung dan menjadi masukan utama untuk KPI 'Tingkat akurasi persediaan' dan 'Tingkat kesalahan pengambilan barang'. Mengapa ini penting Atribut ini menunjukkan jumlah barang yang benar-benar ditangani secara fisik. Bandingkan dengan kuantitas yang direncanakan untuk mengukur akurasi operasional dan menemukan kesalahan. Sumber data Tersedia dalam data konfirmasi tugas gudang, misalnya di tabel /SCWM/ORDIM_C, biasanya pada kolom seperti NDIFF (Kuantitas selisih) atau dihitung dari kuantitas yang dikonfirmasi. Contoh 10049250 | |||
| Kuantitas yang direncanakan PlannedQuantity | Kuantitas material yang diharapkan untuk suatu tugas gudang. | ||
| Deskripsi Atribut ini menunjukkan kuantitas target material yang harus dipindahkan, diambil, atau diterima sesuai instruksi tugas gudang. Nilai ini menjadi acuan untuk membandingkan kuantitas yang benar-benar diproses. Kuantitas yang direncanakan penting untuk dashboard 'Analisis selisih persediaan' dan KPI 'Tingkat akurasi persediaan'. Dengan membandingkannya dengan kuantitas aktual, sistem dapat menemukan selisih yang mungkin disebabkan oleh kesalahan pengambilan barang, kesalahan penerimaan, atau masalah entri data. Informasi ini membantu meningkatkan akurasi persediaan. Mengapa ini penting Menjadi acuan untuk menghitung akurasi persediaan dan menemukan selisih. Hal ini penting untuk menjaga jumlah stok tetap akurat. Sumber data Tersedia dalam data tugas gudang, misalnya di tabel /SCWM/ORDIM_O, biasanya pada kolom seperti NISTA (Kuantitas target). Contoh 10050250 | |||
| Lokasi penyimpanan StorageLocation | Lokasi tertentu di dalam gudang, seperti bin penyimpanan, tempat barang dipindahkan dari atau ke sana. | ||
| Deskripsi Atribut ini menunjukkan lokasi fisik yang terkait dengan tugas gudang, misalnya bin asal untuk pengambilan barang atau bin tujuan untuk penyimpanan. Lokasinya dapat berupa area umum hingga koordinat rak tertentu. Analisis berdasarkan lokasi penyimpanan dapat menunjukkan hal-hal penting dalam operasional, seperti area dengan tingkat pengambilan tinggi atau area bermasalah yang sering mengalami keterlambatan dan kesalahan. Atribut ini juga dapat digunakan dalam analisis 'Kepatuhan rute pengambilan' untuk memahami pergerakan petugas pengambilan di dalam gudang. Mengapa ini penting Menunjukkan lokasi barang di dalam gudang. Informasi ini membantu menganalisis efisiensi perpindahan, kemudahan akses ke bin, dan optimalisasi rute pengambilan. Sumber data Biasanya terdapat di tabel tugas gudang seperti /SCWM/ORDIM_O, yang memuat informasi bin asal (VLPLA) dan bin tujuan (NLPLA). Contoh 01-02-03STASIUN-PENGEMASAN-01ZONA-PENGELUARAN-A | |||
| Peralatan yang digunakan EquipmentUsed | Identitas peralatan, seperti forklift atau hand pallet, yang digunakan untuk menjalankan tugas gudang. | ||
| Deskripsi Atribut ini menunjukkan peralatan penanganan material yang ditugaskan atau digunakan untuk suatu tugas gudang. Peralatan tersebut dapat berupa forklift tertentu, kendaraan berpemandu otomatis (AGV), atau jenis troli tertentu. Data ini menjadi dasar dashboard 'Pemanfaatan sumber daya dan peralatan' serta KPI 'Tingkat pemanfaatan peralatan'. Dengan mencatat peralatan yang digunakan untuk setiap tugas dan durasi penggunaannya, manajer dapat menganalisis pola pemakaian, menjadwalkan perawatan, serta menentukan ukuran dan komposisi armada. Mengapa ini penting Membantu menganalisis pemanfaatan dan efisiensi peralatan, mengoptimalkan pengelolaan armada, serta menemukan keterbatasan sumber daya. Sumber data Informasi ini mungkin tersimpan dalam detail tugas atau pesanan gudang jika manajemen sumber daya dikonfigurasi di SAP EWM. Lihat dokumentasi SAP Extended Warehouse Management. Contoh FORKLIFT-07AGV-02TROLI-15 | |||
| Selisih kuantitas QuantityVariance | Selisih antara kuantitas yang direncanakan dan kuantitas aktual yang dikonfirmasi untuk suatu tugas. | ||
| Deskripsi Metrik hasil perhitungan ini menunjukkan besarnya selisih yang ditemukan saat tugas gudang dijalankan. Nilai selain nol berarti kondisi fisik tidak sesuai dengan catatan sistem. Hal ini dapat menandakan masalah seperti kesalahan pengambilan barang, kesalahan penerimaan, atau barang rusak. Atribut ini mendukung dashboard 'Analisis selisih persediaan' dengan menunjukkan besarnya kesalahan. Analisis frekuensi dan jumlah selisih membantu menemukan masalah berulang dalam pengelolaan persediaan dan pelaksanaan operasional, sehingga upaya peningkatan akurasi dapat lebih terarah. Mengapa ini penting Mengukur ketidakakuratan persediaan dan operasional secara langsung, sehingga besarnya selisih mudah ditemukan dan dianalisis. Sumber data Dihitung dengan mengurangi PlannedQuantity dari ActualQuantity untuk setiap tugas terkait. Contoh 0-15 | |||
| Tanggal penyelesaian yang diminta RequestedCompletionDate | Tanggal batas penyelesaian yang diminta untuk pesanan gudang berprioritas tinggi. | ||
| Deskripsi Atribut ini menetapkan perjanjian tingkat layanan (SLA) atau tanggal target penyelesaian pesanan gudang. Tanggal ini menjadi batas waktu untuk mengukur apakah pesanan selesai tepat waktu. Tanggal ini penting untuk menghitung KPI 'Tingkat pemenuhan pesanan prioritas'. Dengan membandingkan waktu penyelesaian aktual dengan tanggal yang diminta, analisis dapat mengukur kepatuhan terhadap tingkat layanan dan menandai pesanan yang berisiko terlambat atau sudah melewati batas waktu. Mengapa ini penting Menetapkan SLA pesanan dan menjadi acuan untuk mengukur ketepatan waktu pemenuhan, terutama untuk barang berprioritas tinggi. Sumber data Tanggal ini sering dihitung dari tanggal pengeluaran barang atau tanggal pengiriman yang direncanakan pada pesanan pengiriman keluar yang memicu pesanan gudang. Lihat dokumentasi SAP Extended Warehouse Management. Contoh 2023-10-27T17:00:00Z2023-10-28T12:00:00Z | |||
| Tepat waktu IsOnTime | Penanda boolean yang menunjukkan apakah pesanan gudang selesai pada atau sebelum tanggal penyelesaian yang diminta. | ||
| Deskripsi Penanda ini menunjukkan secara sederhana apakah pesanan memenuhi SLA atau tidak. Nilainya ditentukan dengan memeriksa apakah peristiwa penyelesaian pesanan gudang terjadi pada atau sebelum Tanggal penyelesaian yang diminta. Atribut ini penting untuk dashboard 'Kepatuhan pemenuhan pesanan prioritas'. Anda dapat menggunakannya untuk membuat KPI dan visualisasi, serta menghitung atau memfilter pesanan yang selesai tepat waktu dan yang terlambat. Dengan begitu, kinerja terhadap target tingkat layanan dapat dinilai tanpa perhitungan tanggal yang rumit di lapisan analisis. Mengapa ini penting Memudahkan analisis kinerja SLA dengan penanda yang jelas untuk menunjukkan apakah setiap pesanan dipenuhi tepat waktu atau terlambat. Sumber data Atribut ini dihitung dengan membandingkan waktu aktivitas 'Pesanan gudang selesai' dengan atribut 'RequestedCompletionDate'. Contoh truefalse | |||
| Waktu keberangkatan yang direncanakan PlannedDepartureTime | Waktu yang dijadwalkan untuk keberangkatan kiriman dari gudang. | ||
| Deskripsi Atribut ini menunjukkan waktu target pengiriman setelah seluruh aktivitas pengambilan, pengemasan, dan pemuatan selesai. Nilai ini menjadi acuan untuk mengukur ketepatan waktu tahap akhir proses pengiriman keluar. Waktu ini penting untuk dashboard 'Ketepatan waktu pengiriman'. Dengan membandingkan waktu pengiriman aktual dengan waktu yang direncanakan, analisis dapat menemukan keterlambatan dalam pemuatan, koordinasi dengan pengangkut, atau dokumentasi. Hasilnya membantu menilai efisiensi perencanaan logistik dan transportasi. Mengapa ini penting Menjadi acuan untuk mengukur ketepatan waktu pengiriman, yang penting bagi perencanaan logistik dan pemenuhan jadwal pengangkut. Sumber data Informasi ini biasanya terdapat dalam dokumen transportasi atau pengiriman yang terhubung dengan pesanan gudang. Lihat dokumentasi SAP Extended Warehouse Management. Contoh 2023-10-27T18:00:00Z2023-10-28T14:00:00Z | |||
| Waktu siklus dari awal hingga akhir EndToEndCycleTime | Total waktu sejak pesanan gudang dibuat hingga selesai. | ||
| Deskripsi KPI ini mengukur seluruh durasi siklus hidup pesanan gudang. Nilainya menjadi indikator utama untuk melihat efisiensi dan kecepatan operasional gudang secara keseluruhan. Metrik ini menjadi dasar dashboard 'Waktu siklus gudang dari awal hingga akhir'. Pantau KPI ini dari waktu ke waktu dan kelompokkan berdasarkan dimensi seperti jenis pesanan atau material untuk menemukan inefisiensi yang berulang serta mengukur dampak inisiatif perbaikan proses terhadap seluruh operasional. Mengapa ini penting KPI utama untuk mengukur efisiensi proses gudang secara keseluruhan dan memberikan gambaran umum tentang kinerja operasional. Sumber data Dihitung pada tingkat kasus dengan mengurangi waktu peristiwa pertama ('Pesanan gudang dibuat') dari waktu peristiwa terakhir ('Pesanan gudang selesai'). Contoh 8640017280043200 | |||
| Warehouse Task WarehouseTask | ID unik untuk satu tugas gudang, yang menjadi bagian dari suatu pesanan gudang. | ||
| Deskripsi Tugas gudang adalah instruksi untuk melakukan pemindahan barang tertentu, misalnya memindahkan produk dari lokasi penyimpanan ke stasiun pengemasan. Satu pesanan gudang mengelompokkan satu atau beberapa tugas tersebut. Analisis pada tingkat tugas memberikan gambaran operasional gudang yang lebih terperinci. Analisis ini membantu Anda memahami kinerja sumber daya untuk pemindahan tertentu, menemukan lokasi penyimpanan yang sulit dijangkau, atau menilai efisiensi aktivitas pengambilan dan penempatan barang. Mengapa ini penting Memberikan detail yang lebih terperinci untuk analisis, sehingga Anda dapat memeriksa setiap pemindahan dan langkah dalam Warehouse Order yang lebih besar. Sumber data Terdapat di tabel tugas gudang seperti /SCWM/ORDIM_O (data tugas) dan /SCWM/ORDIM_C (data konfirmasi). Contoh 300000451300000452300000453 | |||
Aktivitas pengelolaan gudang
| Aktivitas | Deskripsi | ||
|---|---|---|---|
| Pengeluaran barang dicatat | Ini adalah langkah logistik dan keuangan terakhir di sistem yang secara resmi mengeluarkan barang dari stok gudang. Langkah ini menandakan kepemilikan barang telah berpindah secara hukum dan pengiriman resmi berangkat. | ||
| Mengapa ini penting Ini adalah titik akhir penting dalam alur barang keluar yang memicu penagihan dan pembaruan stok. Langkah ini juga menjadi komponen utama untuk mengukur ketepatan waktu pengiriman dan KPI Waktu pemuatan dan pengiriman. Sumber data Disimpulkan dari pencatatan dokumen Outbound Delivery yang terkait dengan Warehouse Order. Periksa alur dokumen atau kolom status, misalnya DGI_STAT, pada tabel /SCDL/DB_PROCH_O. Pengumpulan data Temukan waktu saat status Goods Issue untuk Outbound Delivery terkait berubah menjadi 'Completed'. Jenis peristiwa explicit | |||
| Pengemasan selesai | Aktivitas ini menandakan semua barang untuk satu pengiriman telah dikemas ke dalam unit penanganan yang kini ditutup dan diberi label. Barang siap untuk tahap berikutnya, seperti penyiapan atau pemuatan. | ||
| Mengapa ini penting Tonggak ini mengakhiri tahap pengemasan. Pengemasan harus selesai sebelum penyiapan dan pengiriman, sehingga keterlambatan pada tahap ini berdampak langsung pada waktu tunggu keseluruhan serta KPI Waktu tunggu pengemasan dan penyiapan. Sumber data Peristiwa ini dapat dicatat saat status handling unit (HU) diatur menjadi 'Closed' atau saat Warehouse Task terakhir terkait pengemasan untuk WO dikonfirmasi. Tabel /SCWM/HUHDR berisi informasi status HU. Pengumpulan data Temukan waktu saat unit penanganan pengiriman terakhir yang terkait dengan pesanan ditutup atau diselesaikan. Jenis peristiwa inferred | |||
| Tugas pengambilan barang dikonfirmasi | Operator gudang mengonfirmasi bahwa Warehouse Task untuk pengambilan barang telah selesai. Artinya, barang telah diambil secara fisik dari lokasi penyimpanannya. Konfirmasi ini biasanya dilakukan melalui pemindai RF. | ||
| Mengapa ini penting Ini adalah tonggak penting dalam pemenuhan pesanan dan berdampak langsung pada waktu siklus pesanan hingga pengiriman. Analisis aktivitas ini membantu mengukur produktivitas petugas pengambilan barang dan menemukan hambatan. Sumber data Diambil dari stempel waktu konfirmasi (kolom CONFIRMED_AT) di tabel Warehouse Task, /SCWM/WT. Status tugas (STAT) diperbarui menjadi 'Confirmed'. Pengumpulan data Gunakan waktu konfirmasi dari tabel /SCWM/WT untuk tugas pengambilan barang yang terkait dengan Warehouse Order. Jenis peristiwa explicit | |||
| Tugas penyimpanan dikonfirmasi | Operator gudang mengonfirmasi bahwa Warehouse Task untuk penempatan barang telah selesai. Artinya, barang telah ditempatkan secara fisik di lokasi penyimpanan yang ditentukan. Konfirmasi ini memperbarui lokasi persediaan secara langsung. | ||
| Mengapa ini penting Aktivitas ini merupakan tonggak penting dalam proses barang masuk karena memastikan stok siap diambil. Keterlambatan pada tahap ini berdampak langsung pada KPI Waktu siklus penerimaan hingga penyimpanan. Sumber data Diambil dari stempel waktu konfirmasi (kolom CONFIRMED_AT) di tabel Warehouse Task, /SCWM/WT. Status tugas (STAT) juga berubah menjadi 'Confirmed'. Pengumpulan data Gunakan waktu konfirmasi dari tabel /SCWM/WT untuk tugas penyimpanan yang terkait dengan Warehouse Order. Jenis peristiwa explicit | |||
| Warehouse Order dibuat | Aktivitas ini menandai pembuatan Warehouse Order (WO), yaitu paket kerja yang terdiri dari beberapa tugas gudang. Sistem membuat WO untuk mengelompokkan dan mengatur pekerjaan karyawan gudang berdasarkan kriteria seperti area aktivitas, antrean, atau produk. | ||
| Mengapa ini penting Ini adalah peristiwa awal utama dalam proses operasional gudang. Analisis waktu sejak WO dibuat hingga tindakan pertama dilakukan dapat membantu menemukan keterlambatan dalam pembagian kerja dan alokasi sumber daya. Sumber data Peristiwa ini diambil dari waktu pembuatan (kolom CREATED_AT) pada tabel header Warehouse Order, /SCWM/WHO. Pengumpulan data Ambil waktu pembuatan dari tabel /SCWM/WHO untuk setiap nomor Warehouse Order (WHO). Jenis peristiwa explicit | |||
| Warehouse Order selesai | Status Warehouse Order diatur menjadi 'Completed' setelah semua Warehouse Task terkait dikonfirmasi. Dari sisi pelaksanaan, status ini menandai selesainya paket pekerjaan. | ||
| Mengapa ini penting Ini adalah peristiwa akhir utama yang menandakan proses berhasil. Peristiwa ini penting untuk menghitung waktu siklus gudang dari awal hingga akhir dan mengukur jumlah pekerjaan yang diselesaikan. Sumber data Dicatat dengan melacak perubahan kolom status (STAT) menjadi 'Completed' pada tabel header Warehouse Order, /SCWM/WHO. Anda dapat menggunakan log perubahan tabel (DBTABLOG) atau kolom waktu khusus. Pengumpulan data Temukan waktu saat status pada /SCWM/WHO berubah menjadi 'C' (Completed). Jenis peristiwa inferred | |||
| Pemuatan dimulai | Aktivitas ini menandai dimulainya pemuatan fisik barang dari area penyiapan ke truk atau unit transportasi. Biasanya, proses dimulai melalui tindakan pengguna di sistem. | ||
| Mengapa ini penting Ini adalah awal tahap fisik terakhir di gudang. Analisis durasi pemuatan membantu mengoptimalkan penggunaan pintu dok dan waktu putar kendaraan pengangkut. Sumber data Disimpulkan dari perubahan status Transportation Unit (TU) atau Outbound Delivery Order terkait menjadi 'Loading Started'. Statusnya dapat diperiksa pada tabel /SCWM/TU_STATUS. Pengumpulan data Catat waktu saat status TU atau Delivery Order diperbarui untuk menunjukkan bahwa pemuatan telah dimulai. Jenis peristiwa inferred | |||
| Pemuatan selesai | Menandakan semua barang untuk satu pengiriman telah dimuat secara fisik ke unit transportasi. Tahap ini harus selesai sebelum pencatatan pengeluaran barang dan keberangkatan kendaraan. | ||
| Mengapa ini penting Ini adalah tonggak penting sebelum pengiriman akhir. Jeda antara selesainya pemuatan dan pencatatan pengeluaran barang dapat menunjukkan masalah dokumen atau sistem yang menahan kendaraan pengangkut. Sumber data Disimpulkan dari perubahan status Transportation Unit (TU) atau Outbound Delivery Order terkait menjadi 'Loading Completed'. Status pada tabel /SCWM/TU dan /SCDL/DB_PROCH_O relevan untuk pemeriksaan ini. Pengumpulan data Catat waktu saat status TU atau Delivery Order diperbarui untuk menunjukkan bahwa pemuatan telah selesai. Jenis peristiwa inferred | |||
| Penerimaan barang dicatat | Menandai penerimaan resmi barang ke dalam stok gudang dari pemasok eksternal atau produksi. Pencatatan ini penting untuk keuangan dan stok karena membuat barang terlihat dan tersedia untuk proses berikutnya, seperti penyimpanan. | ||
| Mengapa ini penting Ini adalah tonggak penting dalam proses barang masuk. Jeda antara kedatangan barang dan pencatatan ini dapat menunjukkan penumpukan pekerjaan di area penerimaan yang berdampak pada ketersediaan stok. Sumber data Disimpulkan dari pencatatan dokumen Inbound Delivery yang terkait dengan Warehouse Order. Periksa alur dokumen atau kolom status, misalnya DGRSTAT, pada tabel /SCDL/DB_PROCH_I. Pengumpulan data Temukan waktu saat status Goods Receipt untuk Inbound Delivery terkait berubah menjadi 'Completed'. Jenis peristiwa inferred | |||
| Pengemasan dimulai | Menandai dimulainya kegiatan pengemasan, saat barang yang telah diambil dikumpulkan dan dimasukkan ke dalam wadah pengiriman atau unit penanganan. Tahap ini sering menjadi langkah pertama di pusat kerja pengemasan. | ||
| Mengapa ini penting Menandai awal tahap layanan bernilai tambah. Mengukur durasi pengemasan membantu mengoptimalkan tata letak pusat kerja, jumlah petugas, dan ketersediaan bahan. Sumber data Peristiwa ini mungkin perlu disimpulkan. Waktunya dapat ditentukan dari pemindaian pertama barang atau unit penanganan di stasiun pengemasan, yang biasanya tercatat dalam log pusat kerja atau unit penanganan. Tabel seperti /SCWM/PACKSPEC dan log pelaksanaan terkait dapat menjadi sumber data. Pengumpulan data Gunakan stempel waktu konfirmasi pertama Warehouse Task terkait pengemasan untuk pengiriman, atau waktu pembuatan HU pengiriman akhir. Jenis peristiwa inferred | |||
| Tugas pengambilan barang dibuat | Sistem membuat Warehouse Task (WT) untuk mengambil barang dari lokasi penyimpanan guna memenuhi pesanan pengiriman keluar. Ini merupakan instruksi sistem bagi operator untuk mengambil produk. | ||
| Mengapa ini penting Ini menandai awal proses fisik barang keluar. Jeda antara pembuatan dan konfirmasi tugas pengambilan penting untuk menganalisis efisiensi pengambilan barang dan ketersediaan sumber daya. Sumber data Diambil dari stempel waktu pembuatan (kolom CREATED_AT) Warehouse Task terkait di tabel /SCWM/WT, dengan jenis proses yang menunjukkan pengambilan barang. Pengumpulan data Filter Warehouse Task dengan jenis proses pengambilan barang yang terhubung ke Warehouse Order, lalu gunakan stempel waktu pembuatannya. Jenis peristiwa explicit | |||
| Tugas penyiapan dikonfirmasi | Petugas gudang mengonfirmasi pemindahan unit penanganan yang sudah dikemas dari stasiun pengemasan atau area konsolidasi ke area penyiapan pengiriman yang ditentukan. Barang kini siap untuk dimuat. | ||
| Mengapa ini penting Ini menandai peralihan dari pemrosesan internal ke logistik barang keluar. Keterlambatan penyiapan dapat membuat area pemuatan tidak tertata dan menyebabkan kendaraan pengangkut melewatkan jadwal pengambilan. Sumber data Diambil dari stempel waktu konfirmasi (kolom CONFIRMED_AT) Warehouse Task (/SCWM/WT) dengan jenis proses untuk pemindahan ke area penyiapan. Pengumpulan data Temukan stempel waktu konfirmasi Warehouse Task untuk penyiapan yang terkait dengan handling unit atau pengiriman. Jenis peristiwa explicit | |||
| Tugas penyimpanan dibuat | Sistem membuat instruksi khusus yang disebut Warehouse Task (WT) untuk memindahkan barang yang telah diterima dari area penerimaan ke lokasi penyimpanan akhir. Aktivitas ini menunjukkan bahwa sistem siap menjalankan pemindahan barang ke lokasi penyimpanan. | ||
| Mengapa ini penting Dengan melacak jeda antara pembuatan dan konfirmasi tugas, Anda dapat mengetahui berapa lama instruksi penyimpanan menunggu untuk diambil dan dijalankan oleh petugas gudang. Jeda ini dapat menunjukkan kekurangan tenaga kerja atau peralatan. Sumber data Diambil dari stempel waktu pembuatan (kolom CREATED_AT) Warehouse Task terkait di tabel /SCWM/WT, dengan jenis proses yang menunjukkan penempatan barang. Pengumpulan data Filter Warehouse Task dengan jenis proses penempatan barang yang terhubung ke Warehouse Order, lalu gunakan stempel waktu pembuatannya. Jenis peristiwa explicit | |||
| Warehouse Order dibatalkan | Warehouse Order dibatalkan sebelum semua tugas selesai sehingga proses tidak dapat dilanjutkan. Hal ini dapat terjadi karena stok tidak tersedia, pesanan pelanggan berubah, atau ada pengecualian lain. | ||
| Mengapa ini penting Ini menunjukkan jalur kegagalan atau pengecualian. Analisis frekuensi dan alasan pembatalan membantu menemukan masalah di tahap sebelumnya, seperti perencanaan, akurasi stok, atau pengelolaan pesanan. Sumber data Dicatat dengan melacak perubahan kolom status (STAT) menjadi 'Canceled' pada tabel header Warehouse Order, /SCWM/WHO. Pengumpulan data Temukan waktu saat status pada /SCWM/WHO berubah menjadi nilai status pembatalan. Jenis peristiwa inferred | |||
Panduan ekstraksi
Langkah
- Prasyarat: temukan atau buat CDS View: Sumber data utama adalah CDS View standar SAP S/4HANA untuk Warehouse Management. View utama yang diperlukan ialah
I_WarehouseOrderuntuk peristiwa tingkat pesanan danI_WarehouseTaskuntuk peristiwa tingkat tugas. View lain sepertiI_OutboundDeliveryItem,I_InboundDeliveryItem, danI_EWMTransportationUnitdiperlukan untuk peristiwa logistik terkait. Pastikan view tersebut aktif di sistem Anda. - Buat CDS View khusus: Untuk menggabungkan data dari beberapa sumber ke dalam satu format log peristiwa, buat CDS View khusus. Gunakan ABAP Development Tools (ADT) di Eclipse untuk membuat Data Definition baru. View khusus ini akan menggunakan
UNION ALLuntuk menggabungkan catatan dari berbagai sumber, yang masing-masing mewakili aktivitas bisnis berbeda. - Tentukan struktur log peristiwa: Di CDS View khusus, tentukan kolom yang akan membentuk log peristiwa. Kolom wajib mencakup
WarehouseOrder,ActivityName,EventTime, serta atribut lain yang diwajibkan dan disarankan. Petakan kolom ini dari CDS View standar yang mendasarinya. - Modelkan peristiwa Warehouse Order: Tambahkan pernyataan
SELECTpertama ke union. Pilih data dariI_WarehouseOrderuntuk membuat peristiwa 'Warehouse Order Created' menggunakan stempel waktu pembuatan. Tambahkan pernyataanSELECTberikutnya untuk peristiwa 'Warehouse Order Completed' dan 'Warehouse Order Canceled' dengan memfilter status pesanan dan menggunakan stempel waktu konfirmasi atau perubahan yang sesuai. - Modelkan peristiwa Warehouse Task: Tambahkan pernyataan
SELECTdariI_WarehouseTask. Buat peristiwa 'Putaway Task Created' dan 'Putaway Task Confirmed' dengan memfilter kategori proses gudang yang terkait dengan penempatan barang. Lakukan hal serupa untuk membuat peristiwa 'Picking Task Created', 'Picking Task Confirmed', dan 'Staging Task Confirmed' berdasarkan kategori proses masing-masing, lalu gunakan stempel waktu pembuatan dan konfirmasi. - Modelkan peristiwa pemindahan barang: Gabungkan view terkait pengiriman dengan tugas gudang untuk mencatat pemindahan barang. Untuk 'Goods Receipt Posted', pilih data dari
I_InboundDeliveryItemmenggunakanActualGoodsMovementDateTime. Untuk 'Goods Issue Posted', gunakan kolom yang sama dariI_OutboundDeliveryItem, lalu hubungkan ke pesanan atau tugas gudang terkait. - Modelkan peristiwa pemuatan dan pengemasan: Pilih data dari
I_EWMTransportationUnituntuk mencatat peristiwa 'Loading Started' dan 'Loading Completed' menggunakan stempel waktu khusus yang tersedia. Proses pengemasan bisa lebih rumit. Gunakan view Handling Unit sebagai pendekatan, dengan waktu pembuatan untuk mewakili 'Packing Started' dan waktu perubahan status untuk mewakili 'Packing Completed'. Sesuaikan langkah ini dengan proses pengemasan Anda. - Tambahkan anotasi untuk mengekspos CDS View: Tambahkan anotasi
@OData.publish: trueke definisi CDS View khusus. Anotasi ini menginstruksikan SAP untuk membuat layanan OData secara otomatis berdasarkan struktur view. - Aktifkan CDS View dan layanan OData: Aktifkan Data Definition baru di ADT. Kemudian, buka sistem SAP Gateway hub dan gunakan transaksi
/IWFND/MAINT_SERVICEuntuk menemukan serta mengaktifkan layanan OData yang baru dibuat. Setelah itu, data dapat diakses melalui titik akhir REST API. - Ekstrak data: Gunakan platform data tujuan atau alat ETL untuk terhubung ke titik akhir layanan OData yang telah diaktifkan. Terapkan filter langsung di URI OData, misalnya filter pada
EventTimeuntuk membatasi cakupan data (?$filter=EventTime ge datetime'2023-01-01T00:00:00'). - Siapkan format untuk process mining: Pastikan data hasil ekstraksi disimpan dalam format file datar, seperti CSV, dengan header kolom yang sesuai dengan atribut wajib ProcessMind (
WarehouseOrder,ActivityName,EventTime, dan seterusnya). Unggah file akhir ke alat process mining.
Konfigurasi
- CDS View khusus: Buat CDS view khusus, misalnya
Z_C_EWM_EVENTLOG_CDS, untuk menyatukan data event. View ini menjadi objek utama untuk ekstraksi. - Layanan OData: Aktifkan layanan OData yang dibuat dari CDS view khusus. Nama layanan biasanya menggunakan nama CDS view dengan akhiran
_CDS. - Filter rentang tanggal: Saat memanggil OData API, Anda perlu memfilter kolom
EventTimeberdasarkan tanggal. Untuk analisis awal, biasanya digunakan rentang data 3 hingga 6 bulan. Tanpa filter, kueri dapat mengalami timeout atau masalah kinerja. - Filter entitas: Untuk lebih membatasi cakupan data, pertimbangkan untuk memfilter atribut seperti Nomor Gudang (
Gudang), Jenis Pesanan Gudang (WarehouseOrderType), atau material tertentu (MaterialNumber). - Otorisasi sistem: Pengguna yang membuat CDS view memerlukan akses pengembang SAP di ADT. Pengguna atau akun layanan yang memanggil OData API memerlukan otorisasi untuk mengakses data manajemen gudang yang mendasarinya.
Contoh kueri sql
DEFINE VIEW Z_C_EWM_EVENTLOG_CDS
WITH PARAMETERS
P_StartDate : abap.dats,
P_EndDate : abap.dats
AS SELECT FROM I_WarehouseOrder AS WO
{
-- Required Attributes
WO.WarehouseOrder AS WarehouseOrder,
CAST('Warehouse Order Created' AS abap.char(40)) AS ActivityName,
WO.CreationDateTime AS EventTime,
CAST('S4HANA_EWM' AS abap.char(20)) AS SourceSystem,
tstmp_current_utctimestamp() AS LastDataUpdate,
-- Recommended Attributes
CAST(NULL AS abap.tstp) AS EventEndTime,
CAST(NULL AS abap.char(40)) AS MaterialNumber,
WO.CreationUser AS User,
WO.WarehouseOrderType AS WarehouseOrderType,
WO.WarehouseOrderStatus AS WarehouseOrderStatus,
WO.Priority AS Priority,
CAST(NULL AS abap.dec(15, 2)) AS ProcessingTime
}
WHERE
CAST(WO.CreationDateTime AS abap.dats) BETWEEN :P_StartDate AND :P_EndDate
UNION ALL
SELECT FROM I_WarehouseOrder AS WO
{
WO.WarehouseOrder,
CAST('Warehouse Order Completed' AS abap.char(40)) AS ActivityName,
WO.ConfirmationDateTime AS EventTime,
CAST('S4HANA_EWM' AS abap.char(20)) AS SourceSystem,
tstmp_current_utctimestamp() AS LastDataUpdate,
CAST(NULL AS abap.tstp) AS EventEndTime,
CAST(NULL AS abap.char(40)) AS MaterialNumber,
WO.ConfirmationUser AS User,
WO.WarehouseOrderType,
WO.WarehouseOrderStatus,
WO.Priority,
CAST(NULL AS abap.dec(15, 2)) AS ProcessingTime
}
WHERE
WO.WarehouseOrderStatus = 'C' AND
CAST(WO.ConfirmationDateTime AS abap.dats) BETWEEN :P_StartDate AND :P_EndDate
UNION ALL
SELECT FROM I_WarehouseOrder AS WO
{
WO.WarehouseOrder,
CAST('Warehouse Order Canceled' AS abap.char(40)) AS ActivityName,
WO.LastChangeDateTime AS EventTime,
CAST('S4HANA_EWM' AS abap.char(20)) AS SourceSystem,
tstmp_current_utctimestamp() AS LastDataUpdate,
CAST(NULL AS abap.tstp) AS EventEndTime,
CAST(NULL AS abap.char(40)) AS MaterialNumber,
WO.LastChangeUser AS User,
WO.WarehouseOrderType,
WO.WarehouseOrderStatus,
WO.Priority,
CAST(NULL AS abap.dec(15, 2)) AS ProcessingTime
}
WHERE
WO.WarehouseOrderStatus = 'X' AND
CAST(WO.LastChangeDateTime AS abap.dats) BETWEEN :P_StartDate AND :P_EndDate
UNION ALL
SELECT FROM I_WarehouseTask AS WT
LEFT JOIN I_InboundDeliveryItem AS IBD ON WT.DeliveryDocument = IBD.InboundDelivery AND WT.DeliveryDocumentItem = IBD.InboundDeliveryItem
{
WT.WarehouseOrder,
CAST('Goods Receipt Posted' AS abap.char(40)) AS ActivityName,
IBD.ActualGoodsMovementDateTime AS EventTime,
CAST('S4HANA_EWM' AS abap.char(20)) AS SourceSystem,
tstmp_current_utctimestamp() AS LastDataUpdate,
CAST(NULL AS abap.tstp) AS EventEndTime,
WT.Product AS MaterialNumber,
IBD.LastChangedByUser AS User,
WT.WarehouseOrderType,
CAST(NULL AS abap.char(1)) AS WarehouseOrderStatus,
CAST(NULL AS abap.numc(2)) AS Priority,
CAST(NULL AS abap.dec(15, 2)) AS ProcessingTime
}
WHERE
WT.WhseTskProcessCat = '1' AND -- Putaway
IBD.GoodsMovementStatus = 'C' AND -- Completed
CAST(IBD.ActualGoodsMovementDateTime AS abap.dats) BETWEEN :P_StartDate AND :P_EndDate
UNION ALL
SELECT FROM I_WarehouseTask AS WT
{
WT.WarehouseOrder,
CAST('Putaway Task Created' AS abap.char(40)) AS ActivityName,
WT.CreationDateTime AS EventTime,
CAST('S4HANA_EWM' AS abap.char(20)) AS SourceSystem,
tstmp_current_utctimestamp() AS LastDataUpdate,
WT.ConfirmationDateTime AS EventEndTime,
WT.Product AS MaterialNumber,
WT.CreationUser AS User,
WT.WarehouseOrderType,
CAST(NULL AS abap.char(1)) AS WarehouseOrderStatus,
CAST(NULL AS abap.numc(2)) AS Priority,
CAST(NULL AS abap.dec(15, 2)) AS ProcessingTime
}
WHERE
WT.WhseTskProcessCat = '1' AND -- Putaway
CAST(WT.CreationDateTime AS abap.dats) BETWEEN :P_StartDate AND :P_EndDate
UNION ALL
SELECT FROM I_WarehouseTask AS WT
{
WT.WarehouseOrder,
CAST('Putaway Task Confirmed' AS abap.char(40)) AS ActivityName,
WT.ConfirmationDateTime AS EventTime,
CAST('S4HANA_EWM' AS abap.char(20)) AS SourceSystem,
tstmp_current_utctimestamp() AS LastDataUpdate,
CAST(NULL AS abap.tstp) AS EventEndTime,
WT.Product AS MaterialNumber,
WT.ConfirmationUser AS User,
WT.WarehouseOrderType,
CAST(NULL AS abap.char(1)) AS WarehouseOrderStatus,
CAST(NULL AS abap.numc(2)) AS Priority,
WT.ProcessorProcTimeInSec AS ProcessingTime
}
WHERE
WT.WhseTskProcessCat = '1' AND -- Putaway
WT.WarehouseTaskStatus = 'C' AND
CAST(WT.ConfirmationDateTime AS abap.dats) BETWEEN :P_StartDate AND :P_EndDate
UNION ALL
SELECT FROM I_WarehouseTask AS WT
{
WT.WarehouseOrder,
CAST('Picking Task Created' AS abap.char(40)) AS ActivityName,
WT.CreationDateTime AS EventTime,
CAST('S4HANA_EWM' AS abap.char(20)) AS SourceSystem,
tstmp_current_utctimestamp() AS LastDataUpdate,
WT.ConfirmationDateTime AS EventEndTime,
WT.Product AS MaterialNumber,
WT.CreationUser AS User,
WT.WarehouseOrderType,
CAST(NULL AS abap.char(1)) AS WarehouseOrderStatus,
CAST(NULL AS abap.numc(2)) AS Priority,
CAST(NULL AS abap.dec(15, 2)) AS ProcessingTime
}
WHERE
WT.WhseTskProcessCat = '2' AND -- Stock Removal
CAST(WT.CreationDateTime AS abap.dats) BETWEEN :P_StartDate AND :P_EndDate
UNION ALL
SELECT FROM I_WarehouseTask AS WT
{
WT.WarehouseOrder,
CAST('Picking Task Confirmed' AS abap.char(40)) AS ActivityName,
WT.ConfirmationDateTime AS EventTime,
CAST('S4HANA_EWM' AS abap.char(20)) AS SourceSystem,
tstmp_current_utctimestamp() AS LastDataUpdate,
CAST(NULL AS abap.tstp) AS EventEndTime,
WT.Product AS MaterialNumber,
WT.ConfirmationUser AS User,
WT.WarehouseOrderType,
CAST(NULL AS abap.char(1)) AS WarehouseOrderStatus,
CAST(NULL AS abap.numc(2)) AS Priority,
WT.ProcessorProcTimeInSec AS ProcessingTime
}
WHERE
WT.WhseTskProcessCat = '2' AND -- Stock Removal
WT.WarehouseTaskStatus = 'C' AND
CAST(WT.ConfirmationDateTime AS abap.dats) BETWEEN :P_StartDate AND :P_EndDate
UNION ALL
SELECT FROM I_WarehouseTask AS WT
{
WT.WarehouseOrder,
CAST('Packing Started' AS abap.char(40)) AS ActivityName,
WT.CreationDateTime AS EventTime,
CAST('S4HANA_EWM' AS abap.char(20)) AS SourceSystem,
tstmp_current_utctimestamp() AS LastDataUpdate,
WT.ConfirmationDateTime AS EventEndTime,
WT.Product AS MaterialNumber,
WT.CreationUser AS User,
WT.WarehouseOrderType,
CAST(NULL AS abap.char(1)) AS WarehouseOrderStatus,
CAST(NULL AS abap.numc(2)) AS Priority,
CAST(NULL AS abap.dec(15, 2)) AS ProcessingTime
}
WHERE
WT.WhseTskProcessCat = '5' AND -- Packing
CAST(WT.CreationDateTime AS abap.dats) BETWEEN :P_StartDate AND :P_EndDate
UNION ALL
SELECT FROM I_WarehouseTask AS WT
{
WT.WarehouseOrder,
CAST('Packing Completed' AS abap.char(40)) AS ActivityName,
WT.ConfirmationDateTime AS EventTime,
CAST('S4HANA_EWM' AS abap.char(20)) AS SourceSystem,
tstmp_current_utctimestamp() AS LastDataUpdate,
CAST(NULL AS abap.tstp) AS EventEndTime,
WT.Product AS MaterialNumber,
WT.ConfirmationUser AS User,
WT.WarehouseOrderType,
CAST(NULL AS abap.char(1)) AS WarehouseOrderStatus,
CAST(NULL AS abap.numc(2)) AS Priority,
WT.ProcessorProcTimeInSec AS ProcessingTime
}
WHERE
WT.WhseTskProcessCat = '5' AND -- Packing
WT.WarehouseTaskStatus = 'C' AND
CAST(WT.ConfirmationDateTime AS abap.dats) BETWEEN :P_StartDate AND :P_EndDate
UNION ALL
SELECT FROM I_WarehouseTask AS WT
{
WT.WarehouseOrder,
CAST('Staging Task Confirmed' AS abap.char(40)) AS ActivityName,
WT.ConfirmationDateTime AS EventTime,
CAST('S4HANA_EWM' AS abap.char(20)) AS SourceSystem,
tstmp_current_utctimestamp() AS LastDataUpdate,
CAST(NULL AS abap.tstp) AS EventEndTime,
WT.Product AS MaterialNumber,
WT.ConfirmationUser AS User,
WT.WarehouseOrderType,
CAST(NULL AS abap.char(1)) AS WarehouseOrderStatus,
CAST(NULL AS abap.numc(2)) AS Priority,
WT.ProcessorProcTimeInSec AS ProcessingTime
}
WHERE
WT.WhseTskProcessCat = '4' AND -- Staging
WT.WarehouseTaskStatus = 'C' AND
CAST(WT.ConfirmationDateTime AS abap.dats) BETWEEN :P_StartDate AND :P_EndDate
UNION ALL
SELECT FROM I_EWMTransportationUnit AS TU
INNER JOIN I_WarehouseTask AS WT ON TU.TransportationUnit = WT.ShipmentOrTransportationUnit
{
WT.WarehouseOrder,
CAST('Loading Started' AS abap.char(40)) AS ActivityName,
TU.LoadingStartDateTime AS EventTime,
CAST('S4HANA_EWM' AS abap.char(20)) AS SourceSystem,
tstmp_current_utctimestamp() AS LastDataUpdate,
TU.LoadingEndDateTime AS EventEndTime,
WT.Product AS MaterialNumber,
TU.LastChangeUser AS User,
WT.WarehouseOrderType,
CAST(NULL AS abap.char(1)) AS WarehouseOrderStatus,
CAST(NULL AS abap.numc(2)) AS Priority,
CAST(NULL AS abap.dec(15, 2)) AS ProcessingTime
}
WHERE
TU.LoadingStartDateTime IS NOT NULL AND
CAST(TU.LoadingStartDateTime AS abap.dats) BETWEEN :P_StartDate AND :P_EndDate
UNION ALL
SELECT FROM I_EWMTransportationUnit AS TU
INNER JOIN I_WarehouseTask AS WT ON TU.TransportationUnit = WT.ShipmentOrTransportationUnit
{
WT.WarehouseOrder,
CAST('Loading Completed' AS abap.char(40)) AS ActivityName,
TU.LoadingEndDateTime AS EventTime,
CAST('S4HANA_EWM' AS abap.char(20)) AS SourceSystem,
tstmp_current_utctimestamp() AS LastDataUpdate,
CAST(NULL AS abap.tstp) AS EventEndTime,
WT.Product AS MaterialNumber,
TU.LastChangeUser AS User,
WT.WarehouseOrderType,
CAST(NULL AS abap.char(1)) AS WarehouseOrderStatus,
CAST(NULL AS abap.numc(2)) AS Priority,
CAST(NULL AS abap.dec(15, 2)) AS ProcessingTime
}
WHERE
TU.LoadingEndDateTime IS NOT NULL AND
TU.LoadingStatus = 'C' AND
CAST(TU.LoadingEndDateTime AS abap.dats) BETWEEN :P_StartDate AND :P_EndDate
UNION ALL
SELECT FROM I_WarehouseTask AS WT
LEFT JOIN I_OutboundDeliveryItem AS OBD ON WT.DeliveryDocument = OBD.OutboundDelivery AND WT.DeliveryDocumentItem = OBD.OutboundDeliveryItem
{
WT.WarehouseOrder,
CAST('Goods Issue Posted' AS abap.char(40)) AS ActivityName,
OBD.ActualGoodsMovementDateTime AS EventTime,
CAST('S4HANA_EWM' AS abap.char(20)) AS SourceSystem,
tstmp_current_utctimestamp() AS LastDataUpdate,
CAST(NULL AS abap.tstp) AS EventEndTime,
WT.Product AS MaterialNumber,
OBD.LastChangedByUser AS User,
WT.WarehouseOrderType,
CAST(NULL AS abap.char(1)) AS WarehouseOrderStatus,
CAST(NULL AS abap.numc(2)) AS Priority,
CAST(NULL AS abap.dec(15, 2)) AS ProcessingTime
}
WHERE
WT.WhseTskProcessCat = '2' AND -- Stock Removal
OBD.GoodsMovementStatus = 'C' AND -- Completed
CAST(OBD.ActualGoodsMovementDateTime AS abap.dats) BETWEEN :P_StartDate AND :P_EndDate Langkah
- Pastikan akses baca langsung ke skema database SAP EWM telah disetujui. Identifikasi objek database fisik yang mewakili header pesanan gudang, tugas gudang, riwayat status pesanan gudang, pencatatan penerimaan dan pengeluaran barang, pengemasan, penempatan di area staging, serta pemuatan. Referensi logis /SCWM/WHO dan /SCWM/WT sering digunakan sebagai titik awal, tetapi verifikasi objek, kolom, kode status, makna stempel waktu, dan skema database yang sebenarnya di sistem Anda.
- Minta pemetaan kolom yang sudah diverifikasi dari penanggung jawab teknis SAP EWM atau kamus data Anda. Petakan ID pesanan gudang, jenis pesanan gudang, status, prioritas, ID tugas gudang, kategori tugas atau jenis proses, material, pengguna, stempel waktu pembuatan, stempel waktu konfirmasi, stempel waktu pengemasan, stempel waktu staging, stempel waktu pemuatan, stempel waktu penerimaan barang, stempel waktu pengeluaran barang, sistem sumber, dan stempel waktu pembaruan terakhir. Jangan berasumsi bahwa kolom tersedia di tabel yang sama atau bahwa kode status memiliki arti yang sama di setiap penerapan.
- Siapkan koneksi ekstraksi dengan akun database hanya-baca, skema produksi atau pelaporan, serta nilai berparameter untuk tanggal mulai ekstraksi, tanggal akhir ekstraksi, nama sistem sumber, dan filter khusus perusahaan. Terapkan filter tanggal pada stempel waktu peristiwa yang relevan, bukan hanya pada stempel waktu pembuatan pesanan gudang, agar peristiwa yang terjadi pada tahap berikutnya dalam siklus pesanan tidak terlewat.
- Buat baris peristiwa dengan memilih satu baris untuk setiap aktivitas yang diwajibkan secara eksplisit. Kueri harus menggunakan kolom sumber yang sudah diverifikasi untuk setiap aktivitas dan tidak boleh mengandalkan ProcessMind untuk menyimpulkan peristiwa. Jika aktivitas tercatat dalam riwayat status atau log pengajuan, bukan di kolom header terkini, gunakan riwayat atau log tersebut dan sertakan stempel waktu peristiwa serta pengguna yang menjalankannya.
- Samakan zona waktu semua stempel waktu aktivitas, sebaiknya ke UTC, atau dokumentasikan zona waktu server aplikasi SAP. Ubah kode status dan proses khusus sumber menjadi nama aktivitas yang persis seperti yang diwajibkan log peristiwa: Pesanan Gudang Dibuat, Penerimaan Barang Dicatat, Tugas Penempatan Barang Dibuat, Tugas Penempatan Barang Dikonfirmasi, Tugas Pengambilan Barang Dibuat, Tugas Pengambilan Barang Dikonfirmasi, Pengemasan Dimulai, Pengemasan Selesai, Tugas Staging Dikonfirmasi, Pemuatan Dimulai, Pemuatan Selesai, Pengeluaran Barang Dicatat, Pesanan Gudang Selesai, dan Pesanan Gudang Dibatalkan.
- Pastikan setiap baris keluaran memuat WarehouseOrder, ActivityName, EventTime, SourceSystem, dan LastDataUpdate. Isi EventEndTime jika tersedia stempel waktu penyelesaian yang dapat diandalkan. Untuk peristiwa tingkat tugas, hubungkan tugas dengan pesanan gudangnya. Jika satu pesanan gudang memiliki beberapa tugas yang relevan, pertahankan satu baris peristiwa untuk setiap peristiwa tugas, dengan tetap menggunakan pesanan gudang sebagai ID kasus. Gunakan penentu urutan yang stabil, seperti ID tugas atau ID peristiwa sumber, jika format impor tujuan mendukungnya.
- Validasi hasil sebelum diekspor. Pastikan 14 nama aktivitas muncul saat data sumber memuat peristiwa bisnis terkait, stempel waktu berada dalam rentang yang diminta, kolom pesanan gudang tidak kosong tanpa alasan, dan baris duplikat dapat dijelaskan oleh beberapa tugas atau perubahan status berulang. Cocokkan jumlahnya dengan laporan operasional SAP atau ekstrak lain yang telah disetujui secara independen.
- Ekspor hasil sebagai file berpemisah yang kompatibel dengan ProcessMind atau hasil kueri database, dengan satu peristiwa per baris. Pertahankan nama kolom yang diwajibkan secara persis, gunakan format stempel waktu yang tidak ambigu seperti ISO 8601, beri tanda kutip pada nilai teks jika diwajibkan oleh format pemisah, dan sertakan baris header. Unggah file atau siapkan koneksi database di ProcessMind. Tetapkan WarehouseOrder sebagai ID kasus, ActivityName sebagai aktivitas, EventTime sebagai stempel waktu mulai, dan EventEndTime sebagai stempel waktu akhir jika tersedia.
Konfigurasi
- Pemetaan objek sumber: Pastikan objek dan kolom database fisik untuk pesanan gudang, tugas gudang, riwayat status, perpindahan barang, pengemasan, staging, dan pemuatan. /SCWM/WHO dan /SCWM/WT mungkin merupakan objek logis yang relevan, tetapi pastikan representasi database yang diterapkan sebelum mulai.
- Rentang tanggal: Mulailah dengan periode terkontrol selama tiga hingga enam bulan. Gunakan periode yang lebih singkat untuk pengujian awal, lalu perluas setelah rekonsiliasi. Sertakan sedikit rentang tumpang tindih di antara proses ekstraksi bertahap untuk menangkap pencatatan dan koreksi yang terlambat.
- Pemilihan stempel waktu peristiwa: Gunakan stempel waktu pembuatan untuk aktivitas yang dibuat, stempel waktu konfirmasi untuk aktivitas yang dikonfirmasi, stempel waktu pencatatan untuk penerimaan dan pengeluaran barang, serta stempel waktu pelaksanaan yang telah diverifikasi untuk pengemasan, staging, dan pemuatan. Jangan gunakan waktu pembuatan pesanan gudang untuk semua peristiwa.
- Filter: Terapkan hanya filter bisnis yang telah diverifikasi, seperti nomor gudang, kode perusahaan, jenis dokumen, jenis pesanan gudang, area aktivitas, antrean, pabrik, atau sistem sumber. Kolom kode perusahaan dan jenis dokumen mungkin berada di objek terkait dan harus dipetakan di sistem tujuan.
- Pemetaan status: Konfigurasikan kode status atau proses SAP yang tepat untuk menandai pesanan gudang selesai dan dibatalkan. Validasi pemetaan dengan pemilik fungsional EWM karena kode status dan penyimpanannya dapat berbeda menurut rilis dan penerapan.
- SourceSystem: Tetapkan nilai stabil yang mengidentifikasi instans produksi atau pelaporan EWM. Jangan mengambil nilainya dari kolom bisnis yang mungkin kosong.
- LastDataUpdate: Isi dengan waktu ekstraksi atau pembaruan sumber secara konsisten untuk setiap baris dalam satu proses.
- Ekstraksi bertahap: Gunakan penanda batas tertinggi yang tersimpan berdasarkan stempel waktu sumber terakhir yang berhasil diekstrak, dengan rentang tumpang tindih untuk mencakup catatan yang datang terlambat. Hapus duplikasi menggunakan ID sumber yang telah diverifikasi jika tersedia.
- Kinerja: Batasi rentang tanggal sejak awal, pilih hanya kolom yang diperlukan, filter kolom berindeks, hindari penggunaan fungsi pada kolom stempel waktu berindeks dalam kondisi kueri, dan proses rentang besar dalam kelompok harian atau mingguan. Gunakan replika pelaporan jika diizinkan.
- Strategi penggabungan: Pastikan kardinalitas antara pesanan gudang dan tugas gudang. Cegah penggandaan data yang tidak disengaja saat menggabungkan tugas, status, material, dan data handling unit. Agregasikan atau pilih catatan peristiwa yang sesuai sebelum menggabungkan data.
- Zona waktu: Konfigurasikan zona waktu sumber dan aturan konversinya. Simpan stempel waktu secara konsisten dan dokumentasikan penanganan waktu musim panas.
- Prasyarat: Otorisasi database hanya-baca, akses yang disetujui ke skema EWM, pemetaan kamus data yang telah diverifikasi, izin membaca objek operasional dan riwayat terkait, serta konfigurasi impor ProcessMind yang disetujui. Modul SAP, lisensi, dan otorisasi yang diperlukan bergantung pada arsitektur EWM yang diterapkan dan harus dikonfirmasi oleh pemilik sistem.
Contoh kueri sql
WITH
params AS (
SELECT
CAST('[Start date and time]' AS TIMESTAMP) AS start_time,
CAST('[End date and time]' AS TIMESTAMP) AS end_time,
CAST('[Source system name]' AS VARCHAR(255)) AS source_system,
CAST(CURRENT_TIMESTAMP AS TIMESTAMP) AS last_data_update
),
warehouse_orders AS (
SELECT
CAST(wo.[Warehouse order ID field] AS VARCHAR(255)) AS WarehouseOrder,
CAST(wo.[Warehouse order type field] AS VARCHAR(255)) AS WarehouseOrderType,
CAST(wo.[Warehouse order status field] AS VARCHAR(255)) AS WarehouseOrderStatus,
CAST(wo.[Priority field] AS VARCHAR(255)) AS Priority,
CAST(wo.[Warehouse order creation timestamp field] AS TIMESTAMP) AS WarehouseOrderCreatedTime,
CAST(wo.[Warehouse order completion timestamp field] AS TIMESTAMP) AS WarehouseOrderCompletedTime,
CAST(wo.[Warehouse order cancellation timestamp field] AS TIMESTAMP) AS WarehouseOrderCanceledTime,
CAST(wo.[Material number field] AS VARCHAR(255)) AS MaterialNumber,
CAST(wo.[User field] AS VARCHAR(255)) AS [User]
FROM [Your warehouse order header table] wo
),
warehouse_tasks AS (
SELECT
CAST(wt.[Warehouse order ID field] AS VARCHAR(255)) AS WarehouseOrder,
CAST(wt.[Warehouse task ID field] AS VARCHAR(255)) AS WarehouseTask,
CAST(wt.[Task category or process type field] AS VARCHAR(255)) AS TaskType,
CAST(wt.[Material number field] AS VARCHAR(255)) AS MaterialNumber,
CAST(wt.[Task creation timestamp field] AS TIMESTAMP) AS TaskCreatedTime,
CAST(wt.[Task confirmation timestamp field] AS TIMESTAMP) AS TaskConfirmedTime,
CAST(wt.[User field] AS VARCHAR(255)) AS [User]
FROM [Your warehouse task table] wt
),
events AS (
SELECT wo.WarehouseOrder, 'Warehouse Order Created' AS ActivityName, wo.WarehouseOrderCreatedTime AS EventTime, CAST(NULL AS TIMESTAMP) AS EventEndTime, wo.MaterialNumber, wo.[User], wo.WarehouseOrderType, wo.WarehouseOrderStatus, wo.Priority FROM warehouse_orders wo
UNION ALL
SELECT gr.[Warehouse order ID field], 'Goods Receipt Posted', CAST(gr.[Goods receipt posting timestamp field] AS TIMESTAMP), CAST(NULL AS TIMESTAMP), CAST(gr.[Material number field] AS VARCHAR(255)), CAST(gr.[User field] AS VARCHAR(255)), wo.WarehouseOrderType, wo.WarehouseOrderStatus, wo.Priority FROM [Your goods receipt posting table] gr LEFT JOIN warehouse_orders wo ON wo.WarehouseOrder = CAST(gr.[Warehouse order ID field] AS VARCHAR(255))
UNION ALL
SELECT wt.WarehouseOrder, 'Putaway Task Created', wt.TaskCreatedTime, CAST(NULL AS TIMESTAMP), wt.MaterialNumber, wt.[User], wo.WarehouseOrderType, wo.WarehouseOrderStatus, wo.Priority FROM warehouse_tasks wt LEFT JOIN warehouse_orders wo ON wo.WarehouseOrder = wt.WarehouseOrder WHERE wt.TaskType = '[Verified putaway task type]'
UNION ALL
SELECT wt.WarehouseOrder, 'Putaway Task Confirmed', wt.TaskConfirmedTime, CAST(NULL AS TIMESTAMP), wt.MaterialNumber, wt.[User], wo.WarehouseOrderType, wo.WarehouseOrderStatus, wo.Priority FROM warehouse_tasks wt LEFT JOIN warehouse_orders wo ON wo.WarehouseOrder = wt.WarehouseOrder WHERE wt.TaskType = '[Verified putaway task type]' AND wt.TaskConfirmedTime IS NOT NULL
UNION ALL
SELECT wt.WarehouseOrder, 'Picking Task Created', wt.TaskCreatedTime, CAST(NULL AS TIMESTAMP), wt.MaterialNumber, wt.[User], wo.WarehouseOrderType, wo.WarehouseOrderStatus, wo.Priority FROM warehouse_tasks wt LEFT JOIN warehouse_orders wo ON wo.WarehouseOrder = wt.WarehouseOrder WHERE wt.TaskType = '[Verified picking task type]'
UNION ALL
SELECT wt.WarehouseOrder, 'Picking Task Confirmed', wt.TaskConfirmedTime, CAST(NULL AS TIMESTAMP), wt.MaterialNumber, wt.[User], wo.WarehouseOrderType, wo.WarehouseOrderStatus, wo.Priority FROM warehouse_tasks wt LEFT JOIN warehouse_orders wo ON wo.WarehouseOrder = wt.WarehouseOrder WHERE wt.TaskType = '[Verified picking task type]' AND wt.TaskConfirmedTime IS NOT NULL
UNION ALL
SELECT pk.[Warehouse order ID field], 'Packing Started', CAST(pk.[Packing start timestamp field] AS TIMESTAMP), CAST(NULL AS TIMESTAMP), CAST(pk.[Material number field] AS VARCHAR(255)), CAST(pk.[User field] AS VARCHAR(255)), wo.WarehouseOrderType, wo.WarehouseOrderStatus, wo.Priority FROM [Your packing event table] pk LEFT JOIN warehouse_orders wo ON wo.WarehouseOrder = CAST(pk.[Warehouse order ID field] AS VARCHAR(255))
UNION ALL
SELECT pk.[Warehouse order ID field], 'Packing Completed', CAST(pk.[Packing completion timestamp field] AS TIMESTAMP), CAST(NULL AS TIMESTAMP), CAST(pk.[Material number field] AS VARCHAR(255)), CAST(pk.[User field] AS VARCHAR(255)), wo.WarehouseOrderType, wo.WarehouseOrderStatus, wo.Priority FROM [Your packing event table] pk LEFT JOIN warehouse_orders wo ON wo.WarehouseOrder = CAST(pk.[Warehouse order ID field] AS VARCHAR(255))
UNION ALL
SELECT st.[Warehouse order ID field], 'Staging Task Confirmed', CAST(st.[Staging confirmation timestamp field] AS TIMESTAMP), CAST(NULL AS TIMESTAMP), CAST(st.[Material number field] AS VARCHAR(255)), CAST(st.[User field] AS VARCHAR(255)), wo.WarehouseOrderType, wo.WarehouseOrderStatus, wo.Priority FROM [Your staging event table] st LEFT JOIN warehouse_orders wo ON wo.WarehouseOrder = CAST(st.[Warehouse order ID field] AS VARCHAR(255))
UNION ALL
SELECT ld.[Warehouse order ID field], 'Loading Started', CAST(ld.[Loading start timestamp field] AS TIMESTAMP), CAST(NULL AS TIMESTAMP), CAST(ld.[Material number field] AS VARCHAR(255)), CAST(ld.[User field] AS VARCHAR(255)), wo.WarehouseOrderType, wo.WarehouseOrderStatus, wo.Priority FROM [Your loading event table] ld LEFT JOIN warehouse_orders wo ON wo.WarehouseOrder = CAST(ld.[Warehouse order ID field] AS VARCHAR(255))
UNION ALL
SELECT ld.[Warehouse order ID field], 'Loading Completed', CAST(ld.[Loading completion timestamp field] AS TIMESTAMP), CAST(NULL AS TIMESTAMP), CAST(ld.[Material number field] AS VARCHAR(255)), CAST(ld.[User field] AS VARCHAR(255)), wo.WarehouseOrderType, wo.WarehouseOrderStatus, wo.Priority FROM [Your loading event table] ld LEFT JOIN warehouse_orders wo ON wo.WarehouseOrder = CAST(ld.[Warehouse order ID field] AS VARCHAR(255))
UNION ALL
SELECT gi.[Warehouse order ID field], 'Goods Issue Posted', CAST(gi.[Goods issue posting timestamp field] AS TIMESTAMP), CAST(NULL AS TIMESTAMP), CAST(gi.[Material number field] AS VARCHAR(255)), CAST(gi.[User field] AS VARCHAR(255)), wo.WarehouseOrderType, wo.WarehouseOrderStatus, wo.Priority FROM [Your goods issue posting table] gi LEFT JOIN warehouse_orders wo ON wo.WarehouseOrder = CAST(gi.[Warehouse order ID field] AS VARCHAR(255))
UNION ALL
SELECT wo.WarehouseOrder, 'Warehouse Order Completed', wo.WarehouseOrderCompletedTime, CAST(NULL AS TIMESTAMP), wo.MaterialNumber, wo.[User], wo.WarehouseOrderType, wo.WarehouseOrderStatus, wo.Priority FROM warehouse_orders wo WHERE wo.WarehouseOrderCompletedTime IS NOT NULL
UNION ALL
SELECT wo.WarehouseOrder, 'Warehouse Order Canceled', wo.WarehouseOrderCanceledTime, CAST(NULL AS TIMESTAMP), wo.MaterialNumber, wo.[User], wo.WarehouseOrderType, wo.WarehouseOrderStatus, wo.Priority FROM warehouse_orders wo WHERE wo.WarehouseOrderCanceledTime IS NOT NULL
)
SELECT
e.WarehouseOrder,
e.ActivityName,
e.EventTime,
e.EventEndTime,
p.source_system AS SourceSystem,
p.last_data_update AS LastDataUpdate,
e.MaterialNumber,
e.[User],
e.WarehouseOrderType,
e.WarehouseOrderStatus,
e.Priority
FROM events e
CROSS JOIN params p
WHERE e.WarehouseOrder IS NOT NULL
AND e.EventTime IS NOT NULL
AND e.EventTime >= p.start_time
AND e.EventTime < p.end_time
ORDER BY e.WarehouseOrder, e.EventTime, e.ActivityName; Siap memulai?
Mulai tingkatkan efisiensi operasional gudang Anda hari ini. Gunakan templat ini untuk meningkatkan efisiensi dan mempercepat pemenuhan pesanan.
Kurangi kesalahan pengambilan barang dan optimalkan pengelolaan gudang sekarang
Capai akurasi inventaris 99,5% dan hilangkan keterlambatan pemenuhan pesanan dalam hitungan minggu.
Tidak perlu kartu kredit. Siapkan dalam hitungan menit.