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.
![SAP Range Table](https://emrullahdemirhan.com/wp-content/uploads/2020/12/SAP-Range-Table.jpg)
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.