SAP ME PAPI Nedir?

Share

SAP ME PAPI, ME içerisindeki tüm işlemlerden sorumlu servisler olarak karşımıza geliyor. ME içerisinde yapılan tüm işlemler bir servis yani PAPI olarak değerlendiriliyor. Örneğin, SFC başlatma veya malzeme güncellemeler birer PAPI olarak adlandırılıyor.

Ayrıca, SAP ME’de yaklaşık bin 600 adet PAPI bulunuyor. Dolayısıyla, ME içerisindeki tüm iş mantığı PAPI üzerinden yürütülüyor. Yapılacak olan tüm geliştirmelerde bu servisler (PAPI) kullanılarak üretim senaryoları ME’ye entegre ediliyor. Bu servisler konfigürasyon ve üretim servisleri olarak kategorize edilebiliyor.

Konfigürasyon servisleri, routing konfigürasyonları, işlemler, tezgah konfigürasyonları, neden kodu konfigürasyonları ve malzemelerin kontrolünden, üretim servisleri ise SFC başlatma, SFC tamamlama, uyumsuzluk ve montaj gibi üretim süreçlerinin yürütülmesinden sorumlu olarak süreçte rol alıyor. Bu bölüm, konfigürasyon ve üretim servislerinin temel yönlerini açıklıyor.

SAP ME’de geliştirme yapılırken nelere dikkat edilmelidir?

  1. Karmaşık üretim senaryolarını entegre ederken MII Transaction kullanılmamalı

SAP ME standart servisleri (PAPI) çok büyük boyutlarda XML sonuçlar gönderebiliyor ve bu XML’lerin transaction içerisinde action bloc’klarla ve transaction’lar arasında taşınması işlem yükünü büyük ölçüde arttırıyor. Böyle bir tasarım, düşük sistem gereksinimli geliştirme veya test ortamlarında çalışabiliyor. Ancak yüksek sistem gereksinimli üretim ortamlarında zamanla ciddi performans, bellek ve kararlılık sorunlarına yol açacağını da söylemek mümkün. Örneğin, SAP ME ekranlarında yavaşlık, sistem çökmesi vb. gibi.

  • SAP ME PAPI kullanımı arttırılmalı

Birince maddede açıklandığı gibi, birden çok ME PAPI servisini kullanarak MII transactionlar’da karmaşık iş mantığının uygulanmaması, optimum performans ve ölçeklenebilirlik için SAP ME SDK kullanılması gerekiyor. Bu sayede daha karmaşık senaryoları gerçekleştirmek amacıyla oluşturulan işlemler standart servisler ya da PAPI’ler sayesinde basite indirgeniyor.

Geliştirmelerin, SAP ME SDK kullanılarak karmaşık üretim süreçlerinin entegrasyonunu hızlandırmak ve hata oranını azaltmak için Java ortamında yapılması da bir diğer önemli nokta olarak dikkat çekiyor. Daha sonra geliştirmesinin yapılmış olduğu servisler, yine ME SDK ile ya da doğrudan SAP ME PAPI action block kullanılarak MII’dan da çağırılabiliyor.

  • Geri almanın (rollback) gerekli olabileceği yerlerde SAP ME SDK kullanılmalı

Üretim süreçleri ve veritabanı sorgulamaları gibi iş süreçlerinin ME PAPI’yi çağıran MII transaction’larıyla kurgulanmaması gerekiyor. Böyle hatalı iş kurguları, sürecin ilerleyişinde süreçlerin aksamasına ve veri tutarsızlıklarına yol açabiliyor.

Üretim süreçleri entegrasyonları gerçekleştirilirken dikkatli olunması, çoklu SAP ME PAPI action block’ları SAP MII transaction’larında ayrı ayrı ele alınması gerekiyor. Her bir action block bir işlemi temsil ediyor ve karışıklık olmaması için dikkatlice kurgulanması önem teşkil ediyor.

Geliştirilen kişiselleştirilmiş PAPI servislerini uygulamak için SAP ME SDK kullanılması da gözden kaçmaması gereken bir diğer konu olarak karşımıza geliyor. Bu servisler, SAP ME PAPI action block kullanılarak SAP MII’da çağrılabiliyor. Bu özel PAPI, MII transaction’larında yapılan her şeyi yapabiliyor, ancak bu şekilde tüm servis çağrıları ve SQL sorguları tek bir işlemde yürütülmüş oluyor. Herhangi bir sorun durumunda, tüm yapılan işlemler geri alınıyor ve veri bütünlüğü korunmuş olunuyor.

SAP ME PAPI geliştirmesinin avantajları neler?

  • Geliştirilen servisler, service extension’larla ihtiyaca göre genişletilebiliyor. Bu uzantılar üretim yeri, aktivite hatta tezgah bazında filtrelenebiliyorlar.
  • Fonksiyonların başında ve sonunda konumlandırılarak çalışabiliyorlar.
  • Hatalı SQL durumlarında yapılan tüm değişiklikler geri alınabiliyor.
  • Karmaşık iş kurallarını sıralı ve en performanslı olacak şekilde çalıştırılıyor.


SAP ME PAPI geliştirmesi örneği

Aşağıdaki görselde kendi özel geliştirmiş olduğumuz bir SAP ME PAPI geliştirmesinin, modül, servis ve metot ayrıntılarını görüyoruz.

Figür 1 Özel ME PAPI’nin Seçilmesi

Aşağıdaki görselde de, önceki görselde bulduğumuz servisimizin giriş parametrelerine isim ve soy isim bilgilerini giriyoruz.

Figür 2 Seçili ME PAPI’nin Giriş Parametrelerinin Atanması

Sonuç olarak da SAP ME PAPI girilen bu iki parametreyi birleştirerek bize sonuç dönmektedir.

Figür 3 ME PAPI’den Dönen Sonuç Bilgisi

Kod bloğu

CustomCreateUserServiceTest.Java:

Request ve Response parametrelerine sırasıyla gelen verinin tayin edilmesi ve sonucun son kullanıcıya döndürülmesinin gerçekleştiği ana sınıfımızın kod bloğunu göstermektedir.

@Override

      public PapiTestResponse createAndAddMEUsers(PapiTestRequest request)

                  throws BusinessException, NamingException, BasicBOBeanException {

            PapiTestResponse result = new PapiTestResponse();

            String firstName = request.getFirstName();

            String lastName = request.getLastName();

            result.setResponseString(“Given first name is: ” + firstName + ” and given last name is: ” + lastName);

            result.setSuccess(“Success”);

            return result;

      }

PapiTestRequest.Java:

Figür-2’deki Request parametrelerinin geldiği sınıfın kod bloğunu göstermektedir.

public class PapiTestRequest implements Serializable {

      private static final long serialVersionUID = 1L;

      @XmlElement(required = true)

      private String firstName;

      @XmlElement(required = true)

      private String lastName;

}

PapiTestResponse.Java:

Figür-3’deki XML’de verilerin dolduğu Response parametrelerinin geldiği sınıfın kod bloğunu göstermektedir.

public class PapiTestResponse implements Serializable{

      private static final long serialVersionUID = 1L;

      @XmlElement (required=true)

      private String responseString ;

      @XmlElement (required=true)

      private String success ;

}

Oluşturduğumuz PAPI’nin Hizmet Uzatma Bakımı (Service Extension Maintenance) ekranında createAndAddMEUsers fonksiyon adıyla aratıp, Request ve Response sınıflarımızdaki Input ve Output verilerinin doğruluğunu ve taslağını kontrol edebiliyoruz.

Şekil 4 Service Extension Maintenance, Input

Şekil 1 Service Extension Maintenance, Output

Muhammed Furkan Gerem

SAP MII/ME Consultant

İş süreçlerinizi gelişen teknolojilerle desteklemek işimizin ana hedefidir.

exp head deco 3
icon our expertise

Teşekkürler

Kısa süre içerisinde indirme linki içeren bir mail alacaksınız.

Eğer mail almazsanız solviamarketing@solviads.com adresinden bize ulaşın.

Created by icon 54from the Noun Project

Teşekkürler

Kısa süre içinde bir e-posta alacaksınız.

Eğer mail almazsanız solviamarketing@solviads.com adresinden bize ulaşın.