Sorgumuzda ki alanları dinamik olarak oluşturmamız ve select sorgusunu buna göre yapmamız gerekebilir.
Bunun için yapmamız gerken;
stype_fields
tipinde bir tablo yaratmak ve sütun isimlerini içine eklemektir.
Örnek;
TYPES :
BEGIN OF stype_fields,
fieldname TYPE name_feld,
END OF stype_fields
*ITAB ımızı tanımlayalım.
DATA:
gt_itab type standard table of MSEG with header line.
* Dinamik sorgu için kullanacağımız field isimlerinin bulunduğu
* tablo
data : g_t_fields type standard table of stype_fields.
* burada sütun isimlerini kafamıza göre belirliyoruz
append 'MSEG~ANLN1' to g_t_fields.
append 'MSEG~ANLN2' to g_t_fields.
append 'MSEG~APLZL' to g_t_fields.
append 'MSEG~AUFNR' to g_t_fields.
append 'MSEG~AUFPL' to g_t_fields.
* Select sorgumuz
select (g_t_fields)
into corresponding fields of table gt_itab
from MSEG.
İyi çalışmalar & attığınız paslara şutlara dikkat edin. :=)
4 Kasım 2008 Salı
ABAP : ALV ' de trafik isiklari kullanimi
ALV ekranında trafik ışıkları kullanımının iki tane yolu vardır. Bu metodlardan en kolayı, ALV çağırırken kullandığımız is_layout parametresini kullanmaktır.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
it_fieldcat = gt_fcat
is_layout = layout
....
.... Internal table tanımlanırken, trafik ışıklarını göstermemiz için ek bir alan koymamız gerekir;
DATA : layout TYPE slis_layout_alv . "alv grid'in layout parametresi için.
DATA:
begin of gt_itab occurs 0,
icon_field(1) type c,
...
...
...
yapmamız gereken, internal tablomuzda LOOP yapıp, icon_field alanını doldurmaktır.
gt_itab-icon_field = 3. "yeşil ışık
gt_itab-icon_field = 2. "sarı ışık
gt_itab-icon_field = 1. "kırmızı ışık
Daha sonra yapmamız gereken, ALV_GRID i çağırmadan önce,
layout değişkenimiz için;
layout-lights_tabname = 'GT_ITAB'.
layout-lights_fieldname = 'ICON_FIELD'.
değerlerini göndermektir.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
it_fieldcat = gt_fcat
is_layout = layout
....
.... Internal table tanımlanırken, trafik ışıklarını göstermemiz için ek bir alan koymamız gerekir;
DATA : layout TYPE slis_layout_alv . "alv grid'in layout parametresi için.
DATA:
begin of gt_itab occurs 0,
icon_field(1) type c,
...
...
...
yapmamız gereken, internal tablomuzda LOOP yapıp, icon_field alanını doldurmaktır.
gt_itab-icon_field = 3. "yeşil ışık
gt_itab-icon_field = 2. "sarı ışık
gt_itab-icon_field = 1. "kırmızı ışık
Daha sonra yapmamız gereken, ALV_GRID i çağırmadan önce,
layout değişkenimiz için;
layout-lights_tabname = 'GT_ITAB'.
layout-lights_fieldname = 'ICON_FIELD'.
değerlerini göndermektir.
Kaydol:
Kayıtlar (Atom)