Вы находитесь на странице: 1из 72

p

ABAP
Data Interface

ABAP
7272 DATA INTERFACE

1.00 - 2
Pg.

ndice

Qual a funo do R/3....................................... 03 Porque voc precisa saber disso................................ 04 Logon................................................. 05 Cores ................................................. 06 cones no SAP ........................................... 07 Seqncia de arquivos ...................................... Overview ......................................... 08 Transferncia de dados ................................ 09 Processando o arquivo ................................. 10 Abrindo um arquivo .................................. 11 Abrindo um arquivo (Binary e Text Mode) ................... 12 Modo Binrio e Modo de Texto ........................... 13 Abrindo um arquivo At Position ......................... 14 Transferindo registrso de dados ........................... 15 Lendo registros de dados ............................... 16 Fechando / Deletando arquivos sequenciais ................... 17 Criando um arquivo ................................... 18 ABAP Dictionary Estruturas ............................ 19 Lendo um arquivo .................................... 20 Incluindo dados no final do arquivo ......................... 21 Formato varivel ..................................... 22 Formato varivel (Read) ................................ 23 Definindo estruturas Resumo............................ 24 Overview ......................................... 25 Download e Upload ................................... 26 Mdulo de Funo Download ............................ 27 Formatos .......................................... 28 Mdulo de Funo Upload .............................. 29 Download ......................................... 30 Upload e Download como funes padro .................... 31 Arquivo de servidor e arquivo local ........................ 32 Task Overview ...................................... 33 Problem Overview ................................... 34 Overview Tcnicas / Overview Telas .................... 35 Processamento Batch Input .............................. 36 Programa Batch Input ................................. 36 Fila de Arquivos Batch Input / Formato da sesso Batch Input ...... 37 Criando uma sesso Batch Input .......................... 38 Mdulos de funo para programas Batch Input ................ 39 Mdulo de funo BDC_OPEN_GROUP .................... 40 Mdulo de funo BDC_INSERT ......................... 40 Tabela BDC ....................................... 41

ABAP
7272 DATA INTERFACE

1.00 - 3

Definindo a tabela BDC ................................ 42 Preenchendo a tabela BDC .............................. 43 . Mdulo de funo BDC_CLOSE_GROUP ................... 44 . Dados da transao do usurio ........................... 44 . Preparaes para programa BDC ......................... 44 . Preparaes para programa BDC Screen Painter .............. 44 -Estrutura da tabela BDC ............................... 45 -Funcionalidade da transao SM35 ........................ 45 -Copiando dados para as telas ............................ 45 Modo de processamento ................................ 46 Processando o Batch Input .............................. 47 Sesso Status ....................................... 48 . Criando e processando sesses ........................... 49 . Resumo das preparaes do usurio ....................... 49 -Carregando a tabela BDC para Table Control.................. 50 -Campos especiais.................................... 50 -Transaes de Batch Input com xito....................... 50 .RSBDCSUB ....................................... 51 .Programando trabalhos em Background...................... 51 Autorizaes para processar Batch Input...................... 52 Overview Resumo ................................... 53 Sequncia Dataset no Formato da SAP ...................... 54 Anlise de dados ..................................... 55 Programa de transferncia ............................... 56 Importando estruturas SAP............................... 57 Inicializando e convertendo............................... 58 Outras tarefas de um programa de transferncia ................. 59 IMG ..............................................60 Batch Input, Call Transaction e Direct Input ................... 61 Tarefas de um programa de transferncia ..................... 62 Transferncia de dados com Batch Input ..................... 63 Overview .......................................... 64 Declarao Call Transaction.............................. 65 Implementao tcnica ................................. 66 .Cdigos de retorno e variveis do sistema .................... 67 .Gerao de mensagem ................................. 67 .Batch Input / Call Transaction Resumo ..................... 67 O mtodo Direct Input ................................. 68 Processo de gravao do Batch Input ....................... 69

ABAP
7272 DATA INTERFACE

1.00 - 4

Qual a funo do R/3?


oferecer um conjunto integrado compacto, de aplicativos empresariais de grande escala. Temos o seguinte conjunto padro de aplicativos integrados no sistema R/3: PP MM SD FI CO AM PS WF IS HR PM QM (Production Planning - planejamento de produo) (Materials Management - gerenciamento de materiais) (Sales and Distribution - vendas e distribuio) (Financial Accounting - contabilidade financeira) (Controlling - controladoria) (Fixed Assets Management - gerenciamento de ativos fixos) (Project System - sistema de projeto) (Workflow - fluxo de trabalho) (Industry Solutions - solues de industria) (Human Resources - recursos humanos) (Plant Maintenance - manuteno das instalaes) (Quality Management - gerenciamento da qualidade)

Estes aplicativos so chamados reas funcionais, reas de aplicativo ou, mdulos funcionais do R/3. Todos estes termos so sinnimos. Tradicionalmente, as estruturas empresariais desenvolvem um conjunto de aplicativos de processamento de dados avaliando produtos individuais e comprando esses produtos separadamente de diversos fabricantes de software. Interfaces entre eles so ento necessrias. Por exemplo, o sistema de gerenciamento de materiais precisar ser vinculado com as vendas e a distribuio e com os sistemas financeiros, e o sistema de fluxo de trabalho precisar de uma alimentao a partir do sistema do HR. Uma quantidade significativa de tempo e dinheiro de IS gasta na implementao e manuteno dessas interfaces. O R/3 vem predefinindo com os aplicativos empresariais bsicos necessrios maioria das grandes corporaes. Esses aplicativos coexistem em um ambiente homogneo. Eles so projetados para funcionar utilizando desde um nico banco de dados e um conjunto (muito grande) de tabelas. Os tamanhos de banco de dados de produo atuais variam de 12 gigabytes a aproximadamente 3 terabytes. Cerca de 8.000 tabelas de banco de dados so distribudas com o produto R/3 padro.

ABAP
7272 DATA INTERFACE

1.00 - 5

Por que voc precisa saber isso?


importante para voc, como um programador de ABAP, saber por que esses aplicativos so todos escritos inteiramente em ABAP. Esses so os aplicativos que voc deve entender para ser um bom desenvolvedor de R/3. Por exemplo, suponha que voc conhea ABAP e tenha recebido a incumbncia de escrever um relatrio financeiro que resume dbitos e crditos de cada ano fiscal para cada fabricante na empresa. Talvez voc saiba escrever cdigo em ABAP, mas voc saberia como comear a resolver essa tarefa? Ou talvez seu trabalho exija um novo desenvolvimento em ABAP. Voc incumbido de projetar um sistema que oferea informaes de estoque para potenciais compradores. Se voc no conhece os sistemas financeiro e de vendas de distribuio, voc no saber se est criando algo que j existe em R/3. Tampouco voc poder saber se h tabelas do R/3 que j contm dados semelhantes ou idnticos aos tipos de dados que voc quer recuperar. Esses aplicativos so altamente integrados. Um desenvolvedor que assume a abordagem eu construirei minhas prprias tabelas e manterei minhas prprias cpias dos dados, pode logo descobrir que seus dados so redundantes e devem ser rotineiramente sincronizados com o resto do banco de dados. Ele construiu um aplicativo que no tira proveito da natureza altamente integrada do ambiente R/3. importante que o ABAP seja desenvolvido com a certeza de que dentro do R/3 no possua nada que j no atenda as necessidades da rea funcional.

ABAP
7272 DATA INTERFACE

1.00 - 6

Logon
Atravs do logon o sistema identificar se o usurio esta autorizado a entrar no SAP no client que est acessando, e atravs do seu UserId que identificado a que mdulos e transaes voc ter acesso.

Client onde se desenvolver a atividade

Barra de Ttulo Barra de Ferramentas Standard

Campo command Barra de ferramentas application

Menu do Interface

rea Screen

Barra de Status

ABAP
7272 DATA INTERFACE

1.00 - 7

Cores
Para que voc possa alterar as cores de seu ambiente tornando-o mais agradvel, utilize o recurso abaixo demonstrado.

Clique nas bolinhas coloridas e depois em Options....

ABAP
7272 DATA INTERFACE

1.00 - 8

cones no SAP
Abaixo alguns exemplos, com descrio, dos cones que voc ter contato no SAP.

ABAP
7272 DATA INTERFACE

1.00 - 9

Overview

Programa ABAP

TRANSFER

READ DATASET

Seqncia de arquivos

Voc pode processar um arquivo sequencial com as declaraes READ DATASET (para operaes de leitura) e TRANSFER (para operaes de gravao). Arquivos no servidor de apresentao no podem ser processados com TRANSFER ou READ DATASET. Eles devem estar localizados no servidor de aplicao.

ABAP
7272 DATA INTERFACE

1.00 - 10

Transferncia de Dados

Sistema do Cliente

Programa do Cliente

Seqncia de Arquivos

Sistema SAP R/3

Programa SAP

Arquivos sequenciais a interface entre um sistema do cliente e o Sistema R/3. o meio utilizado para importar dados de um sistema do cliente para o Sistema R/3 e vice-versa.

ABAP
7272 DATA INTERFACE

1.00 - 11

Processando o Arquivo

Open File

Process File

Close File

Antes do registro de dados poder ser escrito ou lido de um arquivo sequencial, o arquivo deve ser aberto. Depois de processado, o arquivo dever ser fechado. No programa, voc chama o arquivo por seu nome do arquivo absoluto. O nome do arquivo absoluto consiste no caminho exato e o atual (relativo) nome do arquivo. Um exemplo de um nome do arquivo atual . usr/sap/T30/<filename>. O formato de nomes de arquivos depende do sistema operacional. Voc pode ter acesso a programas portteis com o mdulo de funo FILE_GET_NAME que devolve o nome fsico para um determinado nome do arquivo lgico. Veja tambm a documentao online para o mdulo na transao SE37.

ABAP
7272 DATA INTERFACE

1.00 - 12

Abrindo um Arquivo

open dataset <file name>

for

output input appending

if sy-subrc ne 0. ...

Para abrir um arquivo, voc usa a declarao OPEN DATASET <nome do arquivo>. Dependendo se este tem xito, SY-SUBRC fixado em 0 ou 8. Erros so ignorados. Se voc no especifica nenhuma opo adicional, o arquivo aberto para leitura. Possveis opes: FOR OUTPUT Abre o arquivo para gravao. Se o arquivo j existe, seus contedos so apagados, mas isto s se aplica depois do fim do programa. Se a declarao acontece em um programa, o cursor simplesmente posicionado no comeo do arquivo. Voc tem que especificar CLOSE DATASET para apagar o arquivo. Se o arquivo no existe, ele gerado. FOR INPUT Abre um arquivo existente para leitura. Se o arquivo j est aberto, o cursor posicionado no comeo do arquivo. Voc no tem que especificar FOR INPUT explicitamente. FOR APPENDING Abre o arquivo para gravar no fim do arquivo. Se o arquivo no existe, gerado. Se o arquivo j est aberto, o cursor posicionado no fim.

ABAP
7272 DATA INTERFACE

1.00 - 13

Abrindo um Arquivo (Binary e Text Mode)

open dataset <file name> output input appending binary mode text mode

for

in

if sy-subrc ne 0. ...

Voc pode escolher abrir um arquivo em modo binrio ou em modo de texto. Opes possveis: EM MODO BINRIO Os dados no so interpretado pelas operaes de leitura e escrita READ DATASET e TRANSFER. As reas de dados especificadas para estas palavras chaves so lidas ou gravadas diretamente. Voc no precisa especificar explicitamente IN BINARY MODE (default). EM MODO DE TEXTO Se voc abre um arquivo com esta opo, o sistema assume que o arquivo tem estrutura de linha. Cada vez que READ DATASET ou TRANSFER executado, uma linha sempre lida ou gravada e os dados sempre so processados at a seleo de end-of-line. Se a rea de dados for maior do que a linha a ser lida, a rea restante preenchida com espaos em branco. Se for menor, o final da linha ser perdido. O default para o arquivo ser aberto em modo binrio.

ABAP
7272 DATA INTERFACE

1.00 - 14

Modo Binrio e Modo de Texto


Modo Binrio Programa ABAP Modo Texto Programa ABAP

Programa ABAP

Programa ABAP

O exemplo ilustra a diferena entre modo binrio e modo de texto: Trs campos de diferentes tamanhos so transferidos a qualquer momento. Os dados so lidos em trs campos do mesmo tamanho. No modo de texto, a operao especfica do sistema line-end caracter fixada aps cada registro de dados. Espaos em brancos ao trmino de um registro de dados no so suprimidos em modo de texto.

ABAP
7272 DATA INTERFACE

1.00 - 15

Abrindo um Arquivo AT POSITION

open dataset <file name> at position <position>

message

<field>

As adies seguintes existem para a declarao OPEN: AT POSITION <position> Com esta adio, voc pode especificar uma posio de arquivo (em bytes) desde o princpio do arquivo. No possvel posicionar o cursor antes do incio do arquivo. Embora esta adio possa ser usada junto com IN TEXT MODE, isto gera uma pequena sensao de como o formato fsico de um arquivo de texto largamente dependente no sistema operacional. MENSAGEM <field> Se ocorrer um erro ao abrir o arquivo, a mensagem do sistema operacional associada armazenada no campo <field>.

ABAP
7272 DATA INTERFACE

1.00 - 16

Transferindo Registros de Dados

transfer <field> to <file name>.

sequential file data record

Cada declarao TRANSFER transfere o registro de dados a um arquivo sequencial. Antes de executar o comando TRANSFER, voc deve mover os registro de dados em um campo ou uma estrutura. Estruturas so campos string ou reas de trabalho de tabela. A execuo da declarao TRANSFER depende do modo: - Modo binrio: Escreve o tamanho do campo ou estrutura. - Modo de texto: Escreve uma linha. Se o arquivo especificado no est aberto, a declarao TRANSFER tenta abrir o arquivo <nome do arquivo> FOR OUTPUT (IN BINARY MODE) ou usando as adies da ltima declarao OPEN DATASET para este arquivo. Erros que ocorrem durante a declarao TRANSFER resultam no trmino do programa. O parmetro adicional LENGHT <tamanho> da declarao TRANSFER lhe permite especificar o tamanho em bytes (no formato TRANSFER <estrutura> TO <nome do arquivo> LENGHT <tamanho>). Neste caso, o nmero exato de carter especificado <tamanho> transferido. Se a

ABAP
7272 DATA INTERFACE

1.00 - 17

estrutura menor, o registro aumentado (com espaos em branco em modo de texto e hexadecimal zero em modo binrio). Se a estrutura maior, o registro truncado.

ABAP
7272 DATA INTERFACE

1.00 - 18

Lendo Registros de Dados

read dataset <file name> into <field>.

sequential file data record

Cada declarao READ DATASET l um registro de um arquivo sequencial em um campo ou estrutura. Estruturas so campos string ou reas de trabalho de tabela. A execuo da declarao READ DATASET depende do modo: - Modo binrio: L o tamanho da estrutura. - Modo de texto: L uma linha. Se o arquivo especificado no est aberto, READ DATASET tenta abrir o arquivo (IN BINARY FOR INPUT ou com as opes da ltima declarao OPEN DATASET para este arquivo). Se o fim do arquivo alcanado, SY-SUBRC fixado a 4. Caso contrrio fixado a 0. Se o arquivo no pode ser aberto, SY-SUBRC contm o valor 8. Erros resultam no trmino do programa. READ DATASET, como TRANSFER, no executa converses implcitas. O dados so lidos como foram escritos. O parmetro adicional LENGHT <tamanho> da declarao READ DATASET lhe permite especificar uma tamanho em bytes (no formato READ DATASET <nome do arquivo> INTO <estrutura> LENGHT <tamanho>). Neste caso, o nmero exato de carter especificado em <tamanho> ser lido no registro de dados na estrutura. Se a estrutura menor, o registro aumentado (com espaos em branco

ABAP
7272 DATA INTERFACE

1.00 - 19

em modo de texto e com zeros de hexadecimal em modo binrio). Se a estrutura for maior, o registro ser truncado.

ABAP
7272 DATA INTERFACE

1.00 - 20

Fechando / Deletando Arquivos Sequenciais

close dataset <file name>.

delete dataset <file name>.

Voc usa a declarao CLOSE DATASET <nome do arquivo> para fechar uma seqncia de arquivos explcitos. Em um programa, todos os arquivos abertos so automaticamente fechados cada vez que a tela muda, e ento reabrem exatamente como eles estavam antes de processados. Ao trmino de um programa, todos os arquivos esto fechados. A vantagem de usar OPEN DATASET que voc pode usar a adio MESSAGE para evitar uma finalizao programada se um erro acontecer quando estiver abrindo o arquivo (SY-SUBRC = 8). Alm, voc deve estar atento que, em casos onde um arquivo ser lido, ou gerado e lido, vrias vezes no mesmo relatrio, s abertura automtica ou fechamento garantem que o cursor ser reposicionado no comeo do arquivo. Um arquivo no fechado imediatamente quando READ DATASET chega o fim de um arquivo. Voc pode usar o DELETE DATASET <nome do arquivo> para apagar um seqncia de arquivos. Se tiver sucesso, SY-SUBRC fixado a 0. Voc pode exibir o estado atual do arquivo com debbug escolhendo Goto -> System -> Sytem areas e entrando ento (ou selecionando) DATASETS.

ABAP
7272 DATA INTERFACE

1.00 - 21

Criando um Arquivo

report zexemplo. tables sflight. data: begin of rec, carrid like sflight-carrid, connid like sflight-connid, fldate like sflight-fldate, end of rec. parameters file (20) default /tmp/zexemplo lower case. start-of-selection. open dataset file for output. get sflight. move-corresponding sflight to rec. transfer rec to file. write: / rec-carrid, rec-connid, / rec-fldate, rec-planetype. uline. end-of-selection. close dataset file.

Primeiro voc define a estrutura a ser transferida. Neste exemplo, um campo string, mas tambm poderia ser um campo de ajuda, o cabealho de uma tabela interna ou uma rea de trabalho do ABAP Dictionary. O campo string tambm pode ser codificado em um relatrio include. Depois, voc deve preencher a estrutura. Em princpio, podem ser usadas todas as declaraes que executam uma tarefa de valor aqui. Exemplos incluem MOVE, COMPUTE, MOVECORRESPONDING, MOVE TO e WRITE TO. Finalmente, voc transfere a estrutura com a declarao TRANSFER.

ABAP
7272 DATA INTERFACE

1.00 - 22

Estruturas do ABAP Dictionary

report zexmplo1. tables: sflight, sbc420a. parameters file (20) default /tmp/zexemplo lower case. get sflight. move-corresponding sflight to sbc420a. transfer sbc420a to file. write: / sbc420a -carrid, sbc420a -connid, / sbc420a -fldate, sbc420a -planetype. uline.

Dict.

table structure sbc420a. ----------------------------------------------------------------------name type lenght meaning ----------------------------------------------------------------------sbc420a-carrid char 03 short description of airline company sbc420a-connid numc 04 code for flight connection sbc420a-fldate dats 08 flight date sbc420a-planetype char 10 aircraft type

report zexemplo2. tables: sflight, sbc420a. data: begin of rec. include structure sbc420 data: end of rec. parameters (20) default /tmp/zexemplo lower case. get sflight. move-corresponding sflight to rec. transfer rec to file. write: / rec-carrid, rec-connid, / rec-fldate, rec-planetype. uline.

Voc tambm pode usar estruturas do ABAP Dictionary para transferncia de dados. Para fazer isto, declare a estrutura com TABLES. Aps isso, em seu programa, utilize qualquer um dos seguintes procedimentos: - use a rea de trabalho declarada com TABLES - copie a estrutura para seu campo string com INCLUDE STRUCTURE. Voc pode exibir a estrutura do ABAP Dictionary no Editor ABAP com o comando de SHOW.

ABAP
7272 DATA INTERFACE

1.00 - 23

Lendo um Arquivo

report zexemplo. tables sflight. data: begin of rec, carrid like connid like fldate like planetype like end of rec. sflight-carrid, sflight-connid, sflight-fldate, sflight-planetype,

parameters file (20) default /tmp/zexemplo lower case. start-of-selection. open dataset file for input. do. read dataset file into rec. if sy-subrc ne 0. exit. endif. write: / rec-carrid, rec-connid, / rec-fldate, rec-planetype. uline. enddo. close dataset file.

Primeiro voc deve definir a estrutura a ser lida. Neste exemplo, um campo string. Tambm pode ser codificada num relatrio include. As estruturas a serem usadas com os comando READ DATASET e TRANSFER devem Ter o mesmo lay-out. Voc l os registros de dados em sua estrutura dentro um loop e os processa. READ DATASET no requer um banco de dados lgico. Voc pode analisar seus dados extrados junto com dados de qualquer banco de dados lgico (o qual voc especifica ento nos atributos de relatrio).

ABAP
7272 DATA INTERFACE

1.00 - 24

Incluindo dados no final do Arquivo

report zexemplo. tables sflight, sbc42a. parameters file (20) default /tmp/zexemplo lower case. start-of-selection. open dataset file for appending in binary mode. get sflight. move-corresponding sflight to sbc420a. transfer sbc420a to file. write: / sbc420a-carrid, sbc420a-connid. end-of-selection. close dataset file.

Para gravar registros de dados no final do arquivo, voc usa a clusula FOR APPENDING na declarao OPEN DATASET.

ABAP
7272 DATA INTERFACE

1.00 - 25

Formato Varivel (Gravao)

report zexemplo. tables sflight, sbc42a. include zexemplo1. parameters file (20) default /tmp/zexemplo lower case. start-of-selection. open dataset file for output in binary mode. get sflight. move-corresponding sflight to rec1. move A to rec1-flag. transfer rec1 to file. write: / rec1-carrid, rec1-connid, ... get sbook. move-corresponding sbook to rec2. move B to rec2-flag. transfer rec2 to file. write: / rec2-bookid, rec1-custid, ... end-of-selection. close dataset file.

O exemplo gera um arquivo sequencial com registros de dados de estruturas diferentes. O programa include definido como segue: data: data: data: data: begin of rec1, flag. include estructure sbc42oa. end of rec1. begin of rec2, flag. include estructure sbc42ob. end of rec2.

A estrutura SBC42OA usada para dados de vo, enquanto a estrutura SBC42OB dados de reserva de lugares. Uma flag deve indicar se o prximo registro de dados contm dados de vo ou dados de reserva.

ABAP
7272 DATA INTERFACE

1.00 - 26

Formato Varivel (Read)

report zexemplo. tables sbc42a, sbc42b. data: flag. parameters file (20) default /tmp/exemplo lower case. start-of-selection. open dataset file for input in binary mode. do. read dataset file into flag. if sy-subrc ne 0. exit. endif. case flag. when a. read dataset file into sbc420a. write: / sbc420a-carrid, sbc420a-connid, sbc420a-fldate, sbc420a-planetype. when b. read dataset file into sbc420b. write: / sbc420b-bookid, sbc420b-custid, sbc420b-custyp, sbc420b-class. endcase. enddo. end-of-selection. close dataset file.

O programa l os registros de dados dos arquivo criados previamente por um programa. O programa assume que um ID (A ou B) precede cada registro de dados. O arquivo aberto em modo binrio e os registros so lidos de acordo com o tamanho da estrutura especificado.

ABAP
7272 DATA INTERFACE

1.00 - 27

Definindo Estruturas - Resumo


define structures

open file write read

fill structure

read data record

transfer structure

process data record

YES

more data record s

more data record s

YES

NO close file

NO

Processando um arquivo no programa, voc define as estruturas requeridas para os registros de dados com as TABLES ou declarao DATA primeiro. O programa usa estas estruturas como buffers internos para os registros de dados. Voc ento abre a seqncia de arquivos para ser lida ou escrita com a declarao OPEN. Quando escreve o arquivo, voc transfere as estruturas cheias para o arquivo com declaraes TRANSFER. Quando l o arquivo, voc preenche as estruturas montadas para os registros de dados com READ DATASET para mais adiante ser processado no programa. Para fechar o seqncia de arquivos, voc encerra o arquivo que esta sendo processado com a declarao CLOSE DATASET.

ABAP
7272 DATA INTERFACE

1.00 - 28

Overview

read dataset

transfer Application server files ABAP program

upload

download Presentation server files

Programas ABAP so executados no servidor de aplicao e tem acesso aos arquivos sequenciais. Voc tambm pode usar um programa ABAP para processar arquivos locais (que pertencem ao servidor de apresentao). Voc processa um arquivo sequencial no servidor de aplicao utilizando programas ABAP com as declaraes READ DATASET e TRANSFER que lhe permitem copiar de/para dados de um campo string. Voc processa um arquivo sequencial local no servidor de apresentao com mdulos de funo (UPLOAD e DOWNLOAD). Estes copiam dados para uma tabela interna.

ABAP
7272 DATA INTERFACE

1.00 - 29

DOWNLOAD e UPLOAD

O mdulo de funo DOWNLOAD carrega os contedos de uma tabela interna para um arquivo sequencial local. O mdulo de funo UPLOAD carrega os contedos de um arquivo sequencial local para uma tabela interna. Para o arquivo local, voc especifica o nome do arquivo absoluto (ou seja, o caminho completo, por exemplo /tmp/bc 1 80/myfile para o UNIX arquivo myfile no diretrio /tmp/bc 180 ou C: AC 180 MYFILE.ABA para o OS/2 arquivo MYFILE.ABA no diretrio AC 180 na unidade de disco C). O diretrio deve ser conhecido ao servidor de apresentao. A escolha de nomes satisfatrios de arquivo responsabilidade do cliente. O sistema pede o nome do arquivo e o tipo de arquivo interativo. O dados so convertido de acordo com o tipo de arquivo.

ABAP
7272 DATA INTERFACE

1.00 - 30

Mdulo de Funo Download


call function download exporting bin_filesize= codepage filename filetype item mode wk1_n_format= wk1_n_syze wk1_t_format= wk1_t_format= importing act_filename act_filetype filesize tables data_tab <file length for binary files> = <do not use> = <file name - default value> = <file type - default value = <header for file dialog> = <write mode> <value column format for wk1 file type = <value column width for wk1 file type <text column format for wk1 file type <text column width for wk1 file type = <file name entered value> = <file type entered value> = <number of bytes downloaded> = <transfer file>

Para o mdulo de funo DOWNLOAD, voc precisa de uma tabela interna para a transferncia de dados. Voc define esta tabela de acordo com sua estrutura de dados no comeo do programa e ento preenche de dados. Voc usa o parmetro MODE para definir o modo de escrever (A para estender um arquivo, criar um arquivo novo). A especificao de valores default para o nome do arquivo, tipo de arquivo e um cabealho para o dilogo de arquivo opcional. Os parmetros de IMPORT especificam os valores entrados pelo usurio para o nome do arquivo, tipo de arquivo e o nmero de bytes a serem carregados. Voc s especifica um valor pelo parmetro de exportao CODEPAGE quando executando um DOWNLOAD para DOS (o nico valor possvel ' IBM'). Caso contrrio, este parmetro no usado. Todos os parmetros EXPORT so opcionais.

ABAP
7272 DATA INTERFACE

1.00 - 31

Formatos

Internal table (ABAP) f1 f1 a a d d . . . . spreadsheet A<tab> A<tab> A<tab> A<tab> . . . . B<tab> B<tab> B<tab> B<tab> . . . . C<tab> C<tab> C<tab> C<tab> . . . . f2 f2 b b e e . . . . f3 f3 c c f f . . . . format DAT or WK1

Como UPLOAD e DOWNLOAD, outro formato disponvel para converses de ASC (ASCII) e BIN (binrio) DAT para Excel. Com DOWNLOAD, WK1 tambm esto disponveis para Excel e Lotus. Para o formato DAT, colunas de tabela so divididas por um caracter de tabulao e as linhas da tabela cdigo de fim de linha. Para o formato WKl, no dados de uma tabela so lanados em uma planilha eletrnica WKl especfica.

Tabela interna (ABAP)

ABAP
7272 DATA INTERFACE

1.00 - 32

Mdulo de Funo Upload


call function upload exporting codepage filename filetype item importing filesize tables data_tab = = = = <do not use> <file name - default value> <file type - default value <header for file dialog>

= <number of bytes downloaded> = <transfer file>

Para o mdulo de funo UPLOAD, voc precisa de uma tabela interna para a transferncia de dados. Voc define esta tabela de acordo com sua estrutura de dados no comeo do programa. A especificao de valores default para o nome do arquivo, tipo de arquivo e um cabealho para o dilogo de arquivo opcional. Voc s especifica um valor pelo parmetro de exportao CODEPAGE quando executar um DOWNLOAD para DOS (o nico valor possvel IBM). Caso contrrio, este parmetro no usado.

ABAP
7272 DATA INTERFACE

1.00 - 33

Download

report zexemplo. tables sflight. data: begin of tab occurs 20. include structure sbc420a. data: end of tab start-of-selection. get sflight. move-correspondig sflight to tab. append tab. write: / tab-carrid, tab-connid, / tab-fldate under tab-carrid, / tab-planetype under tab-fldate. end-of-selection. call function download tables data_tab = tab. write: / lenght, bytes download to file file, format, type.

Este programa de exemplo gera um arquivo local com dados da SFLIGHT. Quando DOWNLOAD executado, necessrio somente uma tabela com os dados para o arquivo. Entretanto voc tambm pode especificar valores default para o nome do arquivo de dilogo, tipo e cabealho. Se voc no especificar o modo, o arquivo sempre ser recriado (parmetro MODE = ).

ABAP
7272 DATA INTERFACE

1.00 - 34

Upload e Download como Funes Padro

Function DOWNLOAD

Function UPLOAD DOWNLOAD

Voc pode chamar a funo DOWNLOAD a partir de uma lista (escolha System -> List -> Save -> Local file) ou carregar a listagem de um programa ABAP a partir do editor ABAP para um arquivo local Voc pode chamar a funo UPLOAD do Editor ABAP para carregar um programa ABAP a partir de um arquivo local.

ABAP
7272 DATA INTERFACE

1.00 - 35

Arquivo de Servidor e Arquivo Local

Arquivos de Servidor

Arquivos Locais

Voc processa um arquivo sequencial no servidor de aplicao em programas ABAP com declaraes READ DATASET e TRANSFER, que lhe permitem copiar dados de/para um registro de cada vez. Voc processa um arquivo sequencial local no servidor de apresentao com mdulos de funo UPLOAD, DOWNLOAD, WS_UPLOAD, WS_DOWNLOAD. Estes copiam de/para dados para uma tabela interna. Com UPLOAD e DOWNLOAD o arquivo transferido atravs de um dilogo interativo no servidor de apresentao. Para mdulos de funo WS_UPLOAD e WS_DOWNLOAD excees devem ser tratadas pelo programa chamador. Outros mdulos de funo disponveis so: WS_QUERY que confere a existncia e tamanho de um arquivo, como tambm outras variveis de ambiente. WS_EXECUTE iniciam um programa de aplicao no servidor (no SAP).

ABAP
7272 DATA INTERFACE

1.00 - 36

Overview da tarefa

External system SAP R/2 SAP R/3

SAP
As razes para transferir dados sem um dilogo interativo bsico com o usurio so: - O datasets so grandes e j existem em um meio de dados eletrnico - O dados so transferidos para outro sistema e s ento so importados para o Sistema SAP.

ABAP
7272 DATA INTERFACE

1.00 - 37

Overview - Problema

SAP Interfaces Dados Externos

SAP database

Voc no deve transferir dados externos diretamente para o banco de dados do SAP. Dados externos devem ser conferidos antes que sejam transferidos ao banco de dados do SAP.

ABAP
7272 DATA INTERFACE

1.00 - 38

Overview - Tcnicas
Grandes quantidade de dados so transferidos ao Sistema SAP atravs da tcnica batch input. Batch Input um procedimento automtico. freqentemente chamado de BDC (Batch Data Communication ou Comunicao de Dados de Grupo). Para garantir consistncia de dados, o dados de transferncia esto sujeitos s mesmas verificaes e atualizaes como dados de dilogo que so lanados interativamente pelo usurio. Exemplos: - Verificaes de formato - Verificao de valores (contra tabela de verificao ou intervalos de valores fixos) - Converso de dados de usurio para programar dados e vice-versa - Valores default de campo O dados de transferncia so armazenados temporariamente na forma de uma sesso de batch input em uma fila de arquivo. Uma sesso de batch input uma coleo de processos empresariais (transaes). Um dialogo de usurio simulado em um procedimento batch input.

Overview Programas de Telas


Em um Sistema SAP, processos de dilogo e background so controlados atravs de programas de tela. Um programa de tela controla um passo de dilogo. Os componentes de um passo de dilogo so: PBO (Process Before Output ou Processo Antes da Produo) evento que prepara a tela para produo Usurio input PAI (Process After Input ou Processo Depois da Introduo) evento que processa o usurio introduz

ABAP
7272 DATA INTERFACE

1.00 - 39

Processamento Batch Input


Batch input ou BDC (Batch Data Communication ou Comunicao de Dados de Grupo) um procedimento automtico para transferir dados para o sistema SAP sem um dialogo de usurio. Um dilogo de usurio simulado para este procedimento de forma que as mesmos verificaes e atualizaes possam ser executados. Um componente central deste procedimento uma fila de arquivos. Este arquivo recebe os dados por programas batch input e junta os dados associados em sesses. Para carregar os dados em bancos de dados de SAP, voc processa as sesses com a funo batch input (menu options System -> Services -> Batch input, Transao SM35).

Programa Batch Input


Dados so transferidos da fila de arquivos atravs de programas batch input. Estes programas executam as seguintes funes: Eles provem reas de trabalho estruturadas na forma de uma tabela interna (tabela BDC) para os dados a ser transferidos. Eles lem os dados. Eles colocam os dados na tabela BDC. Eles transferem a tabela de BDC preenchida para a fila de arquivo. A tabela BDC recebe a entrada para as transaes de transferncia de dados.

ABAP
7272 DATA INTERFACE

1.00 - 40

Fila de Arquivos Batch Input

Telas

Fila de Arquivos

Base de Dados SAP

Transao 1 Tela 1 Tela 2

Transao 2 Tela 1 Tela 2

Dados do Cliente

Dados 1

Dados 2

A fila de arquivo coleta as telas individuais e as combina em sesses. Voc processa estas sesses com a funo batch input (escolha System -> Services -> Batch Input ou chama Transao SM35). Como quando voc executa aplicaes funcionais (com transaes de incluso / alterao) na interface de dilogo, isto envia dados ao arquivo de log. Quando voc executa uma atualizao subseqentemente, o dados alcanam os bancos de dados de SAP pertinentes. O grupo introduz funo de incio nas funes de aplicao especificadas na sesso a ser processada (indicados pelos seus cdigos de transao). O dados da sesso so copiados agora para s telas que pertencem transao especificadas como online.

Formato da Sesso Batch Input


Uma sesso batch input consiste em uma parte de cabealho e uma parte de dados. A parte do cabealho armazenada na estrutura ABAP de Dictionary que so armazenadas na estrutura APQI e as partes de dados na estrutura APQD.

ABAP
7272 DATA INTERFACE

1.00 - 41

Criando uma Sesso Batch Input


Toda sesso batch input deve ser aberta e deve ser fechada. O dados para a aplicao (transaes) so inseridos na sesso batch input. Um programa batch input pode gerar vrios grupos sucessivos de batch input. Gerao paralela no possvel.

Abrir a sesso batch input

Inserir dados da transao

Fechar a sesso batch input

ABAP
7272 DATA INTERFACE

1.00 - 42

Mdulos de Funo para Programas Batch Input


BDC_OPEN_GROUP Client Session Name GROUP Lock date Delete session after Processing BDC user name BDC_INSERT Transaction code BDC table BDC_CLOSE_GROUP CLIENT HOLD KEEP USER TCODE DYNPROTAB

Mdulos de funo (grupo de funo SBDC) esto disponveis para criar sesses de batch input. Voc aprender sobre estes mdulos de funo nas pginas seguintes. Consulte tambm a documentao online.

ABAP
7272 DATA INTERFACE

1.00 - 43

Mdulo de Funo BDC_OPEN_GROUP


Para abrir uma sesso batch input deve ser utilizada o mdulo de funo BDC_OPEN_GROUP. Devem ser especificados os seguintes parmetros: CLIENT (Client/SY-MANDT) GROUP (nome de Sesso) USER (nome de Usurio/SY-UNAME) A especificao dos seguintes parmetros opcional: HOLDDATE (data de incio de processamento da sesso) KEEP (X se sesso no deve ser apagada depois de processamento com sucesso; KEEP = ' ' se a sesso deve ser deletada aps o processamento (valor default). O valores dos retornos por EXCEPTIONS podem ser tratados com SY-SUBRC. USER sempre deve ser especificado.

Mdulo de Funo BDC_INSERT


Voc usa o mdulo de funo BDC_INSERT para inserir os dados para uma transao em uma sesso. Para transferir os dados, voc deve definir uma tabela interna (tabela de BDC). Os seguintes parmetros devem ser especificados: TCODE (cdigo de transao), DYNPROTAB (tabela de BDC).

ABAP
7272 DATA INTERFACE

1.00 - 44

Tabela BDC
PROGRAM <program name> <program name> SCREEN <number 1> <number 2> START X <field 11> <field 12> X <field 21> <field 22> ... A tabela BDC comtm os dados para uma transao. O contedo da tabela BDC passado ento para a fila de arquivo. Uma linha de tabela inclui a seguinte informao: Nome de programa, nmero de tela, ID de incio, nome de campo, valor de campo. O ID de incio com 'X' indica sempre que est no comeo de uma tela nova. A introduo de valores so alocados agora para cada campo na tabela para esta tela. Para melhor esclarecimento, uma linha de tabela s deve incluir nome de programa, nmero de tela e ID de incio ou nome de campo e valor de campo. Somente os nomes de campos so alterados ou includos. <value 21> <value 22> ... <value 11> <value 12> FIELD NAME FIELD CONTENTS

ABAP
7272 DATA INTERFACE

1.00 - 45

Definindo a Tabela BDC


Voc declara a tabela de BDC como uma tabela interna com a estrutura ABAP Dictionary BDCDATA: ... DATA: BEGIN OF <bdc table> OCCURS n. INCLUDE STRUCTURE BDCDATA. DATA: END OF <bdc table>. ... O campo < BDC table>-FVAL diferencia entre letra maiscula e minscula, mas os campos < BDC table>-PROGRAM e < BDC table>-FNAM no o fazem.

ABAP
7272 DATA INTERFACE

1.00 - 46

Preenchendo a Tabela BDC


A tabela BDC fixa linha a linha. Como para toda tabela interna, voc faz isto com declaraes MOVE e APPEND. Os campos da linha de cabealho da tabela devem ser reajustados ao valor inicial com CLEAR. Sint.: form <fill_BDC table>. refresh <BDC table>. clear <BDC table>. move: <program name> to <number1> to X to append <BDC table> clear <BDC table> move: <field1> to <BDC <value1> to <BDC append <BDC table>. clear <BDC table>. move: <field2> to <BDC <value2> to <BDC append <BDC table>. ... clear <BDC table>. move: <program name> to <number2> to X to append <BDC table> ... endform.

<BDC table> - program, <BDC table> - dynpro, <BDC table> - dynbegin. table> - fnan, table> - fval. table> - fnan, table> - fval.

<BDC table> - program, <BDC table> - dynpro, <BDC table> - dynbegin.

ABAP
7272 DATA INTERFACE

1.00 - 47

Mdulo de Funo BDC_CLOSE_GROUP


Voc fecha uma sesso batch input com o mdulo de funo BDC_CLOSE_GROUP. Voc recebe vrios valores de retorno por EXCEPTIONS. Voc pode usar SY-SUBRC para avaliar o cdigo de retorno de exceo.

Dados da Transao do Usurio


Antes de escrever um programa de BDC para a funo de aplicao, voc dever saber qual ser a funo de aplicao a ser executada (de forma que o programa BDC possa simular as telas).

Preparaes para Programa BDC


Devem ser executados os seguintes passos da funo de aplicao a ser simulada. Anote: - o nome de programa e nmero de todas as telas - o nome de campo de tabela para cada campo voc dever preencher. - o nmero para cada chave de funo utilizada (comandos) - a seqncia de programa das telas Para fazer isto, voc usa a funo de sistema Status e Technical info (F1 F9 ) e o help function.

Preparaes para programa BDC Screen Painter


No Screen Painter (escolha Ferramentas -> ABAP Workbench -> Screen Painter, ou chame transao SE51), voc pode adquirir uma lista completa de campos para uma tela em particular. Esta uma alternativa funo de ajuda online).

ABAP
7272 DATA INTERFACE

1.00 - 48

Estrutura da Tabela BDC


Antes de comear a escrever o programa batch input, voc deve executar a transao e anotar o nmero das telas, seqncia das telas e o nome do campo na tela, para depois trat-los no programa. Voc entra com estes dados na tabela BDC. O nome de campo para OK code o mesmo para todas as telas: BDC_OKCODE. O valor para o OK code consiste em um atalho / e a funo chave nmero (exemplo: /11).

Funcionalidade da Transao SM35


Voc pode processar sesses com a funo Batch input (escolha System -> Services -> Batch input, ou chama a Transao SM35). Informao sobre estado provida, sucesso de tela, contedos de tela, o usurio que faz o processo, escolher o modo de processamento, servidor, como tambm o usurio para a verificao de autorizao. O usurio pode ativar Expert mode se for preciso (quando da execuo da pasta, numa tela de dilogo). Esta funo desativa mensagem de erro 344 dados de Batch input no existem para esta tela para sesso interativo de processamento. Esta opo interessante quando voc quiser ramificar a outra transao processando o que no corresponde sucesso de telas no programa batch input. A funo Estended log lhe permite registrar mensagens W, I e S alm de mensagens E. Esta opo tambm est disponvel se voc estiver processando em background.

Copiando Dados para as Telas


Quando voc processa uma sesso com a transao SM35, o sistema usa o cdigo de transao para procurar a tela de incio. S o que for relevante na sesso de dados copiado para esta tela. A tela subseqente ento processada. Primeiro o dados so lidos no banco de dados do SAP e ento os dados de sesso so copiado para a tela. Ao processar a transao, o sistema procura o prximo cdigo de transao na sesso e comea a transao.

ABAP
7272 DATA INTERFACE

1.00 - 49

Modo de Processamento
No modo Process in foreground, so exibidas todas as telas de uma transao. Se uma sesso termina anormalmente em modo de teste, voc pode usar a funo Restart para se ramificar diretamente avaliao de sesso (onde voc pode reiniciar o processo). No modo Display erros only', s so exibidas telas quando um erro acontece. Uma transao contm um erro do tipo E (erro) ou tipo A (terminao) uma mensagem de dilogo liberada. No modo Process in background', a sesso processada sem exibio das telas. Sua tela est disponvel para inserir assim que a sesso for passada ao sistema de controle de background. Quando processando uma sesso, o modo de atualizao sempre sncrono (i.e. a prxima transao s chamada quando a atualizao para a transao executada foi completada).

ABAP
7272 DATA INTERFACE

1.00 - 50

Processando o Batch Input


No modo de correo (Process in foreground ou Display errors only), voc pode controlar o processo de sua sesso escolhendo System -> Services -> Batch input ou entrando em um comando no campo de comando. Funo Sair da transao batch input ativa e flag incorreto Deletar a sesso batch input ativa Sair do processamento batch input e flag incorreto Mudana do modo display de Display errors only para Process in foreground Mudana do modo display de Display in foreground para Display errors only OK code /n /bdel /bend /bda /bde

ABAP
7272 DATA INTERFACE

1.00 - 51

Sesso Status
Uma sesso nomeada com status durante e depois do processo. Basicamente, o sistema identifica transaes que no podem ser processadas devido a erros. Estas transaes permanecem na sesso (que se torna uma sesso de erro). Voc pode processar ento novamente estas sesses e pode corrigir os erros.

ABAP
7272 DATA INTERFACE

1.00 - 52

Criando e Processando Sesses


Quando voc cria programas de batch input, tenha em mente que a criao da sesso e o processo da sesso buscam o objeto em momentos diferentes (t1 e t2). O que processado no momento t2 j foi planejado no momento t1. Exemplo de: no momento t2, o sistema de batch imput no pode responder para mensagens de dialogo (exceto se o usurio inserir em modo de correo). O sistema batch input no assume nenhum parmetro de SPA/GPA no momento t2.

Resumo das Preparaes do Usurio


Quando voc cria um programa batch input, voc dev saber qual transao ser baseada para o programa. Voc executa a transao e ento toma nota do nmero da tela, sucesso de tela e nome do campo da tela para ser enviado depois no programa. Voc inclui estes dados na tabela BDC.

ABAP
7272 DATA INTERFACE

1.00 - 53

Carregando a Tabela BDC com Table Control


Os campos de uma table control ou STEP-LOOP so enviados atravs de indexadores.

Campos Especiais
Em um programa batch input, voc pode enviar o OK code, control table / step loop de campos e posicionamento de cursor. As seguintes regras se aplicam ao preencher a tabela BDC: - O nome de campo para o OK code sempre BDC_OKCODE - Uma control table / step loop de campo tem que ter um nmero de linha vlido (ocorrncia) - O nome de campo para o cursor BDC_CURSOR.

Transaes de Batch Input com xito


No processo batch input, podemos encerrar uma transao de dois modos: - ou por uma atualizao - devolvendo ao menu principal do SAP. Uma transao no suporta batch input se iniciada por: - LEAVE TO TRANSACTION <cdigo de transao> - LEAVE TO LIST-PROCESSING (listas de relatrio) - CALL TRANSACTION<cdigo de transao> - comando de entrada de campo /n <cdigo de transao> ou /i

ABAP
7272 DATA INTERFACE

1.00 - 54

RSBDCSUB
Voc usa o relatrio RSBDCSUB para programar o processamento da sesso. Procedimento: 1. Crie uma variante, informando: - Nome da sesso (entradas genricas tambm so possveis) - Data da criao - Status da sesso - Host destino (para sistema background) - Log ampliado (extended log) 2. Crie um job para o relatrio RSBDCSUB com a variante que definimos.

Programando Trabalhos em Background (job)


Voc cria um job com a funo de definio de Jobs.. Para isto, escolha System -> Service -> Jobs or System -> Services -> Reporting -> Program -> Background, ou execute a transao SM36. Para criar o pedido, precisamos especificar um nome de job (qualquer nome que desejar), o nome do programa a ser executado e uma variante, como tambm o nome de um usurio para autorizao. Parte do planejamento termina quando salvo. Antes de fazer isto, podemos especificar o tempo de incio, qual ser a freqncia do job, se ser processado freqentemente, e os parmetros de impresso. Voc pode incluir mais entradas num job existente. Fazendo isto, teremos uma lista de entradas que voc pode editar para adequar a suas exigncias. Em ambientes distribudos, podemos especificar uma mquina designada onde o processo ser executado (escolha isto teclando F4). Especificando uma classe de trabalho, podemos determinar a prioridade e tipo de um trabalho.

ABAP
7272 DATA INTERFACE

1.00 - 55

Autorizaes para Processar Batch Input


O objeto de autorizao S_BDC_MONI usado para controlar a autorizao de processamento de BATCH INPUT. Voc pode usar este objeto de autorizao para restringir o processo a sesses particulares (especificando o nome de sesso, ou fazendo entrada genrica). Voc tambm pode proteger atividades especficas em um processo batch input (fazendo uma entrada no campo Activities).

ABAP
7272 DATA INTERFACE

1.00 - 56

Overview - Resumo
Quando o batch input utilizado para importar dados de um sistema do cliente, o programa batch input geralmente transfere os dados em um arquivo sequencial. Cria-se um arquivo sequencial com um programa de transferncia do cliente. Usa-se um programa de batch input (o programa de transferncia da SAP) para transferir os dados de um arquivo sequencial para um arquivo do SAP. O sistema SAP oferece programas standard de batch input para vrios casos de transferncia de dados. Isto significa que no preciso criar outro programa pois o sistema j possui programas batch input. Porm, os dados que prov devem estar em um formato pr-definido para o programa da SAP.

ABAP
7272 DATA INTERFACE

1.00 - 57

Arquivo Sequencial no Formato da SAP


Os registros de dados de um arquivo sequencial deve ter um formato que pode ser lido por um programa batch input da SAP. As aplicaes provem descries de estrutura para o grupo de programas standard batch input da SAP no ABAP Dictionary. As descries da estrutura e a estrutura de um arquivo sequencial dependem da aplicao. Eles so descritos na documentao para o grupo de programas standard batch input da SAP. Exemplo : Em Contabilidade Financeira, h trs tipos diferentes de registros de dados: Type 0: Type 1: dados do cabealho da Sesso (por exemplo: nome de sesso). dados do cabealho da Transao (por exemplo: cdigo de transao).

Type 2: dados da tabela da SAP (por exemplo: nome de tabela, nome de campo, contedos de campo etc.).

ABAP
7272 DATA INTERFACE

1.00 - 58

Anlise de Dados
H uma anlise de dados no comeo de toda transferncia de dados. Na anlise de dados, voc decide quais dados podem ser transferidos e como. Proceda como segue: - Compare seus dados antigos com os campos de dados no Sistema SAP. - Defina que campos podem ser transferidos dos dados antigos diretamente ao Sistema SAP. - Crie regras para preencher os campos de dados no Sistema SAP onde no podem ser usados dados antigos diretamente.

ABAP
7272 DATA INTERFACE

1.00 - 59

Programa de Transferncia
A tarefa de um programa de transferncia de cliente criar registro de dados no formato do SAP e os transferir para um arquivo sequencial. Os dados podem ser lidos ento por um programa standard batch input da SAP.

ABAP
7272 DATA INTERFACE

1.00 - 60

Importando Estruturas SAP


Requer as descries da estrutura SAP para o programa de transferncia. Se escreve o programa de transferncia em ABAP, usa-se a declarao tabelas para transferir as descries da estrutura diretamente do ABAP Dictionary. O sistema SAP tambm suporta a criao de programas de transferncia em outras linguagens de programao (COBOL, C, PL/l): Voc gera as descries da estrutura na respectiva linguagem de programao utilizando o programa ABAP RDDSRCGO. Estas descries da estrutura esto ento disponveis em um arquivo sequencial e voc pode inclui-los em seu programa de transferncia.

ABAP
7272 DATA INTERFACE

1.00 - 61

Inicializando e Convertendo
Para todo campo utilizado na estrutura batch input, uma deciso deve ser tomada se o valor do campo inicial (por exemplo: campo deve ser reajustado para um valor inicial) ou se o batch input no necessrio para este campo. Se os dados do batch input no sero colocados em determinados campos no Sistema SAP, o grupo de programas standard de batch input espera um carter especial (NODATA flag). O carter especial default /, mas podemos definir seu prprio carter com o campo BGR00-NODATA. Voc deve ento inicializar o estruturas batch input da SAP com este caracter especial. Se os campos com as estruturas antigas so de um tamanho diferente de acordo com as estruturas do SAP, o programa de transferncia dever executar as converses. Os campos de estruturas batch input da SAP sempre so tipo C.

ABAP
7272 DATA INTERFACE

1.00 - 62

Outras Tarefas Transferncia

de

um

Programa

de

Estas so outras tarefas que os programas de transferncia de cliente podem executar. Exemplos: Dados individuais de clientes podem ser conferidos (verificar se devem ser transferidos dados de fato, por exemplo). Dados de acordo com regras definidas podem ser convertidos (nmeros novos no Sistema SAP sero nomeados como nmeros particulares no sistema, por exemplo). Podem ser escritos dados incorretos em uma tabela de erro do cliente depois da verificao de dados.

ABAP
7272 DATA INTERFACE

1.00 - 63

IMG Caminhos no menu para transferncias de dados


Os caminhos do menu para encontrar os programas de transferncia de dados so mostrados no Customizing. Voc tem acesso as funes de Customizing pelo guia de instalao. Para documentao detalhada nas funes individuais, aperte F1 and/or a funo de ajuda ampliada.

ABAP
7272 DATA INTERFACE

1.00 - 64

Batch Input, Call Transaction e Direct Input


Como uma alternativa para BATCH INPUT, h programas de aplicaes especficas que usam a tcnica DIRECT INPUT. Ao transferir grande volume de dados (mais de 10000 transaes), pode se alcanar melhorias considerveis de desempenho com DIRECT INPUT. Como CALL TRANSACTION USING, direct input um dos meios de atualizar dados imediatamente (nenhuma sesso gerada). Porm, ao contrrio de CALL TRANSACTION USING ou batch input, nenhuma tela envolvida. Ao invs disso, os dados so importados chamando mdulos de funo que conferem os dados e ento os transferem diretamente para as tabelas de banco de dados. Desde ento direct input oferece um mecanismo que reinicia no caso de um erro, os programas s podem executar como jobs em background. Voc administra e comea estes trabalhos com o relatrio RBMVSHOW ou Transao BMV0. Exemplos: RFBIBLOO FI RMDATIND MM RVAFSSOO SD arquivo externo para FI. RKEVEXTO CO-PA Rentabilidade. RAALTD11 AM Pode ser trocado entre direct input, batch input e CALL TRANSATION. Direct input. Importaes registros do mestre de materiais. Direct input. Gera os documentos de fatura de SD e documentos de um Direct input. Transferncia de dados externos para Anlise de Direct input. Cria registros do recurso mestre.

ABAP
7272 DATA INTERFACE

1.00 - 65

Tarefas de um Programa de Transferncia


O diagrama d uma avaliao das tarefas de um programa de transferncia (obrigatrio e opcional).

Define estruturas antigas

Importa estruturas SAP

Inicializa estruturas SAP

L o registro de dados

Checagem dos dados

Converso dos Dados

Coloca dados na Estrutura do SAP

Transfere o registro de dados para uma srie de arquivos

ABAP
7272 DATA INTERFACE

1.00 - 66

Transferncia de Dados com Batch Input


O diagrama d para uma avaliao das atividades requerida para uma transferncia de dados.

Analise dos Dados

Gerar estruturas no SAP

Desenhar o programa de transferncia

Criar a seqncia de arquivos

Criar o programa de batch input

Criar a sesso do batch input

Analisar os resultados

Avaliar os erros

ABAP
7272 DATA INTERFACE

1.00 - 67

Overview
Ao contrrio de batch input, a declarao CALL TRANSACTION lhe permite passar dados diretamente para a interface de dilogo (sem usar a lista do arquivo ). para armazenar dados de tela temporariamente, usa-se uma tabela interna (uma tabela BDC que tem a mesma estrutura do batch input). Ento, chamamos a transao desejada temporariamente em seu programa e as cpias de dados do sistema as armazenaro na tabela BDC para as telas da transao.

ABAP
7272 DATA INTERFACE

1.00 - 68

Declarao CALL TRANSACTION


Com batch input, podemos escolher um modo de exibio particular para processar a transao. Podemos tambm especificar um modo de atualizao. Em processos de atualizaes assncronas, a transao chamada no espera pelas atualizaes de banco de dados executados, mas passa da atualizao para a tarefa de atualizao. Em processos de atualizaes sncronas, espera-se at que a atualizao seja completada. Embora a atualizao sncrona seja mais lenta que atualizao assncrona, tambm mais segura porque a transao chamada pode informar qualquer erro para o programa de chamada. Em batch input, o modo de atualizao sempre 'S' (sncrono). Os parmetros MODE e UPDATE so opcionais. O default para ambos 'A' (assncrono). A opo MESSAGES INTO <messtab> lhe permite armazenar qualquer mensagem produzida pela transao chamada em uma tabela interna. A tabela interna <messtab> deve ter a estrutura BDCMSGCOLL.

ABAP
7272 DATA INTERFACE

1.00 - 69

Implementao Tcnica
O sistema abre uma segunda rea (janela) para a transao chamada. L, processa as telas individuais e copia os dados da tabela. Quando a transao termina, a segunda rea (janela) lanada e o processo continua na primeira rea (janela). Notas: Em contraste com batch input, no h nenhum erro sendo anotado. Se a transao chamada processada, depende da autorizao do usurio que a executou. A tabela BDC pode aceitar s dados para uma nica transao. Isto significa que antes da prxima chamada de transao, tem que executar um REFRESH na tabela de BDC e preencher com dados novamente.

ABAP
7272 DATA INTERFACE

1.00 - 70

Cdigos de Retorno e Variveis de Sistemas


Para descobrir se o processo da transao chamada teve xito ou no, podemos ler o valor do cdigo de retorno (sy-subrc). Tambm existem outros variveis de sistema que contm o nmero, ID, tipo e varivel da mensagem produzido pela transao chamada. Podemos usar estas informaes para exibir o texto da mensagem. Podemos obter toda a produo de mensagens da transao atravs da opo MESSAGES INTO <messtab> e ento avaliar o contedos de <messtab>.

Gerao de Mensagem
A declarao MESSAGE lhe permite produzir as mensagens de dilogo para a transao chamada. A mensagem que informa o sucesso ou fracasso do processo liberada automaticamente. Recomendase que use a declarao MESSAGE como acima, se est sendo executado em background.

BATCH INPUT -RESUMO

CALL

TRANSACTION

Batch input e CALL TRANSACTION so duas declaraes com opes diferentes para copiar dados para telas em uma transao de aplicao.

ABAP
7272 DATA INTERFACE

1.00 - 71

O Mtodo Direct Input


Um arquivo sequencial que contm dados em formato de carter a interface entre um sistema de legado e o sistema R/3. O mtodo Direct Input usa um arquivo sequencial como meio de introduo para executar a transferncias de dados de um sistema no-R/3 para o sistema R/3 . O mtodo Direct Input uma tecnologia que prov programas de aplicao especial usando mdulos de funes especficos projetados pela aplicao para processar altos volumes de dados de transaes no sistema R/3. A tcnica deste mtodo usar operaes de ordem de tamanho para dirigir vrios registros de cada vez. Consequentemente, ocorrem melhorias considerveis de desempenho e de tempo de processamento no mtodo Direct Input. Os mdulos de funes de aplicaes especiais so escritos e so providos nas aplicaes apropriadas pelos programadores da espectiva aplicao. O mtodo Direct Input prov uma administrao e a ferramenta de monitorao para a manipulao deste mtodo acessvel pela transao BMVO. A vantagem do mtodo Direct Input que as tabelas de aplicaes so atualizadas diretamente, com dados da seqncia de arquivos aps a verificao lgica de aplicaes normais ter sido executada com sucesso. Nenhuma tela de aplicaes invocada e tambm nenhuma sesso de batch input registrada. Os dados a serem transferidos so conferidos pelos mdulos de funo e quando processados com sucesso so transferidos diretamente para as tabelas de banco de dados das aplicaes envolvidas. O sistema R/3 de banco de dados atualizado diretamente com sucesso tendo como fonte os arquivos sequenciais. Como no chamado nenhum programa do sistema de atualizao - um gargalo eliminado para aumentar o tcnica de desempenho global. Um exemplo de uma aplicao R/3 que prov uma funo que usa uma tecnologia de introduo direta o alto volume de dados transferidos para o Mestre de Material. Outro exemplo so os dados transferidos de documentos financeiros de contabilidade.

ABAP
7272 DATA INTERFACE

1.00 - 72

Processo de Gravao do Batch Input


Iniciar o registro do batch input selecionando o pushbutton de gravao do batch input pela tela inicial ou simplesmente use a transao SHDB. O nome gravado ser o nome da sesso batch input. Entrar com a transao no SAP e comece a executar a transao. Depois que voc completou a transao do SAP escolha Get Transaction e Save para terminar a gravao ou Next Transaction e fixe outra transao. Uma vez que voc tenha salvo o batch input voc pode mudar, exibir, apagar a gravao e gerar uma sesso de batch input para gravar e/ou gerar um programa de batch input da gravao. O programa batch input pode ser regerado se uma mudana foi feita na sesso gravada.

Вам также может понравиться