Текущее время: Пт, апр 19 2024, 05:26

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Операции с внутр. таблицами и выгрузка данных
СообщениеДобавлено: Чт, окт 14 2004, 09:14 
Гость
Подскажите. Есть две одинаковые внутренние таблицы, как передать по одной строчке из одной таблицы в другую, например, в первой таблице 10 строк, сначала передаем в другую таблицу первую строчку, там с ней проделываем какую либо операцию, отчищаем вторую таблицу и передаем уже в неё вторую строчку и так далее для всех 10 строк и можно ли выгрузить внутреннюю таблицу в текстовый файл, но так чтобы каждое поле таблицы было отдельной строчкой в текстовом файле, если можно киньте пример для выше сказанного


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: Re: Операции с внутр. таблицами и выгрузка данных
СообщениеДобавлено: Чт, окт 14 2004, 09:52 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, окт 13 2004, 14:03
Сообщения: 209
Откуда: Москва
Пол: Мужской
Newer написал(а):
Подскажите. Есть две одинаковые внутренние таблицы, как передать по одной строчке из одной таблицы в другую, например, в первой таблице 10 строк, сначала передаем в другую таблицу первую строчку, там с ней проделываем какую либо операцию, отчищаем вторую таблицу и передаем уже в неё вторую строчку и так далее для всех 10 строк <skip>


А зачем такой огород городить ??? :shock: По моему проще прочитать первую запись первой таблицы, проделать с ней какую-либо операцию, а затем модифицировать эту запись.
Что-то типа:

loop at itab.
<действия над записью>
modify itab.
endloop.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 14 2004, 09:59 
Специалист
Специалист

Зарегистрирован:
Вт, авг 24 2004, 16:49
Сообщения: 186
Откуда: SAP ERP60
Пол: Мужской
APPEND LINES OF itab1 [FROM idx1] [TO idx2] TO itab2.



Effect
Appends the internal table itab1 or a block of lines from itab1 to the end of the internal table itab2.
You can only use this variant with index tables (standard or sorted table).

By specifying FROM idx1 or TO idx2, you can restrict the line area taken from the source table itab1. If there is no FROM specification, it begins with the first line of itab1. If there is no TO specification, it ends with the last line of itab1. This means that the complete table is appended if neither a FROM nor a TO is specified.


По поводу второго- чтото типа
цикл по таблице
внутри цикл по полям в field symbol
и GUI_DOWNLOAD этого поля с append = 'X'


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 14 2004, 10:02 
Гость
REPORT ZTEST28 .

DATA: ITAB1 LIKE T001 OCCURS 0 WITH HEADER LINE,
ITAB2 LIKE T001 OCCURS 0 WITH HEADER LINE,
BEGIN OF TEXTTAB OCCURS 0,
STROKA(255),
END OF TEXTTAB,
SFIELD(20),
FILD(20),
I TYPE I,
II(2).

FIELD-SYMBOLS: <SS> .

DATA: FIELD1(5) VALUE 'BUKRS',
FIELD2(5) VALUE 'BUTXT',
FIELD3(5) VALUE 'ORT01'.

DATA: FILENAME LIKE RLGRAP-FILENAME VALUE 'C:\BUKRS.TXT'.


CLEAR: ITAB1, ITAB2, TEXTTAB.
REFRESH: ITAB1, ITAB2, TEXTTAB.

SELECT * FROM T001 APPENDING TABLE ITAB1.

LOOP AT ITAB1.
ITAB2 = ITAB1.
* ....
* ....
APPEND ITAB2.
ENDLOOP.

LOOP AT ITAB2.
I = 1.
DO 3 TIMES.
II = I.
CONCATENATE 'FIELD' II INTO FILD.
CONDENSE FILD.
ASSIGN (FILD) TO <SS>.
CONCATENATE 'ITAB2-' <SS> INTO SFIELD.
CONDENSE SFIELD.
ASSIGN (SFIELD) TO <SS>.
TEXTTAB-STROKA = <SS>.
CONDENSE TEXTTAB-STROKA.
APPEND TEXTTAB.
ADD 1 TO I.
ENDDO.
ENDLOOP.

CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
FILENAME = FILENAME
FILETYPE = 'DAT'
TABLES
DATA_TAB = TEXTTAB.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 14 2004, 12:10 
Гость
ВН написал(а):
REPORT ZTEST28 .

LOOP AT ITAB1.
ITAB2 = ITAB1.
* ....
* ....
APPEND ITAB2.
ENDLOOP.



Тут вместо этой бадяги рулит следующая:
ITAB2[] = ITAB1[].


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 14 2004, 12:11 
Гость
ВН написал(а):
REPORT ZTEST28 .

LOOP AT ITAB1.
ITAB2 = ITAB1.
* ....
* ....
APPEND ITAB2.
ENDLOOP.



Тут вместо этой бадяги рулит следующая:
ITAB2[] = ITAB1[].


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 14 2004, 12:14 
Специалист
Специалист

Зарегистрирован:
Чт, авг 19 2004, 07:31
Сообщения: 234
Откуда: Нижнекамск
судя по вопросу рулит именно та бадяга...а не ITAB2[] = ITAB1[]


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 15 2004, 12:07 
Гость
Eugene написал(а):
судя по вопросу рулит именно та бадяга...а не ITAB2[] = ITAB1[]


О-о-о, месье - любитель извращений ? Ну тогда попробуй сделать динамический анализ копирования таблиц через цикл и сразу всю таблицу. Это я к чему: быстродействие будет гораздо быстрее, если скопировать таблицу целиком и уж потом над ней издеваться отдельно.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 15 2004, 13:09 
Специалист
Специалист

Зарегистрирован:
Чт, авг 19 2004, 07:31
Сообщения: 234
Откуда: Нижнекамск
:D :D
месье просто читает вопрос...

Цитата:
там с ней проделываем какую либо операцию, отчищаем вторую таблицу и передаем уже в неё вторую строчку


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

понятно что вариант
ITAB2[] = ITAB1[]
работает быстрее чем
LOOP AT ITAB1.
ITAB2 = ITAB1.
APPEND ITAB2.
ENDLOOP.

прошу прощения если своим никчемным ответом задел вашу проф. гордость...это от скудоумия уж извините[/code]


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB