Текущее время: Пн, июл 21 2025, 19:22

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


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: BAPI: Удалить ЕО в ИП
СообщениеДобавлено: Чт, окт 02 2008, 16:11 
Начинающий
Начинающий

Зарегистрирован:
Ср, мар 12 2008, 17:18
Сообщения: 13
Подскажите BAPI: Удалить ЕО в ИП.

Удаляю поставки через 'BAPI_OUTB_DELIVERY_CHANGE'.
Но она отрабатывает если не было комплектования и соответсвенно ЕО (единиц обработки). Какой BAPi их удалить? Help :arrow: :cry:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 02 2008, 16:16 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Вопрос не ясен.
Какие ЕО вы хотите удалить, если их не было?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 02 2008, 16:45 
Начинающий
Начинающий

Зарегистрирован:
Ср, мар 12 2008, 17:18
Сообщения: 13
Пономарев Артем написал:
Вопрос не ясен.
Какие ЕО вы хотите удалить, если их не было?


Bapi для удаления имеющихся ЕО в поставке.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 02 2008, 16:55 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Нет такой.
Правильный порядок: отвязать ЕО от поставки. Удалить ЕО (если сильно надо, особого смысла в этом уже нет).
Код:
Code:
  DATA: is_vbkok TYPE vbkok,
        lt_prot  TYPE TABLE OF prott.

  DATA: ls_flags     TYPE v51p_select_flags,
        ls_objects   TYPE hum_object,
        lt_objects   TYPE hum_object_t,

        lt_vekp      TYPE TABLE OF vekpvb,

        lt_hus       TYPE hum_venum_t,
        ls_header51  TYPE header51,

        lt_messages  TYPE huitem_messages_t.

  DATA: l_lin_cnt TYPE i.

  FIELD-SYMBOLS: <lfs_s_vekp> TYPE vekpvb.

  CALL FUNCTION 'HU_PACKING_REFRESH'.

  ls_header51-object = '03'.
  ls_header51-objkey = i_vbeln.

  ls_objects-object = '03'.
  ls_objects-objkey = i_vbeln.
  APPEND ls_objects TO lt_objects.

  ls_flags-add_and_exp = 'X'.  "set flag for save selected HU's data in global memory

  CALL FUNCTION 'V51P_FILL_GT'
    EXPORTING
      is_flags    = ls_flags
      is_header51 = ls_header51
      it_objects  = lt_objects
    IMPORTING
      et_vekp     = lt_vekp
    EXCEPTIONS
      OTHERS      = 0.

  LOOP AT lt_vekp ASSIGNING <lfs_s_vekp>.

    APPEND <lfs_s_vekp>-venum TO lt_hus.

  ENDLOOP.

  DESCRIBE TABLE lt_hus LINES l_lin_cnt.

  IF l_lin_cnt EQ 0. RETURN. ENDIF.

  CALL FUNCTION 'V51P_DELETE_RELATIONSHIP'
    EXPORTING
      it_hus      = lt_hus
    IMPORTING
      et_messages = lt_messages
    EXCEPTIONS
      OTHERS      = 99.

  CALL FUNCTION 'HU_PACKING_UPDATE'
    EXPORTING
      if_synchron = abap_false.

  is_vbkok-vbeln_vl      = i_vbeln.

  is_vbkok-packing_final = abap_true.

  CALL FUNCTION 'WS_DELIVERY_UPDATE'
    EXPORTING
      vbkok_wa = is_vbkok
      synchron = abap_true
      commit   = abap_false
      delivery = i_vbeln
    TABLES
      prot     = lt_prot
    EXCEPTIONS
      OTHERS   = 99.

  IF sy-subrc = 0.
    COMMIT WORK AND WAIT.
    i_subrc = 0.
  ELSE.
    ROLLBACK WORK.
    i_subrc = 1.
  ENDIF.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 02 2008, 17:19 
Начинающий
Начинающий

Зарегистрирован:
Ср, мар 12 2008, 17:18
Сообщения: 13
скип


Последний раз редактировалось inna Чт, окт 02 2008, 17:28, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 02 2008, 17:25 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Поставка входящая или исходящая?
Если исходящая, меняйте

Code:
  ls_header51-object = '01'.
  ls_header51-objkey = i_vbeln.

  ls_objects-object = '01'.
  ls_objects-objkey = i_vbeln.
  APPEND ls_objects TO lt_objects.


З.Ы.: Оверквотинг - это зло.

З.З.Ы.: Иногда нужно и самому подумать :)


Кстати, commit то где? естественно не отвяжется.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 02 2008, 17:31 
Начинающий
Начинающий

Зарегистрирован:
Ср, мар 12 2008, 17:18
Сообщения: 13
Пономарев Артем написал:
Поставка входящая или исходящая?
Если исходящая, меняйте

Code:
  ls_header51-object = '01'.
  ls_header51-objkey = i_vbeln.

  ls_objects-object = '01'.
  ls_objects-objkey = i_vbeln.
  APPEND ls_objects TO lt_objects.


Кстати, commit то где? естественно не отвяжется.


спасибо,попробую.
коммит опущен, но он есть :)

еще один вопросик насчет ls_objects-object = '01'.
где посмотреть что 01 - исх а 03 - вх поставка и др значения


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 02 2008, 19:46 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
inna написал(а):
еще один вопросик насчет ls_objects-object = '01'.
где посмотреть что 01 - исх а 03 - вх поставка и др значения


В домене HU_OBJECT, куда можно попасть напрямую из SE11, либо сериями двойных щелчков прямо из ls_objects.

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Последний раз редактировалось Jelena Пт, окт 03 2008, 18:30, всего редактировалось 2 раз(а).

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 03 2008, 10:41 
Начинающий
Начинающий

Зарегистрирован:
Ср, мар 12 2008, 17:18
Сообщения: 13
Спасибо, все получилось замечательно, единственное пришлось заменить:

IF sy-subrc = 0.
COMMIT WORK AND WAIT.
"i_subrc = 0.
ELSE.
ROLLBACK WORK.
"i_subrc = 1.
ENDIF.

на:

IF sy-subrc = 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
else.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
endif.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI: Удалить ЕО в ИП
СообщениеДобавлено: Пт, апр 09 2010, 11:03 
Специалист
Специалист

Зарегистрирован:
Вт, дек 30 2008, 18:10
Сообщения: 171
Пол: Мужской
inna написал(а):
Подскажите BAPI: Удалить ЕО в ИП.


Каким BAPI создаются ЕО единицы обработки (по аналогии с HU02)? - BAPI_HU_CREATE ?
И какие BAPI для привязки к исх/вх поставкам и упаковка материала?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BAPI: Удалить ЕО в ИП
СообщениеДобавлено: Пт, апр 09 2010, 11:58 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, авг 05 2008, 19:46
Сообщения: 96
Откуда: С Урала
andry_moz написал:
inna написал(а):
Подскажите BAPI: Удалить ЕО в ИП.


Каким BAPI создаются ЕО единицы обработки (по аналогии с HU02)? - BAPI_HU_CREATE ?
И какие BAPI для привязки к исх/вх поставкам и упаковка материала?

что то вспоминаю что для исходящей поставки все делается с помошью 'WS_DELIVERY_UPDATE' заполнением
TABLES
verko_tab
verpo_tab


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re:
СообщениеДобавлено: Пт, апр 09 2010, 14:44 
Специалист
Специалист

Зарегистрирован:
Вт, дек 30 2008, 18:10
Сообщения: 171
Пол: Мужской
Отвязываем ЕО с удалением в исх поставке. Замечания приветствуются.
Code:

DATA: is_vbkok TYPE vbkok,
        lt_prot  TYPE TABLE OF prott.

  DATA: ls_flags     TYPE v51p_select_flags,
        ls_objects   TYPE hum_object,
        lt_objects   TYPE hum_object_t,
        lt_vekp      TYPE TABLE OF vekpvb,
        lt_hus       TYPE hum_venum_t,
        ls_header51  TYPE header51,
        lt_messages  TYPE huitem_messages_t,
        LS_HU TYPE HUM_VENUM.

  DATA: l_lin_cnt TYPE i.

  FIELD-SYMBOLS: <lfs_s_vekp> TYPE vekpvb.

  CALL FUNCTION 'HU_PACKING_REFRESH'.

  ls_header51-object = '01'.
  ls_header51-objkey = i_vbeln. " Исх. поставка

  ls_objects-object = '01'.
  ls_objects-objkey = i_vbeln.
  APPEND ls_objects TO lt_objects.

  ls_flags-add_and_exp = 'X'.  "set flag for save selected HU's data in global memory

  CALL FUNCTION 'V51P_FILL_GT'
    EXPORTING
      is_flags    = ls_flags
      is_header51 = ls_header51
      it_objects  = lt_objects
    IMPORTING
      et_vekp     = lt_vekp
    EXCEPTIONS
      OTHERS      = 0.

data: t_exidv type EXIDV.
data: return type BAPIRET2 OCCURS 0.

  LOOP AT lt_vekp ASSIGNING <lfs_s_vekp>.
    APPEND <lfs_s_vekp>-venum TO lt_hus.

    CALL FUNCTION 'HU_GET_HUS'
        EXPORTING
           if_lock_hus = 'X'
           it_venum    = lt_hus.     "it_venum contains l_venum

    CALL FUNCTION 'V51F_DELETE_HU'
        EXPORTING
           if_venum    = <lfs_s_vekp>-venum.

    CALL FUNCTION 'HU_POST'.

  ENDLOOP.

  DESCRIBE TABLE lt_hus LINES l_lin_cnt.

  IF l_lin_cnt EQ 0. RETURN. ENDIF.

  CALL FUNCTION 'V51P_DELETE_RELATIONSHIP'
    EXPORTING
      it_hus      = lt_hus
    IMPORTING
      et_messages = lt_messages
    EXCEPTIONS
      OTHERS      = 99.

   CALL FUNCTION 'HU_PACKING_UPDATE'
    EXPORTING
      if_synchron = abap_false.


  is_vbkok-vbeln_vl      = i_vbeln.
  is_vbkok-packing_final = abap_true.

  CALL FUNCTION 'WS_DELIVERY_UPDATE'
    EXPORTING
      vbkok_wa = is_vbkok
      synchron = abap_true
      commit   = abap_false
      delivery = i_vbeln
    TABLES
      prot     = lt_prot
    EXCEPTIONS
      OTHERS   = 99.


  IF sy-subrc = 0.
    COMMIT WORK AND WAIT.
*    i_subrc = 0.
  ELSE.
    ROLLBACK WORK.
*    i_subrc = 1.
  ENDIF.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Re:
СообщениеДобавлено: Пт, окт 01 2010, 11:31 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, ноя 12 2004, 10:44
Сообщения: 370
Откуда: Москва
andry_moz написал:
Отвязываем ЕО с удалением в исх поставке. Замечания приветствуются.
Code:
....
  LOOP AT lt_vekp ASSIGNING <lfs_s_vekp>.
    APPEND <lfs_s_vekp>-venum TO lt_hus.

    CALL FUNCTION 'HU_GET_HUS'
        EXPORTING
           if_lock_hus = 'X'
           it_venum    = lt_hus.     "it_venum contains l_venum

    CALL FUNCTION 'V51F_DELETE_HU'
        EXPORTING
           if_venum    = <lfs_s_vekp>-venum.

    CALL FUNCTION 'HU_POST'.

  ENDLOOP.
  ....

вот тут странная конструкция. lt_hus все растет и растет... нет?


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

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


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

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


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

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