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

Часовой пояс: 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 часа


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

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


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

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