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

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


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

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


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

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