Текущее время: Вт, июл 29 2025, 15:56

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 35 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 01 2005, 11:13 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
И не всегда работает.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 01 2005, 12:00 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
EGF написал(а):
И не всегда работает.


Хе-хе, ну само собой - работает, когда ее вызывают :D (шютка)


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

Зарегистрирован:
Пт, апр 08 2005, 10:27
Сообщения: 125
Пол: Мужской
EGF написал(а):
И не всегда работает.


Действительно, у меня не работает, кто знает какие данные на импорт подавать (примерчик маленький) ???


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

Зарегистрирован:
Вт, авг 17 2004, 12:44
Сообщения: 305
Откуда: Жайрем -> Астана
вот попробовал....работает :wink:
Code:
REPORT ZYS_S007.

DATA :  BEGIN OF GT_TEST OCCURS 0,
          BANFN LIKE EBAN-BANFN,
          BNFPO LIKE EBAN-BNFPO,
          SUM   TYPE P DECIMALS 2,
          LOOOOOOOONG_FIELD_NAME(10),
        END OF GT_TEST.

DATA : GT_INFO LIKE RSTRUCINFO OCCURS 0 WITH HEADER LINE,
       G_REPID LIKE SY-REPID.


G_REPID = SY-REPID.

CALL FUNCTION 'GET_COMPONENT_LIST'
     EXPORTING
          PROGRAM    = G_REPID
          FIELDNAME  = 'GT_TEST'
     TABLES
          COMPONENTS = GT_INFO
     EXCEPTIONS
          OTHERS     = 1.

LOOP AT GT_INFO.
  WRITE : / GT_INFO-COMPNAME.
ENDLOOP.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 01 2005, 16:41 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, сен 09 2004, 07:32
Сообщения: 777
Откуда: Москва
Пол: Мужской
Всегда оно нормально работает - используется в REUSE_ALV_FIELDCATALOG_MERGE, когда Fieldcatalog формируется по внутренней таблице.

_________________
"Прежде чем сделать что-то, подумай, к чему это может привести..."


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 01 2005, 17:30 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
nicky555 написал:
Всегда оно нормально работает - используется в REUSE_ALV_FIELDCATALOG_MERGE, когда Fieldcatalog формируется по внутренней таблице.

Маленькое добавление - всегда работает, если таблица объявлена только таким образом:
Code:
begin of itab occurs 0,
...
end of itab.


Последний раз редактировалось EGF Пт, июл 01 2005, 17:38, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 01 2005, 17:37 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, май 04 2005, 16:29
Сообщения: 687
Откуда: Нижневартовск->Москва
Пол: Мужской
EGF написал(а):
если таблица объявлена только таким образом:

На самом деле эта штука работает со структурами. Так что причём тут таблицы? :) А "работает" для таблиц, в том случае, если есть header line. Вот и всё.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 01 2005, 17:43 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
T написал:
На самом деле эта штука работает со структурами. Так что причём тут таблицы? :) А "работает" для таблиц, в том случае, если есть header line. Вот и всё.

Да, действительно. Не сообразил.


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

Зарегистрирован:
Пт, апр 08 2005, 10:27
Сообщения: 125
Пол: Мужской
А теперь вернёмся к начальному вопросу. Я уже знаю имя поля, как получить все значения этого столбца?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб, июл 02 2005, 19:35 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Bit написал:
А теперь вернёмся к начальному вопросу. Я уже знаю имя поля, как получить все значения этого столбца?


Циклом по таблице


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс, июл 03 2005, 18:23 
Гость
Более развёрнуто: у меня есть таблица Т1 с фиксированным числом столбцов, например: A,B,C,D, Е. Необходимо получить таблицу Т2 с заранее не определённым набором столбцов из Т1, например: А,С,В.
Таблицу Т2 я создаю динамически, с необходимвым набором столбцов из Т1. Но как их потом заполнить значениями?
MOVE-CORRESPONDING Т1 ТО <T2> не прокатывает, говорит что <T2> не внутрення таблица с хеадер лайном, <T2>[] тоже не катит. Как быть???


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июл 04 2005, 07:16 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
Anonymous написал(а):
Более развёрнуто: у меня есть таблица Т1 с фиксированным числом столбцов, например: A,B,C,D, Е. Необходимо получить таблицу Т2 с заранее не определённым набором столбцов из Т1, например: А,С,В.
Таблицу Т2 я создаю динамически, с необходимвым набором столбцов из Т1. Но как их потом заполнить значениями?
MOVE-CORRESPONDING Т1 ТО <T2> не прокатывает, говорит что <T2> не внутрення таблица с хеадер лайном, <T2>[] тоже не катит. Как быть???


Вопрос немного в сторону - а зачем тебе это нужно? Если для дальнейшего вывода этой преобразованной таблицы в АЛВ, то есть и другие (более простые) способы ограничения вывода столбцов изначальной таблицы.


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

Зарегистрирован:
Пт, апр 08 2005, 10:27
Сообщения: 125
Пол: Мужской
Дело в том, что я не могу использовать чистый ALV, в моём распоряжении лишь его ограниченный шаблончик: FUNCTION 'HR_DISPLAY_BASIC_LIST' :( , а метод с вариантами мне не подходит (слишком много их). Да и на будующее интересно как быть в такой ситуации!?
P.S.: Забыл спросить, самый простой способ скрытия полей в АЛВ - это установить необходимым столбцам NO_OUT в 'X'?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июл 04 2005, 09:47 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
Anonymous написал(а):
Более развёрнуто: у меня есть таблица Т1 с фиксированным числом столбцов, например: A,B,C,D, Е. Необходимо получить таблицу Т2 с заранее не определённым набором столбцов из Т1, например: А,С,В.
Таблицу Т2 я создаю динамически, с необходимвым набором столбцов из Т1. Но как их потом заполнить значениями?
MOVE-CORRESPONDING Т1 ТО <T2> не прокатывает, говорит что <T2> не внутрення таблица с хеадер лайном, <T2>[] тоже не катит. Как быть???

Если я правильно понял проблему, то как-нибудь так:
Code:
DATA:
  gs_mara2 TYPE REF TO data
.
DATA:
  gt_mara  TYPE TABLE OF mara,
  gt_fcat  TYPE lvc_t_fcat,
  gt_mara2 TYPE REF TO data
.
FIELD-SYMBOLS:
  <gs_mara>  TYPE mara,
  <gs_mara2> TYPE ANY,
  <gt_mara2> TYPE STANDARD TABLE
.
SELECT *
  INTO TABLE gt_mara
  UP TO 100 ROWS
  FROM mara.

CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
  EXPORTING
    i_structure_name = 'MARA'
  CHANGING
    ct_fieldcat      = gt_fcat.
DELETE gt_fcat WHERE fieldname <> 'MATNR' AND
                     fieldname <> 'MATKL' AND
                     fieldname <> 'MEINS'.

CALL METHOD cl_alv_table_create=>create_dynamic_table
  EXPORTING
    it_fieldcatalog = gt_fcat
  IMPORTING
    ep_table        = gt_mara2.

ASSIGN gt_mara2->* TO <gt_mara2>.
CREATE DATA gs_mara2 LIKE LINE OF <gt_mara2>.
ASSIGN gs_mara2->* TO <gs_mara2>.
LOOP AT gt_mara ASSIGNING <gs_mara>.
  CLEAR <gs_mara2>.
  MOVE-CORRESPONDING <gs_mara> TO <gs_mara2>.
  APPEND <gs_mara2> TO <gt_mara2>.
ENDLOOP.


Последний раз редактировалось EGF Вт, июл 05 2005, 09:32, всего редактировалось 1 раз.

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

Зарегистрирован:
Пт, апр 08 2005, 10:27
Сообщения: 125
Пол: Мужской
Наконец-то! Получилось! Всем ОГРОМНОЕ спасибо за помощь! Решение получилось симбиозом всех предложений участников дискуссии. Очень помог пример от OlegDM по присвоению (http://www.sapboard.ru/forum/viewtopic.php?t=6219).
str = 'T-FLD1'.
assign: (str) to <fs>. - это супер!
Если у кого возникнет подобная задача - обращайтесь, теперь уже могу помочь. :)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 35 ]  На страницу Пред.  1, 2, 3  След.

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


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

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


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

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