26 Nisan 2023 Çarşamba

SAP Message EC352 - Copying statuses is restricted in modification mode. See F1 Help

 Z'li raporunuza standart programlardan veya mevcut programlardan kopyalama yaptığınız zaman aşağıdaki hatayı alırsanız yapmanız gerekenler : 
Hata nedeni:Geliştirme yaptığımız development ortamının source(kaynak) sistem olmaması.QA sisteminin DEV sistem olarak kopyalanması gibi bir durum olmuş olabilir.

SAP Message EC352 - Copying statuses is restricted in modification mode. See F1 Help

SM30 işlem kodu ile TADIR tablosundan ilgili program bulunur.Orginal System QA sistemden DEV sisteme çevrilip kaydet yapılır.




3 Nisan 2023 Pazartesi

2 smartform pages in one page

 Birbirinden bağımsız veya farklı format da smartforms'larınızı tek sayfa çıktı da birleştirebilirsiniz.
1.ci smartforms'un driver'lerini set edip smartformu çağırıyoruz.Smartforms'u kapatmıyoruz.
2.ci smartforms'a geçince driverları set etmiyoruz ve çağırmıyoruz.Smartforms'u kapatıyoruz.

1.ci smartform adımı : Smartforms driver objelerini dolduruyoruz.Ve smartform oluşması için açıyoruz.


1.ci smartforms oluşturduktan sonra smartforms'u kapatmıyoruz.Açık bırakıyoruz



2.ci smartforms adımı: 2.ci smartforms adımına geçince 1.adımda oluşturduğumuz driver'ı kullanıyoruz.2.adım da tekrar driver oluşturmuyoruz.



2.ci smartforms tamamlanınca smartforms'muzu kapatıyoruz.



Süreçsel olarak 2 veya daha fazla smartforms'larını aynı çıktı sayfasında bu yöntemle çıkarabilirsiniz.




12 Aralık 2022 Pazartesi

Debug the Background Job

 

Background job’lar için alternatif debug yöntemleri:

Örnek uygulama:BTCLOOP standart programı ile job kurulumu yapılır.

1-SM37’den çalışan job bulunur.Job menusunden Capture:active job seçimi yapılarak debug mode geçilir


2-SM50 ekranından çalışan program bulunur.Administration->Program->Debugging mode geçerek debug’a düşebilirsiniz.



3-Bitmiş bir job’ınızı JDBG ile debug edebilirsiniz.JobName tıklayıp komut satırına JDBG yazarak debug moda düşebilirsiniz.


4-Job kurulumu sırasında RSWAITSEC ve BTCLOOP programlarını önce kurarak debug modda geçerek bir sonraki job’ı debuglayabilirsiniz.

 

 

21 Kasım 2022 Pazartesi

Date manipulation in CDS Views

 

Date manipulation in CDS Views


   //Travel.end_date        as EndDate,

      cast( 

      concat(

        concat(

          concat(substring(Travel.end_date, 7, 2), '.' ),

          concat(substring(Travel.end_date, 5, 2), '.' )

        ),

        substring(Travel.end_date, 1, 4)        

      )

    as abap.char( 10 )) as EndDate,


Fiori output :


9 Kasım 2022 Çarşamba

Table is too long (>4030) hatası

 
    Z'li bir tablonuza yeni alanlar eklediniz.Data element'lerinizin toplam uzunluğu 4030 geçtiği zaman tablonuz aktive olmayacaktır.Çözüm yolu için 3 yöntem denenebilir.

1-Tablonuzdaki kullanılmayan alanları çıkarmak.

2-Tablonuzdaki data element'lerin uzunluğunu azaltmak.

3-Z'li tablonuzu 2'ye ayırmak.Tablonuza yeni eklediğiniz alanları yeni bir tablo oluşturup key alan bağlantısı kurarak buraya kaydetmek

4-Basis tarafından DB extend edilebilir.SNOTE yüklemeleri yapılabilir.Ama bu SAP tarafından önerilmemektedir.

Hata mesajı


extras -> Table width/Lenght



4 Kasım 2022 Cuma

BRF+ Create a decision table and call function

 

1-     BRF+,BRFplus,FDT_WORKBENCH - BRFplus Workbench  işlem kodları ile BRF+ tools’a gidilir.

2-     Create Application ile yeni bir brf+ application oluşturulur.



3-     Sağ tıklayıp Create->Data object->Structure oluşturuyoruz.Kullanacağımız data elementleri tanımlıyoruz.

 



SE_AIRLINE:

CARRID               S_CARR_ID         CHAR     3             0             Airline Code

CARRNAME        S_CARRNAME    CHAR     20          0             Airline name

CURRCODE        S_CURRCODE    CUKY     5             0             Local currency of airline

URL                     S_CARRURL         CHAR     255        0             Airline URL

 
SE11’den SCARR tablosundan yardım alabilirsiniz.

Data element girişleri için Add Multiple Elements seçilir


Data element’lerimizi girelim.


Her obje eklenmesi sonrası Aktivite  delim.


4-Decision Table oluşturalım.






Decision Table da input ve output parametrelerimizi tanımlayacağız.

INPUT:


CARR_ID ‘yi INPUT parametresi olarak tanımlıyoruz.



OUTPUT-Results Colums için :

CARRNAME,CARRURL,CURRCODE parametrelerini seçiyoruz


Decision Table son hali:


Her obje eklenmesi sonrası Aktive ediyoruz.

5-Decision Table sonrası Airline bilgilerini giriyoruz.



Decision Table’mızı kaydet ve aktive edilim.

 

6-Decision Table’mızı simulation  


yapalım.



Decision Table’mız sonuç setini dönmekte.

7-Function oluşturalım.




Mode kısmını Function mode yapalım.Expression kısmını Decision Table olarak verelim.

Context değerini CARR_ID ve Result Data setimize Result dataset’imizi verip functionımızı aktive edip simulation edelim.


8-ABAP ile BRF+ kuralımızı çağırmak için Create code template tıklayıp abap code genarate edelim.Veya FDT_TEMPLATE_FUNCTION_PROCESS programı ile ilgili function bulup abap kodu generate edebilinir.




la_EL_S_CARR_ID = [INSERT CONTEXT VALUE HERE OR DELETE THE LINE]. Bu kısma CARRID vererek BRF+ dan gelen değerleri kullanabilirsiniz.

1 Kasım 2022 Salı

WinSCP ile FTP,SFTP,FTPS dosya gönderimi

 Bazı durumlarda FTP serverlar ile SAP sistemi arasında direk bağlantı kuramayabiliriz.Birçok nedeni olabilir.SAP sistemi dışına aldığınız dosyaları WinSCP programı yardımı ile istenilen FTP adreslerine gönderebilirsiniz.

1-sync.bat dosyası oluşturulur.Dosya yolları değiştirilir.

winscp.com /script=winscpscript.txt
move *.csv C:\Users\Abit\AppData\Local\Programs\WinSCP\Arsiv\

2-winscpscript.txt dosyası oluşturulur.FTPs adresi,kullanıcı bilgileri değiştirilir.

 

option batch abort

option confirm off

open sftp://ftpuser:123456@192.168.1.40/

put *.csv  /home/ftpuser/test/

exit

3-Aşağıdaki gibi bir görüntü oluşması sağlanır.



4-sync.bat dosyası ister job ister manuel çalıştırılarak istenilen dosya tiplerinin akarımı yapılabilir.