jueves, 3 de noviembre de 2016

Campos dinámicos mediante FIELD SYMBOLS

- De repente te toca hacer un reporte en el que tienes que recorrer N cantidad de campos o utilizar campos con el mismo patrón. Para esto podemos utilizar la asignación dinámica de valores

Qué necesitas?

Declarar tus variables.

DATA: l_campo TYPE string.

FIELD-SYMBOLS: <fs_campo> TYPE ANY.


DO num_campos TIMES.

CONCATENATE 'W_ALV-C' cont INTO l_campo.

ASSIGN (l_campo) TO <fs_campo>. --> Asigna el valor de W_ALV-C001 a tu FS

l_total = l_total +  <fs_campo>.

cont = cont + 1.
ENDDO.

Si W_ALV-C001 en el momento de la asignación venía en blanco y se tiene que asignar un valor, se puede hacer con la sentencia MOVE   .

MOVE: 'Hola' to <fs_campo>.

Y W_ALV-C001 = 'HOLA'.



Modificar tablas sin vista de actualización

De esos días en los que te toca corregir datos o tienes que forzar tus pruebas y el BASIS te ha quitado el maravilloso &SAP_EDIT, aquí tenemos otra opción en la cuál solo hay un requisito:

* Permisos para debugg y modificación de campos

- Entrar SE16N (llenar los parámetros de entrada a utilizar
- /H




- Enter
- F8

Con esto tu tabla pasara a modo editable :)

NOTA: Recuerda hacer esto solo para emergencias y evitar modificar tablas estándar.