İş Akışı Yönetimi
SAP MII’daki İş Akışı Yapılandırmaları (Workflow Configurations), iş süreçlerinin SAP MII içinde tasarlanma ve ayarlanma işlemlerini ifade etmektedir. Bu yapılandırmalar, iş akışlarının nasıl çalışacağına, hangi adımların hangi sırayla gerçekleşeceğine ve ne tür eylemlerin tetikleneceğine dair bilgileri içermektedir.
Konfigürasyonlar
Bu bölümde SAP MII’da ERP-Shop Floor entegrasyonunun nasıl yapılandırılacağı açıklanmaktadır. ERP-Shop Floor entegrasyon yapısı için konfigürasyonlar SAP MII’da yapılmaktadır. Konfigürasyonlar SAP OEE CTC’leriyle oluşturulmaktadır. Bu konfigürasyonlar isteğe bağlı olarak değiştirilebilmektedir.
ERP-Shop Floor entegrasyon için yapılandırma ayarlarına SAP MII ana menü ekranındaki ERP-Shop Floor Integration for Worker UI başlığından ulaşılabilmektedir. Bu ana başlığın altında birden fazla alt başlık bulunmaktadır. Bu alt başlıklardan İş Akışı (Workflow Configurations) ve Kuyruk İzleme (Queue Monitor) bölümü incelenmektedir.
Figure A Main Title
İş Akışı Yönetimi
İş Akışı Yapılandırma (Workflow Configurations) ekranındaki Tür Listesi (Types List) bölümünden mesaj türü seçilmektedir. İlgili XSLT’lerin ayrıntıları Tip Ayrıntıları (Type Details) bölümünde görüntülenmektedir.
IDoc’ları işlemek için yapılandırılan iş akışları şu şekildedir:
Standart İş Akışı
Standart iş akışı, bir dizi Genişletilebilir Stil Sayfası Dili Dönüşümü (XSLT) kullanarak iletiyi kaynak XML biçiminden hedef XML biçimine dönüştürmek için kullanılmaktadır. Dönüştürme için kullanılan XSLT tanımları görüntülenebilmektedir.
İş akışı yapılandırmasında OEE’nin tüm standart mesaj türleri için, IDoc’ları tek seferde işlemek ve onayları SAP ERP’ye göndermek için Standart İş Akışı kullanılmaktadır.
Bölünmüş İş Akışı
Bölünmüş iş akışı, Standart İş Akışı tarafından işlenmeden önce, mesajı birden fazla mesaja bölmek için kullanılmaktadır.
Korelasyon İş Akışı
Korelasyon iş akışı, Standart İş Akışı tarafından işlenmeden önce birden fazla mesajı tek bir mesajda birleştirmek için kullanılmaktadır.
NOT: Bölünmüş ve Korelasyon İş Akışı yöntemleriyle işlenilen tüm veriyi ya da verileri tamamlamak için Standart İş Akışı kullanılmalıdır.
Figure B Workflow Configurations
Kuyruk İzleyicisi
Kuyruk İzleyicisi (Queue Monitor), bir IDoc’un ERP-Shop Floor Integration çerçevesine alındıktan sonraki durumunu izlemenizi sağlamaktadır. IDoc’un girdi ya da çıktı parametrelerini görüntülemek için İzleme (Trace) butonu kullanılmaktadır. XSL dönüşümlerinden sonra oluşturulan ara XML’ler de görüntülenebilmektedir.
Ayrıca başarısız durumda olan bir IDoc’un tekrardan işleme sokulması da mümkündür. Bunu yapmak için IDoc’un seçilmesi ve Yeniden Dene (Retry) butonunun tetiklenmesi yeterli olacaktır. IDoc’un durumu Başarısız’dan (FAILED) Yeniden Dene’ye değişir ve sonuca göre tekrardan Başarılı (PASS) ya da Başarısız olarak güncellenmektedir.
IDoc’ları almak için kullanabileceğiniz standart bir işlem Mesaj Kuyruğu’nda (Message Queue) mevcuttur.
Kuyruk İzleyicisi’nde filtresiz arama yapıldığında fazlaca veri gelebilmektedir. Belirli iş akışının verilerine erişmek istenildiğinde çokca veri arasından filtrelenerek aratılmasıyla istenilen satıra ya da satırlara hızlıca ulaşılabilmektedir. Bu bağlamda detaylı arama için Kuyruk İzleyicisi’ndeki Arama Kriterleri (Search Criteria) alanın kullanılması gerekmektedir.
Sırasıyla arama filtelerinin kullanımları,
- Document Type (Belge Türü): Bulunmak istenen iş akış(lar)ının adının yazıldığı/seçildiği kısımdır.
- Status (Durum): Bulunmak istenen iş akış(lar)ının durumunun seçildiği kısımdır.
- Identifier: Bulunmak istenen iş akış(lar)ının, İş Akış Konfigürasyonu’nda (Workflow Configurations) belirlenen İş Akışı İşleyici Parametreleri (Workflow Handler Parameters) ile aratılabildiği alandır.
- Correlation Key (Korelasyon Anahtarı): Bulunmak istenen iş akış(lar)ının, Korelasyon İş Akışı (Correlation Workflow) ile oluşturulmuş parametresiyle aratılabildiği alandır.
- From-To (Başlangıç-Bitiş): Bulunmak istenen iş akış(lar)ının başlangıç ve bitiş parametrelerinin girildiği kısımdır.
- Parent ID (Ana Kimlik): Bulunmak istenen iş akış(lar)ının Ana Kimlik numarasıyla aratılabildiği alandır.
- Record Qty (Kayıt Miktarı): Bulunmak istenen iş akış(lar)ının ekrana maksimum kaç adet getireleceğinin belirtildiği kısımdır.
Figure C Queue Monitor
Kuyruk İşleme Prosedürü
Kuyruk İzleyicisi’ndeki (Queue Monitor) her bir İş Akışı (Workflow) birkaç farklı sistem job’larından geçmektedir. Aşağıda her bir sistem job’ı için detaylı açıklanmalar bulunmaktadır.
Mesaj Dağıtıcısı
Mesaj Dağıtıcısı, kuyruğa gelmek için sıraya alınan mesajları işlemek için kullanılmaktadır.
Mesaj Sayısı
Kuyrukta job tarafından işlenecek mesaj sayısının girildiği kısımdır. Bu işlem, her çalıştırıldığında yalnızca belirtilen sayıda mesajı işleyecektir. Tek seferde işleyeceği mesaj sayısı ise varsayılan değer olarak 50 gelmektedir fakat bu sayı kişiselleştirilebilmektedir.
Mesaj Kaydedici
Mesaj Kaydedici, Giden MII İletileri kuyruğundan her bir mesajı Mesaj Dağıtıcısı’nda işlenmek üzere Entegrasyon Mesaj Kuyruğu’na (Integration Message Queue) iletmek için kullanılmaktadır.
Mesaj Sayısı
Tek seferde işleyeceği kuyruktaki mesaj sayısının varsayılan değeri 200 olarak gelmektedir fakat bu sayı kişiselleştirilebilmektedir.
Her bir mesaj, Mesaj Dağıtıcısı tarafından işlenmek üzere kuyruğa alındıktan sonra, işlem sonunda varsayılan olarak silinecektir. Bu varsayılan durum değiştirilmek istenildiğinde, bu job’ın “deleteAfterQueuing” giriş parametresini “false” olarak değiştirmek yeterli olacaktır.
Kuyruk Mesajı Temizleyicisi
Kuyruk Mesajı Temizleyici, işlenen mesajları temizlemek için kullanılmaktadır. Bu görev, durumu “QUEUED, RETRY, IN_CORRELATION”dan birisi olmayan tüm mesajları temizlemektedir.
IDOC Gelen Kaydedici
IDOC Inbound Enqueuer, Mesaj Dağıtıcısı tarafından işlenmek üzere SAP MII Kategori Kuyruğu’ndan (Category Queue) Entegrasyon Mesaj Kuyruğu’na (Integration Message Queue) mesaj iletmek için kullanılmaktadır.
Mesaj Sayısı
Kategori Kuyruğunda, job tarafından işlenecek mesaj sayısının varsayılan değeri 200 olarak belirlenmiştir. Bu job, her çalıştığında yalnızca belirtilen sayıda mesajı işleyecektir. Varsayılan değer kişiselleştirilebilmektedir. Her bir mesaj, Mesaj Dağıtıcısı tarafından işlenmek üzere kuyruğa alındıktan sonra, işlem sonunda varsayılan olarak silinecektir. Bu varsayılan durum değiştirilmek istenildiğinde, bu job’ın “deleteAfterQueuing” giriş parametresini “false” olarak değiştirmek yeterli olacaktır.
SAP EWM Gelen Mesaj Kaydedici
SAP EWM bildirim mesajlarını EWM_NOTIFICATION_QUEUE kuyruğundan senkronize olarak işlemektedir ve işlenen mesajları Kuyruk İzleyicisi’ne göndermektedir. Mesaj durumu Başarısız ise, Mesaj Dağıtıcısı (Message Dispatcher) Job’ı tarafından yeniden işlenecektir.
Mesaj Sayısı
İşlenecek EWM_NOTIFICATION_QUEUE kuyruğundaki mesaj sayısının varsayılan değeri 50 olarak belirlenmiştir. Bu job, her çalıştığında yalnızca belirtilen sayıda mesajı işleyecektir. Varsayılan değer kişiselleştirilebilmektedir.
NOT: Optimum performans için, daha az sıklıkla daha çok sayıda mesaj işlemek yerine daha az sayıda mesajı daha sık işlenmesi yukarıdaki tüm job’lar için tavsiye edilmektedir.
Figure D Scheduler Jobs
Çoklu İş Akış Durumunda Kuyruk Yönetimi
Kuyruktaki her bir iş akışının fazlaca ve üst üste birden fazla türden gelmesi durumunda, kuyrukta belirli önceliklendirme yapılması gerekmektedir. Bunun nedeni, iş akışlarının işlenirken asenkron olarak işlenmesidir. Bunun önüne geçmek için İş Akışı İşleyici Parametreleri (Workflow Handler Parameters) alanında aşağıdaki örnekteki gibi “procType” alanı kullanılmaktadır. Aynı türden olan akışlar için aynı “procType” verilirken farklı akışlar için de farklı “procType” değerleri belirlenmelidir. Bu düzeltme sayesinde kuyrukta işlemler artık sırasıyla yapılacağından dolayı herhangi bir karışıklık olmadan süreç ilerleyecektir.
Örnek Kullanım: …length(/Z_MATMAS05/IDOC/E1MARAM/MATNR_LONG)=0]);enrichWithSuppPlantConfig=true;procType=Q6procType=Q6
Örnek
Aşağıdaki örnekte, standart MATMAS IDOC’un yeni iş kurgusu nedeniyle Z’lenmesi ve bu Z’lenme işlemlerinin sırasıyla nasıl gerçekleştiğini anlatmaktadır.
Öncelikle yeni bir İş Akışı (Workflow) oluşturulmalıdır. Bunun için,
- SAP MII menüsünden Workflow Configuration (İş Akış Konfigürasyonu) sekmesine gelinmektedir ve Oluştur (Create) butonuna basılmaktadır.
NOT: Bu işlemi daha hızlı gerçekleştirmek için var olan bir akış üzerinden yeni bir akış oluşturmak için Copy As (Kopyasını Al) butonuyla daha hızlı ilerlenebilmektedir.
Figure E Creating a New Workflow |
- Oluşturulan yeni iş akışı (workflow) için Type Details (Tip Ayrıntıları) bölümünde özelleştirmeler yapılır ve zorunlu alanlar doldurulur.
NOT: Bu örnek Standart İş Akışı için oluşturulmuştur. Bölünmüş ve Korelasyon İş Akış’larında farklı alanlar ya da eksik kısımlar bulunabilmektedir.
Buradaki alanlardan başlıcaları:
- Message Type (Mesaj Tipi): İş akışının adı belirtilir.
- Workflow (İş Akışı): İş akışının akış tipi seçilir.
- Workflow Handler: İş Akış Tipi seçildiği anda otomatik olarak doldurulur.
- Workflow Handler Parameters (İş Akışı İşleyici Parametreleri): Kuyruk İzleyicisi (Queue Monitor) ekranındaki Identifier (Tanımlayıcı) kısmında gözükmesi istenilen veriler için doldurulur.
- Pre XSLT Transaction: MII’dan gelen XML mesajını daha okunabilir kılmak ya da tag (etiket) isimlerini kişiselleştirmek için XSLT formatına dönüştürülmek istenildiğinde SAP MII Workbench’teki adres uzantısının belirtileceği kısımdır.
- Partner (Request) XSLT Address: Gelen (Request) mesajın XSLT formatına dönüştürülmek istenildiğinde SAP MII Workbench’teki adres uzantısının belirtildiği kısımdır.
- Post XSLT Transaction: İş akışındaki değişikliklerin yapıldığı transaction’ın SAP MII Workbench’teki adres uzantısının belirtildiği kısımdır.
- Reponse XSLT Address: İşlem akışı tamamlandığında sonuç olarak dönecek XSLT’nin SAP MII Workbench’teki adres uzantısının belirtildiği kısımdır.
- Pass Handler Transaction: Sonuç (Response) XSLT’den dönen Durum (Status) etiketinin içerisi “PASS” ise burada kullanılacak transaction’un SAP MII Workbench’teki adres uzantısının belirtildiği kısımdır.
- Failed Handler Transaction: Sonuç (Response) XSLT’sinden dönen Durum (Status) etiketinin içerisi “FAILED” ise burada kullanılacak transaction’ın SAP MII Workbench’teki adres uzantısının belirtildiği kısımdır.
NOT: Eylemlerin gerçekleşme sıralarında önceliklendirme bulunmaktadır. Customer alanının boş olduğu durumda Partner çalışırken, hepsinin dolu olduğu durumda sadece Customer satırındaki işlem yapılacaktır.
Figure F Workflow Settings |
- MATMAS IDoc’unda Giriş (Request) XSLT’de yeni bir alan için aşağıdaki gibi XSLT’ye yeni kısım eklenmektedir.
Şekil G Yeni Geliştirme
- Tüm işlemler tamamlandıktan sonra iş akışımız tetiklendiğinde Kuyruk İzleyicisi’nden (Queue Monitor) elde edilen ya da gönderilen veri görüntülenebilmektedir.
Şekil H Kuyruk İzleyici’sinde İstenilen Senaryonun Aratıldığı Görsel
- Sonuçları görmek için Trace (İzleme) butonuna tıklayıp detaylara ulaşılabilmektedir.
- Düzenlediğimiz kısmın eklendiğini ve içerisine de veri aldığı aşağıdaki görselde görüntülenmektedir.
Figure J Result
Muhammed Furkan Gerem