Как найти bapi в sap

Просмотр нерешенных тем
Сообщения без ответов | Активные темы

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

ВНИМАНИЕ!

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

Автор Сообщение

Заголовок сообщения: Как найти нужный BAPI модуль???

СообщениеДобавлено: Ср, май 18 2005, 11:46 

Гость


Подскажите пожалуйста, как узнать BAPI модуль, который создает паспорт договора???

Принять этот ответ

Вернуться к началу

slash

Заголовок сообщения: Re: Как найти нужный BAPI модуль???

СообщениеДобавлено: Ср, май 18 2005, 11:57 

Менеджер
Менеджер



Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610

Vova_fighter написал(а):

Подскажите пожалуйста, как узнать BAPI модуль, который создает паспорт договора???

транзакция bapi – там ищи


_________________
полный SAPец

Принять этот ответ

Вернуться к началу

Профиль  

Гость

Заголовок сообщения:

СообщениеДобавлено: Ср, май 18 2005, 12:18 


Ничего себе, там списочек ;)) Огромное спасибо ;))

Принять этот ответ

Вернуться к началу

Stager

Заголовок сообщения:

СообщениеДобавлено: Чт, апр 06 2006, 14:45 

Начинающий
Начинающий



Зарегистрирован:
Ср, ноя 30 2005, 07:31
Сообщения: 17

Здравствуйте. Подскажите существует ли BAPI для создания контракта на поставку (транзакция ME31K).

Принять этот ответ

Вернуться к началу

Профиль  

bpz

Заголовок сообщения:

СообщениеДобавлено: Чт, апр 06 2006, 15:48 


Stager написал(а):

Здравствуйте. Подскажите существует ли BAPI для создания контракта на поставку (транзакция ME31K).

посмотри бизнес объекты

BUS2012

правда может ето не оно :-)

Принять этот ответ

Вернуться к началу

Любаша

Заголовок сообщения:

СообщениеДобавлено: Пт, апр 07 2006, 10:32 


Подскажите, плз, а как пользоваться транзакцией BAPI? То есть как в своей проге использовать всё, что там наворочено?

Принять этот ответ

Вернуться к началу

Loyso

Заголовок сообщения:

СообщениеДобавлено: Пт, апр 07 2006, 10:33 



Зарегистрирован:
Ср, янв 12 2005, 13:39
Сообщения: 2811
Откуда: замкадыш

Любаша написал(а):

Подскажите, плз, а как пользоваться транзакцией BAPI? То есть как в своей проге использовать всё, что там наворочено?

А что именно вы хотите использовать?


_________________
Что бы выловить случайную ошибку нужно добиться устойчивости её появления.

Принять этот ответ

Вернуться к началу

Профиль Отправить email  

Любаша

Заголовок сообщения:

СообщениеДобавлено: Пт, апр 07 2006, 10:37 


А какая разница?

Хочется научиться испотзовать данные транзакции BAPI. Но КАК их использовать для получения , например, информации о документе договора ? Наверняка, что-то должно быть похожее.

Принять этот ответ

Вернуться к началу

Loyso

Заголовок сообщения:

СообщениеДобавлено: Пт, апр 07 2006, 10:57 



Зарегистрирован:
Ср, янв 12 2005, 13:39
Сообщения: 2811
Откуда: замкадыш

FM BAPI_DOCUMENT_GETDETAIL

не подойдёт?


_________________
Что бы выловить случайную ошибку нужно добиться устойчивости её появления.

Принять этот ответ

Вернуться к началу

Профиль Отправить email  

Любаша

Заголовок сообщения:

СообщениеДобавлено: Пт, апр 07 2006, 11:03 


Хотелось бы понять, КАК вы нашли имя ФМ в транзакции BAPI. Простым поиском у меня не получается. Мне нужен алгоритм поиска нужных ФМ BAPI. А то дали имя транзакции, а там полно данных, а само имя ФМ как искать?

Принять этот ответ

Вернуться к началу

Loyso

Заголовок сообщения:

СообщениеДобавлено: Пт, апр 07 2006, 11:08 



Зарегистрирован:
Ср, янв 12 2005, 13:39
Сообщения: 2811
Откуда: замкадыш

какая версия???


_________________
Что бы выловить случайную ошибку нужно добиться устойчивости её появления.

Принять этот ответ

Вернуться к началу

Профиль Отправить email  

Любаша

Заголовок сообщения:

СообщениеДобавлено: Пт, апр 07 2006, 11:13 


Release-Informationen zum Stand 46B

Release-Informationen zum Stand 46C

Release-Informationen zum Stand 470

Принять этот ответ

Вернуться к началу

Любаша

Заголовок сообщения:

СообщениеДобавлено: Пт, апр 07 2006, 11:48 


Всё, нашла.

А что, так трудно было написать жми кнопку Create BAPI List?!

Принять этот ответ

Вернуться к началу

Loyso

Заголовок сообщения:

СообщениеДобавлено: Пт, апр 07 2006, 11:54 



Зарегистрирован:
Ср, янв 12 2005, 13:39
Сообщения: 2811
Откуда: замкадыш

А по другому пробивался:) Потому и спросил про версию, чтобы в случае совпадения интерфейса рассказать по шагам.


_________________
Что бы выловить случайную ошибку нужно добиться устойчивости её появления.

Принять этот ответ

Вернуться к началу

Профиль Отправить email  

Любаша

Заголовок сообщения:

СообщениеДобавлено: Пт, апр 07 2006, 13:15 


Спасибо за помощь :D

Принять этот ответ

Вернуться к началу

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

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

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

cron

Introduction:

In this blog post, you will learn how to Find BAPI & Simulate BAPI. Like many of the time, we need to create or upload data in mass. And for that, we use LSMW or BDC to upload entries to system. But in some case, we need BAPI to upload data.

Simulated BAPI help`s technical person (ABAP) to code it in less time. And as Functional we must have an idea of how to find BAPI & simulate BAPI. For that, I have shared the easiest way how to work out along with the screenshot.

Overview:

First of all, you need to know which BAPI will full fill your requirement. In this blog post, I have simulated BAPI for Production Order Creation (CO01).

To find a BAPI use Tcode: BAPI (BAPI Explorer)

For Prod. Order Creation we have BAPI_PRODORD_CREATE

Now, to simulate BAPI you can double click on BAPI_PRODORD_CREATE and then press F8.

Or open Tcode: SE37 (Functional Builder: Initial Screen)

Copy the BAPI under Functional Module & Press function F8 or

After executing you`ll get the screen Test Functional Module: Initial Screen.

You can take the help of Documentation provided for BAPI by SAP. In some of cases, you won`t get documentation for BAPI due to non-availability of the document in language EN.

Note: Documentation helps you in simulating BAPI with correct and required data to input.

Under Import Parameter; Double Click on ORDERDATA.

Click on    Single Entry (Shift+F7).

Fill the below entries;

  • MATERIAL: (Material Code)
  • PLANT: (Plant)
  • ORDER_TYPE: (Order type)
  • BASIC_START_DATE: (Order Start Date)
  • BASIC_END_DATE: (Order End Date)
  • QUANTITY: (Order Quantity)
  • PROD_VERSION: (Production Version)

Note: Basic Start Date & Basic End Date is to be filled according to the scheduling type you are using.

i.e. if scheduling type is;

  • Backwards then fill only Basic_End_Date.
  • Forwards then fill only Basic_Start_Date.
  • Only Capacity requirement then fill both Start & End Date.
  • Current Date then leave date as blank

You can also use the other parameter like SCRAP_QUANTITY, ORDER_PRIORITY, etc.

After filling these entries come back to the main screen or press Function-F3(Back).

Now execute the BAPI you will get an Order Number under Export parameters.

In my test run, I got an ORDER_NUMBER: 1***401

If any of the ORDERDATA entries is wrong then the system will return error under RETURN Parameters.

As for the error message, I have made wrong entries in field PROD_VERSION. Below is the screenshot for the same.

RETURN: E61 567Version PV11 does not exist for material SFGPRFGRM101T in plant 1010.

After filling correct entries to BAPI execute it and save the test case for your technical person (ABAPER).

Also, you can cross-check the generated production order number in COOIS or CO03.

Click on Save & give a name to it !!

NOTE: “This BAPI performs Implicit Update task i.e. On the generation of ORDER_NUMBER under Export Parameter this BAPI update the entries into the database. Also, In some cases, we need to perform the update task explicitly. Will be sharing the same with some other BAPI”.

————————————————————————————————————————————-

Thanks for going through the detailed document. Do revert back if you have more queries or feedbacks/ inputs so that I can update the document.

For any help on BAPI`s & FM related to PP, QM & MM leave a comment.

Best Regards,

Raj Sinha.

SAP BAPI : Business Application programming interfaces are standard methods to access business objects which form the core of all SAP R/3 business frameworks.

There is two main methods to find a BAPI:

Find SAP BAPI – Method 1

Go to BAPI transaction
Select the busines object you want a SAP BAPI for ( for example SalesOrder )

Method 2 to Find BAPI in SAP SD

You can also find a BAPI used in a particular transaction.
Launch your transaction (VA02 for example), go to “Menu bar” -> Environment -> Status and go to Program.

Then, go to the package of this program, you will find Business Object Typs under the folder Business Engineering

Open the business object, and go to Methods

In you know the BUS of a business object, you can navigate directly to the the last screen,
Go to SE38, search for *BUSXXX, you will launch the “Display Object Type”

Если мы находим BAPI пройти стандартный код SAP: BAPI запрашивает уже выпустили BAPI.

Если вы знаете только вещи код, вы можете запросить соответствующий BAPI по следующим образом.

Например, мы находим BAPI для создания заказа клиента. Мы знаем, что вещи VA01.

1, мы вошли в интерфейс VA01, найти Система -> Статус

2, двойной щелчок по коде коды, найти пакет в

3, откройте пакет в с SE80

4, открытые бизнес-инжиниринг – «тип бизнес-объект. В соответствии с нашими потребностями бизнеса. Мы ищем для создания заказов на продажу, и все заказы на продажу BUS2032 имеют максимально возможный.

5. Дважды щелкните BUS2032, чтобы открыть метод, найти и создать такой же, как и имя заказа клиента. Мы ищем SalesOrder.createFromDat2. Поместите курсор на эту строку, чтобы нажать на кнопку программы выше. Вы можете увидеть исходный код программы, чтобы найти «bapi_salesorder_createfromdat2. Точно так же мы можем увидеть BAPI, который изменяет порядок. Deleted BAPI, мы также можем найти то же самое.

6. Точно так же мы можем дважды щелкнуть по SalesOrder.createFromDat2 линиям, найдите экран ABAP подменит в всплывающем окне. Если кнопка радио функции API, столбец имени, чтобы найти BAPI. Если это функциональный модуль, это FM.

Как показано ниже:

7. Вы также можете найти все программы и функциональные группы в рамках этого пакета через пакет.

Введение

Довольно редко IT-ландшафт предприятия, использующего систему SAP ERP, ограничивается только одной этой системой. Чаще всего, в обеспечении бизнес-процесса участвуют сторонние, по отношению к SAP ERP, программы/системы. Как следствие, возникает необходимость обеспечить их взаимодействие с SAP-системой.

Специально для этого в SAP ERP предусмотрен механизм BAPI (Business Application Programming Interface). Смысл этого механизма сводится к возможности реализации вызова функциональных модулей BAPI из внешних программ. Следует заметить, что вызывать извне можно не только функциональные модули (ФМ), имя которых начинается с «BAPI_» или «Z_BAPI_». Для вызова из внешних программ доступна любой ФМ у которого стоит признак «Remote-Enabled Module» (Рис. 1).

Рис. 1. Атрибуты функционального модуля

Именно наличие этого признака и позволяет вызывать ФМ по RFC из внешних систем (как SAP, та и не SAP).

Для реализации внешних вызовов предназначена библиотека SAP RFC SDK. Найти и скачать библиотеку можно на сайте SAP Service Marketplace в разделе Support Packages and Patches (Рис. 2).

Рис. 2. Библиотека SAP RFC SDK на SAP Service Marketplace

Обратите внимание на то, что версия библиотеки должна соответствовать операционной системе, под которой будет работать внешнее приложение, версии системы SAP ERP и быть с поддержкой UNICODE, если система SAP – Unicode (Рис. 3). Необходимая информация находится в меню по пути System->Status

Рис. 3. Признак Unicode системы

Целью этой статьи является демонстрация полного цикла создания внешнего приложения, вызывающего по RFC функциональный модуль из системы SAP ERP.

Цикл создания внешнего приложения

Итак, предположим, что в каком-то бизнес-процессе нашего предприятия есть шаг, на котором необходимо удаленно создать в системе SAP некий материал с заранее известными характеристиками. Создадим небольшое приложение (.exe), которое будет автоматически запускаться внешним приложением на рабочей станции под управлением Windows с определенными параметрами и будет вызывать по RFC ФМ в SAP системе.

Для демонстрации в SAP ERP был создан функциональный модуль Z_BAPI_CREATE_MATERIAL с признаком вызова по RFC (см. Рис. 1). Исходный код этого ФМ:

  function Z_BAPI_CREATE_MATERIAL .
*”———————————————————————-
*”*”Local Interface:
*”  IMPORTING
*”     VALUE(I_MATNR) TYPE  MATNR
*”     VALUE(I_MAKTX) TYPE  MAKTX
*”  TABLES
*”      ET_RETURN STRUCTURE  BAPIRET2 OPTIONAL
*”———————————————————————-
    data:
      LV_RETURN type BAPIRET2.

    perform CREATE_MATERIAL using I_MATNR
                                  I_MAKTX
                         changing LV_RETURN.
    append LV_RETURN to ET_RETURN.

  endfunction.

Исходный код подпрограммы CREATE_MATERIAL:

form CREATE_MATERIAL  using  VALUE(PV_MATNR)  type MATNR
                               VALUE(PV_MAKTX)  type MAKTX
                      changing   PS_RETURN      type BAPIRET2.
  data:
    LS_HEADDATA              like  BAPIMATHEAD,
    LS_CLIENTDATA            like  BAPI_MARA,
    LS_CLIENTDATAX           like  BAPI_MARAX.
  data:
    LT_MATERIALDESCRIPTION  type table of  BAPI_MAKT,
    LS_MATERIALDESCRIPTION  like line of LT_MATERIALDESCRIPTION.

* — Header
  LS_HEADDATA-MATERIAL        = PV_MATNR.
  LS_HEADDATA-IND_SECTOR      = ‘M’.
  LS_HEADDATA-MATL_TYPE       = ‘FERT’.
  LS_HEADDATA-BASIC_VIEW      = ‘X’.

* — MARA
  LS_CLIENTDATA-BASE_UOM          = ‘EA’.
  LS_CLIENTDATA-BASE_UOM_ISO      = ‘EA’.

  LS_CLIENTDATAX-BASE_UOM          = ABAP_TRUE.
  LS_CLIENTDATAX-BASE_UOM_ISO      = ABAP_TRUE.

* — Text
  LS_MATERIALDESCRIPTION-LANGU      = ‘EN’.
  LS_MATERIALDESCRIPTION-LANGU_ISO  = ‘EN’.
  LS_MATERIALDESCRIPTION-MATL_DESC  = PV_MAKTX.
  append LS_MATERIALDESCRIPTION to LT_MATERIALDESCRIPTION.

  call function ‘BAPI_MATERIAL_SAVEDATA’
    exporting
      HEADDATA            = LS_HEADDATA
      CLIENTDATA          = LS_CLIENTDATA
      CLIENTDATAX         = LS_CLIENTDATAX
    importing
      RETURN              = PS_RETURN
    tables
      MATERIALDESCRIPTION = LT_MATERIALDESCRIPTION.

  if PS_RETURN-TYPE eq ‘S’.
    call function ‘BAPI_TRANSACTION_COMMIT’.
  endif.

endform.                    ” CREATE_MATERIAL

Как видно из исходного кода, ФМ принимает на вход 2 параметра: Номер материала и Краткий текст материала. ФМ запускает создание материала и возвращает результат в таблице, имеющей структуру BAPIRET2.

Теперь перейдем к процессу создания .exe приложения. Для этого будем использовать бесплатный продукт Microsoft – Visual Studio Express 2015 for Windows Desktop.

Запускаем Visual Studio и создаем новый проект (Рис. 4)

Рис. 4. Создание нового проекта в Visual Studio

В качестве Application type выбираем Console application (Рис. 5)

Рис. 5. Выбор типа приложения.

Далее, в свойства проекта, в параметр C/C++->General->Additional Include Directories добавляем путь к инклудам библиотеки SAP RFC SDK. В нашем случае, библиотека (представляющая из себя каталог nwrfcsdk) находится по пути C:Share, и путь к инклудам будет соответственно: C:Sharenwrfcsdkinclude (Рис. 6)

Рис. 6. Добавление пути к инклудам библиотеки RFC SDK в свойства проекта

Если система SAP является Unicode, то в параметр проекта C/C++->Command Line надо добавить опцию /DSAPwithUNICODE (Рис.7)

Рис. 7. Дополнительная опция для Unicode

Для линковщика в параметрах проекта надо добавить: 

1. В параметр Linker->General->Additional Library Directories добавить путь к каталогу lib библиотеки RFC SDK. В нашем случае: C:Sharenwrfcsdklib (Рис. 8)

Рис. 8. Добавление пути к библиотекам.

2. В параметр Linker->Input->Additional Dependenciesдобавить библиотеки: sapnwrfc.libи libsapucum.lib (Рис. 9)

Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland

Зарегистрироваться

У вас уже есть учетная запись?

Войти

Добавить комментарий