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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Проблемы при добавлении поля в таблицу!
СообщениеДобавлено: Чт, июл 12 2007, 13:13 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Вт, окт 10 2006, 12:23
Сообщения: 679
Откуда: Санкт-Петербург
Пол: Мужской
Здравствуйте!
Такая проблема в отчёт COOIS надо добавить поле "Требуемая дата поставки" (вычислил что это VBAK-VDATU).
1. Расширил структуры: CI_IOCONF, CI_IOGMER, CI_IOGOMO, CI_IOHEADER, CI_IOITEM, CI_IOMAMO, CI_IOOPCOMP, CI_IOOPPORD, CI_IOOPPREQ, CI_IOOPPRT, CI_IOSEQUEN. (добавил VDATU).
2. Модифицировал include вызывающей программы COIS_DISP_SHOW.

В итоге столбец выводится но не заполняется данными.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 12 2007, 18:17 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, ноя 12 2004, 10:44
Сообщения: 370
Откуда: Москва
смею предположить, что в программе есть user-exit или *zz* include, в котором должна быть программка для заполнения этих полей.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 12 2007, 19:07 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Вт, окт 10 2006, 12:23
Сообщения: 679
Откуда: Санкт-Петербург
Пол: Мужской
юзер-экзит написал...
*{ INSERT TTDK901861 5

tables vbak.
data iii type i.
FIELD-SYMBOLS <fs1> type any.
FIELD-SYMBOLS <fs_comp1> type any.
FIELD-SYMBOLS <fs_comp21> type any.

*} INSERT
*{ INSERT TTDK901861 6

clear iii.
loop at IT_FIELDCAT_ALL .
if IT_FIELDCAT_ALL-FIELDNAME = 'VDATU'.
iii = iii + 1.
endif.
if IT_FIELDCAT_ALL-FIELDNAME = 'VBELN'.
iii = iii + 1.
endif.
endloop.
If iii = 2.
loop at it_data ASSIGNING <fs_comp1>.
assign component 'VBELN' of structure <fs_comp1> to <fs1>.
assign component 'VDATU' of structure <fs_comp1> to <fs_comp21>.
select single vdatu from vbak into <fs_comp21> where vbeln = <fs1>.
endloop.
endif.

*} INSERT


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 31 2007, 09:28 
Менеджер
Менеджер

Зарегистрирован:
Чт, янв 20 2005, 08:34
Сообщения: 573
Пол: Мужской
Я бы посмотрел в отладчике, как заполнено поле VDATU в таблице it_data сразу же после выхода из экзита. Возможно алгоритм в экзите не совсем верный. :)

_________________
Волю в кулак, мышцы в узду, работай себе и не ахай!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы при добавлении поля в таблицу!
СообщениеДобавлено: Пн, фев 11 2013, 07:10 
Начинающий
Начинающий

Зарегистрирован:
Чт, янв 10 2013, 07:13
Сообщения: 1
Выкладываю свои шаги при добавлении поля в транзакции COOIS, COHV. Может, кому-нибудь пригодится.
Задача: В транзакции COOIS в alv-таблице добавить поле «Наименование материала клиента» (поле kdmat из таблицы VBAP).
Использовала SAP Note: 434123, 615206.
Шаги выполнения:
1. Изменение структуры IOHEADER: в структуре имелась вложенная структура ZPP_IOHEADER «пользовательские поля» (если бы таковой подструктуры не оказалось, то можно было бы использовать CI_IOHEADER): добавила поле KDMAT типа MATNR_KU.
2. Запускаем транзакцию SE38, открываем программу RCNT000, запускаем её. Устанавливаем параметры: «Имя группы полей» = IOHEADER; «Имя Include» = RCNHEAD. Для изменения возможно понадобится ключ доступа (информацию о том, как получить ключ можно посмотреть по ссылке http://sidadm.blogspot.ru/2011/10/sap-ii.html). Выбрать «Execute», затем выбрать «Generate».
3. Запускаем транзакцию SE38, открываем программу RCOTX000, запускаем её. Устанавливаем параметры: «Имя группы полей» = IOHEADER, нажимаем «Выполнить».
(После вышеизложенных шагов необходимое поле добавится в alv-таблице, но будет, конечно, пустым, т.к. не определен его источник).
4. Запускаем транзакцию SE18, «Имя BADi» = WORKORDER_INFOSYSTEM. Вносим изменения в метод TABLES_MODIFY_LAY (для того, чтобы определить какой именно метод отрабатывает при выводе alv-таблицы, устанавливаем точки останова в самих методах), по сути редактирование класса (SE24) ZCL_IM_PP_COIS_WO_EXP01:
"Добавление поля Номер материала клиента
DATA : BEGIN OF st_kdmat,
kdmat TYPE matnr_ku,
END OF st_kdmat.
DATA : st_header TYPE ioheader.
LOOP AT ct_ioheader INTO st_header.
IF NOT st_header IS INITIAL.
SELECT SINGLE kdmat
FROM vbap
INTO st_kdmat
WHERE vbeln = st_header-KDAUF_AUFK
and posnr = st_header-KDPOS_AUFK.
ENDIF.
st_header-kdmat = st_kdmat-kdmat.
MODIFY ct_ioheader FROM st_header.
ENDLOOP.

5. Сохраняем, активируем.


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

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


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

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


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

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