Apostila - Batch Input.doc

12
Batch Input Batch Input Batch input é uma ferramenta usada para alimentar o banco de dados do SAP, simulando a transação . Através de arquivo legado, o Batch input insere informações na estrutura BDCDATA, e cria uma pasta na transação SM35 que quando executada insere dados no Banco de dados SAP. 1 Arquivo Legado BDCDATA Pasta SM35 Banco de dados SAP Banco de dados antigo

Transcript of Apostila - Batch Input.doc

Page 1: Apostila - Batch Input.doc

Batch Input Batch Input

Batch input é uma ferramenta usada para alimentar o banco de dados do SAP, simulando a transação .

Através de arquivo legado, o Batch input insere informações na estrutura BDCDATA, e cria uma pasta na transação SM35 que quando executada insere dados no Banco de dados SAP.A pasta criada na transação SM35(fig.1.3) pode ser executada de tres maneiras:(fig.1.2)

Processamento VisívelExibir somente errosOculto

Após a pasta ser executada, ela gera um log , onde temos uma visão de tudo o que foi gerado ou não pelo Batch Input.

1

Arquivo Legado BDCDATA Pasta SM35

Banco de dados SAP

Banco de dados antigo

Page 2: Apostila - Batch Input.doc

Batch Input Batch Input

O Batch Input é composto pelas seguintes funções: BDC_OPEN_GROUP

Função responsável pela criação de uma pasta na transação SM35

Ex.: CALL FUNCTION ‘BDC_OPEN_GROUP’EXPORTING

Client = sy-mandt “MandanteGroup = ‘Pasta’ “Nome da sessão/PastaUser = sy-uname “Nome do usuário

BDC_INSERT Função responsável pela insersão dos dados extraídos do arquivo legado (através da estrutura BDCDATA)

Ex.: CALL FUNCTION ‘BDC_INSERT’EXPORTING

Tcode = ‘MM01’ “Nome da transaçãoTABLES

Dynprotab = BDC-Tab “Tabela interna espelho da BDCDATA

BDC_CLOSE_GROUP Função responsável por fechar a pasta criada.

Ex.: CALL FUNCTION ‘BDC_CLOSE_GROUP’

Para inserir dados no banco de dados, o Batch Input simula a inserção de dados pela transação desejada.Ex.: Para fazer uma carga de materiais dentro do R/3, o Batch Input simula a transação MM01, que é a transação usada para a criação de materiais.

Cada transação é composta de uma ou mais telas.As telas são compostas por: Nome do Programa (PROGRAM) Número (DYNPRO) Campos (FNAM) Valores (FVAL)

PROGRAM,DYNPRO,FNAM,FVAL são alguns campos da estrutura BDCDATA. (fig.1.1)

2

Page 3: Apostila - Batch Input.doc

Batch Input Batch Input

BDCDATA

PROGRAM DYNPRO DYNBEGIN FNAM FVAL

SAPLSD41 2100 ‘X’‘ ‘ DD02D-

STRNAME‘0001’

‘ ‘ DD02D-DDTEXT ‘Texto’BDC_OKCODE ‘SAVE’

Obs.: O campo Dynbegin significa se é(‘X’) ou não(‘ ‘) o inicio da tela.BDC_OKCODE, é o comando usado para simular ações como ENTER,SAVE,F1 etc..

Exemplo programa Batch Input

Este programa insere dados na transação FI01.Esta transação é referente à criação de Bancos. Ela contém duas telas, e estaremos preenchendo 02 campos na primeira tela , e 01 campo na segunda tela, conforme ilustrado na figura 2.1.

REPORT ztreinamento .

DATA: BEGIN OF ti_bdcdata OCCURS 0. INCLUDE STRUCTURE bdcdata.DATA: END OF ti_bdcdata.

start-of-selection.

perform open_group.perform preencher.perform insert.perform close_group.

*---------------------------------------------------------------------** Form open_group*---------------------------------------------------------------------*form open_group.CALL FUNCTION 'BDC_OPEN_GROUP' EXPORTING client = sy-mandt group = 'pasta' user = sy-uname.

endform. " open_group

3

Page 4: Apostila - Batch Input.doc

Batch Input Batch Input*---------------------------------------------------------------------** Form insert*---------------------------------------------------------------------*form insert.CALL FUNCTION 'BDC_INSERT' EXPORTING TCODE = 'FI01' TABLES dynprotab = ti_bdcdata.

endform. " insert*---------------------------------------------------------------------** Form close_group*---------------------------------------------------------------------*form close_group.

CALL FUNCTION 'BDC_CLOSE_GROUP'.

endform. " close_group*---------------------------------------------------------------------** Form preencher*---------------------------------------------------------------------*form preencher.

*---> 1a. Telamove: 'SAPMF02B' to ti_bdcdata-program, '0100' to ti_bdcdata-dynpro, 'X' to ti_bdcdata-dynbegin. append ti_bdcdata. clear ti_bdcdata.move: 'BNKA-BANKS' to ti_bdcdata-fnam, 'BR' to ti_bdcdata-fval. append ti_bdcdata. clear ti_bdcdata.move: 'BNKA-BANKL' to ti_bdcdata-fnam, '237212349' to ti_bdcdata-fval. append ti_bdcdata. clear ti_bdcdata.move: 'BDC_OKCODE' to ti_bdcdata-fnam, '/0' to ti_bdcdata-fval. append ti_bdcdata. clear ti_bdcdata.

*---> 2a. Telamove: 'SAPMF02B' to ti_bdcdata-program, '110H' to ti_bdcdata-dynpro, 'X' to ti_bdcdata-dynbegin. append ti_bdcdata. clear ti_bdcdata.move: 'BNKA-BANKA' to ti_bdcdata-fnam, 'Banco teste' to ti_bdcdata-fval. append ti_bdcdata. clear ti_bdcdata.move: 'BDC_OKCODE' to ti_bdcdata-fnam, '/11' to ti_bdcdata-fval. append ti_bdcdata. clear ti_bdcdata.

endform. " preencher

4

Page 5: Apostila - Batch Input.doc

Batch Input Batch Input

Fig(1.1)

5

Page 6: Apostila - Batch Input.doc

Batch Input Batch Input

Fig. (1.2)

6

Page 7: Apostila - Batch Input.doc

Batch Input Batch Input

Fig. (1.3)

7

Page 8: Apostila - Batch Input.doc

Batch Input Batch Input

Fig 2.1

Transação FI01

1ª tela

8

Page 9: Apostila - Batch Input.doc

Batch Input Batch Input

2a. Tela

9