Текущее время: Вс, апр 28 2024, 18:00

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


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

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


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

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