Wednesday, February 4, 2015

ABAP ilə ekran (Screen proqramlaşdırma Dərs 1) yaratmaq...


Bunun üçün ilk olaraq SE80 əməliyyat kodunu çağırırq və açılan pəncərədə yeni bir proqram yaradırıq. Proqram adının üzərində mausun sağ düyməsini basırıq ve açilan pəncərədə  CREATE ->>  SCREEN bölməsinə daxil oluruq.



Açılan pəncərədə  yaratmaq istədiyimiz SCREEN-ə 4 rəqəmli nömrə veririk.(1000 nömrəsindən başqa. Çünki  1000 nömrəli screen nömrəsi proqram terefinden yaradilan standart screen-dir). Screen number bölməsinə 0100 yazaraq enter düyməsinə vururuq. Hal hazırda biz 0100 nömrəli ekran yaratmiş olduq. 



  • Screen yaratdiqdan sonra screen-nin özəlliklərini (ATRİBUTLARİNİ ) daxil edirik.

1. Description (screen başlıgı).
2. Screen type.
  •   Normal screen SAP-nin yaratdıgı adi 1000 screen-nin ekvivalentdir.ve butun ekranı əhatə edir.
  •   Subscreen normal screen-nin alt hissəsi başa anlamına gəlir və yeni subscreen-i ayrılıqda istifadə etmek mümkün deyil, yalniz onu basqa screen-nin bir hissəsini təşkil edə bilər.
  •   modal dialog box normal screene oxsayir lakin onu butun ekran yox istediyimiz ölçüdə istifadə edə bilərik.

Biz hələlik nümunə ücün  normal screen seçək. Digər screen növlərini sonrakı dərslərimizdə öyrənəciyik.
  •  ELEMENT LİST screen-də olan elementləri özündə saxlayır.

Screen elementində standart olaraq TYPE-ı OK olan element yaranır.Bu element ekranda click olunan elementin function kodunu ozundə saxlayır.Bu elementə istediyimiz adı verə bilərik.Ancaq  SAP-nin standartında bu element OK_CODE və ya F_CODE adi ilə verilir.Bu adlardan istifadə etmək daha məsləhətlidi.
Screen-ə digər elementləri əlavə eləmək ücun toolbar-dadüyməsi var.Bu düymə screen painter-i açır və oradan istediyimiz elementləri screen-ə əlavə edə bilərik.



Yuxarıdakı şəkildə göründüyü kimi sol tərəfdə olan  elementləri  screen-ə əlavə edək və bunu kiçik bir misal üzərində edək.
  • Ekrana 2 ədəd parametr  və 1 ədəd də düymə yerləşdirək. Düyməyə basıldıgında isə 2 paramet-də olan məlumatı info mesaji kimi ekrana cixardaq.
  • Lazım olan elementləri screen-ə əlavə edək və əlavə etdiyimiz hər bir elementə ad verək.
  • Button-a təkcə ad vermək kifayət etmir. Bunun üçün her bir elementin üzərində 2 dəfə click olunduğu zaman həmin elementin atribut pəncərəsi acilir və bu pəncərədə elementin lazım olan məlumatlarını daxil edirk. İlkin olaraq button üçün yalniz FCODE (function code) daxil edirik.


Elementləri əlavə etdikdən sonra bu elementləri proqramda təyin edirik. Ancaq proqramda yaradilacaq dəyişənlər elementlərin adlari ilə eyni olmalıdir.Əgər eyni olmazsa elementdən dəyişənə məlumat gəlməyəcək.


  • FLOW LOGIC  screen-nin olaylarini gostərir.Yəni  screen göstərilmədən baş verən olay (PBO) - və screen göstərildikdən sonra baş verən olay (PAI). Button-a basıldıqda info mesaj-nı ekranda görmək üçün kodu  PAI olayında yazırıq. Standart olaraq SAP-i bize module user_command modulunu verir (comment veziyyetinde) və  isteye gore  bu modulu  ve ya yeni modulu istifade ede bilerik. Biz standart modulu istifadə edək.


Bu modulu comment-dən cıxardıqdan sonra üzərində 2 dəfə click edərək "bu modulu yaratmaq isteyirsizmi?" mesaj-ı gələcək. YES düyməsi basıldıqdan sonra bu modulu harada yerləşdirəcəyini soruşur.
İstərsək bu modulu ana proqrama və ya yeni  include proqrama əlavə edə bilərik. Biz yeni includ-a əlavə edək.


Enter düyməsini vurduqdan sonra kod pəncərəsi açılır ve burada kodu aşagıdakı kimi yazaq.
DATA : MSJ TYPE STRING.
CASE ok_code.
  
WHEN 'INFO'.
    
CONCATENATE P1 P2 INTO MSJ SEPARATED BY SPACE.
   
MESSAGE MSJ TYPE 'I'.
ENDCASE.
Ekranda olan 2 ayrı-ayrı dəyişəni birləşdirmək üçün msj adında dəyişən teyin etdik və
CONCATENATE operatoru vasitəsilə 2 dəyişəni birləsdirdik. Case operatorunda yazdığımız 'INFO' button-a verdiyimiz fcode-dur.
Nəticə...

























Tuesday, February 3, 2015

SAP-da Hesabat Modulu Quickviewer (QuickViewer necə hazırlanır?)...

ABAP (Advanced Business Application Programming) proqramına ehtiyac duymadan lazım olsa birdən çox table-ı bir-birinə bağlayaraq sorğular üzərindən hesabat hazırlamaq mümkündür. Bunun üçün hər hansı bir proqramlaşdırma dili bilməmizə ehtiyac yoxdur. Əhəmiyyətli olan istifadə edəcəyimiz table-rı və bu table-da iştirak edən, açar sahələrini və digər sahələri bilməkdir.

Əgər səlahiyyət məhdudlaşdırmanız yoxsa;


İstifadəçi Menyusundan;  SAP Menyusu -> Tools -> ABAP Workbench -> Utilities      -> QuickViewer (SQVI) və ya birbaşa olaraq əməliyyat kodu pəncərəsinə SQVI yazaraq bu modula çata bilərsiniz.

Əməliyyat kodu (TCODE) : SQVI

Bu nümunəmizdə 2 table-dan istifadə edəcəyəm.
İstifadə edəcəyim table-dan birisi SCARR o birisi isə SPFLİ table-rı olacaq.

SQVI əməliyyat kodunu yazaraq açılan pəncərədə yeni QuickView yaradaq. QuickView-ın adını ZHESABAT yazaraq Create düyməsinə vururuq.


Açılan pəncərədə Title bölməsinə qisa şərh yazırıq. Data sourse bölməsində isə iki ayrı Table-dan istifadə etdiyimiz üçün Table Join seçirik və Enter düyməsinə vururuq.


Shift F1 qısa yolu üzərindən əlavə etmək istədiyiniz table soruşulacaq. Və ya aşağıdakı düymə köməyi ilə əlaqədar table-ı əlavə edək.


İlkin olaraq SCARR Table-nı seçirik və Enter düyməsinə vururuq.


İkinci Table-ı isə SPFLİ olaraq seçirik.


Bu proseslərin ardından açar sahələr arasında proqramçılar tərəfindən təyin olunan avtomatik bir əlaqə görünəcək. Bu bağ iki table arasındakı əlaqəni göstərir.


 Table-mızı seçdikdən sonra F3 düyməsi ilə təkrar əvvəlki  pəncərəyə geri dönək.


Bu isə bir daha vizual bir hesabata daha istiqamətli səhifə genişliyini, hesabatda sahələrin yerləri ölçüləri , sıralaması, sütun xəttləri və ya axtar, cəmlə, kimi bir çox əlavə etmələri asanlıqla edə bilər. Aşağıdakı kimi sorğuda istifadə edəcəyimiz və hesabatda çıxmasını istədiyimiz sahələrin önünə tık qoyaq. Ardından bu sahələrdən birinə və ya bir neçəsinə görə sıralama aparaq.


Sonra Execute düyməsinə vuraraq hesabatı çalışdıraq.


Hesabat forması aşağıdakı kimidir.