Автор Тема: Упаковка ЕО коробки в ЕО контейнера.  (Прочитано 11696 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sonicby

  • Newbie
  • *
  • Сообщений: 13
  • Репутация: +0/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Упаковка ЕО коробки в ЕО контейнера.
« : Январь 09, 2013, 02:36:59 pm »
написал программу для упаковки ео коробки входящей поставки в ео контейнера.
Работает, но если потом попробовать распаковать в транзакции hupast, то сохранить не получится, выдает ошибку.
В чем может быть проблема ?
Я подозреваю, что не заполняются глобальные таблицы в начале, но на сдн столько примеров и почти все невнятные,
что я полностью запутался. Вот код :
Код: You are not allowed to view links. Register or Login
*&---------------------------------------------------------------------*
*& Report  ZWMS_INB_KOROB_PACK2
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT  ZWMS_INB_KOROB_PACK2.
tables:VEKP,likp.
data:
      korob_venum like vekp-venum,
      upak_venum  like vekp-venum,
      korob_exidv like vekp-exidv,
      upak_exidv  like vekp-exidv.
parameters: exidvu type vekp-exidv.
parameters: exidvk type vekp-exidv.

select  single * from  vekp where
     exidv eq exidvk
  and status ne '0060'.
  if sy-subrc ne 0.
write 'Номер короба не найден' .
exit.
endif.

select  single * from  vekp where
     exidv eq exidvu
  and status ne '0060'.
  if sy-subrc ne 0.
write 'Номер ИУ не найден' .
exit.
endif.
upak_exidv = exidvu .
korob_exidv = exidvk .
select single * from vekp where exidv eq upak_exidv
  and status ne '0060'.
  if sy-subrc eq 0.
upak_venum = vekp-venum.
endif.

select single * from vekp where exidv eq korob_exidv
  and status ne '0060'.
  if sy-subrc eq 0.
korob_venum = vekp-venum.
  endif.
  perform
  pallet_pick_nest using  korob_exidv
                          korob_venum
                          upak_exidv
                          upak_venum .
Write 'ИУ упакована'.
*http://scn.sap.com/thread/688386
FORM pallet_pick_nest USING p_pallet_exidv TYPE exidv
                            p_pallet_venum TYPE venum
                            p_parcel_exidv TYPE exidv
                            p_parcel_venum TYPE venum.
  DATA: ls_s_pithu  TYPE vsep_s_pithu.
  DATA: lt_exidv    TYPE hum_exidv_t,
        lt_header   TYPE hum_hu_header_t.
  DATA: lv_error    TYPE c.
  DATA: lv_vbkok_wa TYPE vbkok.
*    1. Initialize internal tables of function group
  CALL FUNCTION 'HU_PACKING_REFRESH'.
IF sy-subrc EQ 0.
      REFRESH lt_exidv.
      APPEND p_pallet_exidv TO lt_exidv.
      APPEND p_parcel_exidv TO lt_exidv.
      CALL FUNCTION 'HU_GET_HUS'
        EXPORTING
          it_hus      = lt_exidv
          IF_LOCK_HUS = 'X'
        IMPORTING
          et_header   = lt_header
        EXCEPTIONS
          no_hu_found = 1
          OTHERS      = 3.
      IF sy-subrc NE 0.
          break sy-uname.
        EXIT.
      ELSE.
*    5.    Perform Packing
        ls_s_pithu-exidv        =  p_pallet_exidv.
        ls_s_pithu-venum        =  p_pallet_venum.
        ls_s_pithu-velin        =  3.
        ls_s_pithu-sub_hu_venum =  p_parcel_venum.
        ls_s_pithu-sub_hu_exidv =  p_parcel_exidv.
        ls_s_pithu-quantity     =  1.
        ls_s_pithu-veanz        =  1.
        ls_s_pithu-lgnum        =  'SK1'.
*            break sy-uname.
        CALL FUNCTION 'HU_PACKING_AND_UNPACKING'
          EXPORTING
            is_packing_request = ls_s_pithu
          IMPORTING
            es_p_request       = ls_s_pithu
          EXCEPTIONS
            missing_data       = 1
            hu_not_changeable  = 2
            not_possible       = 3
            serial_nr          = 4
            OTHERS             = 99.
        IF sy-subrc NE 0.
*          PERFORM f_retreive_msgno.
            break sy-uname.
          EXIT.
        ELSE.
*    6.      Post HU changes
          CALL FUNCTION 'HU_PACKING_UPDATE'
            EXPORTING
              if_synchron = 'X'.
          COMMIT WORK AND WAIT.
        ENDIF.   "'HU_PACKING_AND_UNPACKING'
      ENDIF.     "HU_GET_HUS
    ENDIF.       "Lock delivery successful
ENDFORM.                    " pallet_pick_nest

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 808
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Упаковка ЕО коробки в ЕО контейнера.
« Ответ #1 : Январь 09, 2013, 04:03:42 pm »
А что за ошибку хоть выдает? Вообще значит не правильно написал вызов упаковки ЕО в ЕО.

Оффлайн sonicby

  • Newbie
  • *
  • Сообщений: 13
  • Репутация: +0/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Упаковка ЕО коробки в ЕО контейнера.
« Ответ #2 : Январь 09, 2013, 04:16:17 pm »
Цитировать
Значения по умолчанию для номера склада  не определены
№ сообщения L3701
Diagnosis
No entry is defined in the warehouse number control table for the warehouse number.

Вот такую.  Если пытаюсь распаковать запакованную коробку из короба программой.
« Последнее редактирование: Январь 09, 2013, 04:18:04 pm от sonicby »

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 808
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Упаковка ЕО коробки в ЕО контейнера.
« Ответ #3 : Январь 09, 2013, 04:43:11 pm »
You are not allowed to view links. Register or Login
Вот такую.  Если пытаюсь распаковать запакованную коробку из короба программой.
А это именно ошибка или предупреждение? А то по текстам это сообщение с типом W только выдается, после вызова функции: CALL FUNCTION 'L_LGORT_LGNUM_CHECK' и вообще странное сообщение, так как это считывается для завод/склад ММ таблица T320 - Присвоение склада MM номеру склада СУС, т.е. по факту ты когда вызываешь упаковку, где-то не передаешь завод/склад ММ, похоже.

Sapforum.Biz

Re: Упаковка ЕО коробки в ЕО контейнера.
« Ответ #3 : Январь 09, 2013, 04:43:11 pm »