Текущее время: Чт, сен 18 2025, 09:50

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




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Разделение входящей поставки возможно?
СообщениеДобавлено: Вт, апр 01 2008, 17:35 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Пн, сен 24 2007, 08:27
Сообщения: 33
Пол: Мужской
Доброе время друзья. Возможно ли разделить входящую поставку. Собственно хотелось бы создавать отдельную транспортировку (одна машина - 1 рейс - одна транспортировка), нужно обеспечить возможность контроля: V или вес поставки не больше заданных параметров ТС.
Спасибо


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Разделение входящей поставки возможно?
СообщениеДобавлено: Ср, фев 27 2013, 18:35 
Начинающий
Начинающий

Зарегистрирован:
Пн, мар 02 2009, 15:59
Сообщения: 8
Пол: Мужской
Похоже только через абап.
у нас SAP ECC 6.0 версия SAP_APPL 605 патч-левел 0008
Только что решили проблему таким образом:

Фрагмент1
Или поправить везде где надо перед вызовом ФМ LE_DSP_ALL_STEPS - заполнить параметр IF_SPLIT_INBOUND = 'X'
или в самой функции исправить. Мы сделали второй вариант:
в подходящем месте до проверки:
Code:
*...for inbound deliveires inbound packing type for HU's
  IF if_split_inbound = gc_true.
    cs_split_wa-cl-obj_pack_type = '03'.
    cs_split_wa-cl-spl_inb = 'X'.
    cs_split_wa-cl-spl_ret = ' '.
  ENDIF.

вставить код который переопределяет параметр IF_SPLIT_INBOUND
Code:
  CONSTANTS:
    lc_abfer_2 TYPE vttk-abfer VALUE '2', " «Погруженная входящая транспортировка»
    lc_abfer_4 TYPE vttk-abfer VALUE '4'. " «Пустая входящая транспортировка»
  FIELD-SYMBOLS:
    <fs_vttk>  LIKE LINE OF cs_split_wa-cl-xvttk.

  IF cs_split_wa-cl-xvttk[] IS NOT INITIAL.
    READ TABLE cs_split_wa-cl-xvttk ASSIGNING <fs_vttk>
                                    INDEX 1.
    IF sy-subrc = 0.
      IF <fs_vttk>-abfer = lc_abfer_2 OR
         <fs_vttk>-abfer = lc_abfer_4.
        if_split_inbound = gc_true.
      ENDIF.
    ENDIF.
  ENDIF.


Фрагмент2
Программа SAPLV53S / include LV53SCSH
FORM CCR_CHECK_AND_EXECUTE_SHIPMENT.
в районе строки 82 был код:
Code:
      read table xvbfa with key vbelv = <ls_dastmp>-vbeln
                                vbeln = <ls_dastmp>-tknum
                                vbtyp_v = gc_vbtyp-lief
                                vbtyp_n = gc_vbtyp-tran.

Для входящих поставок тут все обламывалось; немного улучшили:
Code:
*{   INSERT          <наш запрос>                                         2
     DATA:
       lv_vbtyp  TYPE tvlk-vbtyp.
     FIELD-SYMBOLS:
       <fs_tvlk> LIKE LINE OF wa-ix-tvlk.

     CLEAR: lv_vbtyp.
     IF wa-ix-tvlk[] IS NOT INITIAL.
       READ TABLE wa-ix-tvlk ASSIGNING <fs_tvlk>
                             INDEX 1.
       IF sy-subrc = 0.
         lv_vbtyp = <fs_tvlk>-vbtyp.
       ENDIF.
     ENDIF.
*}   INSERT
      read table xvbfa with key vbelv = <ls_dastmp>-vbeln
                                vbeln = <ls_dastmp>-tknum
*{   REPLACE         <наш запрос>                                         1
*\                                vbtyp_v = gc_vbtyp-lief
                                vbtyp_v = lv_vbtyp
*}   REPLACE
                                vbtyp_n = gc_vbtyp-tran.

суть улучшения - таблица VBFA проверяется с тем типом поставки которую используем, а не тупо тип = исходящая поставка

Фрагмент3
Программа SAPLV53S / include LV53SGET
FORM GET_MASTER_DATA
та же история - в стандарте одна из проверок ищет партнера с ролью WE Грузополучатель, которая железно есть в исходящих поставках и совсем не обязательно во входящих.
в районе строки 1176 было:
Code:
  if     xvbpa-vbeln ne pf_vbeln or
         xvbpa-parvw ne parvw_we.

    read table xvbpa into          xvbpa  with key
               vbeln = pf_vbeln
               posnr = posnr_low
               parvw = parvw_we binary search.
    _rc_die.
  endif.

переделали с анализом типа документа сбыта:
Code:
*{   INSERT         <наш запрос>                                        1
* обработка партнеров для корректного разделения поставок
  CONSTANTS:
    lc_vbtyp_7 TYPE likp-vbtyp VALUE '7',
    lc_vbtyp_J TYPE likp-vbtyp VALUE 'J'.

  CASE likp-vbtyp.
    WHEN lc_vbtyp_J.
*}   INSERT
*-xvbpa
  if     xvbpa-vbeln ne pf_vbeln or
         xvbpa-parvw ne parvw_we.

    read table xvbpa into          xvbpa  with key
               vbeln = pf_vbeln
               posnr = posnr_low
               parvw = parvw_we binary search.
    _rc_die.
  endif.
*{   INSERT          <наш запрос>                                         2
    WHEN lc_vbtyp_7.
      IF xvbpa-vbeln NE pf_vbeln OR
         xvbpa-parvw NE parvw_lf.
        READ TABLE xvbpa INTO xvbpa
                         WITH KEY vbeln = pf_vbeln
                                  posnr = posnr_low
                                  parvw = parvw_lf BINARY SEARCH.
        _rc_die.
      ENDIF.
    WHEN OTHERS.
  ENDCASE.
*}   INSERT


в тр. OVDSP определили профиль разделения:
ZIBD Планирование Вх.Тр-ки / тест

Текст Планирование Вх.Тр-ки / тест
ВидГр/Результат D
ВидГр/остаток D
Х Рез-т в гр. СУС
Х Ост в гр СУС
Х Рез в тр-ке
Х Ост в тр-ке
Х Без разделения 1:1
Х Цепи ЕО неактивны
План. ЕО активна при <Без интерпретации выш. ЕО как плановой>
Пункт отгрузки ВыхД 1000

По поставщикам
Все галки сняты

Группы исх поставок
ZIBD Принять рез.в гр.=X Принять ост.в гр.=X
ZIBD D Разделение поставки Принять рез.в гр.=X Принять ост.в гр.=X
ZIBD K Комплектование Принять рез.в гр.=X Принять ост.в гр.=X
ZIBD M ПогрузочнВедомость Принять рез.в гр.=X Принять ост.в гр.=X
ZIBD W ПотокиКомплектования Принять рез.в гр.=X Принять ост.в гр.=X

Присвоили профиль разделения к виду транспортировки
ПрофРазд/ДоПлан = ZIBD
ПрРазд/ПослеПл = ZIBD

Результат
все как и в исходящих тр-ках:
во вх. тр-ке в обзоре поставок - выбираем поставку, жмем кнопку Разделить поставки
В окне вводим КоличРазделения, Моделировать - видим ожидаемый результат разделения, закрываем окно синим крестиком в тулбаре
Видим новые поставки, таскаем туда-сюда если надо - сохраняем тр-ку.


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

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


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

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


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

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