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