Você está na página 1de 9

Batch Input

Batch input uma ferramenta usada para alimentar o banco de dados do SAP, simulando a
transao .

Banco de
dados antigo

Arquivo
Legado

BDCDATA

Pasta SM35

Banco de
dados SAP

Atravs de arquivo legado, o Batch input insere informaes na estrutura BDCDATA, e


cria uma pasta na transao SM35 que quando executada insere dados no Banco de dados
SAP.
A pasta criada na transao SM35(fig.1.3) pode ser executada de tres maneiras:(fig.1.2)
Processamento Visvel
Exibir somente erros
Oculto
Aps a pasta ser executada, ela gera um log , onde temos uma viso de tudo o que foi
gerado ou no pelo Batch Input.

Batch Input
O Batch Input composto pelas seguintes funes:
BDC_OPEN_GROUP
Funo responsvel pela criao de uma pasta na transao SM35
Ex.:

BDC_INSERT
Funo responsvel pela inserso dos dados extrados do arquivo legado (atravs da
estrutura BDCDATA)
Ex.:

CALL FUNCTION BDC_OPEN_GROUP


EXPORTING
Client =
sy-mandt
Mandante
Group =
Pasta
Nome da sesso/Pasta
User =
sy-uname
Nome do usurio

CALL FUNCTION BDC_INSERT


EXPORTING
Tcode
=
MM01
TABLES
Dynprotab
=
BDC-Tab

Nome da transao
Tabela interna espelho
da BDCDATA

BDC_CLOSE_GROUP
Funo responsvel por fechar a pasta criada.
Ex.:

CALL FUNCTION BDC_CLOSE_GROUP

Para inserir dados no banco de dados, o Batch Input simula a insero de dados pela
transao desejada.
Ex.: Para fazer uma carga de materiais dentro do R/3, o Batch Input simula a transao
MM01, que a transao usada para a criao de materiais.
Cada transao composta de uma ou mais telas.
As telas so compostas por:
Nome do Programa
(PROGRAM)
Nmero
(DYNPRO)
Campos
(FNAM)
Valores
(FVAL)
PROGRAM,DYNPRO,FNAM,FVAL so alguns campos da estrutura BDCDATA. (fig.1.1)

Batch Input
BDCDATA
PROGRAM

DYNPRO

DYNBEGIN

SAPLSD41

2100

FNAM

FVAL

DD02DSTRNAME
DD02D-DDTEXT
BDC_OKCODE

0001
Texto
SAVE

Obs.:
O campo Dynbegin significa se (X) ou no( ) o inicio da tela.
BDC_OKCODE, o comando usado para simular aes como ENTER,SAVE,F1 etc..
Exemplo programa Batch Input
Este programa insere dados na transao FI01.
Esta transao referente criao de Bancos. Ela contm 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
perform
perform
perform

open_group.
preencher.
insert.
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

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. Tela
move: 'SAPMF02B'
to
'0100'
to
'X'
to
append ti_bdcdata.
clear ti_bdcdata.
move: 'BNKA-BANKS'
to
'BR'
to
append ti_bdcdata.
clear ti_bdcdata.
move: 'BNKA-BANKL'
to
'237212349'
to
append ti_bdcdata.
clear ti_bdcdata.
move: 'BDC_OKCODE'
to
'/0'
to
append ti_bdcdata.
clear ti_bdcdata.
*---> 2a. Tela
move: 'SAPMF02B'
to
'110H'
to
'X'
to
append ti_bdcdata.
clear ti_bdcdata.
move: 'BNKA-BANKA'
to
'Banco teste'
to
append ti_bdcdata.
clear ti_bdcdata.
move: 'BDC_OKCODE'
to
'/11'
to
append ti_bdcdata.
clear ti_bdcdata.
endform.

ti_bdcdata-program,
ti_bdcdata-dynpro,
ti_bdcdata-dynbegin.
ti_bdcdata-fnam,
ti_bdcdata-fval.
ti_bdcdata-fnam,
ti_bdcdata-fval.
ti_bdcdata-fnam,
ti_bdcdata-fval.

ti_bdcdata-program,
ti_bdcdata-dynpro,
ti_bdcdata-dynbegin.
ti_bdcdata-fnam,
ti_bdcdata-fval.
ti_bdcdata-fnam,
ti_bdcdata-fval.

" preencher

Batch Input
Fig(1.1)

Batch Input
Fig. (1.2)

Batch Input
Fig. (1.3)

Batch Input

Fig 2.1
Transao FI01
1 tela

Batch Input

2a. Tela

Você também pode gostar