Está en la página 1de 8

1.

Introduccin a la programacin
1.1 Definicin de datos
1.1.1 Tipos de datos.
Los tipos de datos que se pueden utilizar en ABAP /4 son los siguientes: Tipos C $ ) P 1 5 " Long. por defecto 1 % 4 1 % 1 % / Longitud posible 1-32000 % 4 1-32000 1-1/ 1-22%30 % / Valor inicial ESPAC !S 0&0E'00 0 *0000+ 0 #+00+ 00000000 000000 Descripcin "e#to Punto (lotante Entero "e#to nu,-ri.o )0,ero E,paquetado 4e#ade.i,al $e.6a 77778855 4ora 4488SS

1.1.2 Variables
Las 9aria:les se de(inen .on la senten.ia DATA& 5A"A ;9aria:le<=longitud> "7PE ;tipo< ?AL@E ;9alor<& Si no se indi.a lo .ontrario las 9aria:les se de(inirAn por de(e.to de tipo .arA.ter ="e#to> .on longitud 1& 5A"A 5BCACAC"EC& DSe .rearA una 9aria:le de te#to .on longitud 1 5A"A 5BCACAC"EC=%>& DSe .rearA una 9aria:le de te#to .on longitud % Con la .lAusula "7PE pode,os espe.i(i.ar el tipo de dato de las 9aria:les& 5A"A: 5B)@8EC!BCAC=E> "7PE )F 5B)@8EC! "7PE F 5B$EC4A "7PE 5& @tilizando el .arA.ter D:G detrAs de una instru..iHn se en.adenan 9arias eIe.u.iones de la ,is,a instru..iHn separadas por el .arA.ter DFG& Con el parA,etro VALUE pode,os ini.ializar la 9aria:le .on un 9alor distinto al que tiene por de(e.to& 5A"A 5BC!)"A5!C "7PE ?AL@E 1&

Con la .lAusula LIKE pode,os de.larar una 9aria:le .on los ,is,os atri:utos de longitud J tipo que un .a,po del di..ionario de datos o que otra 9aria:le de(inida pre9ia,ente& 5A"A 5BACCEE5!C L KE L$A1-L $)C&

1.1. !onstantes
Las .onstantes se de(inen .on la senten.ia !"#$TA#T$& C!)S"A)"S ;.onstante<=longitud> "7PE ;tipo< ?AL@E ;9alor<& Para la de(ini.iHn de .onstantes se apli.an las ,is,as reglas que para la de(ini.iHn de 9aria:les pero sie,pre 6aJ que darle un 9alor ini.ial que no podrA ser ,odi(i.ado durante la eIe.u.iHn del progra,a& C!)S"A)"S CBACCEE5!C L KE L$A1-L $)C ?AL@E *L!SE+&

1.1.% Estructuras
@na estru.tura es un .onIunto de .a,pos rela.ionados lHgi.a,ente J se de(ine .on la senten.ia DATA: 5A"A: BEM ) !$ ;estru.tura<F N E)5 !$ ;estru.tura<& 5A"A: BEM ) !$ CBPC!?EE5!CF C!5 M! L KE L$A1-L $)CF )!8BCE L KE L$A1-)A8E1F C @5A5=20> L KE L$A1-!C"01F $EC4A "7PE 5F E)5 !$ CBPC!?EE5!C& "a,:i-n se puede in.luir en la de(ini.iHn de una estru.tura la de una ta:la del di..ionario de datos o una estru.tura de(inida pre9ia,ente en el progra,a utilizando la instru..iHn I#!LUDE $T&U!TU&E& 5A"A BEM ) !$ CBS!C E5A5ES !CC@CS 10& )CL@5E S"C@C"@CE "001& 5A"A: C!)"A5!C=20> "7PE )F E)5 !$ CBS!C E5A5ES& Estas instru..iones .rean una estru.tura .on todos los .a,pos de la ta:la del di..ionario "001 J el .a,po C!)"A5!C .o,o 0lti,o .a,po&

Para 6a.er re(eren.ia posterior,ente a los .a,pos de la estru.tura se espe.i(i.arA el no,:re de la estru.tura J del .a,po separados por un guiHn& CBPC!?EE5!C-)!8BCE O *L!SE+&

1.1.' &angos
Los rangos son ta:las internas .on una estru.tura deter,inada que se utilizan para al,a.enar rangos de 9alores para un tipo de .a,po J se de(inen .on la senten.ia &A#(E$: CA)MES: ;rango< $!C ;.a,po<& La estru.tura de un rango se .o,pone de los siguientes .a,pos: $I(#: Es un .a,po de tipo .arA.ter de una posi.iHn que indi.a si los 9alores espe.i(i.ados en el rango se in.luJen =9alor D G>o se e#.luJen =9alor DEG> del ,is,o& ")TI"#: Es un .a,po de tipo .arA.ter de dos posi.iones que indi.a el operador lHgi.o que une los 9alores espe.i(i.ados en el rango& L"*: ?alor ini.ial del rango& Este .a,po tiene el ,is,o tipo que el .a,po al que 6a.e re(eren.ia el rango& +I(+: ?alor (inal del rango& Este .a,po tiene el ,is,o tipo que el .a,po al que 6a.e re(eren.ia el rango& Los rangos se utilizan para .6equear 9alores 9Alidos en senten.ias .ondi.ionales del .a,po al que 6a.e re(eren.ia& Si un rango no .ontiene ning0n registroF asu,e que .ualquier 9alor del .a,po al que 6a.e re(eren.ia es 9Alido& "ABLES: L$A1& CA)MES MBPC!?EE5!C $!C L$A1-L $)C& MBPC!?EE5!C-S M) O D G& MBPC!?EE5!C-!P" !) O DB"G& D!perador E)"CE MBPC!?EE5!C-L!P O D1G& MBPC!?EE5!C-4 M4 O D2G& APPE)5 MBPC!?EE5!C& El rango .reado 6a.e re(eren.ia a los 9alores del .a,po L$A1L $)C .o,prendidos entre el 9alor D1G J D2G a,:os in.lusi9e&

1.1., -IELD.$/01"L$
Los $ EL5-S 8B!LS son .a,pos si,:Hli.os que se pueden re(eren.iar a un .a,po .on.reto en tie,po de eIe.u.iHn del progra,aF J se de(inen .on la senten.ia -IELD.$/01"L$: $ EL5-S 8B!LS ;no,:re<& D=los .ara.teres D;G J D<G se de:en espe.i(i.ar>&

@tilizando la senten.ia ASS M) se asigna un .a,po al $ EL5S78B!L JF a partir de ese ,o,entoF todas las opera.iones que se reali.en so:re el $ EL5-S78B!L 6arAn re(eren.ia al .a,po asignado& $ EL5-S78B!LS: ;CA8P!<& 5A"A: 5BC!)"A5!CB1 "7PE F 5BC!)"A5!CB2 "7PE & ASS M) 5BC!)"A5!CB1 "! ;CA8P!<& ;CA8P!< O ;CA8P!< ' 1& ASS M) 5BC!)"A5!CB2 "! ;CA8P!<& ;CA8P!< O ;CA8P!< ' 2& 5espu-s de eIe.utar las senten.ias anteriores la 9aria:le 5BC!)"A5!CB1 .ontendrA el 9alor D1G J la 9aria:le 5BC!)"A5!CB2 .ontendrA el 9alor D2G&

1.2 0odulari2acin
1.2.1 $ubrutinas.
Las su:rutinas son .onIuntos de instru..iones que pueden ser lla,adas desde el progra,a en di9ersas o.asionesF e9itando asQ su .odi(i.a.iHn .ada 9ez que se ne.esiten eIe.utar J dando ade,As ,aJor .laridad al progra,a& Para de(inir una su:rutina se utilizan las senten.ias -"&0 J E#D-"&0F que se espe.i(i.an respe.ti9a,ente al ini.io J (inal de las instru..iones que (or,an la su:rutina& Para realizar una lla,ada a la ,is,a se utiliza la senten.ia )E&-"&0& PEC$!C8 ELE8PL!& D Lla,ada a la su:rutina N $!C8 ELE8PL!& D 5e(ini.iHn de su:rutina N )S"C@CC !)ES ABAP& N E)5$!C8& El progra,a prin.ipal J la su:rutina se podrAn .o,uni.ar ,ediante parA,etros que pueden ser pasados por 9alor o por re(eren.iaF siendo re.o,enda:le espe.i(i.ar el tipo de dato al de(inirlos&

El paso de parA,etros por referencia se realiza de la siguiente ,anera:

N PEC$!C8 ;no,:re< @S )M para,etro1 para,etro2 &&& &&& $!C8 ;no,:re< @S )M para,etro1 para,etro2 &&& &&& E)5$!C8& Los parA,etros que son pasados a la su:rutina en la lla,ada =AC"@ALES> a.tualizan el 9alor de los parA,etros de(inidos en la su:rutina =$!C8ALES>& 5A"A: 5B)@8EC!B1 "7PE ?AL@E 1F 5B)@8EC!B2 "7PE ?AL@E 2& PEC$!C8 S@8AC @S )M 5B)@8EC!B1 5B)@8EC!B2& $!C8 S@8AC @S )M PSB)@8EC! "7PE PSBCA)" 5A5 "7PE & PSB)@8EC! O PSB)@8EC! ' PSBCA)" 5A5& E)5$!C8& Al (inalizar la eIe.u.iHn de la su:rutina las 9aria:les tendrAn estos 9alores: 5B)@8EC!B1 O< 3 5B)@8EC!B2 O< 2

Pase de parA,etros por 3alor& &&& PEC$!C8 ;no,:re< @S )M para,etro1 para,etro2 &&& &&& $!C8 ;no,:re< @S )M ?AL@E=para,etro1> ?AL@E=para,etro2> &&& &&& E)5$!C8& Los parA,etros que son pasados a la su:rutina en la lla,ada no se a.tualizan .on el 9alor de los parA,etros de(inidos en la su:rutina& 5A"A: 5B)@8EC!B1 "7PE ?AL@E 1F 5B)@8EC!B2 "7PE ?AL@E 2& PEC$!C8 S@8AC @S )M 5B)@8EC!B1 5B)@8EC!B2& $!C8 S@8AC @S )M PSB)@8EC! "7PE ?AL@E=PEBCA)" 5A5> "7PE & PEBCA)" 5A5 O 3& PSB)@8EC! O PSB)@8EC! ' PEBCA)" 5A5&

E)5$!C8& Al (inalizar la eIe.u.iHn de la su:rutina las 9aria:les tendrAn estos 9alores: 5B)@8EC!B1 O< 4 5B)@8EC!B2 O< 2 @tilizando la .lAusula $T&U!TU&E se puede pasar .o,o parA,etro una estru.tura J 6a.er re(eren.ia a sus .a,pos en la su:rutina& 5A"A: BEM ) !$ CBPC!?F C!5 M! L KE L$A1-L $)CF )!8BCE L KE L$A1-)A8E1F E)5 !$ CBPC!?& PEC$!C8 )$!C8ACBPC!? @S )M CBPC!?& $!C8 )$!C8ACBPC!? @S )M PSBPC!? S"C@C"@CE CBPC!?& PSBPC!?-)!8BCE O *L!SE+& E)5$!C8& "a,:i-n se puede pasar .o,o parA,etro una ta:la interna por re(eren.ia .on la .lAusula TA1LE$& 5A"A: 5BC!)"A5!C "7PE ?AL@E 1& 5A"A: BEM ) !$ BPC!? !CC@CS 0F C!5 M! L KE L$A1-L $)CF )!8BCE L KE L$A1-)A8E1F E)5 !$ BPC!?& PEC$!C8 )$!C8ACBPC!? "ABLES BPC!? @S )M 5BC!)"A5!C& $!C8 )$!C8ACBPC!? "ABLES PSB BPC!? S"C@C"@CE BPC!? @S )M ?AL@E=PEBC!)"A5!C>& PSB BPC!?-C!5 M! O PEBC!)"A5!C& PSB BPC!?-)!8BCE O *L!SE+& APPE)5 PSB BPC!?& D nserta el registro en la ta:la interna E)5$!C8& Al (inalizar la eIe.u.iHn de la su:rutina se 6a:rA insertado el registro en la ta:la interna BPC!?&

1.2.2 Includes
Los )CL@5ES son unos progra,as que .ontienen de(ini.iones que pueden ser utilizadas en otros progra,as insertando en estos la senten.ia )CL@5E ;no,:re<& Este tipo de progra,as no son eIe.uta:les dire.ta,enteF 6an de estar in.luidos en otros para que puedan ser eIe.utado el .Hdigo que .ontienen&

1. Variables del sistema


1. .1 Tabla $/$T
ABAP/4 tiene algunas 9aria:les internas que se 9an a.tualizando auto,Ati.a,ente J que pueden ser utilizadas en los progra,as& Estas 9aria:les se en.uentran al,a.enadas en la ta:la del di..ionario S7S" J para a..eder a ellas se les de:e aRadir el pre(iIo DS7-D&

1. .2 Variable $/.$U1&!
La 9aria:le ,As i,portante es S7-S@BCCF que de9uel9e el resultado de la eIe.u.iHn de las instru..iHnes ABAP/4F siendo 0 el .Hdigo de retorno de una eIe.u.iHn .orre.ta J otros 9alores en .aso de error =estos 9alores de error dependen de la instru..iHn ABAP que se este eIe.utando>&

Variables del sistema m4s utili2adas.


CA8P! ABC5E C!L)! CPAME CPPC!M C@C!L C@CC!P 5A"@8 5B)A8E 57)MC 57))C $5P!S $8KE7 )5E1 L LL L )C" L ))! L )ST L SEL L S" C!)"E) 5! Al(a:eto =AF BF CF 5F N&> Colu,na a.tual en la .rea.iHn de una lista )S de la pAgina a.tual )o,:re del progra,a prin.ipal Posi.iHn del .ursorF .olu,na Posi.iHn del .ursorF lQnea $e.6a del siste,a Base de datos lHgi.a usada en Ceport Mrupo de dJnpros al que pertene.e la dJnpro a.tual )S de la pantalla a.tual Lugar de 6allazgo de un string 8en0 de te.las de (un.iHn Cantidad de eIe.u.iones del L!!P )S de lQnea en la lista a.tual Cantidad de lQneas de la lista LQnea a.tual en la .rea.iHn de una lista Longitud de la lQnea de una lista LQnea sele..ionada =Listado intera.ti9o> )S de la lQnea de la lista a.tual

L S" L!!PC LS )5 LS"A" 8SM 5 8SM)! 8SM"7 8SM?1 V 4 PAMC" PAM)! P$KE7 PCB M PC 88 PCCEL CEP 5 SC!LS SC!PS S"AC! S"AC! S"EP S"EPL S@BCC "AB 1 "C!5E "$ LL " "LE "LE)M "8A1L ")A8E "!CC@ ""ABC "?AC0 V 2 @C!88 @L )E @)A8E @TE " ?L )E P LL P )C! P )5 P )C! P )SL P" "L

Undi.e de sele..iHn de las listas Cantidad de lQneas L!!P en Step-Loop de una 5Jnpro Undi.e de las listas se.undarias n(or,a.iHn del status por ni9el de lista denti(i.ador del ,ensaIe )S del ,ensaIe "ipo del ,ensaIe =EF F PF N> ?aria:les en ,ensaIe LQ,ite de .olu,nas de la lista en la senten.ia CEP!C" PAgina a.tual en .rea.iHn de lista Status a.tual de te.las de (un.iHn ,presiHn: portada de sele..iHn ,presiHn: salida in,ediata ,presiHn: :orrar tras salida )o,:re del progra,a A:ap / 4 "otal de .olu,nas en la pantalla "otal de lQneas en la pantalla 8argen del listadoF .olu,na 8argen del listadoF lQnea Undi.e del Step-Loop )S de la lQnea Loop en Step de una 5Jnpro )S del error al eIe.utar una opera.iHn LQnea a.tual de ta:la interna CHdigo de la transa..iHn a.tual )S a.tual de entradas en la ta:la interna "Qtulo del progra,a A:ap / 4 "a,aRo de la lQnea de una ta:la interna Cantidad ,A#i,a de entradas en ta:la interna )o,:re de la ta:la interna despu-s de un a..eso ParA,etros !CC@CS en ta:la interna )S de la 0lti,a lQnea de ta:la interna leQda ?aria:le de te#to para ele,entos de te#to de A:ap / 4 Entrada de (un.iHn en .a,pos .o,ando =PulsadoresF N> LQnea 6orizontal )o,:re del usuario 4ora del siste,a LQnea 9erti.al )S de lQnea en la 9entana a.tual Posi.iHn del .ursor en la 9entanaF .olu,na Undi.e de la lQnea de la 9entana a.tual Posi.iHn del .ursor en la 9entanaF lQnea LQnea de la 9entana sele..ionada ndi.ador para .a:e.era estAndar de pAgina

También podría gustarte