tag:blogger.com,1999:blog-31633564948970183202024-03-14T01:05:05.948-07:00Abap UtilesUtilidades para tener siempre a mano en la programacion Abap...Unknownnoreply@blogger.comBlogger10125tag:blogger.com,1999:blog-3163356494897018320.post-85258531157546170632009-06-12T06:05:00.001-07:002009-06-12T06:05:35.809-07:00ALV Con Colores<span class="Apple-style-span" style="font-family: Verdana; color: rgb(51, 51, 51); font-size: 13px; line-height: 19px; "><h3 class="post-title" style="margin-top: 0px; font: normal normal bold 130%/normal 'Lucida Grande', 'Trebuchet MS'; letter-spacing: -1px; color: rgb(153, 51, 51); "><a href="http://saperosonline.blogspot.com/2007/04/alv-con-colores.html" style="color: rgb(153, 51, 51); text-decoration: none; ">ALV CON COLORES</a></h3><div class="post-header-line-1"></div><div class="post-body"><p></p><div style="text-align: justify; "><nombre>Los listados ALV se pueden mostrar con diferentes colores tanto en filas como en columnas.</nombre><br /><nombre></nombre><br /><nombre><span style="font-weight: bold; ">FILAS:</span> En la tabla interna que se le pasa a la funcion del ALV habrá que añadir un campo de 4 caracteres llamado color (o como se quiera). Luego tan solo habrá que completar en ese campo y para esa fila el color que se desee. Para que la función interprete que le estamos pasando un color en el campo info_fieldname del layout habrá que poner el nombre del campo que guarda el color.<br /><br /><span style="font-style: italic; ">ls_layout-info_fieldname = 'COLOR'.<br /><br /></span><span style="font-weight: bold; ">COLUMNAS: </span>Para poner colores en las columnas habrá que poner en el catálogo que se le pasa a la función ALV que esa columna la pinte de un determinado color. Para ello existe el campo<span style="font-style: italic; ">"emphasize" </span>en el catálogo donde se le introduce el color.<br /><br /><span style="font-style: italic; color: rgb(153, 153, 153); ">gt_catalog-col_pos = col_pos.</span><br /><span style="font-style: italic; color: rgb(153, 153, 153); ">gt_catalog-ref_tabname = 'MBEW'.</span><br /><span style="font-style: italic; color: rgb(153, 153, 153); ">gt_catalog-tabname = 'GT_DATOS'.</span><br /><span style="font-style: italic; color: rgb(153, 153, 153); ">gt_catalog-fieldname = 'MATNR'.</span><br /><span style="font-style: italic; color: rgb(153, 153, 153); ">gt_catalog-emphasize = 'C401'.</span><br /><span style="font-style: italic; color: rgb(153, 153, 153); ">APPEND gt_catalog. CLEAR gt_catalog.</span><br /><span style="font-style: italic; color: rgb(153, 153, 153); ">ADD 1 TO col_pos.</span><br /><br /><span style="font-weight: bold; ">CODIFICACION DE COLORES: </span><span>El color del ALV sigue el siguiente formato CXYZ donde...<br /><br />C-> indica que es un color<br />X-> indica el numero de color, que debe ser del 1 al 9<br />Y-> indica la intensidad: ('0'=off / '1'=on).<br />X-> indica si el color es inverso ('0'=off / '1'=on).</span></nombre></div></div></span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3163356494897018320.post-7367481852462574482009-06-05T13:23:00.001-07:002009-06-05T13:24:45.051-07:00Conceptos y Ejemplos de programación en HR<p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height: normal"><span style="font-family:"Times New Roman","serif"; mso-fareast-Times New Roman";mso-ansi-language:ES; mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;">Desde siempre hemos visto que toda la información en SAP se guarda en tablas de diccionario. HR no es una excepción, pero además aparecen nuevos contenedores de información que son: Bases de datos lógicas de HR, Infotipos y Tablas de Base de datos.</span></span><span style="font-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"> </span></span><span style="font-family:"Times New Roman","serif";mso-fareast-Times New Roman";mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"><br /><br />En HR tenemos dos bases de datos lógicas que son PNP y PAP. La primera se refiere a los datos de los empleados y la segunda a los datos a los candidatos. El uso de Base de datos lógica facilita el acceso a los infotipos.</span></span><span style="font-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"> </span></span><span style="font-family: "Times New Roman","serif";mso-fareast-Times New Roman"; mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"><br /><br />En los Infotipos se guarda la información referente al personal de la empresa: Datos de personales, Datos bancarios, Datos de nómina, Formación , Salud, Derecho de vacaciones, etc… en el sistema hay aproximadamente unos trescientos infotipos distintos, aunque muchos de ellos son específicos de cada país (como por ejemplo el infotipo 88 que guarda la información de la maternidad en Gran Bretaña).</span></span><span style="font-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"> </span></span><span style="font-family:"Times New Roman","serif";mso-fareast-Times New Roman";mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"><br /><br />Las Tablas de base de datos se dividen en áreas o clusters, estas áreas o cluster guardan información referente a las a los resultados de nóminas, Impuestos, Seguridad Social, etc… El acceso a estas tablas es el más complicado de todos, debido a que no se accede como en una tabla cluster normal y corriente, como la INDX, sino que se accede a través de macroinstrucciones.</span></span><span style="font-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"> </span></span><span style="font-family: "Times New Roman","serif";mso-fareast-Times New Roman"; mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"><br /><br />Para acceder a los infotipos existen sentencias específicas para el acceso a infotipo y macroinstrucciones que es una combinación de estas últimas.</span></span><span style="font-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"> </span></span><span style="font-family: "Times New Roman","serif";mso-fareast-Times New Roman"; mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"><br /><br />Las Sentencias específicas para el acceso a infotipos son aquellas que usaremos para declarar el infotipo en el programa (el equivalente a la sentencia Tables) y el acceso a dicho(s) infotipo(s), su equivalente sería el Select.</span></span><span style="font-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"> </span></span><span style="font-family: "Times New Roman","serif";mso-fareast-Times New Roman"; mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"><br /><br />Las Macroinstrucciones es una posibilidad más de modularizar programas. Las macroinstrucciones contienen sentencias ABAP/4 que permiten el ahorro de trabajo.</span></span><span style="font-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"> </span></span><span style="font-family:"Times New Roman","serif";mso-fareast-Times New Roman";mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"><br /><br /><br /></span><b><span class="Apple-style-span" style="font-size:small;">Bases de datos lógica</span></b><span class="Apple-style-span" style="font-size:small;"><br />Como se ha mencionado antes SAP tiene dos base de datos lógica: PNP que se refiere a los datos de empleado y la PAP que se refiere a los datos de candidatos. La base de datos que más se usa es la PNP y será dicha tabla que usaremos como ejemplo.</span></span><span style="font-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"> </span></span><span style="font-family:"Times New Roman","serif";mso-fareast-Times New Roman";mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"><br /><br />Cuando ejecutamos un report que accede a la base de datos lógica, esta carga los datos de personal de cada empleado en memoria para su tratamiento.</span></span><span style="font-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"> </span></span><span style="font-family: "Times New Roman","serif";mso-fareast-Times New Roman"; mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"><br /><br />En memoria se carga el historial completo del empleado. Estos datos se pierden cuando se carga un nuevo empleado.</span></span><span style="font-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"> </span></span><span style="font-family:"Times New Roman","serif";mso-fareast-Times New Roman";mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"><br /><br />Cada vez que se usa la base de datos lógica se realizan dos verificaciones una de personal y otra de datos.</span></span><span style="font-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"> </span></span><span style="font-family:"Times New Roman","serif";mso-fareast-Times New Roman";mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"><br /><br />La primera se verifica que el usuario tiene acceso al empleado siguiendo los criterios de asignación organizacional. Si el usuario no tiene acceso al empleado, este no se evalúa.</span></span><span style="font-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"> </span></span><span style="font-family:"Times New Roman","serif";mso-fareast-Times New Roman";mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"><br /><br />La segunda verifica que el usuario tiene acceso a los infotipos especificados en el report.</span></span><span style="font-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"> </span></span><span style="font-family:"Times New Roman","serif";mso-fareast-Times New Roman";mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"><br /><br />Un ejemplo sencillo sería:</span></span><span style="font-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"> </span></span><span style="font-family:"Times New Roman","serif";mso-fareast-Times New Roman";mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"><br /><br />En los atributos del programa:</span></span><span style="font-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"> </span></span><span style="font-family:"Times New Roman","serif";mso-fareast-Times New Roman";mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"><br /><br />El código fuente:</span></span><span style="font-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"> </span></span><span style="font-family:"Times New Roman","serif";mso-fareast-Times New Roman";mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"><br /><br /></span></span><span style="font-family:"Times New Roman","serif"; mso-fareast-Times New Roman";mso-ansi-language:ES; mso-fareast-language:ESfont-family:";color:#0000CC;"><span class="Apple-style-span" style="font-size:small;"><span class="Apple-style-span" style="color:#000000;">REPORT zprueba1.<br />* PERNR es una estructura que es llenada por la base de datos lógica PNP<br />* con los datos del empleado<br />TABLES: pernr." --Datos de personal<br />* Declaración de los infotipos</span><br /><br /></span></span><span style="font-family:"Times New Roman","serif"; mso-fareast-Times New Roman";mso-ansi-language:ES;mso-fareast-language: ESfont-family:";"><span class="Apple-style-span" style="font-size:small;">INFOTYPES: 0001.<br /><br />START-OF-SELECTION.<br /><br />GET pernr. " Usa base de datos lógica PNP</span></span><span style="font-family:";"><span class="Apple-style-span" style="font-size:small;"> </span></span><span style="font-family:"Times New Roman","serif"; mso-fareast-Times New Roman";mso-ansi-language:ES;mso-fareast-language: ESfont-family:";"><span class="Apple-style-span" style="font-size:small;"><br />PROVIDE * FROM p0001 BETWEEN pn-begda AND pn-endda.</span></span><span style="font-family:";"><span class="Apple-style-span" style="font-size:small;"> </span></span><span style="font-family:"Times New Roman","serif"; mso-fareast-Times New Roman";mso-ansi-language:ES;mso-fareast-language: ESfont-family:";"><span class="Apple-style-span" style="font-size:small;"><br />WRITE:/ 'P0001:’, p0001.<br />ENDPROVIDE.</span><span style="color:#0000CC;"><span class="Apple-style-span" style="font-size:small;"><br /></span></span><span style="color:black;"><span class="Apple-style-span" style="font-size:small;"><br /><br />Los campos de la selección de datos están definidos en la estructura QPPNP , mientras que los campos de selección de personal están definidos en el programa include DBPNPSEL (Tablas internas que se completan mediante APPEND).</span></span></span><span style="font-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"> </span></span><span style="font-family: "Times New Roman","serif";mso-fareast-Times New Roman"; mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"><br /><br />Cuando se usa la base de datos lógica PNP hay que declarar en el programa la estructura PERNR , en esta estructura se guardarán los números de personal seleccionados mediante la pantalla de selección.</span></span><span style="font-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"> </span></span><span style="font-family: "Times New Roman","serif";mso-fareast-Times New Roman"; mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"><br /><br />En la estructura PERNR solo hay que el leer el campo PERNR, que contiene el número de empleado, el resto de campos se encuentran allí por motivos internos.</span></span><span style="font-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"> </span></span><span style="font-family: "Times New Roman","serif";mso-fareast-Times New Roman"; mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"><br /><br />Si se usa la base de lógica PAP habrá que declarar la tabla APPLICANT, para obtener el numero de candidato.</span></span><span style="font-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"> </span></span><span style="font-family:"Times New Roman","serif";mso-fareast-Times New Roman";mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"><br /><br />Cuando se realiza el GET re rellenan la tablas internas (el nombre de la tabla interna es Pnnnn , nnnn es el número del infotipo) de los infotipos (declarados en la sentencia INFOTYPES) con los registros, desde los datos inferior hasta los datos superiores, del numero de personal leído en el GET .</span><span class="Apple-style-span" style="font-size:small;"><o:p></o:p></span></span></p> <p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height: normal"><span style="font-family:"Times New Roman","serif"; mso-fareast-Times New Roman";mso-ansi-language:ES;mso-fareast-language: ESfont-family:";"><o:p><span class="Apple-style-span" style="font-size:small;"> </span></o:p></span></p> <p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height: normal"><b><span style="font-family:"Times New Roman","serif"; mso-fareast-Times New Roman";mso-ansi-language:ES; mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;">INFOTIPOS</span></span></b><span style=" font-family:"Times New Roman","serif";mso-fareast-Times New Roman"; mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"><br /><br />Los infotipos se utilizan en HR y representan grupos de datos relacionados con un tema en particular. Los datos que se almacenan en un infotipo dependerán del número de personal de un empleado o del número de un candidato, es decir, cada empleado o candidato siempre se le asigna un registro de infotipo.<br /><br />Cada infotipo está compuesto por un número de cuatro dígitos nnnn . El rango de número de 9000 a 9999 esta reservado para los infotipos del cliente.<br /><br />Mediante la transacción PM01 – Diálogos en la gestión de personal se pueden crear y tratar infotipos.<br /><br />En un infotipo no podemos añadir ni borrar información, solo podemos modificarla.</span><span class="Apple-style-span" style="font-size:small;"><o:p></o:p></span></span></p> <p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height: normal"><span style="font-family:"Times New Roman","serif"; mso-fareast-Times New Roman";mso-ansi-language:ES;mso-fareast-language: ESfont-family:";"><o:p><span class="Apple-style-span" style="font-size:small;"> </span></o:p></span></p> <p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height: normal"><b><span style="font-family:"Times New Roman","serif"; mso-fareast-Times New Roman";mso-ansi-language:ES; mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;">Declaración</span></span></b><span style=" font-family:"Times New Roman","serif";mso-fareast-Times New Roman"; mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"><br /><br />Antes de procesar un infotipo hay que declararlo. Para declararlo hay que usar la sentencia INFOTYPES.<br /><br />El rango de infotipos es el siguiente:<br /><br />* Entre el 0000 y 0999 tenemos los datos maestros del infotipo.<br />* Entre el 1000 y el 1999 tenemos los datos de planificación.<br />* Entre el 2000 y el 2999 tenemos los datos de tiempo.<br />* Entre el 3000 y 8999 no tenemos nada.<br />* Y entre el 9000 y 9999 tenemos los infotipos de cliente.</span></span><span style="font-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"> </span></span><span style="font-family: "Times New Roman","serif";mso-fareast-Times New Roman"; mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"><br /><br />La sintaxis sería:<br /><br />INFOTYPES: nnnn [NAME c] [OCCURS n] [MODE N] [VALID FROM comp1 TO comp2]<br /><br />Donde nnnn es el número del infotipo que vamos a declarar.<br /><br />Cuando se declara un infotipo en memoria se crea una tabla interna con la siguiente estructura:<br /><br />DATA BEGIN OF Pnnnn OCCURS 10.<br /><br />INCLUDE STRUCTURE Pnnnn.<br /><br />DATA END OF Pnnnn VALID BETWEEN BEGDA AND ENDDA.<br /><br />La cláusula VALID BETWEEN BEGDA AND ENDDA indica que período se va a coger registros.<br /><br />Los parámetros opcionales son:<br /><br />* NAME C Nos crea una tabla interna, con la misma estructura que el infotipo declarado, con el nombre indicado en C. C tiene un longitud máxima de 20 caracteres.<br />* OCCURS n Nos crea una tabla interna poniendo el valor n en la cláusula OCCURS.<br />* MODE n Esta cláusula solo esta disponible para las bases de datos lógica PNP y PCH, y su efecto es que no llena el infotipo cuando se ejecuta la sentencia GET PERNR.<br />* VALID FROM comp1 TO comp2 Cuando se ejecuta la sentencia GET PERNR el infotipo se llenará con los registros cuyo período este comprendido entre comp1 y comp2.</span><span class="Apple-style-span" style="font-size:small;"><o:p></o:p></span></span></p> <p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height: normal"><span style="font-family:"Times New Roman","serif"; mso-fareast-Times New Roman";mso-ansi-language:ES;mso-fareast-language: ESfont-family:";"><o:p><span class="Apple-style-span" style="font-size:small;"> </span></o:p></span></p> <p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height: normal"><b><span style="font-family:"Times New Roman","serif"; mso-fareast-Times New Roman";mso-ansi-language:ES; mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;">Procesamiento del infotipo</span></span></b><span style="font-family:"Times New Roman","serif";mso-fareast-Times New Roman";mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"><br /><br />Existen dos maneras de procesar un infotipo:<br /><br />* Procesamiento de un registro especifico del infotipo, el más reciente/más antiguo.<br />* Procesamiento de todo el infotipo.</span></span><span style="font-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"> </span></span><span style="font-family:"Times New Roman","serif";mso-fareast-Times New Roman";mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"><br /><br /><br /></span><b><span class="Apple-style-span" style="font-size:small;">Procesar de un registro específico del infotipo</span></b><span class="Apple-style-span" style="font-size:small;"><br /><br />En muchos casos no necesitaremos leer todos los registros del infotipo, sino que necesitaremos leer el último o primer registro. Para ello utilizaremos las siguientes macroinstrucciones:<br /><br /></span><span><span class="Apple-style-span" style="font-size:small;"> </span></span><span class="Apple-style-span" style="font-size:small;">Nos devuelve el último registro.</span></span><span style="font-family:Symbol;mso-ascii-font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman";mso-ansi-language:ES; mso-fareast-language:ES;mso-char-type:symbol;mso-symbol-font-family:Symbol;color:black;"><span style="font-family:Symbol;"><span class="Apple-style-span" style="font-size:small;">à</span></span></span><span style="font-family:"Times New Roman","serif";mso-fareast-Times New Roman";mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;">RP-PROVIDE-FROM-LAST Pnnn SPACE PN-BEGDA PN-ENNDA<br /><br /></span><span><span class="Apple-style-span" style="font-size:small;"> </span></span><span class="Apple-style-span" style="font-size:small;">Nos devuelve el primer registro.</span></span><span style="font-family:Symbol;mso-ascii-font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman";mso-ansi-language:ES; mso-fareast-language:ES;mso-char-type:symbol;mso-symbol-font-family:Symbol;color:black;"><span style="font-family:Symbol;"><span class="Apple-style-span" style="font-size:small;">à</span></span></span><span style="font-family:"Times New Roman","serif";mso-fareast-Times New Roman";mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;">RP-PROVIDE-FROM-FIRST Pnnn SPACE PN-BEGDA PN-ENNDA<br /><br />Donde nnnn es el numero de infotipo, en la variable PN-BEGDA o PNPENDDA tenemos la fecha inicial del período introducido por pantalla, y en PN-ENDDA o PNPENDDA tenemos la fecha final del período introducido por pantalla.<br /><br />Un ejemplo sería:<br /><br />REPORT zprueba1.<br /><br />* PERNR es una estructura que es llenada por la base de datos lógica PNP<br /><br />* con los datos del empleado<br /><br />TABLES: pernr." --> Datos de personal<br /><br />* Declaración de los infotipos<br /><br />INFOTYPES: 0001.<br /><br />START-OF-SELECTION.<br /><br />GET pernr. " --> Usa base de datos lógica PNP<br /><br />rp_provide_from_last p0001 space pn-begda pn-endda.<br /><br />* Si hemos encontrado datos entonces se muestra el registro.<br /><br />IF pnp-sw-found = ’1’.<br /><br />WRITE:/ ’P0001:’, p0001.<br /><br />* En caso contrario leemos el siguiente numero de personal<br /><br />ELSE.<br /><br />REJECT.<br /><br />ENDIF.<br /><br />Las macroinstrucciones se definen en la tabla TRMAC.</span></span><span style="font-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"> </span></span><span style="font-family: "Times New Roman","serif";mso-fareast-Times New Roman"; mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"><br /><br /><br /></span><b><span class="Apple-style-span" style="font-size:small;">Procesamiento de todo el infotipo</span></b><span class="Apple-style-span" style="font-size:small;"><br /><br />Ya hemos comentado que cuando se realiza un GET PERNR las tablas internas de los infotipos son llenadas con el historial completo (del más antiguo al más reciente) del empleado leído. Por lo tanto podemos tener que en una tabla interna existan más de un registro o períodos o intervalos de validez.<br /><br />El procesamiento de registros del infotipo es dependiente del tiempo, es decir, depende del período de selección de datos introducido en la imagen de selección. Pueden procesarse al mismo tiempo los datos de varios infotipos y pueden prepararse para un período de tiempo parcial específico.<br /><br />Las tablas internas del infotipo se procesan con la sentencia PROVIDE. La sintaxis es:<br /><br />PROVIDE * FROM Pnnnn BETWEEN PN-BEGDA AND PN-ENDDA.<br /><br />……..<br /><br />ENDPROVIDE.<br /><br />Donde nnnn sería el numero del infotipo. La relación entre el infotipo y el período de selección de datos de la imagen de selección se establece mediante las variables PN-BEGDA (Inicio) y PN-ENDDA (Fin).</span><span class="Apple-style-span" style="font-size:small;"><o:p></o:p></span></span></p> <p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height: normal"><span style="font-family:"Times New Roman","serif"; mso-fareast-Times New Roman";mso-ansi-language:ES;mso-fareast-language: ESfont-family:";"><o:p><span class="Apple-style-span" style="font-size:small;"> </span></o:p></span></p> <p class="MsoNormal" style="margin-bottom:0in;margin-bottom:.0001pt;line-height: normal"><b><span style="font-family:"Times New Roman","serif"; mso-fareast-Times New Roman";mso-ansi-language:ES; mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;">Actualización de un infotipo</span></span></b><span style="font-family:"Times New Roman","serif";mso-fareast-Times New Roman";mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"><br /><br />Como hemos se ha visto antes a los infotipos no se les puede insertar ni borrar, pero si que podemos es modificar sus datos. Para ello esta la macroinstrucción RP-UPDATE. Cuya sintaxis es:<br /><br />RP-UPDATE datos_antiguos datos_nuevos.<br /><br />Un ejemplo sería:<br /><br />REPORT ZPRUEBA .<br />TABLES: PERNR.<br />* Definimos una tabla interna llamada OLD/NEW con la misma estructura<br />* que 0001.<br />INFOTYPES: 0001 NAME OLD,<br />0001 NAME NEW.<br /><br />START-OF-SELECTION.</span></span><span style="font-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"> </span></span><span style="font-family:"Times New Roman","serif";mso-fareast-Times New Roman";mso-ansi-language:ES;mso-fareast-language:ESfont-family:";color:black;"><span class="Apple-style-span" style="font-size:small;"><br /><br />GET PERNR.<br />* Cuando se efectura el GET las tablas internas OLD y NEW están llenas<br />* con el resultado de la búsqueda<br />PROVIDE * FROM OLD BETWEEN PNPBEGDA AND PNPENDDA.<br />WRITE:/, OLD-PERNR, 'OLD-PERSK':, OLD-PERSK.<br />* Ponemos el nuevo valor a la tabla NEW<br />NEW-PERSK = '22'.<br />WRITE:/ 'NEW-PERSK':, NEW-PERSK.<br />* Modificamos la tabla interna, no insertamos porque ya esta llena<br />MODIFY NEW INDEX SY-TABIX.<br />ENDPROVIDE.<br />* Llamamos a la macroinstrucción RP-UPDATE pasando la tablas interna<br />* con los viejos y nuevos datos.<br />RP-UPDATE OLD NEW.</span><o:p></o:p></span></p> <p class="MsoNormal"><span lang="ES-CL"><o:p> </o:p></span></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3163356494897018320.post-51623899880453079532009-05-29T06:30:00.000-07:002009-05-29T06:33:46.197-07:00User Exit para ME21N, ME22N<span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family:arial;">Les adjunto 2 user exit, que se gatillan, al momento de grabar y dar enter en los pedidos de compra.</span></span><div><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family:arial;"><br /></span></span></div><div><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-family:arial;">personalmente me ha servido de mucha utilidad :</span></span></div><div><br /></div><div><p class="MsoNormal" style="margin-left:53.4pt;text-align:justify;text-indent: -.25in;mso-list:l0 level2 lfo1"><b style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-size:11.0pt;mso-bidi-font-size:10.0pt; font-family:"Calibri","sans-serif";mso-fareast-font-family:Calibri;mso-bidi-font-family: Calibri;color:black;mso-ansi-language:EN-US;mso-fareast-language:ES;mso-no-proof: no"><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""><span class="Apple-style-span" style="font-family:Calibri;font-size:130%;"><span class="Apple-style-span" style="font-size: 15px;"><b> </b></span></span> </span></span></span></b><b style="mso-bidi-font-weight:normal"><span lang="ES-CL" style="font-size:10.0pt;font-family:"Arial","sans-serif";mso-fareast-font-family: "Arial Unicode MS"">EXIT_SAPMM06E_006, Include </span></b><b style="mso-bidi-font-weight: normal"><span lang="EN-US" style="font-size:10.0pt;font-family:"Arial","sans-serif"; color:black;mso-ansi-language:EN-US;mso-fareast-language:ES;mso-no-proof:no">ZXM06U36</span></b></p><p class="MsoNormal" style="margin-left:53.4pt;text-align:justify;text-indent: -.25in;mso-list:l0 level2 lfo1"><span class="Apple-style-span" style="font-family: Arial; font-size: 13px; font-weight: bold; "><b style="mso-bidi-font-weight: normal"><span lang="ES-CL" style="font-size:11.0pt;mso-bidi-font-size:10.0pt; font-family:"Calibri","sans-serif";mso-fareast-font-family:Calibri;mso-bidi-font-family: Calibri;mso-bidi-font-style:italic"><span style="mso-list:Ignore"><span style="font:7.0pt "Times New Roman""> </span></span></span></b><b style="mso-bidi-font-weight:normal"><span lang="ES-CL" style="font-size:10.0pt; font-family:"Arial","sans-serif";mso-bidi-font-style:italic">EXIT_SAPMM06E_017, include ZXM06U42</span></b></span></p></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3163356494897018320.post-75606562830142356832009-05-28T11:57:00.000-07:002009-05-28T12:08:21.322-07:00Ejemplo de Select Options Dinamico<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ailx84wuSig/Sh7gjtws87I/AAAAAAAAADU/UTM-ZVAZYP0/s1600-h/sod.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 252px;" src="http://3.bp.blogspot.com/_ailx84wuSig/Sh7gjtws87I/AAAAAAAAADU/UTM-ZVAZYP0/s320/sod.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5340953112291898290" /></a><br /><span class="Apple-style-span" style=" ;font-family:'Lucida Grande';font-size:12px;"><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; "><span class="Apple-style-span" style="font-family:arial;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="color:#000099;">Con el siguiente código podremos crear pantallas de entrada de datos dinámicas. Donde según el radio button que se elija, aparecerán distintos filtros de selección.</span></span></span></p><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; "><span class="Apple-style-span" style="font-size: small;"><br /></span></p><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; "><span class="Apple-style-span" style="font-size:100%;"><span class="Apple-style-span" style="font-size: 13px;"><br /></span></span></p><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; "><span class="Apple-style-span" style="font-size: small;">TABLES: KNA1, MARA.</span></p><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; "><span style="color:#0000ff;"><span class="Apple-style-span" style="font-size: small;">************************************************************************<br />*** SELECTION-SCREEN / PARAMETERS / SELECT-OPTIONS ***<br />************************************************************************<br /></span></span><span class="Apple-style-span" style="font-size: small;">SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-A01.<br />PARAMETERS:<br /> R_CLIE RADIOBUTTON GROUP GRUP USER-COMMAND R DEFAULT ‘X’,<br /> R_MATE RADIOBUTTON GROUP GRUP.<br />SELECTION-SCREEN END OF BLOCK B1.</span></p><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; "><span style="color:#0000ff;"><span class="Apple-style-span" style="font-size: small;">*Datos Clientes<br /></span></span><span class="Apple-style-span" style="font-size: small;">SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-B02.<br />SELECT-OPTIONS: SO_CLIE FOR KNA1-KUNNR MODIF ID CLI,<br /> SO_NAME FOR KNA1-NAME1 MODIF ID CLI,<br /> SO_LAND FOR KNA1-LAND1 MODIF ID CLI.<br />SELECTION-SCREEN END OF BLOCK B2.</span></p><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; "><span style="color:#0000ff;"><span class="Apple-style-span" style="font-size: small;">*Datos Materiales</span></span><span class="Apple-style-span" style="font-size: small;"><br />SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-B03.<br />SELECT-OPTIONS: SO_MATE FOR MARA-MATNR NO INTERVALS NO-EXTENSION MODIF ID MAT.<br />SELECTION-SCREEN END OF BLOCK B3.</span></p><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; "><span style="color:#0000ff;"><span class="Apple-style-span" style="font-size: small;">*———————————————————————–*<br />*AT SELECTION-SCREEN.<br />*———————————————————————–*</span></span><span class="Apple-style-span" style="font-size: small;"><br />AT SELECTION-SCREEN OUTPUT.</span></p><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; "><span class="Apple-style-span" style="font-size: small;"> LOOP AT SCREEN.</span></p><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; "><span class="Apple-style-span" style="font-size: small;"> IF SCREEN-GROUP1 = ‘MAT’.<br /> CASE R_MATE.<br /> WHEN ‘X’.<br /> SCREEN-ACTIVE = 1.<br /> WHEN OTHERS.<br /> SCREEN-ACTIVE = 0.<br /> ENDCASE.<br /> ELSEIF SCREEN-GROUP1 = ‘CLI’.<br /> CASE R_MATE.<br /> WHEN ‘X’.<br /> SCREEN-ACTIVE = 0.<br /> WHEN OTHERS.<br /> SCREEN-ACTIVE = 1.<br /> ENDCASE.<br /> ENDIF.</span></p><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; "><span class="Apple-style-span" style="font-size: small;"> MODIFY SCREEN.</span></p><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; "><span class="Apple-style-span" style="font-size: small;"> ENDLOOP.</span></p></span>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-3163356494897018320.post-76272233738537990902009-05-20T09:59:00.000-07:002009-05-20T11:21:24.936-07:00Crear un alv con columnas dinamicas<p><span style="color:#000099;">Ejemplo de creación de un ALV con columnas dinámicas generado mediante una tabla interna de columnas dinámicas.</span></p><p><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;">REPORT ZPRUEBA_ALV_DINAMICO.</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> </span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;">TYPE-POOLS: slis.</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> FIELD-SYMBOLS: <t_dyntable> TYPE STANDARD TABLE, " Dynamic internal table name</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> <fs_dyntable>, " Field symbol to create work area</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> <fs_fldval> type any. " Field symbol to assign values</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> </span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;">PARAMETERS: p_cols(5) TYPE c, " Input number of columns</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> p_rows(5) TYPE c.</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;">DATA: t_newtable TYPE REF TO data,</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> t_newline TYPE REF TO data,</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> fs_fldcat TYPE slis_t_fieldcat_alv,</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> t_fldcat TYPE lvc_t_fcat,</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> wa_it_fldcat TYPE lvc_s_fcat,</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> wa_colno(2) TYPE n,</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> wa_flname(5) TYPE c.</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"></p><br /></span></span></span><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;">* Create fields .</span></span></span></t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> DO p_cols TIMES.</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> CLEAR wa_it_fldcat.</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> move sy-index to wa_colno.</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> concatenate 'COL'</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> wa_colno</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> into wa_flname.</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> wa_it_fldcat-fieldname = wa_flname.</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> wa_it_fldcat-datatype = 'CHAR'.</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> wa_it_fldcat-intlen = 10.</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> APPEND wa_it_fldcat TO t_fldcat.</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> ENDDO.</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span></t_dyntable><p><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"></p>* Create dynamic internal table and assign to FS</span></span></span></t_dyntable><p><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> CALL METHOD cl_alv_table_create=>create_dynamic_table</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> EXPORTING</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> it_fieldcatalog = t_fldcat</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> IMPORTING</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> ep_table = t_newtable.</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> ASSIGN t_newtable->* TO <t_dyntable>.</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span></t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;">* Create dynamic work area and assign to FS</span></span></span></t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> CREATE DATA t_newline LIKE LINE OF <t_dyntable>.</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> ASSIGN t_newline->* TO <fs_dyntable>.</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"></p><br /></span></span></span></t_dyntable><p><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;">************************</span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"></span><span style="font-size:85%;"><br /></span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;">** Populate internal table</span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"></span><span style="font-size:85%;"><br /></span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"></p>************************</span></span></span></t_dyntable></t_dyntable><p><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"></span><span style="font-size:85%;"><br /></span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"> DATA: fieldname(20) TYPE c.</span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"></span><span style="font-size:85%;"><br /></span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"> DATA: fieldvalue(10) TYPE c.</span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"></span><span style="font-size:85%;"><br /></span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"> DATA: index(3) TYPE c.</span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"></span><span style="font-size:85%;"><br /></span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"> DATA: index2(3) TYPE c.</span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"></span><span style="font-size:85%;"><br /></span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"> DO p_rows TIMES.</span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"></span><span style="font-size:85%;"><br /></span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"> index2 = sy-index.</span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"></span><span style="font-size:85%;"><br /></span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"> DO p_cols TIMES.</span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"></span><span style="font-size:85%;"><br /></span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"> index = sy-index.</span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"></span><span style="font-size:85%;"><br /></span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"> MOVE sy-index TO wa_colno.</span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"></span><span style="font-size:85%;"><br /></span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"> CONCATENATE 'COL'</span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"></span><span style="font-size:85%;"><br /></span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"> wa_colno</span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"></span><span style="font-size:85%;"><br /></span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"> INTO wa_flname.</span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"></span><span style="font-size:85%;"><br /></span></span></span></t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;">* Set up fieldvalue</span></span></span></t_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"></span><span style="font-size:85%;"><br /></span></span></span></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></t_dyntable></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></p></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable><p><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable></p><p><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"> CONCATENATE 'VALUE ' index '-' index2 INTO</span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"></span><span style="font-size:85%;"><br /></span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"> fieldvalue.</span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"></span><span style="font-size:85%;"><br /></span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"> CONDENSE fieldvalue NO-GAPS.</span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"></span><span style="font-size:85%;"><br /></span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"> ASSIGN COMPONENT wa_flname</span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"></span><span style="font-size:85%;"><br /></span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"> OF STRUCTURE <fs_dyntable> TO <fs_fldval>.</span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"></span><span style="font-size:85%;"><br /></span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"> <fs_fldval> = fieldvalue.</span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"></span><span style="font-size:85%;"><br /></span></span></span><span style="font-family:courier new;"><span style="color:#000000;"><span style="font-size:85%;"> ENDDO.</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"></p><br /></span></span></span></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable><p><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable></p><p><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><p></p><p><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable></p><p><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable></p><p><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><p></p><p><span style="font-family:courier new;"><span style="font-size:85%;"><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><span style="color:#000000;">* Append to the dynamic internal table</span></t_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><span style="color:#000000;"><br /></span><span style="color:#000000;"> APPEND <fs_dyntable> TO <t_dyntable>.</span><span style="color:#000000;"><br /></span><span style="color:#000000;"> ENDDo.</span></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></span></span></p><p><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable></p><p><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable></p><p><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><p><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable></p><p><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><p><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> </span></span></span></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><fs_fldval><fs_fldval><fs_dyntable></p><p><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable></p><p><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable></p><p><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;">************************</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;">** Display internal table</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;">************************</span></span></span></t_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><p><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable></p><p><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable></p><p><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> </span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;">DATA: wa_cat LIKE LINE OF fs_fldcat.</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> DO p_cols TIMES.</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> CLEAR wa_cat.</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> MOVE sy-index TO wa_colno.</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> CONCATENATE 'COL'</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> wa_colno</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> INTO wa_flname.</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> wa_cat-fieldname = wa_flname.</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> wa_cat-seltext_s = wa_flname.</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> wa_cat-outputlen = '10'.</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> APPEND wa_cat TO fs_fldcat.</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> ENDDO.</span></span></span></t_dyntable></t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;">* Call ABAP List Viewer (ALV)</span></span></span></t_dyntable></t_dyntable><t_dyntable><t_dyntable><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></p></span></span></span></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable><p><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><t_dyntable><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> EXPORTING</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> it_fieldcat = fs_fldcat</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> TABLES</span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"><br /></span></span></span><span style="font-size:85%;"><span style="font-family:courier new;"><span style="color:#000000;"> t_outtab = <t_dyntable>.</span></span></span></t_dyntable></fs_dyntable></fs_dyntable></t_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><span style="color:#000099;"><p><span style="font-size:85%;"><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><t_dyntable><span style="font-family:courier new;"><span style="font-size:85%;"><span style="color:#000000;"><br /></span></span></span><span style="font-family:courier new;"><span style="font-size:85%;"><span style="color:#000000;"><br /></p></span></span></span></t_dyntable></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable></t_dyntable></t_dyntable></fs_dyntable></fs_fldval></fs_fldval></fs_dyntable></fs_dyntable></t_dyntable></t_dyntable></fs_fldval></fs_dyntable></t_dyntable><p><img style="cursor:pointer; cursor:hand;width: 320px; height: 156px;" src="http://2.bp.blogspot.com/_ailx84wuSig/ShQ8RistO0I/AAAAAAAAADM/VpHp1S6z938/s320/alv_dinamico.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5337957730410642242" /></p><p><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable></p><p><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><fs_dyntable><fs_fldval><fs_fldval><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><span style="font-size:85%;"><span style="font-family:courier new;"><t_dyntable></p><p><span style="font-size:85%;"><span style="font-family:courier new;"><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><span style="font-size:85%;"><span style="font-family:courier new;"><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><span style="font-size:85%;"><span style="font-family:courier new;"><t_dyntable><span style="font-size:85%;"><span style="font-family:courier new;"><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><span style="font-size:85%;"><span style="font-family:courier new;"><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><span style="font-size:85%;"><span style="font-family:courier new;"><t_dyntable><span style="font-size:85%;"><span style="font-family:courier new;"><t_dyntable><fs_dyntable><fs_fldval><t_dyntable><t_dyntable><fs_dyntable><span style="font-size:85%;"><span style="font-family:courier new;"><fs_dyntable><fs_fldval><fs_fldval><fs_dyntable><t_dyntable><span style="font-size:85%;"><span style="font-family:courier new;"><t_dyntable><br /><br /></p></t_dyntable></span>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-3163356494897018320.post-3835962263927731172009-05-19T11:09:00.000-07:002009-05-20T10:06:02.912-07:00Manejo de Errores con Try – Catch<p><span style="font-family:arial;"><span style="font-size:85%;">ABAP puede controlar errores para evitar dumps con TRY-CATCH (muy usando en JAVA)</span></span></p><p><span style="font-family:arial;"><span style="font-size:85%;">Ejemplo :</span></span><br /><span style="color:#3333ff;"><span style="font-family:courier new;"><span style="font-size:85%;">*Al Insertar registros en la table ZPEDIDOS si hay algún tipo de error de SQL manejo </span></span><span style="font-family:courier new;"><span style="font-size:85%;">*</span></span><span style="font-family:courier new;"><span style="font-size:85%;">la </span></span><span style="font-family:courier new;"><span style="font-size:85%;">excepción con un mensaje de advertencia. </span></span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> TRY.</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> INSERT INTO ZPEDIDOS VALUES WA_ZPEDIDOS </span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> CATCH CX_SY_DYNAMIC_OSQL_ERROR.</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> MESSAGE ‘Error al actualizar la tabla ZPEDIDOS’ TYPE ‘I’.</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> ENDTRY.</span></span><br /><br /><br /></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3163356494897018320.post-50382984010616816282009-05-18T14:21:00.000-07:002009-05-20T10:12:19.222-07:00Leer datos de memoria de un dynpro<p><strong><span style="color:#000099;"><span style="font-family:arial;">Este ejemplo lee los datos de memoria de la grilla del dynpro de posiciones del pedido de compra (ME22N), funciona muy bien en user exit.</span></span></strong></p><p><strong><span style="color:#000099;"><span style="font-family:arial;">es adaptable a cualquier dynpro tanto estandard como Z.</span></span></strong></p><p><span style="font-size:85%;"><span style="font-family:courier new;">DATA char(50) VALUE '(SAPLMEPO)POT[]'.<br />DATA itab LIKE bekpo OCCURS 0 WITH HEADER LINE.<br />FIELD-SYMBOLS <f1> TYPE ANY.<br /><br />ASSIGN (char) TO <f1>.<br /><f1><f1><f1></span>itab[] = <f1> .<br />LOOP AT itab.<br />itab-loekz = 'S'.<br />MODIFY ITAB.<br />ENDLOOP.<br /><f1> = itab[].<br /><br /><br /></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3163356494897018320.post-69376395405835127512009-05-18T14:12:00.000-07:002009-05-20T11:20:19.984-07:00Debloquear Editor (SE38)Cuando necesitamos modificar un programa que tiene el bloqueo de editor activado? Por lo general, le pedimos a quien lo haya activado, que lo libere. El problema es que por lo general (casi siempre) esa persona ya no está en el proyecto o en el lugar donde estamos. <br /><br />En ese caso, existe un truco para poder quitar el bloqueo. Desde la SE16, ingresamos a la tabla PROGDIR. En el campo NAME ponemos el nombre del programa que queremos desbloquear. Al traer los registros que cumplen con nuestra selección (F8) aparecerá un registro con el nombre de nuestro programa. Lo seleccionamos y presionamos el lapiz para modificar el registro. (El famoso "palo hache"...) Borramos la X que hay en el campo EDTX (que indica que está activado el bloqueol de editor) y grabamos.<br /><br />Listo! Ahora podemos modificar el programa normalmente.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-3163356494897018320.post-13118199457114266402009-05-18T09:54:00.000-07:002009-05-18T14:30:17.685-07:00Barra de Progreso (ejemplo clasico)<p><strong><span style="color:#000099;">La barra de Progreso es muy util cuando se quiere informar al usuario que un proceso esta tardando , pero que pronto llegara a su fin... (para que no pierda la paciencia...jejej).</span></strong></p><p><strong><span style="color:#000099;">internamente sirve tambien para evitar dumps por time out.</span></strong></p><p><strong><span style="color:#000099;">Aqui va un ejemplo :</span></strong></p><p><span style="color:#000099;"><span style="font-family:courier new;"><span style="font-size:85%;">*&**********************************************************************</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span></span></p><span style="color:#000099;"><span style="font-family:courier new;"><span style="font-size:85%;">*& DESCRIPTION: Demonstrate Progress indicator *</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;">*&**********************************************************************</span></span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;">REPORT zprogind.</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;">TYPES: BEGIN OF t_mara,</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> matnr LIKE mara-matnr,</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> END OF t_mara.</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;">DATA: it_mara TYPE STANDARD TABLE OF t_mara INITIAL SIZE 0,</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> wa_mara TYPE t_mara.</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;">DATA: mara_lines TYPE i,</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> gd_percent TYPE i.</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;">START-OF-SELECTION.</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> SELECT matnr</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> INTO TABLE it_mara</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> FROM mara.</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> CHECK sy-subrc EQ 0.</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> mara_lines = sy-dbcnt.</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> clear: gd_percent.</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> LOOP AT it_mara INTO wa_mara.</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> PERFORM progress_bar USING 'Retrieving data...'(001)</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> sy-tabix</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> mara_lines.</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="color:#000099;"><span style="font-family:courier new;"><span style="font-size:85%;">* WAIT UP TO 2 SECONDS.</span></span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> ENDLOOP.</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> WRITE: /20 'Report is "Complete" OK'.</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="color:#000099;"><span style="font-family:courier new;"><span style="font-size:85%;">*&---------------------------------------------------------------------*</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;">*& Form PROGRESS_BAR</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;">*&---------------------------------------------------------------------*</span></span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;">FORM progress_bar USING p_value</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> p_tabix</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> p_nlines.</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> DATA: w_text(40),</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> w_percentage TYPE p,</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> w_percent_char(3).</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> w_percentage = ( p_tabix / p_nlines ) * 100.</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> w_percent_char = w_percentage.</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> SHIFT w_percent_char LEFT DELETING LEADING ' '.</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> CONCATENATE p_value w_percent_char '% Complete'(002) INTO w_text.</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="color:#000099;"><span style="font-family:courier new;"><span style="font-size:85%;">* This check needs to be in otherwise when looping around big tables</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;">* SAP will re-display indicator too many times causing report to run</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span></span><p><span style="color:#000099;"><span style="font-family:courier new;"><span style="font-size:85%;">* very slow. (No need to re-display same percentage anyway)</span></span></span></p><p><span style="font-family:courier new;"><span style="font-size:85%;"> if w_percentage gt gd_percent or p_tabix eq 1.</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span></p><span style="font-family:courier new;"><span style="font-size:85%;"> CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> EXPORTING</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> percentage = w_percentage</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> text = w_text.</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> gd_percent = w_percentage.</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;"> endif.</span></span><span style="font-family:courier new;"><span style="font-size:85%;"><br /></span></span><span style="font-family:courier new;"><span style="font-size:85%;">endform. </span></span>Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-3163356494897018320.post-78361823419202109902009-05-18T09:35:00.000-07:002009-05-18T09:45:08.845-07:00Seleccion de datos a una tabla interna<P><FONT color="#3333ff">Para completar todos los datos (o parte de ellos) a una tabla interna es bueno tener a mano este codigo :</FONT></P><P><FONT color="#000000"><EM>select [campos o asterisco] into corresponding<br /> fields of table [tabla interna] from [tabla sap]<br /> where [opciones where].</EM></FONT><br /><br /><br /></P>Unknownnoreply@blogger.com0