BAPI (interface de programação de aplicativo de negócios) é um conjunto de interfaces de programação em métodos de programação orientados a objetos. Ele permite que os programadores integrem software de terceiros em produtos proprietários R / 3 por meio do SAP. Para concluir algumas tarefas comerciais especiais, como o upload de dados da transação, o BAPI é construído no sistema R / 3.
Introdução ao BAPI em ABAP
1.BAPI - interface de programação de aplicativos de negócios
2. Na verdade, é um tipo especial de Módulos de Função Remota (RFC) para fornecer o uso de programas externos para atividades de negociação
3. Ele fornece uma interface de interface de aplicativo baseada na tecnologia Business Object
4. SAP adota tecnologia orientada a objetos, define logicamente todos os objetivos funcionais do sistema SAP R / 3 e armazena todos os objetivos (Objetos) e BAPIs no objeto de negócios (Repositório de Objetos de Negócios).
5. O Object Type do SAP R / 3 enterprise target equivale ao conceito de Class na linguagem de design target.A sua estrutura de definição é composta pelas seguintes partes: dados básicos, interface de interface, chave (Key Fields), Method (Methods ), Recursos (atributos), eventos (eventos)
–Como criar um programa BAPI
1. Defina a estrutura BAPI (a estrutura não pode ser reutilizada na BAPI, porque uma vez que a BAPI é lançada, sua estrutura é congelada)
2. Criar Módulo FUNÇÃO
Cada BAPI deve ter seu próprio Grupo de Funções, e o atributo Grupo de Funções deve ser RFC
3. Criar Objeto de Negócio
4. Use o BAPI WIZARD para criar o método API
Desta forma, o BAPI pode ser chamado por programas externos
5. Módulo de função está em conformidade com o método BOR
4. Libere o Módulo de Função BAPI,
Liberar tipo de objeto de negócios,
Liberar BAPI como um método de BOR
SAP BAPI
BAPI é a abreviatura de Business Application Programming Interface.
BAPI é uma forma padrão para programas fora do SAP acessarem dados e programas internos do SAP
?
BAPI é implementado na forma de Módulo de Função dentro do sistema SAP. Todas as Funções BAPI são
- 支持 Chamada de função remota (RFC)
- Não ative a janela de diálogo durante o processamento
?
BAPI é definido como um método do tipo SAP Business Object ou tipo de interface SAP no Business Object Repository (BOR), e é implementado na forma de Módulo de Função.Esta forma de separar definição e implementação é que podemos acessar BAPI de duas maneiras.
-Chame o BAPI no BOR por meio de um método orientado a objetos
- Chame diretamente o Módulo de Função por meio de RFC
Etapas de implementação simples de BAPI
Um, crie um Módulo de Função
1. No SM11, crie a estrutura necessária
2. No SE80, crie um grupo de funções
3. No SE37, crie um Módulo de Função
Observação: um grupo de funções pode conter apenas um BAPI; o parâmetro é passado por valor; deve haver um parâmetro EXPORT do tipo BAPIRETURN
Em segundo lugar, empacote
1. Em SWO1, crie o tipo de objeto
2. Adicionar Módulo de Função como um Método, utilitários-> Métodos API-> Adicionar Método
3. Libere o objeto e o módulo. Torne-o visível no navegador BAPI. Ou seja, pode ser chamado externamente.
Tres telefone
1. Se você usar ABAP para chamar em outro sistema, primeiro crie RFC no SM59 para se conectar ao R / 3 com BAPI, (ZGOGO)
Chamado no programa de SE38, função de chamada “ZBAPIXXXXX” DESTINO ZGOGO EXPORTING…
2. Como usar JAVA para chamar
Pacote de importação; (não necessariamente use IBM)
import com.sap.rfc. *;
import com.sap.rfc.exception. *;
import com.ibm.sap.bapi. *;
import com.ibm.sap.bapi.generated. *;
Estabeleça conexão; ligue. . . (Veja CALL_BAPI.java)
VBA para SAP
Private Sub CommandButton1_Click ()
Set oFunction = CreateObject (“SAP.LogonControl.1”)
Set oConnection = oFunction.NewConnection
oConnection.Client = “500”
oConnection.Language = “EN”
oConnection.User = “user”
oConnection.Password = “
pasword ” oConnection.ApplicationServer =“ sap1.yok.com.cn ”
oConnection.SystemNumber =“ 01 ”
result = oConnection.Logon (0, True)
Set ofun = CreateObject (“ SAP.FUNCTIONS ”)
Set ofun.Connection = oConnection
Set func = ofun.Add (“RFC_READ_TABLE”)
func.Exports (“QUERY_TABLE”) = “MARA”
Se func.Call = True Then
Set oline = func.tables.Item (“DATA”)
Row = oline.rowcount
i = 1
Faça While i <= Row
Cells (i, 1) = Mid (Trim (oline.Value (i, 1)), 4, 22)
i = i + 1
Loop
Else
MsgBox “FAIL”
End If
End Sub
VBA2
Private Sub CommandButton1_Click ()
Dim sapFunctionCtrl As Object 'Controle de Função (Objeto coletivo)
Dim sapConnection As Object' Objeto de Conexão
Dim theFunc As Object 'Objeto de função
Set sapFunctionCtrl = CreateObject (“SAP.Functions”)
Set sapConnection = sapFunctionCtrl.Connection
sapConnection.Client = “800”
sapConnection.user = “usuário”
sapConnection.Language = “EN”
If sapConnection.logon (0, False) <> True Then
MsgBox “Sem conexão com R / 3!”
Fim se
Defina theFunc = sapFunctionCtrl.Add (“ZRFCPING”)
Se theFunc.call Então 'chame o RFC FM
MsgBox “RFC call is okay”
End If
sapFunctionCtrl.Connection.logoff
Set sapConnection = Nothing
Set sapFunctionCtrl = Nothing
End Sub