Автор Тема: Проблема с BAPI_BATCH_CHANGE  (Прочитано 10639 раз)

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

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
Проблема с BAPI_BATCH_CHANGE
« : Январь 20, 2010, 01:49:48 pm »
Делаю такой вызов:
Код: You are not allowed to view links. Register or Login
DATA: lt_batchattributes1 TYPE STANDARD TABLE OF bapibatchatt.
  
DATA: ls_batchattributes LIKE LINE OF lt_batchattributes1.

DATA: lt_batchattributesx TYPE STANDARD TABLE OF bapibatchattx.
DATA: ls_batchattributesx LIKE LINE OF lt_batchattributesx.

DATA: w_bapibatchatt TYPE bapibatchatt.
DATA: lt_bapiret TYPE STANDARD TABLE OF bapiret2. " WITH HEADER LINE.

ls_batchattributes-prod_date = wa_xmkpf-budat.
        APPEND ls_batchattributes TO lt_batchattributes1.

        ls_batchattributesx-prod_date = 'X'.
        APPEND ls_batchattributesx TO lt_batchattributesx.

        CALL FUNCTION 'BAPI_BATCH_CHANGE'
          EXPORTING
            material          = wa_xmseg-matnr
            batch             = wa_xmseg-charg
            plant             = wa_xmseg-werks
            batchattributes   =  lt_batchattributes1
            batchattributesx  = lt_batchattributesx
          IMPORTING
            batchattributes   = w_bapibatchatt.


При вызове падает в дамп:

Цитировать
In the function module interface, you can specify only                
fields of a specific type and length under "BATCHATTRIBUTES".        
Although the currently specified field                                
"LT_BATCHATTRIBUTES1" is the correct type, its length is incorrect.  

Как может быть длина не такой? В чем то траблы? Лыжи не едут?
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
Re: Проблема с BAPI_BATCH_CHANGE
« Ответ #1 : Январь 20, 2010, 01:57:50 pm »
Спасибо, тут друг-разработчик подсказал, там надо передавать структуру, а я табличку (блин пример выдрал а он то не рабочий)
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
Re: Проблема с BAPI_BATCH_CHANGE
« Ответ #2 : Январь 23, 2010, 12:02:59 pm »
В итоге мы получаем следующий код (простенький)
Код: You are not allowed to view links. Register or Login
DATA: lt_batchattributes1 TYPE STANDARD TABLE OF bapibatchatt.  
DATA: ls_batchattributes LIKE LINE OF lt_batchattributes1.

DATA: lt_batchattributesx TYPE STANDARD TABLE OF bapibatchattx.
DATA: ls_batchattributesx LIKE LINE OF lt_batchattributesx.

DATA: w_bapibatchatt TYPE bapibatchatt.
DATA: lt_bapiret TYPE STANDARD TABLE OF bapiret2. " WITH HEADER LINE.

        ls_batchattributes-prod_date = wa_xmkpf-budat.       
        ls_batchattributesx-prod_date = 'X'.

        CALL FUNCTION 'BAPI_BATCH_CHANGE'
          EXPORTING
            material          = wa_xmseg-matnr
            batch             = wa_xmseg-charg
            plant             = wa_xmseg-werks
            batchattributes   =  ls_batchattributes1  " <<<< = структура, а не табличка
            batchattributesx  = ls_batchattributesx   " <<<< = структура, а не табличка
          IMPORTING
            batchattributes   = w_bapibatchatt.                
« Последнее редактирование: Январь 23, 2010, 12:04:50 pm от Паганель »
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
Re: Проблема с BAPI_BATCH_CHANGE
« Ответ #3 : Январь 23, 2010, 12:10:36 pm »
Дополнительно возникает вопрос концептуального характера,
в данную бапишку, дополнительно передается таблица для возвртата сообщения и ошибок
Код: You are not allowed to view links. Register or Login
     TABLES
          return            = lt_bapiret.

Судя по коду в самой бапи, она должна быть WITH HEADER LINE (см. код бапи).

Так вот вопрос: как обойти ограничение построителя классов (se18, я делаю внедрение)
Код: You are not allowed to view links. Register or Login
Класс ZCL_IM_MB_DOCUMENT_BADI,Метод IF_EX_MB_DOCUMENT_BADI~MB_DOCUMENT_BEFORE_UPDATE
Tables with headers are no longer supported in the OO context.
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Оффлайн Dmitriy

  • SAP ECC 6.0
  • Moderator
  • Newbie
  • *****
  • Сообщений: 380
  • Репутация: +0/-0
  • Пол: Мужской
  • Embracive Fire
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Проблема с BAPI_BATCH_CHANGE
« Ответ #4 : Январь 23, 2010, 05:09:55 pm »
Нужно попробовать внутри своего внедрения выполнить такое объявление таблицы сообщений:
Код: You are not allowed to view links. Register or Login
DATA: lt_bapiret TYPE TABLE OF bapiret2.И как можно быстрее забыть про конструкцию DATA: ... LIKE ... OCCURS n WITH HEADER LINE, это прошлый век. В теме про оптимизацию много написано про рабочую область (оптимизация циклов по вн. таблицам).

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
Re: Проблема с BAPI_BATCH_CHANGE
« Ответ #5 : Январь 23, 2010, 05:11:06 pm »
Ок, спасибо, приму на воружение
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login