You are on page 1of 3

31/05/12

Programacin Dinmica - Desarrollo en SAP

Desarrollo en SAP
Navegacin
Inicio Perfil del Aut o r Co nfiguraci n de la Co nexi n de PHP y SAP en Linux Pro gramaci n Dinmica Set de Dat o s en SAP usndo lo s co n ABAP Sit emap

Busc ar en est e sit io

Programacin Dinmica
1

Cont enidos
1 Aut o r 2 Int ro ducci n 3 Co ncept o s claves de la pro gramaci n dinmica 3.1 Field Symbo ls 1 3.2 Referencias de Dat o s 2 3.3 Generaci n de o bjet o s de dat o s dinmicament e 4 Ejemplo 4.1 Pant alla principal 4.2 Est ruct ura del pro grama 4.3 C digo del pro grama 4.3.1 YFORMAS_DAR_SALIDA_IT 4.3.2 YFORMAS_DAR_SALITA_IT_TOP 4.3.3 YFORMAS_DAR_SALITA_IT_E01 5 Referencias

Autor
Fernando Muoz Belt rn

Introduccin
La programacin dinmica en ABAP, permite la creacin de aplicaciones en aquellas situaciones donde no se conocen los objetos de datos y estos tienen que ser creados en tiempo de ejecucin. Mediante el uso de este tipo de programacin se puede reducir el cdigo fuente en aquellas situaciones donde el cdigo es repetitivo. Como desventaja de este tipo de programacin es que las sentencias usadas son muy elaboradas ocasionando que el mantenimiento de las aplicaciones se torne compleja.

Conceptos claves de la programacin dinmica


Para desarrollar aplicativos usando programacin dinmica hay que tener claro los siguientes conceptos: 1. Field Symbols. 2. Referencias de Datos. 3. Generacin de objetos de datos dinmicamente.

Field Symbols

Son punteros des referenciados, es decir son objetos de datos que apuntan al contenido de una variable. Bsicamente cuando accedemos al field symbol estamos accediendo al contenido del objeto de datos, claro esta que esto ocurre cuando el objeto de datos es asignado al field symbol. Mediante la sentencia FIELD-SYMBOLS se declaran los field symbols dentro del programa. El field symbol puede ser declarado con un tipo definido si se conoce el tipo de la variable al que va apuntar, en caso contrario puede ser de tipo ANY. Cuando un objeto de datos sea asignado a un field symbol hay que tener en cuenta que el tipo de dato del objeto asignado debe ser compatible con el tipo de dato del field symbol, si esto no se cumple puede ocurrir un error de sintaxis o de tiempo de ejecucin, el error en tiempo de ejecucin ocurre cuando el tipo de dato del field symbols es ANY. Cuando ya se desee definir el fiel symbol lo que se hace es asignar el objeto de datos al field symbol mediante la sentencia ASSIGN.

Referencias de Datos 2
Las referencias a los datos son punteros a los objetos de datos, para definir una referencia se hace usando la sentencia TYPE REF TO; un puntero es un apuntador a una direccin de memoria.

Generacin de objetos de datos dinmicamente


Mediante el uso de referencias de datos se pueden crear objetos de datos de manera dinmica, para esto tambin debe usar la sentencia CREATE DATA 3.

Ejemplo
El problema propuesto es crear un programa que permita visualizar los registros de una tabla transparente, la idea es que se muestren las dos formas que existen para generar un reporte en ABAP, ya sea usando la sentencia WRITE o usando el List Viewer (ALV), que tenga como parmetros de entrada el nombre de la tabla, la cantidad de registros deseados y el tipo de salida del reporte.

Pantalla principal
https://sites.google.com/site/desaensap/programacion-dinamica 1/3

31/05/12

Programacin Dinmica - Desarrollo en SAP

Los parmetros de entrada son el nombre de la tabla, cantidad de registros a mostrar y el tipo de generacin (ALV o Reporte normal).

Estructura del programa

Cdigo del programa


YFORMAS_DAR_SALIDA_IT
*----------------------------------&----------------------------------* * Rpr YOMSDRSLD_T & eot FRA_A_AIAI * & *----------------------------------&----------------------------------* * Eaoo Frad MzBlrn & lbr: enno uo et * Eal fuobgalcm & mi: mnz@mi.o * & *----------------------------------&----------------------------------* * Porm d eepod pormc dnmc & rgaa e jml e rgaain iia * & ICUEyomsdrslt_ttp NLD fra_a_aiai_o ICUEyomsdrslt_te1 NLD fra_a_aiai_0 . . "goa Dt lbl aa "Eet vns

YFORMAS_DAR_SALITA_IT_TOP
*----------------------------------&----------------------------------* * IcueYOMSDRSLT_TTP & nld FRA_A_AIAI_O Rpr YOMSDRSLD_T eot FRA_A_AIAI * & *----------------------------------&----------------------------------* RPR EOT yomsdrsld_t fra_a_aiai.

SLCINSRE BGNO BOKa WT FAETTEtx-0.'oa(0) EETO-CEN EI F LC 1 IH RM IL et01"Hl'01. PRMTR:p_al TP tbaeMTHOEOJC d_alOLGTR, AAEES atba YE anm ACCD BET dtb BIAOY p_atTP iOLGTR DFUT10. acn YE BIAOY EAL 00 SLCINSRE BGNO BOKa WT FAETTEtx-0. EETO-CEN EI F LC 2 IH RM IL et02 PRMTR:p_io RDOUTNGOPr DFUT'' AAEES atp1 AIBTO RU 1 EAL X, p_io RDOUTNGOPr. atp2 AIBTO RU 1 SLCINSRE EDO BOKa. EETO-CEN N F LC 2 SLCINSRE EDO BOKa. EETO-CEN N F LC 1 * Vralsrfrnidsocmo smio pr cra lsdts * aibe eeecaa aps iblcs aa agr o ao FEDSMOS <scmo TP AY IL-YBL: f_ap> YE N, <sw>TP AY f_a YE N, <si>TP AYTBE f_t YE N AL. DT:rfw TP RFT dt, AA e_a YE E O aa rfi TP RFT dt. e_t YE E O aa

YFORMAS_DAR_SALITA_IT_E01
*----------------------------------&----------------------------------* * Icue & nld YOMSDRSLT_TE1 FRA_A_AIAI_0 *----------------------------------&----------------------------------* * S ce e ojt d dtstbaitracnrfrni al tba * e ra l beo e ao al nen o eeeca a al TY R.

https://sites.google.com/site/desaensap/programacion-dinamica

2/3

31/05/12

Programacin Dinmica - Desarrollo en SAP


CET DT rfi TP SADR TBEO (atba. RAE AA e_t YE TNAD AL F p_al) CTHc_ycet_aaerr AC xs_raedt_ro. DT:cn TP i AA at YE . cn =SRE(p_al ) at TLN atba . WIE 'atba' p_al(at,'n eit e e dcinrod dts. RT: L al , atbacn) o xse n l icoai e ao' EI. XT EDR. NTY * S ain l dseeecadlojt d dtstbainen a fedsmo * e sga a erfrni e beo e ao al ntra l il ybl ASG rfi-*T <si> SIN e_t> O f_t. SLC *FO (atba EET RM p_al) IT TBE<si> NO AL f_t U T p_atRW. P O acn OS * S ce e ojt d dtsetutr cnrfrni al tba * e ra l beo e ao srcua o eeeca a al CET DT rfw TP (atba. RAE AA e_a YE p_al) * S ain l dseeecadlojt d dtsetutr a fedsmo * e sga a erfrni e beo e ao srcua l il ybl ASG rfw-*T <sw> SIN e_a> O f_a. SATO-EETO. TR-FSLCIN I p_io ='' F atp1 X. WIE /'opcnsnecawie. RT: Lo o etni rt' UIE LN. NWLN. E-IE LO A <si>IT <sw> OP T f_t NO f_a. D. O ASG CMOETs-ne O SRCUE<sw>T <scmo. SIN OPNN yidx F TUTR f_a O f_ap> I s-ur < 0 F ysbc > . NWLN. E-IE EI. XT EDF NI. WIE<scmo. RT f_ap> EDO ND. EDOP NLO. ESI p_io ='' LEF atp2 X. DT avTP RFT c_avtbe AA l YE E O lsl_al. c_avtbe>atr( lsl_al=fcoy IPRIG MOTN rsl_al =av _avtbe l CAGN HNIG ttbe=<si> _al f_t ) . av>ipa() l-dsly . EDF NI.

Referencias
1. Help SAP. Field Sy mbols 2. Help SAP. Referencias de Dat os 3. Help SAP. CREATE DATA

Ac c eder | Informar de uso inadec uado | Imprimir pgina | Eliminar ac c eso | Con la tecnologa de Google Sit es

https://sites.google.com/site/desaensap/programacion-dinamica

3/3

You might also like