Thursday, December 11, 2014

Dərs 30: Data Dictionary Nümunə Table yaradılması...


Yeni bir Database Table yaratmaq üçün SE11 əməliyyat kodundan istifadə edirik. Bizim yaradacağımız Table Z ilə başlamalıdır. Database Table sahəsinə ZTELEBE yazıb və create düyməsini vurun. Əvvəla table-ın zəruri sahələri doldurmaq məcburiyyətindəyik.


  Short Description qisminə Table-ın qısa şərhini yazıb Delivery Class-ı A, Data Browser/ Table View Maintenances-i X seçirik.


Sonra Fields sahəsinə keçərək ilk stünun adını yazırıq. Əgər biz Table yaradacıyıqsa ilk stün mütləq MANDT və dataelementi isə MANDT olmaq məcburiyyətindədir.


İkinci stün olaraq isə ID Yazaq. Data Element qisiminə gəlincə isə Predefined Type düyməsinə vurun və açılan pəncərədə göreceksinizki Data Element adı yazmaq yerinə birbaşa stünun tipini özümüz yaza biləcəyik. F4-ə bassaq giriş köməyi pəncərəsi açılacaq.


Biz ID üçün NUMC xarakterini seçirik. İnitial valuesi və keyi bu sahədə də seçməliyik. açarsız və mandt-sız table olmaz. Çox nadir table-lar mand-sız olar. Bizim yaratdığımız hər table-da mandt olmalıdır.

Tələbənin adını və soyadını ardıcıl olaraq daxil edin.




Tələbənin adı və soyadı üçün biz özümüz Data Element yaradaq. 

Ən son table-ı aktiv etməyə çalışaq. Əvvəla olaraq table-ın Technical Settings hissəsini nizamlayaq. Onu menyudan GOTO-> Technical settings orada verilən classı APPL0 və kateqoriyanı 0 seçin. 























Wednesday, December 3, 2014

Dərs 29: ALV hesabat (FIELDCAT istifadəsi)...

ALV hesabatda FİELDCAT-dan istifadə edərək hazırlanması.








*&---------------------------------------------------------------------*
*& Report  ZTEST_FIELDCAT
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZTEST_FIELDCAT.

TYPE-POOLS slis.
TABLES spfli.

DATA BEGIN OF gt_spfli OCCURS 0,
         carrid  LIKE spfli-carrid,
         connid  LIKE spfli-connid,
         countryfr  LIKE spfli-countryfr,
         cityfrom  LIKE spfli-cityfrom,
       END OF gt_spfli.

DATA gv_repid TYPE sy-repid.

SELECT-OPTIONS so_carid FOR spfli-carrid.


START-OF-SELECTION.
  gv_repid sy-repid.
  SELECT FROM spfli
           INTO CORRESPONDING FIELDS OF TABLE gt_spfli
           WHERE carrid IN so_carid.

  IF sy-subrc NE 0.
    MESSAGE 'Seçilmiş kriteriyaya görə məlumat yoxdur' TYPE 'I'.
    RETURN.
  ELSE.
    PERFORM alv_goster.
  ENDIF.
*&---------------------------------------------------------------------*
*&      Form  ALV_GOSTER
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM alv_goster .

  DATA lt_fieldcat TYPE slis_t_fieldcat_alv.
  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
    EXPORTING
      i_program_name               gv_repid
      i_internal_tabname           'GT_SPFLI'
*     I_STRUCTURE_NAME             =
*     I_CLIENT_NEVER_DISPLAY       = 'X'
      i_inclname                   gv_repid
*     I_BYPASSING_BUFFER           =
*     I_BUFFER_ACTIVE              =
*     I_MODE                       =
   CHANGING
     ct_fieldcat                  lt_fieldcat
*   EXCEPTIONS
*     INCONSISTENT_INTERFACE       = 1
*     PROGRAM_ERROR                = 2
*     OTHERS                       = 3
           .
  IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
*     I_INTERFACE_CHECK                 = ' '
*     I_BYPASSING_BUFFER                = ' '
*     I_BUFFER_ACTIVE                   = ' '
*     I_CALLBACK_PROGRAM                = ' '
*     I_CALLBACK_PF_STATUS_SET          = ' '
*     I_CALLBACK_USER_COMMAND           = ' '
*     I_CALLBACK_TOP_OF_PAGE            = ' '
*     I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
*     I_CALLBACK_HTML_END_OF_LIST       = ' '
*     I_STRUCTURE_NAME                  =
*     I_BACKGROUND_ID                   = ' '
*     I_GRID_TITLE                      =
*     I_GRID_SETTINGS                   =
*     IS_LAYOUT                         =
      IT_FIELDCAT                       lt_fieldcat[]
*     IT_EXCLUDING                      =
*     IT_SPECIAL_GROUPS                 =
*     IT_SORT                           =
*     IT_FILTER                         =
*     IS_SEL_HIDE                       =
*     I_DEFAULT                         = 'X'
*     I_SAVE                            = ' '
*     IS_VARIANT                        =
*     IT_EVENTS                         =
*     IT_EVENT_EXIT                     =
*     IS_PRINT                          =
*     IS_REPREP_ID                      =
*     I_SCREEN_START_COLUMN             = 0
*     I_SCREEN_START_LINE               = 0
*     I_SCREEN_END_COLUMN               = 0
*     I_SCREEN_END_LINE                 = 0
*     I_HTML_HEIGHT_TOP                 = 0
*     I_HTML_HEIGHT_END                 = 0
*     IT_ALV_GRAPHICS                   =
*     IT_HYPERLINK                      =
*     IT_ADD_FIELDCAT                   =
*     IT_EXCEPT_QINFO                   =
*     IR_SALV_FULLSCREEN_ADAPTER        =
*   IMPORTING
*     E_EXIT_CAUSED_BY_CALLER           =
*     ES_EXIT_CAUSED_BY_USER            =
    TABLES
      t_outtab                          gt_spfli
*   EXCEPTIONS
*     PROGRAM_ERROR                     = 1
*     OTHERS                            = 2
            .
  IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.


ENDFORM.                    " ALV_GOSTER

Monday, December 1, 2014

Dərs 28: Table-ın əlaqələrini görmək üçün...


Əvvəla SE11 əməliyyat kodu ilə table-ı ğöstəririk, sonra isə Ctrl-Shift-F11 düymələrini basırıq.
Beləcə Grafic View-ı çalışaraq üzərindəki table-ın əlaqələrini qrafik olaraq görüntüləyirik.
Burada, SPFLİ table-ı seçildi və SPFLİ Table-na bağlı olan bütün Table-lar ekranda göstərildi.