Текущее время: Вс, июл 27 2025, 07:14

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


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


ВНИМАНИЕ!

Вопросы по исходящим поставкам - сюда



Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: Изменеие дат(факт, план,срокКомп) при созданнии исходящей поставки.
СообщениеДобавлено: Ср, апр 11 2007, 16:29 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, авг 10 2006, 08:44
Сообщения: 320
Откуда: Odessa
Здравствуйте у меня такой вопрос.
По заказу создаю исходящею поставку. При ее создании даты: Плановый ОМ, Фактический ОМ, СрокКомплектов. Должны заполнится текущей датой.
Что я для этого делаю, с помощью user exit:
В Include MV50AFZ1.

Code:
FORM USEREXIT_MOVE_FIELD_TO_LIKP.


*Замена дат на текущие

LIKP-KODAT = SY-DATUM.
LIKP-WADAT = SY-DATUM.
LIKP-WADAT_IST = SY-DATUM.
endif.

ENDFORM.


Дата Фактического ОМ (LIKP-WADAT_IST) заполняется текущей датой.
А даты Плановый ОМ, СрокКомплектов (LIKP-WADAT, LIKP-KODAT) заполняются датой из заказа (тоесть: ТрбДатаПоставки ).

Как мне изменить эти даты? может другой user exit?


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

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4871
Откуда: Москва
Пол: Мужской
Наверное, можно этот код можно написать в программе копирования из заказа в поставку (VOFM)

_________________
Удача - результат нашего желания (© А. Нортон)


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

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
для начала написал бы чем создаешь, комплектуешь и отпускаешь поставку.
Ну а вообще - есть БАДИ LE_SHP_DELIVERY_PROC, который позволяет сделать многое. В твоем случае возможно подойдет метод CHANGE_DELIVERY_HEADER, что-то типа:

Code:
method IF_EX_LE_SHP_DELIVERY_PROC~CHANGE_DELIVERY_HEADER.
   . . .
   CS_LIKP-KODAT = SY-DATUM.
   CS_LIKP-WADAT = SY-DATUM.
   CS_LIKP-WADAT_IST = SY-DATUM.
   . . .
endmethod.


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

Зарегистрирован:
Чт, авг 10 2006, 08:44
Сообщения: 320
Откуда: Odessa
OlegDm написал(а):
для начала написал бы чем создаешь, комплектуешь и отпускаешь поставку.


Создаю так: В заказе ->Торговый документ(меню)->Поставить


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

Зарегистрирован:
Чт, авг 10 2006, 08:44
Сообщения: 320
Откуда: Odessa
Все получилось.
Скопировал в свой пакет BAPI class CL_EX_LE_SHP_DELIVERY_PROC.
И там с ним работаю.

Только в поставках приходится нажимать на Enter (или производить какоето другое действие) чтобы даты поменялись.


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

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
А зачем куда-то копировать класс? Делаешь внедрение (SE19) для определения LE_SHP_DELIVERY_PROC, и тогда при создании поставки методы этого БАДИ будут работать без какого либо принуждения.


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

Зарегистрирован:
Чт, авг 10 2006, 08:44
Сообщения: 320
Откуда: Odessa
О благодарю а тоя так с классами интерфю еще не работал.

У меня постал второй ворос, не хочу создавать новую тему так как он подобен.
Вот хотат чтоб ввели укомплектованое количество (поставка) нажали Enter и соседнее поле объём поставки стало равно укомплект кол.
Делаю так:
Code:
method IF_EX_LE_SHP_DELIVERY_PROC~CHANGE_DELIVERY_ITEM .


**  CS_LIPSD-PIKMG  - Укомплектованное/принятое на склад количество в ПЕ
**  CS_LIPSD-G_LFIMG and LIPS-LFIMG - Фактически поставленное количество (ПЕ) (объем поставки)
  if CS_LIPSD-PIKMG <> 0.
   CS_LIPSD-G_LFIMG = CS_LIPSD-PIKMG.
  endif.
endif.
endmethod.

Оно объём поставки не меняет. И я так понимаю это не так все просто там должно менятся вес брутто, нетто а может еще что-то.
Может подскажете как это сделать правильно.
Заранее благодарен.


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

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
ты знаешь, мы тоже кой-какие телодвижения делаем этим методом (CHANGE_DELIVERY_ITEM) (при использовании продажных ЕдИзм (ПЕИ) отличных от базисной ЕдИзм (БЕИ) разрядность коэффициентов пересчета не позволяет достигнуть нужной точности при пересчете из ПЕИ в БЕИ), но изменения осуществляем в CS_LIPS, а не в CS_LIPSD.

Кстати, комплектование - это обязательный шаг вашего бизнес-процесса? А то ведь для типа позиции можно отключить релевантность комплектованию, и тогда достаточно будет вводить только объем поставки.


Последний раз редактировалось OlegDm Чт, апр 12 2007, 12:26, всего редактировалось 1 раз.

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

Зарегистрирован:
Вт, янв 09 2007, 13:38
Сообщения: 125
Откуда: Нерезиновая
Пол: Мужской
Мы в своё время придумали механизм автоматического создания поставок через батчинпут. Но у нас возникли проблемы с использованием VL02, поэтому для этих целей использовали VL02N... Код конечно побольше был гораааздо :lol: теперь бы найти ещё его...давненько это было :roll:

Но смысл там в том чтобы через меню добраться до Обработать :arrow: Копировать КоплекКол как объем поставок... И будет всем счастье :wink:


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

Зарегистрирован:
Вт, янв 09 2007, 13:38
Сообщения: 125
Откуда: Нерезиновая
Пол: Мужской
OlegDm написал(а):
но изменения осуществляем в CS_LIPS, а не в CS_LIPSD.

Вот тут-то у нас чехарда тогда и возникла


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

Зарегистрирован:
Чт, авг 10 2006, 08:44
Сообщения: 320
Откуда: Odessa
Так все таки кто-то подскажет (подробно) как это правильно делается.
Я на свой розсуд не буду ничего изменять, если в дальнейшем будет что-то не так то мне так влетит :(


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

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
ну так для того и существуют песочницы, чтобы ты там мог все хорошо проверить. Рассказать "правильно и подробно" сможет только тот кто это уже делал, и то это будет "правильно и подробно" в применении к бизнес-процессам рассказчика :roll:


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

Зарегистрирован:
Вт, янв 09 2007, 13:38
Сообщения: 125
Откуда: Нерезиновая
Пол: Мужской
OlegDm написал(а):
Рассказать "правильно и подробно" сможет только тот кто это уже делал, и то это будет "правильно и подробно" в применении к бизнес-процессам рассказчика :roll:

Есть здоровенный кусок кода где Ваша проблема реализована, но только Вам это вряд-ли поможет, т.к. это локальная разработка под вполне конкретный бизнес-процесс. Идея изложена выше.
OlegDm написал(а):
но изменения осуществляем в CS_LIPS, а не в CS_LIPSD.

и именно там. Попробуйте посмотреть как это работает в песочнице.
Проблему можно решить и с помощью стандартного BAPI который сам комплектует поставку в статус С, причём таких я находил (se37) несколько. Это как альтернатива батчинпуту. Кстати и работать будет лучше :wink:


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

Зарегистрирован:
Чт, авг 10 2006, 08:44
Сообщения: 320
Откуда: Odessa
Проблема решена:
Code:
method IF_EX_LE_SHP_DELIVERY_PROC~CHANGE_DELIVERY_ITEM .
  if CS_LIPSD-PIKMG <> 0.
    CALL FUNCTION 'SAPGUI_SET_FUNCTIONCODE'
     EXPORTING
       FUNCTIONCODE                 = 'KOMU_T'
     EXCEPTIONS
       FUNCTION_NOT_SUPPORTED       = 1
       OTHERS                       = 2
              .

    IF SY-SUBRC <> 0.
     MESSAGE W015(ZSDMESSAGE).
*   W.№015.Не удалось изменить "Объем поставки" по "УкомплектКолич"!
     MESSAGE W016(ZSDMESSAGE).
*   W.№016.Произведите ввод "Объем поставки" вручную!
    ENDIF.
  endif.
endmethod.

Прога выполняет: Обработать(Меню)->Копировать КоплекКол как объем поставок...


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

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


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

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


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

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