Текущее время: Пн, июл 28 2025, 06:42

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Запись поля werks из карточки ос в документ списания
СообщениеДобавлено: Вт, окт 05 2010, 11:23 
Ассистент
Ассистент

Зарегистрирован:
Сб, дек 19 2009, 09:04
Сообщения: 46
Пол: Женский
Доброго дня

Подскажите как лучше реализовать данную доработку через замещение (пользовательская программа) или через события Open fi?
Пробовали событие 1120 на момент отработки данного события в поле AWKEY есть только БЕ и год, а номера документа Ос нет :(

Cоздается документ списания ОС, необходимо чтобы в строках данного документа для счета 976* происходила
запись значения поля werks из карточки ос в поле строки документа bseg-werks

Для позиций документа FI
Если BKPF – BLART = ‘AA’ and (BKPF – TCODE = ‘ABAVN’ or BKPF – TCODE = ‘AB01’)
1. Запоминаем значение поля BKPF – AWKEY документа
2. Делаем выборку из таблицы ANEP:
Первые 10 символов из поля BKPF – AWKEY подставляем в поле ANEP-BELNR and
Значение поля BKPF – BUKRS в поле ANEP – BUKRS and
Значение поля BKPF – GJAHR в поле ANEP – GJAHR and
Поле ANEP – AFABE = 1
Запоминаем значения полей ANEP-ANLN1, ANEP – BUKRS
3. Делаем выборку из таблицы ANLZ:
Значение из поля ANEP-ANLN1 подставляем в поле ANLZ – ANLN1 and
Значение из поля ANEP – BUKRS подставляем в поле ANLZ – BUKRS and
По значениям полей ANLZ-ADATU и ANLZ-BDATU анализировать на вхождение в текущий временной интервал
Запоминаем значение поля ANLZ-WERKS
4. Выбираем строку нашего документа из таблицы BSEG:
Значение из поля BKPF – BELNR в поле BSEG – BELNR and
Значение из поля BKPF – BUKRS в поле BSEG – BUKRS and
Значение из поля BKPF – GJAHR в поле BSEG – GJAHR and
HKONT=’97600000’
И в поле Bseg – WERKS записываем найденное значение из поля ANLZ-WERKS


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запись поля werks из карточки ос в документ списания
СообщениеДобавлено: Вт, окт 05 2010, 12:59 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
На момент вызова события 1120 будут доступны глобальные данные группы функций AMDP. Из них можно определить номер ОС и определить данные из ANEP.

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запись поля werks из карточки ос в документ списания
СообщениеДобавлено: Вт, окт 05 2010, 17:11 
Ассистент
Ассистент

Зарегистрирован:
Сб, дек 19 2009, 09:04
Сообщения: 46
Пол: Женский
сделали пока для транзакции abso (ab01)


DATA: lv_werks LIKE bseg-werks
, lv_bukrs LIKE anep-bukrs
, lv_belnr LIKE anep-belnr
, lv_gjahr LIKE anep-gjahr
.

DATA: BEGIN OF lt_anep OCCURS 100.
INCLUDE STRUCTURE anep.
DATA: END OF lt_anep.
DATA: ls_anep TYPE anep.

LOOP AT t_bkpf WHERE blart = 'AA' AND tcode = 'AB01' .
break defi.
CLEAR lv_werks.
FIELD-SYMBOLS: <anep> TYPE ANY TABLE.
CLEAR lt_anep.
ASSIGN ('(SAPMA01B)YANEP[]') TO <anep>.
IF sy-subrc = 0.
LOOP AT <anep> INTO ls_anep.
APPEND ls_anep TO lt_anep.
ENDLOOP.
ENDIF.

READ TABLE lt_anep INTO ls_anep WITH KEY afabe = 1.

IF sy-subrc = 0.
SELECT SINGLE werks FROM anlz
INTO lv_werks
WHERE bukrs = ls_anep-bukrs
AND anln1 = ls_anep-anln1
AND bdatu >= t_bkpf-bldat
AND adatu <= t_bkpf-bldat.
ENDIF.
IF lv_werks IS NOT INITIAL.
LOOP AT t_bsegsub WHERE hkont = '0097600000'.
t_bsegsub-werks = lv_werks.
MODIFY t_bsegsub.
ENDLOOP.
ENDIF.
ENDLOOP.


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

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


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

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


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

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