Текущее время: Пн, авг 04 2025, 02:38

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 32 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Изменение карточки ОС при проводке материала
СообщениеДобавлено: Чт, ноя 29 2007, 17:48 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, апр 17 2006, 21:49
Сообщения: 299
Откуда: Москва
Вот возникла задача:
при отпуске материала со склада заносить в карточку ОС текст основного средства взятый из даных материала.
использовал метод POST_DOCUMENT БАДИ MB_MIGO_BADI.
Вначале осуществил кое-какие проверки, а потом вызвал
Code:

CALL FUNCTION 'BAPI_FIXEDASSET_CHANGE'
        EXPORTING
          COMPANYCODE                = S_MSEG-BUKRS
          ASSET                      = S_MSEG-ANLN1
          SUBNUMBER                  = S_MSEG-ANLN2
*        GROUPASSET                 =
         GENERALDATA                 = wa_gendata
         GENERALDATAX                = wa_changedata
       IMPORTING
         RETURN                     = wa_return

                .
       CHECK wa_return-type EQ 'S'.
       CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
        EXPORTING
            wait = 'X'.

BAPI "сказал" что ОС изменено. НО на деле ничего не изменилось.
Кто-нибудь может подсказать в чем дело или может есть другой способ изменить ОС?
несовсем понятен смысл параметра GROUPASSET в БАПИ - пробовал с ним и без него - разницы не видел


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, ноя 29 2007, 19:29 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Думаю, что типовые грабли: не сделали COMMIT WORK.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, ноя 29 2007, 19:58 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Добавлю. CHECK это слишком сильно... Возможно, что в WA_RETURN ничего не пришло, т.е. все "путём", а до BAPI_TRANSACTION_COMMIT дело так и не дошло.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, ноя 29 2007, 23:13 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Согласен. Вдруг там сообщение с типом I...
ЗЫ: В BAPI_TRANSACTION_COMMIT есть COMMIT WORK ;)

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, ноя 30 2007, 09:47 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, апр 17 2006, 21:49
Сообщения: 299
Откуда: Москва
Я дебажил - тип сообщения S и до BAPI_TRANSACTION_COMMIT все доходит
и выполняется COMMIT WORK. (который есть в BAPI_TRANSACTION_COMMIT)... а результата ноль.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, ноя 30 2007, 09:58 
Директор
Директор

Зарегистрирован:
Чт, июн 21 2007, 09:01
Сообщения: 904
Откуда: УЖ 15/2
Пол: Мужской
Code:
wa_changedata-main_descript = 'X'.

Заполнено?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, ноя 30 2007, 10:43 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, апр 17 2006, 21:49
Сообщения: 299
Откуда: Москва
Alex80 написал:
Code:
wa_changedata-main_descript = 'X'.

Заполнено?


Нет а зачем? у меня цель изменить данные в ANLA...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, ноя 30 2007, 10:59 
Директор
Директор

Зарегистрирован:
Чт, июн 21 2007, 09:01
Сообщения: 904
Откуда: УЖ 15/2
Пол: Мужской
bossjohn написал(а):
Alex80 написал:
Code:
wa_changedata-main_descript = 'X'.

Заполнено?


Нет а зачем? у меня цель изменить данные в ANLA...

Я имел ввиду что в GENERALDATAX для изменяемого поля проставить значение = "Х".
Я понял, что Вам нужно изменить "Текст основного номера основного средства" (GENERALDATA-main_descript = ANLH-ANLHTXT), возможно я ошибся.
Если меняте ANLA-TXT50 и ANLA-TXA50, проверьте чтобы были заполнены
GENERALDATAX-DESCRIPT = "Х".
GENERALDATAX-DESCRIPT2 = "Х".
Цитата:
GENERALDATAX
____________________________________________________
КрТекст
Change Parameters for General Data

Description
Change parameter for group box "General Data."

Using this change parameter, you can specify for each field of the group box, whether the contents of the field should be transferred to the corresponding field of the "data parameter" in the asset.

A field in the change parameter is allowed to have one of two values:

' ' - field contents of the corresponding field of the data parameter are not transferred

'X' - field contents of the corresponding field of the data parameter are transferred



Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, ноя 30 2007, 11:13 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, апр 17 2006, 21:49
Сообщения: 299
Откуда: Москва
Ну да я читал и это. моя цель изменить два поля в ANLA TXT50 и INVNR
что соответствует полям DESCRIPT и INVENT_NO структур
GENERALDATA и GENERALDATAX. ЧТо я собственно и делаю.

Путем долгих тестов обнаружил что отдельно созданная прграммка все-таки изменяет запись ОС (код аналогичный вышеприведеному) а вот если этот код выполняется из БАДИ то ничего не происходит.. Копаю дальше..


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, ноя 30 2007, 11:35 
Директор
Директор

Зарегистрирован:
Чт, июн 21 2007, 09:01
Сообщения: 904
Откуда: УЖ 15/2
Пол: Мужской
bossjohn написал(а):
Путем долгих тестов обнаружил что отдельно созданная прграммка все-таки изменяет запись ОС (код аналогичный вышеприведеному) а вот если этот код выполняется из БАДИ то ничего не происходит.. Копаю дальше..

Может это (Внутри Badi изменение таблицы словаря) Ваш случай?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, ноя 30 2007, 11:41 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Alex80 + 1, похоже.

Для проверки можно обернуть вызов бапишки в ФМ и вызвать его как STARTING NEW TASK.

Ну или SET UPDATE TASK LOCAL перед вызовом бапи.


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

Зарегистрирован:
Пн, апр 17 2006, 21:49
Сообщения: 299
Откуда: Москва
Вставил вызов BAPI в свой ФМ обновления с отлож запуском.
и вызвал его IN UPDATE TASK.
Моментально получил сообщение что обновление прервано....


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

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Еще бы. В апдейт процессе любые коммиты запрещены. Я ж не зря про NEW TASK писал. Там ограничений нет.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, ноя 30 2007, 13:42 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Вызывать STARTING NEW TASK в update-процессе не очень хорошо, потому что это неявный DB COMMIT.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, ноя 30 2007, 13:52 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
В общем случае - да.
В методе POST_DOCUMENT - индифферентно.
Все проверки выполнены, ошибок нет.

Если вызывать свой ФМ как апдейт таск, то вовсе не факт, что изменения, выполненные в нем, попадут в БД.
Например в BADI MB_DOCUMENT_BADI не попадают.


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

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


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

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


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

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