Текущее время: Сб, июн 21 2025, 21:41

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Посоветуйте, как токое можно реализовать?
СообщениеДобавлено: Пт, апр 15 2005, 11:46 
Специалист
Специалист

Зарегистрирован:
Пт, мар 25 2005, 13:58
Сообщения: 216
Я заполняю таблицу символяами
'A' , 'B', 'C'...и.т.д.,
если только таблицы с такими же именами A, B, C не пустые.
В случае, если DESCRIBE TABLE B LINES num_lines.
и num_lines при этом равен 0, то символ 'B' я пропускаю .
Символьные значения можно как-то использовать в качестве имен переменных ?
Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Посоветуйте, как токое можно реализовать?
СообщениеДобавлено: Пт, апр 15 2005, 11:56 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 12:50
Сообщения: 134
Откуда: UA->DE
Пол: Женский
Salas написал(а):
Символьные значения можно как-то использовать в качестве имен переменных ?

См. FIELD-SYMBOLS


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 15 2005, 12:42 
Гость
TYPES: BEGIN OF TABL ,
POLE(10),
END OF TABL,
TABLT TYPE TABL OCCURS 0.
DATA: A TYPE TABLT,
B TYPE TABLT,
C TYPE TABLT.
DATA: L LIKE LINE OF A.
FIELD-SYMBOLS: <P> TYPE TABLT.
DATA: TABNAM(10),
TABTYP(10) VALUE 'TABL',
I TYPE I.

********************************
* ЗДЕСЬ - ЗАПОЛНЕНИЕ ТАБЛИЦ
*
* например так, для проверки:
*
* L-POLE = 'dddd'.
* APPEND L TO B.
*********************************

TABNAM = 'A'.
PERFORM OTABL.
TABNAM = 'B'.
PERFORM OTABL.
TABNAM = 'C'.
PERFORM OTABL.

*---------------------------
FORM OTABL.
ASSIGN (TABNAM) TO <P>.
DESCRIBE TABLE <P> LINES I.
IF I = 0.
L-POLE = TABNAM.
APPEND L TO <P>.
ENDIF.
UNASSIGN <P>.
ENDFORM. "OTABL


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 15 2005, 13:02 
Гость
немного измененный вариант,
по-моему больше подходящий для твоего вопроса


TYPES: BEGIN OF TABL ,
POLE(10),
END OF TABL,
TABLT TYPE TABL OCCURS 0.
DATA: A TYPE TABLT,
B TYPE TABLT,
C TYPE TABLT.

DATA: BEGIN OF TITOG OCCURS 0,
TABNAM(10),
END OF TITOG,
L LIKE LINE OF A.

FIELD-SYMBOLS: <P> TYPE ANY TABLE.
DATA: TABNAM(10),
TABTYP(10) VALUE 'TABL',
I TYPE I.

L-POLE = 'dddd'.
APPEND L TO B.

TABNAM = 'A'.
PERFORM OTABL.
TABNAM = 'B'.
PERFORM OTABL.
TABNAM = 'C'.
PERFORM OTABL.
WRITE:/ 'Пустые таблицы'.
LOOP AT TITOG.
WRITE:/ TITOG-TABNAM.
ENDLOOP.

*---------------------------
FORM OTABL.
ASSIGN (TABNAM) TO <P>.
DESCRIBE TABLE <P> LINES I.
IF I = 0.
TITOG-TABNAM = TABNAM.
APPEND TITOG.
ENDIF.
UNASSIGN <P>.
ENDFORM.


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

Зарегистрирован:
Пт, мар 25 2005, 13:58
Сообщения: 216
Огромное спасибо, за исчерпывающий ответ,
я пока разбираюсь, куда что вставить.


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

Зарегистрирован:
Пт, мар 25 2005, 13:58
Сообщения: 216
ВН, спасибо.
Объединил оба твоих ответа в единый, теперь модуль,
в котором происходи запись во внутреннюю таблицу, а из нее
уже на экранную отлично работает.

Цитата:
MODULE STATUS_0200 OUTPUT.
SET PF-STATUS 'MY_STATUS'.
SET TITLEBAR 'Payroll of one period'.
CLEAR name_id.
REFRESH name_id.

DATA index200 TYPE i.
CLEAR index200.
DATA cur_record(10).
CLEAR cur_record.

DO num_RECORDS TIMES.
index200 = index200 + 1.
CASE index200.
WHEN 1.
cur_record = 'VERSION'.
WHEN 2.
cur_record = 'VERSC'.
WHEN 3.
cur_record = 'V0'.
WHEN 4.
cur_record = 'CRT'.
WHEN 5.
cur_record = 'RT'.
WHEN 6.
cur_record = 'ABC'.
WHEN 7.
cur_record = 'WPBP'.
ENDCASE.

DATA tab_name(100).
CLEAR tab_name.
CONCATENATE 'result-inter-' cur_record into tab_name.
FIELD-SYMBOLS: <P> TYPE ANY TABLE.
IF index200 > 2.
ASSIGN (tab_name) TO <P>.
DATA cur_number TYPE i.
DESCRIBE TABLE <P> LINES cur_number.
IF cur_number > 0.
name_id-name = cur_record.
name_id-number = cur_number.

APPEND name_id.
ENDIF.
ENDIF.
ENDDO.
ENDMODUL.


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

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


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

Сейчас этот форум просматривают: Yandex [Bot]


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

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