Текущее время: Чт, май 08 2025, 15:25

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Закрытие позиции заказа клиента
СообщениеДобавлено: Чт, мар 25 2010, 09:14 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, мар 16 2005, 12:32
Сообщения: 154
Откуда: Че
Пол: Мужской
Добрый день. Вышли на выопрос закрытия позиции заказа. Схема то проста: с учетом допуска сверх/недо поставки и запасов на складах ставить метку закрытия в позиции заказа клиента. Хотел спросить, если кто-то сталкивался - как лучше это организовать?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Закрытие позиции заказа клиента
СообщениеДобавлено: Вт, апр 06 2010, 15:38 
Председатель
Председатель

Зарегистрирован:
Чт, май 10 2007, 09:15
Сообщения: 1558
делали. Запускается программа в фоне и анализирует не закрытые просроченные заказы и соответственно закрывает их.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Закрытие позиции заказа клиента
СообщениеДобавлено: Чт, апр 08 2010, 10:35 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, мар 16 2005, 12:32
Сообщения: 154
Откуда: Че
Пол: Мужской
"закрывает их" - вот именно этот момент интересует :) . Как именно закрывали?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Закрытие позиции заказа клиента
СообщениеДобавлено: Чт, апр 08 2010, 10:58 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, июн 22 2007, 14:00
Сообщения: 52
Мы у себя делаем через поле Причина отказа - vbap-ABGRU


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

Зарегистрирован:
Ср, мар 16 2005, 12:32
Сообщения: 154
Откуда: Че
Пол: Мужской
Да вроде как подходит, но вдруг еще есть варианты? :)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Закрытие позиции заказа клиента
СообщениеДобавлено: Чт, апр 08 2010, 15:25 
Председатель
Председатель

Зарегистрирован:
Чт, май 10 2007, 09:15
Сообщения: 1558
У нас используется ФМ BAPI_SALESORDER_CHANGE
С помощью данного ФМ закрываются позиции...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Закрытие позиции заказа клиента
СообщениеДобавлено: Чт, апр 08 2010, 15:27 
Председатель
Председатель

Зарегистрирован:
Чт, май 10 2007, 09:15
Сообщения: 1558
clear ORDER_HEADER_IN.
clear ORDER_HEADER_INX.
clear lt_order_item.
clear lt_order_item_x.
refresh lt_order_item.
refresh lt_order_item_x.
* Подготавливаем заголовок для обновления.
if wa-setdat = 'X'.
ORDER_HEADER_IN-REQ_DATE_H = DATPOST.
ORDER_HEADER_INX-UPDATEFLAG = 'U'.
ORDER_HEADER_INX-REQ_DATE_H = 'X'.
else.
order_header_inx-updateflag = 'U'.
* Подготавливаем позицию для обновления
* Устанавливаем причину отклонения позиции
lt_order_item-itm_number = wa-posnr.
lt_order_item-reason_rej = AUGRU. " Код причины отклонения
append lt_order_item.
*Подготавливаем позиции
lt_order_item_x-itm_number = wa-posnr.
lt_order_item_x-updateflag = 'U'.
lt_order_item_x-reason_rej = 'X'.
append lt_order_item_x.
endif.

CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
EXPORTING
SALESDOCUMENT = wa-vbeln
ORDER_HEADER_IN = ORDER_HEADER_IN
ORDER_HEADER_INX = ORDER_HEADER_INX
* SIMULATION =
* BEHAVE_WHEN_ERROR = ' '
* INT_NUMBER_ASSIGNMENT = ' '
* LOGIC_SWITCH =
* NO_STATUS_BUF_INIT = ' '
TABLES
RETURN = sd_BAPIRET2
ORDER_ITEM_IN = lt_order_item
ORDER_ITEM_INX = lt_order_item_x
* PARTNERS =
* PARTNERCHANGES =
* PARTNERADDRESSES =
* ORDER_CFGS_REF =
* ORDER_CFGS_INST =
* ORDER_CFGS_PART_OF =
* ORDER_CFGS_VALUE =
* ORDER_CFGS_BLOB =
* ORDER_CFGS_VK =
* ORDER_CFGS_REFINST =
* SCHEDULE_LINES = t_BAPISCHDL
* SCHEDULE_LINESX = t_BAPISCHDLX
* ORDER_TEXT =
* ORDER_KEYS =
* CONDITIONS_IN =
* CONDITIONS_INX =
* EXTENSIONIN =
.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Закрытие позиции заказа клиента
СообщениеДобавлено: Пн, апр 12 2010, 21:15 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
avlad написал:
Да вроде как подходит, но вдруг еще есть варианты? :)

Нету никаких других вариантов - или позиция полностью "отзывается" (так, кажется fully referenced, называют), либо ставится причина отклонения. Это уже обсуждали не раз и здесь, и на SDN. Можно, конечно, еще напрямую в базе статусы править, но это по меньшей мере безрассудно.

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Закрытие позиции заказа клиента
СообщениеДобавлено: Пн, апр 12 2010, 21:37 
Председатель
Председатель

Зарегистрирован:
Чт, май 10 2007, 09:15
Сообщения: 1558
Еще можно использовать запись транзакции.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Закрытие позиции заказа клиента
СообщениеДобавлено: Вт, апр 13 2010, 07:14 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, мар 16 2005, 12:32
Сообщения: 154
Откуда: Че
Пол: Мужской
hub2002 написал(а):
Еще можно использовать запись транзакции.

пакетный ввод?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Закрытие позиции заказа клиента
СообщениеДобавлено: Вт, апр 13 2010, 07:57 
Председатель
Председатель

Зарегистрирован:
Чт, май 10 2007, 09:15
Сообщения: 1558
В том, числе, но я и имел в виду другое.
С помощью транзакции LSMW делается тестовый ввод данных в документ.
Затем это переводится в программу и вызывается с помощью call transaction


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Закрытие позиции заказа клиента
СообщениеДобавлено: Вт, апр 20 2010, 10:07 
Специалист
Специалист

Зарегистрирован:
Чт, апр 13 2006, 15:58
Сообщения: 110
Откуда: Новодвинск Арханг. обл.
Пол: Мужской
hub2002 написал(а):
делали. Запускается программа в фоне и анализирует не закрытые просроченные заказы и соответственно закрывает их.


В продолжение данной темы хотелось бы узнать как можно в момент или после закрытия позиции заказа перевести оставшийся запас клиента данной позиции заказа на складе в свободный запас. Есть стандартные процедуры , методы ? Ручными проводками в ММ не очень хочется заниматься. Или АбАПить .

С уважением Константин


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Закрытие позиции заказа клиента
СообщениеДобавлено: Вт, апр 20 2010, 10:59 
Председатель
Председатель

Зарегистрирован:
Чт, май 10 2007, 09:15
Сообщения: 1558
без ручных проводок или ABAP-А НЕ ПОЛУЧИТСЯ

Code:
    clear it_docs.
    loop at it_sel into wa.
      clear wa_docs.
      if wa-sobkz = 'E'.
        wa_docs-matnr      = wa-matnr.
        wa_docs-werks      = wa-werks.
        wa_docs-lgort      = wa-lgort.
        wa_docs-tr_lgort   = wa-lgort.
        wa_docs-charg      = wa-charg.
        wa_docs-move_type  = '411'.
        wa_docs-entry_qnt  = wa-clabs.
        wa_docs-entry_uom  = wa-meins.
        wa_docs-spec_stock = wa-sobkz.
        wa_docs-sales_ord  = wa-vbeln.
        wa_docs-s_ord_item = wa-posnr.
        wa_docs-gm_code    = '04'.
        wa_docs-line_no    = sy-tabix.
        append wa_docs to it_docs.
      endif.
    endloop.
    call function 'Z_CONFIRM_YNC'
      exporting
        text1  = 'Создать проводки освобождения Е-запасов?'
      importing
        result = res.
    if res = 'YES'.
      clear: is_err, n_docs, n_docs_err.
      refresh: IT_DOCS_ERR, IT_DOC_NUMS.
      call function 'Z_MM_MOVE'
        exporting
          bldat       = sy-datum
          budat       = b_budat
          header_txt  = 'Освобождение Е-запасов'
          ref_doc_no  = b_doc
          wait        = 'X'
        importing
          is_err      = is_err
          n_docs      = n_docs
          n_docs_err  = n_docs_err
          doc_nums    = IT_DOC_NUMS
        tables
          IT_DOCS     = IT_DOCS
          IT_DOCS_ERR = IT_DOCS_ERR
      .

      if is_err = space.
        loop at IT_DOC_NUMS into WA_DOC_NUMS.
          concatenate s WA_DOC_NUMS-MAT_DOC '/' WA_DOC_NUMS-DOC_YEAR ';' into s.
        endloop.
        concatenate 'Проводки созданы. Документ:' s into s.
        message s type 'S'.
      else.


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

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


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

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


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

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