Range table, karmaşık alanları yönetmek için dahili bir tablonun yapısını, yani ABAP programındaki internal range table yapısını açıklar.
Satır türü sabit bir yapıya sahiptir. Sırasıyla SIGN(Operator), OPTION(Karşılaştırma operatörü), LOW(Alt limit) ve HIGH(Yüksek limit) olmak üzere 4 bileşenden oluşur.
Sütun | Veri Tipi | Olası Değer |
SIGN | CHAR LENGTH 1 | I – Dahil etmek E – Hariç tutmak |
OPTION | CHAR LENGTH 2 | EQ – Eşit NE – Eşit Değil GE – Büyük veya Eşittir GT – Büyüktür LE – Küçüktür veya Eşittir LT – Daha Az CP – Kalıp İçerir |
LOW | Seçim alanı veri türü | Veri değeri. Başlangıç. |
HIGH | Seçim alanı veri türü | Veri değeri. Son. |
ABAP Dictionary Create Table Type;
- SE11 transaction koduna gidilir. Data type kısmına oluşturmak istediğimiz Range Table adını girip, create düğmesine tıklarız.
- Gelen pencerede Table type türü seçilir.
- Açılan ekranda açıklama kısmı doldurulur. Sonra menüden Edit->Define as range table type düğmesine tıklanır.
- Line Type sekmesi altında Data Element girilir. Kaydedilir. Kaydet dedikten sonra Structured Row Type alanı doldurulur. Create butonuna basılır.
- Create butonuna bastıktan sonra Range structure’ın alanlarını otomatik olarak doldurulacaktır.
- Structure’yi kaydedip, etkinleştirin. Daha sonra Table type’i de etkinleştirin çıkış yapın.
Oluşturduğumuz nesneleri aşağıdaki gibi kodda kullanabilirsiniz.
DATA : GS_BUKRS TYPE ZED_S_BUKRS_RANGE, RT_BUKRS TYPE ZED_TY_BUKRS. START-OF-SELECTION . WORKAREA_MATERIAL-SIGN = 'I' . WORKAREA_MATERIAL-OPTION = 'EQ' . WORKAREA_MATERIAL-LOW = '*' . WORKAREA_MATERIAL-HIGH = '*' . APPEND GS_BUKRS TO RT_BUKRS. SELECT BUKRS INTO TABLE @DATA(GT_BUKRS) FROM T001 WHERE BUKRS IN RT_BUKRS.