SAP ECM Uyarlama Ayarları ve Kullanımı
    • 17 May 2023
    • 3 Minutes to read
    • Dark
      Light

    SAP ECM Uyarlama Ayarları ve Kullanımı

    • Dark
      Light

    Article summary

    SAP üzerinde kullanım için önce ayarlar düzenlenmelidir. Aşağıdaki adımları takip ederek, ayarları düzenleyebilirsiniz. SAP Logon uygulaması açıldıktan sonra aşağıdaki ana ekran gelir. Bu ekranda sol üst köşede bulunan üç çizgi ikonundan Options seçilerek ayarlar menüsüne girilir.

    Öncelikle varsayılan dil seçimi Türkçe olarak ayarlanmalıdır. Bunun için Options - General menüsünden Language "TR" seçilir. 

    Daha sonra internet explorer desteği sona erdiği için tarayıcı ayarı Edge olarak ayarlanmalıdır. Bunu yapmak için Interaction Design – Control Settings menüsünden HTML Control seçeneği Edge (Based on Chromium) olarak değiştirilmelidir.

    Bu değişikliğin ardından istenirse tema değişikliği yapılabilir. Tema değişikliği için için Virtual Design – Theme Settings menüsünden SAP Signatura Theme seçiyoruz. 

    Bu değişiklikler yapıldıktan sonra seçimler onaylanmalıdır.

    Ayarlar tamamlandıktan sonra program kapanır, tekrar açılması gerekir. Uygulama yeniden açıldığında seçtiğimiz örnek tema ile birlikte görünüm aşağıdaki gibi olmalıdır. Ekran görselinde gösterildiği gibi "Yeni" butonuna basılarak, üstteki bağlantı seçilmelidir.

    Kullanıcıya özgü sistem ile devam edilir. Bir sonraki ekranda parametre tanımları yapılmalıdır. Görseldeki parametreler örnek parametrelerdir, her sisteme göre farklılık gösterir.

    Bağlantı olarak hızlı bağlantı seçilir, iletişim dili / kod sayfası bölümünden dil, Türkçe seçilmelidir. Bu işlemin ardından Tamamla diyerek parametre ayarları sonlandırılır. Tamamlanan parametre satırı çift tıklama ile programa giriş yapılır.

    Kullanıcı adı ve parola girilir ve giriş yapılır. Açılan ekranda kullanılmak istenen menüye girilir.

    Açılan ekranın sol üstünde yer alan “Nesne için hizmetler” ikonuna tıklayarak bizim için örnek olan “PaperWork Belge Arşivi” seçimi yapılır. Her firmanın kullanımına göre menüler ve seçimler değişebilir.

    Ekranın sol üstünde yer alan “Yeni Belge” ikonu ile belge yüklemesi yapılabilmektedir. Dosya Adı’nın sağında yer alan ikon tıklanarak belge yüklemesi yapılır ardından Yetki Seti seçimi yapılarak “Kaydet” tuşu tıklanır. Kaydet sonrasında izin istenen bir popup menü açılır.


    Bu şekilde yüklenen belge ekranda görüntülenebilir.

    Bu belge PaperWork Belgeler ekranında da şu şekilde görünecektir.

    Sırasıyla “Sap Satınalma Siparişleri > 450 > 000 > 048 > 7” klasörleri açılarak belgenin arşivlendiği konuma ulaşıyoruz.

    PaperWork üzerinden belge yüklemesi yaparak SAP Logon üzerinde arşivlenmesi durumunu da incelemek gerekir.

    Ekranın sol üstünde yer alan “(+)” ikonu tıklanarak “Yeni Belge” tuşu tıklayarak belge ekleme menüsüne geçilmelidir.

    Paperwork Arayüz Uyarlaması

    Yukarıda açıkladığımız SAP Satınalma Siparişleri kabinetinin oluşturulması ve uyarlama adımları bu bölümde gösterilecektir.

    Öncelikle kabinet projemizi oluşturacağız, daha sonra bu kabinet projesinin içerisinde SAP Satınalma Siparişi tip tanımlaması ve bu tip tanımlamasına bağlı form oluşturacağız.

    Elektronik form üzerine eklediğimiz SAP Konnektöründe aşağıda görülen entegrasyon, filtre, fonksiyon ve parametre eşleştirmelerini yapıyoruz.

    Yine elektronik form üzerinde bulunan Sorgula butonunda çağırılmak üzere fonksiyonumuzu kodlama alanına yazıyoruz.

    Fonkiyonumuz şu şekildedir :

    function callSap() {
        try {
            PwForm.Progress(true);
            var belgeTarihi = '';
            if (PwForm.get("BELGE_TARIHI"))
                belgeTarihi = PwForm.get("BELGE_TARIHI").substring(0, 10).replaceAll('-', '');
            var saticiKodu = PwForm.get("SATICI_KODU");
            var satinalmaBelgeNo = PwForm.get("SATINALMA_BELGE_NO");
            var saticininAdi = PwForm.get("SATICININ_ADI");
    
    
            var xml = "<SEARCH>";
    
            xml = xml + "<PW_TYPE>T_SAP_SATINALMA_SIPARISI</PW_TYPE>";
            xml = xml + "<CULTURE_CODE>TR</CULTURE_CODE>";
            xml = xml + "<MAX_COUNT>300</MAX_COUNT>";
            xml = xml + "<FIELDS>";
            if (belgeTarihi)
                xml = xml + "<FIELD><NAME>BELGE_TARIHI</NAME><VALUE>" + belgeTarihi + "</VALUE></FIELD>";
            if (saticiKodu)
                xml = xml + "<FIELD><NAME>BELGE_TARIHI</NAME><VALUE>" + saticiKodu + "</VALUE><FIELD/>";
            if (satinalmaBelgeNo)
                xml = xml + "<FIELD><NAME>BELGE_TARIHI</NAME><VALUE>" + satinalmaBelgeNo + "</VALUE><FIELD/>";
            if (saticininAdi)
                xml = xml + "<FIELD><NAME>BELGE_TARIHI</NAME><VALUE>" + saticininAdi + "</VALUE><FIELD/>";
            xml = xml + "</FIELDS>";
            xml = xml + "</SEARCH>";
    
    
            var pwsapint = PwForm.component('intsap');
            pwsapint.setParam('I_XML', xml);
            pwsapint.callFunction(function () {
                debugger;
                var xmlDoc = new DOMParser().parseFromString(PwForm.component('intsap').intData.data.E_XML, 'text/xml');
                var ret = xmlDoc.getElementsByTagName("SEARCHRESULT")[0].innerHTML;
                var sapType = xmlDoc.getElementsByTagName("SAP_TYPE")[0].innerHTML;
                var cnt = xmlDoc.getElementsByTagName("FIELDS").length;
                var lst = [];
                for (var i = 0; i < cnt; i++) {
                    var obj = {
                        'SATINALMA_BELGE_NO': xmlDoc.getElementsByTagName("FIELDS")[i].childNodes[0].childNodes[1].innerHTML,
                        'SATICI_KODU': xmlDoc.getElementsByTagName("FIELDS")[i].childNodes[1].childNodes[1].innerHTML,
                        'BELGE_TARIHI': xmlDoc.getElementsByTagName("FIELDS")[i].childNodes[2].childNodes[1].innerHTML,
                        'SATICININ_ADI': xmlDoc.getElementsByTagName("FIELDS")[i].childNodes[3].childNodes[1].innerHTML,
                        'SAP_OBJECT_TYPE': sapType,
                        'SAP_OBJECT_ID': xmlDoc.getElementsByTagName("OBJ_KEY")[i].innerHTML
                    };
                    lst.push(obj);
                }
                var headers = [
                    { width: 40, field: 'SATICININ_ADI', title: 'Satıcının Adı' },
                    { width: 40, field: 'SATICI_KODU', title: 'Satıcının Kodu' },
                    { width: 40, field: 'SATINALMA_BELGE_NO', title: 'Satınalama Belge No' },
                    { width: 40, field: 'BELGE_TARIHI', title: 'Belge Tarihi', format: '{0:dd/MM/yyyy}' },
                    { width: 40, field: 'SAP_OBJECT_TYPE', title: 'SAP Object Type' },
                    { width: 40, field: 'SAP_OBJECT_ID', title: 'SAP Object Id' }
                ];
    
                PwForm.openDialog("dialog", '', DialogData.None, '');
                PwForm.fillGrid('kendoGrid', lst, headers);
                PwForm.Progress(false);
            });
        } catch (err) {
            alert('Entegrasyon Çağrısı Hatası :' + err);
        }
    }
    function fillData() {
        PwForm.set("BELGE_TARIHI", PwForm.component('kendoGrid').SelectedRow.BELGE_TARIHI);
        PwForm.set("SATICININ_ADI", PwForm.component('kendoGrid').SelectedRow.SATICININ_ADI);
        PwForm.set("SATINALMA_BELGE_NO", PwForm.component('kendoGrid').SelectedRow.SATINALMA_BELGE_NO);
        PwForm.set("SATICI_KODU", PwForm.component('kendoGrid').SelectedRow.SATICI_KODU);
        PwForm.set("SAP_OBJECT_TYPE", PwForm.component('kendoGrid').SelectedRow.SAP_OBJECT_TYPE);
        PwForm.set("SAP_OBJECT_ID", PwForm.component('kendoGrid').SelectedRow.SAP_OBJECT_ID);
    }

    Elektronik form üzerinde Sorgula butonu çağırıldığında, SAP verileri popup olarak açılacaktır, yapılan seçim ile ilgili kayıt elektronik form üzerine aktarılacaktır.

    Buraya eklenen belgeler "Belge No" alanında bulunan (yukarıdaki örnekte 4500000478) değerin 3'er hane şeklinde bölünmesi ile oluşan klasörlere yazılmaktadır. Bu örnekte klasör yolu şu şekilde oluşacaktır :