|
#1
|
|||
|
|||
REFRESH a varias tablas
Buen día:
Quisiera hacer un REFRESH a 45 o más tablas internas con una sola sentencia, mas no quisiera ocupar tantas líneas de código. Intenté algo con los FIELD-SYMBOLS pero no sé cómo aplicarlo en este caso. FIELD-SYMBOLS <fs> TYPE ANY. -> Declaro el FieldSymbol ASSIGN lv_tabla TO <fs>. -> lv_tabla, contiene el nombre de la tabla a procesar (tan sólo el nombre). REFRESH <fs>. -> Me dirá que <fs> no es una tabla interna. ¿Alguien sabe algún otro método que pudiera utilizar? De antemano, gracias. |
#2
|
|||
|
|||
Buen dia Tere,
No se si todavia necesitaras esto o ya lo habras solucionado de otra manera, pero igual trataré de ayudarte. Entiendo que lv_tabla es una variable q contiene el nombre de la tabla, y asumo q las tablas se llaman, por ej: tabla1, tabla2 ... tabla45 Creo que deberias hacer algo como lo siguiente ------- data l_cont type i. data <fs> type any. data l_nom_tabla(10) type c. do 45 times. " Se repite la cantidad de veces segun tablas que necesites add 1 to l_cont. " contador, será el numero de tabla. concatenate lv_tabla l_cont into l_nom_tabla. * Asi l_nom_tabla ira teniendo el nombre de cada una de las tablas. * En este caso lv_tabla = 'tabla' => el FS apuntara a tabla1 .... tabla45 assign (lv_tabla) to <fs>. if sy-subrc = 0. refresh <fs>. unassign <fs>. endif. enddo. clear l_cont. -------------------- Siempre poner un if sy-subrc = 0 luego de un assign para evitar DUMPs si no pudo ser asignado el FS por algun motivo. Espero q te sirva, saludos! -Fede |
#3
|
|||
|
|||
Bueno, como indiqué, al hacer el REFRESH <fs>, me dice que <fs> no es una tabla interna.
Resulta que no tuve qué hacer el REFRESH para tantas tablas. Tan sólo para 4 y eso no afecta mucho el código. Muchas gracias Fede_82. ¿Puedo saber tu correo electrónico? |
#4
|
|||
|
|||
Field-Symbols
Buenos dias , fede_82 tu solución me parecio muy buena, lo probé y me apareció el mismo error "<fs> no es una tabla interna", lo que hice fue cambiar:
data <fs> type any. Por data <fs> type any table. Y me funciona bien . |
#5
|
|||
|
|||
Eso no lo sabía, gracias SAPRoly!
Tere_90210, me puedes enviar un mensaje privado si quieres. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|