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

Часовой пояс: 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 часа


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

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


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

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