0.2 - Comandos de Saída e DeclaraçSes

31
8/18/2019 0.2 - Comandos de Saída e DeclaraçSes http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 1/31 Treinamento Comandos de Saída e Declarações

Transcript of 0.2 - Comandos de Saída e DeclaraçSes

Page 1: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 1/31

TreinamentoComandos de Saída e Declarações

Page 2: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 2/31

Comandos de Saída e Declarações – Introdução

 – Parte 1: Comandos de Saída

 – WRITE e SKIP

 – Formatação

 – Snta!e

 – "EW#P$%E

 – &cones e sím'olos

 – Te!tos de ca'eçal(o – Te!t s)m'ols *Sím'olos de te!to+

Page 3: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 3/31

Comandos de Saída e Declarações – Parte , – Declarações de Dados

 – T-os elementares

 – Declarando .ar/.es

 – 0alores ncas

 – sando o 23IKE4

 – Constantes

 – T-os de Dados de5ndos -elo su/ro

 – Taman(o de saída e aln(amento -adrão – Saída de cam-os num6rcos

Page 4: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 4/31

Comandos de Saída e Declarações – $tr'undo .alores

 – E!-ressões $rtm6tcas

 – Re5erencando -artes de cam-os

 – Parameters

 – Te!tos de seleção

 – Feld#S)m'ols *sím'olos de cam-o+

 – Strn7s e Feld S)m'ols

 – $ssnalação Dn8mca de Cam-os*D)namc Feld $ss7nment+

Page 5: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 5/31

Introdução

Esta apresentação fará uma introduçãode comandos simples de saída para

relatório e de declaração de variáveis.

Page 6: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 6/31

Parte 1:Comandos de Saída

Page 7: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 7/31

WRITE e SKIP

WRTE ! o comando "ue imprime uma variável# campo ou te$to literalna saída do pro%rama &output'.

( utili)ação sucessiva de WRTE causará a saída na mesma lin*a at!a lin*a ficar c*eia. Em se%uida a saída

continuará na lin*a de +ai$o., comando S- fa) com "ue uma lin*a em +ranco se/a inserida. 0possível inserir mais de uma lin*a em +ranco &S- 1n2'.

E$istem variáveis especiais c*amadas variáveis de sistema.Elas são definidas na estrutura S3ST e são

referenciadas usando4se S341nome do campo2.

REPORT ZPRIMEIRO.

 WRITE ‘Primeiro relatório’.

SKIP 1.

 WRITE : ‘Data:’,

  SY-DATM.

 !t"t#lo $o %ro&rama' 

------------------------

Primeiro relatório

Data: (1)(1)*((1

Códi%o Saída

Ca+eçal*o

padrão

Page 8: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 8/31

Formatação

nserindo 567 após o WRTE indica uma "ue+ra de lin*a.Tam+!m ! possível indicar a posição e o taman*o da saída com o

comando WRTE 1posição2&taman*o'.89:E cria uma lin*a *ori)ontal com a posição e lar%ura dese/ada., sufi$o 8:DER permite imprimir a saída diretamente a+ai$o deum campo6variável "ue /á ten*a sido impresso# mas para isso !

necessário inserir uma "ue+ra de lin*a.

REPORT ZPRIMEIRO. WRITE ‘Primeiro relatório’.

SKIP 1.

 WRITE : + ‘Data at#al:’, SY-DATM,

  ) + ‘ora:’,

  SY-ZEIT DER SY-DATM.IE )+/+(0.

 !t"t#lo $o %ro&rama' ------------------------

  Primeiro relatório

  Data at#al: (1)(1)*((1

  ora: 11:*(:(1  ------------------------------

Códi%o Saída

Page 9: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 9/31

Snta!e

9 WRTE 1formato2 1valor2 1opções2.

Tam+!m ! possível inserir opções e$tras de formatação nocomando WRTE# al%umas delas são;

 – 9E<T4=8ST<ED > alin*a ? es"uerda. – R@AT4=8ST<ED > alin*a ? direita. – CE:TERED > centrali)a &necessário especificar o taman*o'. – :,4@( > retira os espaços entre os campos. – 8S:@ EDT B(S- > especifica um formato de saída.

 – 8S:@ :, EDT B(S- > desa+ilita todos os formatos de saída. – :,4ER, > remove )eros "ue este/am ? es"uerda# trocando porespaços.

Page 10: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 10/31

"EW#P$%E

, comando :EW4(@E inicia uma pá%ina nova a "ual terá oca+eçal*o e$i+ido novamente.

Se o ca+eçal*o padrão não foi suprimido&com :, ST(:D(RD (@E AE(D:@'# a numeração de pá%ina

&S34(@:,' será e$i+ida acrescida de uma unidade.

RESERE 1n2 9:ES se asse%ura "ue 1n2 lin*as serão impressasna mesma pá%ina# caso contrário essas lin*as serão impressas

na pró$ima pá%ina.

Page 11: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 11/31

&cones e sím'olos

ara ser possível imprimir ícones e sím+olos no relatório deve4sedeclarar os includes C,: &para ícones' e S3B,9 &para

sím+olos' no pro%rama.Em se%uida# usa4se o

WRTE 1ícone2 (S C,: ouWRTE 1sím+olo2 as S3B,9.

,s pro%ramas SA,WC,: e SA,WS3B e$i+em a lista%emcompleta de ícones e sím+olos do ((.

,+s.; ara as versões mais recentes recomenda4se usar ocomando T3E4,,9S para declarar os includes para ícones e

sím+olos.

Page 12: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 12/31

Te!tos de ca'eçal(o

(cessando4se Goto -> Text elements -> List headings pode4seeditar o te$to de ca+eçal*o das pá%inas e tam+!m at! F lin*as de

título de ca+eçal*o das colunas.

Page 13: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 13/31

Te!t s)m'ols *Sím'olos de te!to+

Sím+olos de te$to são como macros de te$to. Eles sãoreferenciados com um nGmero se"Hencial no pro%rama e

mantidos ? parte.Iuando um sím+olo de te$to ! usado na verdade ! o seu

conteGdo "ue vai ser e$i+ido.

Sím+olos de te$to são muito utili)ados para manter te$tos emlin%ua%em diferentes. , mesmo sím+olo ! utili)ado no pro%ramamas o te$to "ue o su+stitui na saída depende da lin%ua%em do

usuário.

ara referenciar um te$to no pro%rama usa4se TEJT4JJJ ou1strin% de te$to2&JJJ'# onde 5JJJ7 ! um nGmero de trKs dí%itos.

(cessa4se os sím+olos de te$to usando4se@oto 42 Te$t elements 42 Te$t sLm+ols ou clicando4se duas ve)es

em um elemento de te$to /á referenciado.

Page 14: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 14/31

Te!t s)m'ols *Sím'olos de te!to+

REPORT ZPRIMEIRO.

 WRITE ‘Primeiro relatório’.

SKIP 1. WRITE : TET-((1.

 WRITE : ‘Primeiro Te2to’/((10.

Page 15: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 15/31

Page 16: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 16/31

T-os elementares

São os se%uintes os tipos elementares de dados do ((;

9 Caractere &tLpe C' > Te$to de taman*o variável e mínimo de M.9 Te$to num!rico &tLpe :' > Te$to "ue ! tratado como nGmero

internamente# de taman*o variável e mínimo de M.9 nteiro &tLpe ' > :Gmero inteiro.9 acNed &tLpe ' > 8sado em cálculos com valores monetários.9 onto flutuante &tLpe <' > :Gmero de ponto flutuante# usado para

arma)enar valores de %raned ma%nitude.9 Data &tLpe D' > ermite arma)enar datas no formato ((((BBDD.9 Time &tLpe T' > ermite arma)enar *otas no formato AABBSS.

9 Ae$adecimal &tLpe J' > <ormato *e$adecimal de taman*o variável emínimo de M.

,+s.; E$istem dois novos tipos STR:@ e R(WSTR:@ "ue secomportam como con/untos de caracteres.

Page 17: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 17/31

Declarando .ar/.es

9 D(T( 1variável2&1taman*o2' T3E 1tipo2 (98E 1padrão2

, taman*o ! opcional e só ! definido em variáveis "ue podem tero taman*o especificado; C# :# e J.

(98E define o valor inicial de uma variávele ! i%ualmente opcional.

Declarar uma variável sem o tipo indica "ue ! do tipo padrão C# seessa variável não tiver taman*o definido então o taman*o

padrão ! M.

S(CE ! uma palavra reservada no S("ue si%nifica espaços em +ranco.

( função STR9E: pode ser utili)ada para determinar a lar%ura deuma variável caractere.

Page 18: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 18/31

Page 19: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 19/31

sando o 23IKE4

8sando4se 9-E ao inv!s de T3E em declarações ! possível criarvariáveis6estruturas com o mesmo tipo e taman*o de umavariável6estrutura /á e$istente.

,s valores padrões não são copiados.

REPORT ZPRIMEIRO.

DATA : W3OME/+(0 TYPE 4 5AE ‘5AOR II4IA’,

  W3APE/+(0 TYPE 4,

  W3DATA TYPE D.

REPORT ZPRIMEIRO.

DATA : W3OME/+(0 TYPE 4 5AE ‘5AOR II4IA’,

  W3APE/+(0 IKE W3OME,

  W3DATA IKE SY-DATM.

Page 20: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 20/31

Constantes

9 C,:ST(:TS 1const2&1taman*o2' T3E 1tipo2 (98E 1padrão2

Constantes são valores imutáveis dentro de um pro%rama

"ue são associados a uma palavra c*ave. Seus nomes devemcomeçar com 5C7 e podem ter no má$imo P caracteres.Constantes são declaradas com a palavra c*ave C,:ST(:TS# a

sinta$e ! +em similar ? da declaração de variáveis.(98E deve ser sempre especificado nesse caso.

( adição 9-E tam+!m pode ser usada da mesma forma "ue emdeclaração de variáveis.

Page 21: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 21/31

T-os de Dados de5ndos-elo su/ro

ara definir um tipo de dados use a palavra c*ave T3ES.8m tipo de dados definido pelo usuário pode ser utili)ado para

definir variáveis e constantes., taman*o má$imo do nome do tipo de dados ! P

 e deve começar com uma letra.

,+s.; :ão pode ser utili)ado o sufi$o (98ES com T3ES.

TYPES: AME/+60 TYPE 4,TEAMS/*(0 TYPE 4.

DATA: PAYER   TYPE AME  5AE ‘Tro7 Ai8ma9’, I4KAME IKE PAYER.

4OSTATS: 43TEAM1 TYPE TEAMS 5AE ‘4o;o7<’,43TEAM* IKE TEAM1 5AE ‘Pa=8er<’.

Page 22: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 22/31

Taman(o de saída e aln(amento -adrão

Se um o+/eto de dados for impresso sem definição de taman*oentão a saída será no taman*o e alin*amento padrão.

ara imprimir dados com um taman*o diferente do padrão deve4se

definir o taman*o entre parKnteses na instrução WRTE;WRTE &MP' UvarM.ara imprimir dados com alin*amento diferentes deve4se usar as

palavras c*aves 9E<T4=8ST<ED# R@AT4=8ST<EDe CE:TERED após o o+/eto de dados;

WRTE UvarM CE:TERED.

Taman*o padrãoTaman*o padrão

CC OO declaradodeclarado OO MVMV OO &V declarado' M&V declarado' M<< OO VVVV:: OO declaradodeclaradoDD OO MPMPTT OO XX

JJ OO &V declarado'&V declarado'

(lin*amento padrão(lin*amento padrão

CC OO es"uerdaes"uerda OO direitadireita OO direitadireita<< OO direitadireita:: OO es"uerdaes"uerdaDD OO  es"uerdaes"uerdaTT OO  es"uerdaes"uerda

JJ OO  es"uerdaes"uerda

Page 23: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 23/31

Saída de cam-os num6rcos

DECB(9S define o nGmero de casas decimais de saída.

R,8:D arredonda campos num!ricos.EJ,:E:T determina o valor do e$poente para campos tipo <9,(T.

Campos tipo só arma)enam casas decimaisse o sufi$o DECB(9S for usado na declaração.

D(T(; <9,(T T3E < (98E 5YX.Z[\FVMEV7#

(C- T3E (98E MV#:T T3E (98E V.

WRTE; 6 <9,(T# 6 <9,(T EJ,:E:T M DECB(9S # 6 <9,(T EJ,:E:T P DECB(9S V# 6 (C-# 6 (C- DECB(9S M# 6 :T DECB(9S V.

Y.XZ[\FVMPPPPPPPEPYXZ.[\FEPM

YXZ[.\F

MVMV.P

V.PP

Page 24: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 24/31

 $tr'undo .alores

E$istem diversas maneiras de atri+uir valores a um o+/eto de dados;

B,E 1valor2 T, 1campo2.

]C,B8TE^ 1campo2 O 1valor ou e$pressão2.COMPUTE é opcional.

(DD 1value2 T, 1field2.S8TR(CT 1value2 <R,B 1field2.

B89T93 1field2 3 1value2.DDE 1field2 3 1value2.

Iuanto atri+uindo valores entre o+/etos de tipo diferentes o S(e$ecuta conversões automáticas "uando possível.

,+s.; 8:(C- ! uma instrução especial "ue converte umo+/eto de dados tipo em um tipo C.

Page 25: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 25/31

E!-ressões $rtm6tcas

(o se pro%ramar e$pressões aritm!ticas no (( deve4se prestar

muita atenção ao espaçamento. Sempre deve e$istir um espaçoseparando operadores e parKnteses dos ar%umentos.,rdem de e$ecução; parKnteses# funções# e$ponenciação#

57 567 D e B,D# 57 e 547.ariáveis não num!ricas são automaticamente

convertidas antes de uma e$pressão ser avaliada.

4OTER > 4OTER ? 1.

SAARY > @ASE @OS3PER4ET.

EBT > STRE/ AME 0.

 ASWER > / 1( ? SCRT/ M1 0 0 ) / M* - 1( 0.

<unções

SIRT# EJ# 9,@#S:# C,S# STR9E:# . . .

,peradores

4 6 D and B,D

Page 26: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 26/31

Re5erencando -artes de cam-os

ara referenciar partes de um campo usa4se o ,<<SET e o 9E:@TA.,<<SET ! o posicionamento em relação ao início

da variável# sendo o início O P.9E:@TA ! simplesmente o taman*o "ue a parte do campo terá#

definido entre parKnteses., formato da referKncia de uma parte de campo

sempre será 1campo21offset2&1taman*o2'.

DATA: 4STOMER/1(0 TYPE 4,I53DATE IKE SY-DATM.

4STOMER > ‘1*+6FGH(’.I53DATE > ‘1HH(*’.

 WRITE: ) 4STOMER ?G/*0, ‘22’,I53DATE/0.

Start o Mo9tJI53DATE?/*0 > ‘(1’.4STOMER ? > ‘A@4D’.

 WRITE: ) 4STOMER, ‘------’, I53DATE.

YP $$ MYY[MVF\[(CD 44444 P[6PM6MYY[

Page 27: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 27/31

Parameters

9 (R(BETERS 1nome2&1tam.2' T3E 1tipo2 DE<(89T 1padrão2.

(R(BETERS são variáveis utili)adas para entradade dados em telas de seleção de relatórios.

8m (R(BETER só rece+e um dado por ve)# seu nome devecomeçar por 57 e tem um taman*o má$imo de X.

Page 28: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 28/31

Te!tos de seleção

8sando4se elementos de te$tos ! possível definir a descrição dos campos na telade seleção.

ara isso deve4se acessar Goto -> Text elements -> Selection texts., te$to "ue for definido no elemento de te$to aparecerá na tela.

,+s.; ! necessário ativar o códi%o fonteantes de definir os te$tos de seleção.

Page 29: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 29/31

Feld#S)m'ols *sím'olos de cam-o+

8m <E9D4S3B,9 ! um ponteiro "ue rece+e

o endereço não o valor do campo., <E9D4S3B,9 pode referenciar tanto variáveis "uanto estruturas., <E9D S3B,9 deve ser sempre declarado e

referenciado entre 515 e 527.(SS@: fa) a li%ação entre o <E9D S3B,9 e o

 o+/eto de dados.

DATA: M TYPE I 5AE 1*.IED-SYM@OS: !1',

 !*' TYPE I, !+' IKE M.

 ASSIB: M TO !1', M TO !*', M TO !+'.

 WRITE: ) ‘i9Ja 1:’, M, !1', !*', !+'. !1' > +*. WRITE: ) ‘i9Ja *:’, M, !1', !*', !+'.

9in*a M; MV MV MV MV9in*a V; V V V V

Page 30: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 30/31

Strn7s e Feld S)m'ols

0 possível associar um <E9D S3B,9 a uma parte de um campo# noentanto "ual"uer operação com esse <E9D S3B,9 irá afetar

somente a parte assinalada.

DATA: W3STRIB/+(0 5AE ‘A@4DEBILK’.IED-SYM@OS: !TESTE'.

 ASSIB: W3STRIB?*/60 TO !TESTE'.

 WRITE: ) ‘STRIB:’, W3STRIB.IE.

 WRITE: ) ‘SM@OO:’, !TESTE'.

IE. !TESTE' > ‘1*+6FGH(’. WRITE : ) ‘SM@OO:’, !TESTE'.IE.

 WRITE : ) ‘STRIB:’, W3STRIB.

Page 31: 0.2 - Comandos de Saída e DeclaraçSes

8/18/2019 0.2 - Comandos de Saída e DeclaraçSes

http://slidepdf.com/reader/full/02-comandos-de-saida-e-declaracses 31/31

 $ssnalação Dn8mca de Cam-os*D)namc Feld $ss7nment+

(ssinalação Din_mica de Campos consiste em associar um <E9D S3B,9a um campo cu/o nome não ! con*ecido at! o momento da e$ecução.

Caso o (SS@: fal*e# a variável de sistemaS34S8RC rece+e um nGmero não4)ero.ara assinalar um campo dinamicamente deve4se dei$ar o campo entre

parKnteses

PARAMETERS P3IED/G0 DEAT ‘SY-ZEIT’.IED-SYM@OS !SYM@O'.

 ASSIB /P3IED0 TO !SYM@O' .

I SY-S@R4 > (. WRITE: ) ‘4o9teN$o $o 4am%o’, P3IED, !SYM@O'.

ESE. WRITE: ) ‘A<<i9alao $o =am%o’, P3IED, ‘alJo#’.

EDI.