Anda di halaman 1dari 4

Tabelas Internas Parte II

16 DE SEPTEMBER DE 2012 0 C O MMENTS

Processando registros
Para acessar um registro dentro de uma tabela interna geralmente voc vai precisar de umawork area, que nada mais do que uma estrutura do mesmo tipo da tabela interna. Os comandos a seguir so utilizados para manipular registro na tabela interna utilizando a work area (existe o conceito de header line, que est no fim do post).

APPEND Adiciona o contedo da work area ao fim da tabela interna. Esse comando s pode ser usado com tabelas do tipo Standard.
A P P E N Dw aT Oi t a b .

E tambm pode ser usado para adicionar o contedo de vrias linhas de uma tabela a outra tabela interna do tipo Standard.
A P P E N DL I N E SO Fi t a b 1 T Oi t a b 2 .

INSERT Insere o contedo da work area na tabela interna. No caso da tabela interna ser do tipo Standard, os valores so inseridos no fim. Se a tabela for do tipo Sorted os registros sero inseridos no lugar correto de acordo com a chave. Caso a tabela for Hashed, o contedo ser inserido de acordo com o algoritimo de hash.
I N S E R Tw aI N T OT A B L Ei t a b

E tambm copia o contedo de vrias linhas de uma tabela interna para outra tabela interna.
I N S E R TL I N E SO Fi t a b 1 T Oi t a b 2 .

Exemplo:
D A T A :I T _ D D 0 2 DT Y P ES T A N D A R DT A B L EO Fd d 0 2 d ,

W A _ D D 0 2 DL I K EL I N EO FI T _ D D 0 2 D . " p r e e n c h e n d oo

DELETE Apaga linhas de uma tabela interna.

D E L E T Ei t a b.

SORT Ordena a tabela interna, tanto as Standards como as Hashed em ordem crescente e decrescente. Tabelas do tipo Sorted table j fazem isso automaticamente.
S O R Ti t a b.S O R Ti t a bB Yc a m p o .S O R Ti t a bB Yc a m p oA S C E N D I N G .

READ Copia o contedo da linha da tabela para a work area (estrutura).


R E A DT A B L Ei t a bI N T Ow a .

Exemplo:
D A T A :i t _ d d 0 2 dT Y P ES T A N D A R DT A B L EO Fd d 0 2 d ,

w a _ d d 0 2 dL I K EL I N EO Fi t _ d d 0 2 d ." . . .p r e e n c h i m e n t o

LOOP ENDLOOP O loop copia o conteudo de cada linha (uma-a-uma) na work area definida pela clausula INTO. Dentro do loop o contedo da work area pode ser exibido ou alterado e tambm pode ser usado para atualizar a tabela interna.
L O O PA Ti t a bI N T Ow a. " . . .E N D L O O P .

Exemplo:
D A T A :i t _ d d 0 2 dT Y P ES T A N D A R DT A B L EO Fd d 0 2 d ,

w a _ d d 0 2 dL I K EL I N EO Fi t _ d d 0 2 d ." . . .p r e e n c h i m e n t o

MODIFY Sobrescreve (atualiza) o contedo da linha da tabela com o contedo da work area.
M O D I F YT A B L Ei t a bF R O Mw a.

Exemplo:
D A T A :i t _ d d 0 2 dT Y P ES T A N D A R DT A B L EO Fd d 0 2 d ,

w a _ d d 0 2 dL I K EL I N EO Fi t _ d d 0 2 d . " . . .p r e e n c h i m e

COLLECT Insere o contedo de uma work area em uma tabela interna ou atualiza uma tabela interna onde as chaves primrias coincidem com a work area.
C O L L E C T w aI N T Oi t a b .

REFRESH Apaga todo o contedo da tabela interna e no libera a alocao de memria para ser usada novamente.
R E F R E S Hi t a b .

CLEAR Para as tabelas que no tm header line o funcionamento ser o mesmo do comandoREFRESH. Agora, se a tabela interna possuir o header line, este comando apagar apenas o contedo do header line.
C L E A Ri t a b .

FREE Este comando apaga todo o contedo da tabela interna e libera a memria que havia sido reservada anteriormente. Use esse comando para apagar tabelas internas que no sero mais usadas no programa.
F R E Ei t a b .

HEADER LINE
O Header Line o Work Area embutido na Tabela Interna. A instruo WITH HEADER LINE na definio da tabela interna te d a opo de criar uma tabela com um header line. Quando criamos uma tabela interna com esta instruo, a mesma ser criada automaticamente com um work area prprio. Isso simplifica a sintaxe dos comandos INSERT, DELETE e READ. Mesmo com essa pequena vantagem, a SAP est desmotivando o uso do header line pelos seguintes motivos: A work area criada automaticamente tem o mesmo nome da tabela interna, o que as vezes deixa a leitura do programa dificil. Tabelas com header lines no so permitidas em data objecs complexos (que tem estruturas

dentro de estruturas, por exemplo) e tambm no permitida na extenso orientada a objetos do ABAP (ABAP Objects). Como vamos encontrar vrios programas antigos usando header line, abaixo vemos a comparao entre header line e work area para que voc possa distinguir:

*C o mH e a d e rL i n eI N S E R Ti t a bI N D E Xn .D E L E T ET A B L Ei t a b .R E A DT A B L Ei t a bI N D E Xn .W R I T Ei t a b c a r r i d

*C o mW o r kA r e aI N S E R Tw aI N T Oi t a bI N D E Xn .D E L E T ET A B L Ei t a bF R O Mw a .R E A DT A B L Ei t a bI N T Ow a

At a proxima!

Anda mungkin juga menyukai