Apostila - Batch Input.doc
-
Upload
fjaimesilva -
Category
Documents
-
view
24 -
download
10
Transcript of 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
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
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
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
Batch Input Batch Input
Fig(1.1)
5
Batch Input Batch Input
Fig. (1.2)
6
Batch Input Batch Input
Fig. (1.3)
7
Batch Input Batch Input
Fig 2.1
Transação FI01
1ª tela
8
Batch Input Batch Input
2a. Tela
9