ABAP podstawy dla opornego :)
: pt lut 01, 2019 10:59 am
Witam
Abap dla opornych podstawy:)
Mam pytanie jak wyrzucać dane z kilku lub kilkunastu tabel bazodanowych do ALV ?
Załóżmy, że indeksy z jednej tabeli, ilości z innej, nazwę indeksu z innej itp.
Czy łączymy najpierw sql joinem i wynik do jednej tabeli wewnetrznej a potem do alv?
Czy też wrzucamy każdą tabelę bazodanową do oddzielnej tabeli wewnetrznej i następnie pracujemy już tylko na tabelach wewnetrznych zbierając w jednej zbiorczej tabeli wewnetrznej wynikowej ?
Przykład poniżej pobiera mi z jendej tabeli bazodanowej do jednej wewnetrznej czyli taki najprostszy tylko z ręcznie zrobionym field catalogiem..
REPORT ZPB4.
TYPE-POOLS: slis. " SLIS contains all the ALV data types
*&---------------------------------------------------------------------*
*& Data Declaration
*&---------------------------------------------------------------------*
DATA: it_sbook TYPE TABLE OF sbook.
DATA: it_fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat TYPE slis_fieldcat_alv.
*&---------------------------------------------------------------------*
*& START-OF-SELECTION
*&---------------------------------------------------------------------*
*Fetch data from the database
SELECT * FROM sbook INTO TABLE it_sbook.
*Build field catalog
wa_fieldcat-fieldname = 'CARRID'. " Fieldname in the data table
wa_fieldcat-seltext_m = 'Linia lotnicza'. " Column description in the output
APPEND wa_fieldcat TO it_fieldcat.
wa_fieldcat-fieldname = 'CONNID'.
wa_fieldcat-seltext_m = 'Numer lotu'.
APPEND wa_fieldcat TO it_fieldcat.
wa_fieldcat-fieldname = 'FLDATE'.
wa_fieldcat-seltext_m = 'Data lotu'.
APPEND wa_fieldcat TO it_fieldcat.
wa_fieldcat-fieldname = 'BOOKID'.
wa_fieldcat-seltext_m = 'Numer miejsca'.
APPEND wa_fieldcat TO it_fieldcat.
wa_fieldcat-fieldname = 'PASSNAME'.
wa_fieldcat-seltext_m = 'Dane pasażera'.
APPEND wa_fieldcat TO it_fieldcat.
*Pass data and field catalog to ALV function module to display ALV list
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
it_fieldcat = it_fieldcat
TABLES
t_outtab = it_sbook
EXCEPTIONS
program_error = 1
OTHERS = 2.
Abap dla opornych podstawy:)
Mam pytanie jak wyrzucać dane z kilku lub kilkunastu tabel bazodanowych do ALV ?
Załóżmy, że indeksy z jednej tabeli, ilości z innej, nazwę indeksu z innej itp.
Czy łączymy najpierw sql joinem i wynik do jednej tabeli wewnetrznej a potem do alv?
Czy też wrzucamy każdą tabelę bazodanową do oddzielnej tabeli wewnetrznej i następnie pracujemy już tylko na tabelach wewnetrznych zbierając w jednej zbiorczej tabeli wewnetrznej wynikowej ?
Przykład poniżej pobiera mi z jendej tabeli bazodanowej do jednej wewnetrznej czyli taki najprostszy tylko z ręcznie zrobionym field catalogiem..
REPORT ZPB4.
TYPE-POOLS: slis. " SLIS contains all the ALV data types
*&---------------------------------------------------------------------*
*& Data Declaration
*&---------------------------------------------------------------------*
DATA: it_sbook TYPE TABLE OF sbook.
DATA: it_fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat TYPE slis_fieldcat_alv.
*&---------------------------------------------------------------------*
*& START-OF-SELECTION
*&---------------------------------------------------------------------*
*Fetch data from the database
SELECT * FROM sbook INTO TABLE it_sbook.
*Build field catalog
wa_fieldcat-fieldname = 'CARRID'. " Fieldname in the data table
wa_fieldcat-seltext_m = 'Linia lotnicza'. " Column description in the output
APPEND wa_fieldcat TO it_fieldcat.
wa_fieldcat-fieldname = 'CONNID'.
wa_fieldcat-seltext_m = 'Numer lotu'.
APPEND wa_fieldcat TO it_fieldcat.
wa_fieldcat-fieldname = 'FLDATE'.
wa_fieldcat-seltext_m = 'Data lotu'.
APPEND wa_fieldcat TO it_fieldcat.
wa_fieldcat-fieldname = 'BOOKID'.
wa_fieldcat-seltext_m = 'Numer miejsca'.
APPEND wa_fieldcat TO it_fieldcat.
wa_fieldcat-fieldname = 'PASSNAME'.
wa_fieldcat-seltext_m = 'Dane pasażera'.
APPEND wa_fieldcat TO it_fieldcat.
*Pass data and field catalog to ALV function module to display ALV list
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
it_fieldcat = it_fieldcat
TABLES
t_outtab = it_sbook
EXCEPTIONS
program_error = 1
OTHERS = 2.