SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

Arrays?



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
agatos
Участник
Участник



Joined: 01 Nov 2007
Posts: 49
Location: Germany, Norden

PostPosted: Wed Jan 02, 2008 1:17 pm    Post subject: Arrays? Reply with quote

Добрый день!!
Есть в ABAP Arrays? Как создать Array и как работают с ними?
Спасибо!
Back to top
View user's profile Send private message
Lord
Профессионал
Профессионал



Joined: 10 Sep 2007
Posts: 168

PostPosted: Tue Jan 08, 2008 1:39 am    Post subject: Reply with quote

Доброй ночи,
если только в новых версиях не появились массивы, раньше их небыло.
Достаточно легко эмулировать работу массива с использованием внутренней таблицы с одним полем - значение.

Например, двумерный массив раскладывается в таблицу
Code:

Dim1 Dim2 Value
1    1    -
1    2    -
2    1    -
2    2    -


Трехмерный массив
Code:

Dim1 Dim2 Dim3 Value
1    1    1    -
1    1    2    -
1    1    3    -
1    2    1    -
1    2    2    -
1    2    3    -
1    3    1    -
1    3    2    -
1    3    3    -
2    1    1    -
2    1    2    -
2    1    3    -
2    2    1    -
2    2    2    -
2    2    3    -
2    3    1    -
2    3    2    -
2    3    3    -
3    1    1    -
3    1    2    -
3    1    3    -
3    2    1    -
3    2    2    -
3    2    3    -
3    3    1    -
3    3    2    -
3    3    3    -


Колонки DimN приведены для наглядности, для хранения данных во внутренней таблице они не нужны.

Сначала инициализируете внутреннюю таблицу, заполняя ее нужным количеством строк, далее используете INDEX для доступа к элементам псевдо-массива.

Для вычисления индекса элемента в массиве, используйте формулу
N = 3 - размерность
index = N^2*(dim1 - 1) + N^1*(dim2 - 1) + dim3

для чтения - записи
Code:

DATA: LINE(72) TYPE C,
          array3 LIKE TABLE OF LINE(72).

READ TABLE array3 INDEX index.

MODIFY array3 INDEX index.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.