Текущее время: Вт, июл 22 2025, 22:03

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Создание ДП. пожалуйста, помогите новичку.
СообщениеДобавлено: Пн, июн 25 2012, 13:16 
Начинающий
Начинающий

Зарегистрирован:
Пн, июн 25 2012, 13:02
Сообщения: 6
Добрый день.
Делаю первые шаги в освоение АБАП. Мне нужно создать ДП. Для этого воспользовался кодом ( см. ниже). В итоге выполняется без ошибок и выводиться ид ДП, но найти я этого ДП не могу (в трансакции BP). Как будто он создался, но не сохранился? Подскажите пожалуйста в что мне нужно сделать ещё.
Code:
*&---------------------------------------------------------------------*
*& Report  ZFR_CREATE_DP_V0
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZFR_CREATE_DP_V0.
DATA:
gs_centraldata TYPE bapibus1006_central,
gs_centraldataorganization TYPE bapibus1006_central_organ,
gs_addressdata TYPE bapibus1006_address,
it_return TYPE TABLE OF bapiret2,
lv_customer TYPE bu_partner.

MOVE:
'Siva B Kumar' TO gs_centraldataorganization-name1,
'XYZ' TO gs_centraldataorganization-name2,
'X' TO gs_addressdata-standardaddress,
'3000' TO gs_addressdata-postl_cod1,
'Melbourne' TO gs_addressdata-city,
'Street' TO gs_addressdata-street,
'246' TO gs_addressdata-house_no,
'GB' TO gs_addressdata-country,
'VIC' TO gs_addressdata-region,
'EN' TO gs_addressdata-langu.

CALL FUNCTION 'BAPI_BUPA_CREATE_FROM_DATA'
  EXPORTING
    partnercategory = '2'
    partnergroup = '0001'
    centraldata = gs_centraldata
    centraldataorganization = gs_centraldataorganization
    addressdata = gs_addressdata
  IMPORTING
    businesspartner = lv_customer
  TABLES
    return = it_return.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
  EXPORTING
    wait = 'X'.

REFRESH it_return.

CALL FUNCTION 'BAPI_BUPA_ROLE_ADD_2'
  EXPORTING
    businesspartner = lv_customer
    businesspartnerrole = 'CRM000'
  TABLES
    return = it_return.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
   wait = 'X'.

WRITE:/ lv_customer.


UPD. просмотром много а ответов ни одного :(


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание ДП. пожалуйста, помогите новичку.
СообщениеДобавлено: Ср, июл 11 2012, 15:49 
Начинающий
Начинающий

Зарегистрирован:
Вт, окт 18 2011, 07:55
Сообщения: 13
Пол: Мужской
Попробуй 'BAPI_BUPA_FS_CREATE_FROM_DATA'
У меня работает примерно с таким кодом.
Code:
    CALL FUNCTION 'BAPI_BUPA_FS_CREATE_FROM_DATA'
      EXPORTING
*       BUSINESSPARTNEREXTERN   = bpnumber, если внешняя нумерация
        PARTNERCATEGORY         = l_partnercat
        PARTNERGROUP            = partnergroup
        CENTRALDATA             = ls_centraldata
        CENTRALDATAORGANIZATION = ls_cenraldataorg
        ADDRESSDATA             = ls_adressdata
        CHANGEDOCU              = 'X'
      IMPORTING
        BUSINESSPARTNER         = BPNUMBER
      TABLES
        TELEFONDATA             = lt_telefondata
        FAXDATA                 = lt_faxdata
        E_MAILDATA              = lt_emaildata
        E_MAILDATANONADDRESS    = lt_email_noa
        RETURN                  = lt_return
        ROLES                   = lt_roles.

    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        WAIT = 'X'.


Роли можно сразу записать в таблицу ROLES.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание ДП. пожалуйста, помогите новичку.
СообщениеДобавлено: Чт, июл 12 2012, 14:43 
Начинающий
Начинающий

Зарегистрирован:
Пн, июн 25 2012, 13:02
Сообщения: 6
спасибо за ответ, дорбрый человек :) попробую как вернусь с отпуска! напишу как получилось.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание ДП. пожалуйста, помогите новичку.
СообщениеДобавлено: Пн, авг 13 2012, 08:58 
Начинающий
Начинающий

Зарегистрирован:
Пн, июн 25 2012, 13:02
Сообщения: 6
Изменил как ты посоветовал, но результат такой же как и был. Опять же выполняется без ошибок и выводиться id (299909), но в ТА "BP" этого партнёра не находится. Хотя по 299908 есть и видимо 299909 и должен быть у нового ДП. Как можно проверить что тут не так? Почему создается, но не сохраняется?
Code:
*&---------------------------------------------------------------------*
*& Report  ZFR_CREATE_DP_V0
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZFR_CREATE_DP_V0.
DATA:
gs_centraldata TYPE bapibus1006_central,
gs_centraldataorganization TYPE bapibus1006_central_organ,
gs_addressdata TYPE bapibus1006_address,
it_return TYPE TABLE OF bapiret2,
lv_customer TYPE bu_partner.

MOVE:
'SONY777' TO gs_centraldataorganization-name1,
'SONY888' TO gs_centraldataorganization-name2,
'X' TO gs_addressdata-standardaddress,
'3000' TO gs_addressdata-postl_cod1,
'Melbourne' TO gs_addressdata-city,
'Street' TO gs_addressdata-street,
'246' TO gs_addressdata-house_no,
'GB' TO gs_addressdata-country,
'VIC' TO gs_addressdata-region,
'EN' TO gs_addressdata-langu.

*& NEW---------------------------------------------------------------------*
    CALL FUNCTION 'BAPI_BUPA_FS_CREATE_FROM_DATA'
      EXPORTING
*       BUSINESSPARTNEREXTERN   = bpnumber, если внешняя нумерация
        PARTNERCATEGORY         = '2'
        PARTNERGROUP            = '0001'
        CENTRALDATA             = gs_centraldata
        CENTRALDATAORGANIZATION = gs_centraldataorganization
        ADDRESSDATA             = gs_addressdata
        CHANGEDOCU              = 'X'
      IMPORTING
        BUSINESSPARTNER         = lv_customer
      TABLES
        RETURN                  = it_return.

    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        WAIT = 'X'.
*& NEW---------------------------------------------------------------------*



REFRESH it_return.

CALL FUNCTION 'BAPI_BUPA_ROLE_ADD_2'
  EXPORTING
    businesspartner = lv_customer
    businesspartnerrole = 'CRM000'
  TABLES
    return = it_return.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
   wait = 'X'.

WRITE:/ lv_customer.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание ДП. пожалуйста, помогите новичку.
СообщениеДобавлено: Пн, авг 13 2012, 09:11 
Начинающий
Начинающий

Зарегистрирован:
Вт, окт 18 2011, 07:55
Сообщения: 13
Пол: Мужской
В таблице BUT000 деловой партнер появился?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание ДП. пожалуйста, помогите новичку.
СообщениеДобавлено: Пн, авг 13 2012, 16:09 
Начинающий
Начинающий

Зарегистрирован:
Пн, июн 25 2012, 13:02
Сообщения: 6
Нет. ДП с таким 299909 не найден.

Изображение


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание ДП. пожалуйста, помогите новичку.
СообщениеДобавлено: Вт, авг 14 2012, 13:43 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, янв 25 2012, 01:54
Сообщения: 59
Neeubonay написал(а):
Как можно проверить что тут не так? Почему создается, но не сохраняется?

проверьте после вызова первой бапишки it_return[] до его рефреша. если не создался то там точно вернутся ошибки


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание ДП. пожалуйста, помогите новичку.
СообщениеДобавлено: Вт, авг 14 2012, 14:38 
Начинающий
Начинающий

Зарегистрирован:
Пн, июн 25 2012, 13:02
Сообщения: 6
попробовал сделать как вы сказали в режими отладки до рефреша ошибок похоже нет так как значение it_return=Standard Table[2x14(1088)] :(


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание ДП. пожалуйста, помогите новичку.
СообщениеДобавлено: Вт, авг 14 2012, 14:45 
Начинающий
Начинающий

Зарегистрирован:
Вт, окт 18 2011, 07:55
Сообщения: 13
Пол: Мужской
Neeubonay написал(а):
попробовал сделать как вы сказали в режими отладки до рефреша ошибок похоже нет так как значение it_return=Standard Table[2x14(1088)] :(

А что внутри таблицы? Проваливались в нее двойным щелчком?
Т.к. 2 строки, подозреваю, что есть ошибки, потому что должна быть одна строка с сообщением что ДП создан с таким-то номером.
Можно вывести содержимое it_return на экран, например с помощью ФМ REUSE_ALV_GRID_DISPLAY.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание ДП. пожалуйста, помогите новичку.  Тема решена
СообщениеДобавлено: Вт, авг 14 2012, 15:46 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, янв 25 2012, 01:54
Сообщения: 59
Neeubonay написал(а):
попробовал сделать как вы сказали в режими отладки до рефреша ошибок похоже нет так как значение it_return=Standard Table[2x14(1088)] :(


эти две строчки и есть ошибки которые возвращает бапишка, при успешном вызове она была бы пустая. читайте там все написано будет если внутрь зайти.

по-хорошему нужно проверять эту таблицу и вызывать коммит только если она пустая. если с ошибками то роллбек


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Создание ДП. пожалуйста, помогите новичку.
СообщениеДобавлено: Ср, авг 15 2012, 12:40 
Начинающий
Начинающий

Зарегистрирован:
Пн, июн 25 2012, 13:02
Сообщения: 6
Получилось! Оказывается проблема была в адресаторе не находил для страны 'GB' не находил регион "VIC'.Закоментил всё связаннное с адресом и создался ДП. Большое спасибо Areal и Fifth!


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

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


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

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


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

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