Transacción SE16N Modificación de tablas

Facebooktwittergoogle_pluslinkedinmail

Buenas a todos,

Hoy hablaré un poco de la transacción SE16N, para que sirve y sus vulnerabilidades.

¿Para que sirve la Transacción SE16N?

Básicamente es una transacción para mostrar información de una tabla determinada. Hay dos variantes de esta transacción, cuando es “se16” es una transacción normal y cuando se habla de la transacción “SE16N”, la cual en este caso se denomina transacción enjoy, ya que permite tener mayor personalización en cuanto a la interfaz de usuario.

Esta transacción sirve para insertar, modificar y borrar registros de tablas transparentes, hay que tener en cuenta que SAP no permite editar el contenido de las tablas por una simple razón, y es que si editamos alguna tabla podemos causar graves daños al sistema, dejando inconsistencias y provocando errores inesperados.

Advertencia: No hagas esto a menos que estés 100% seguro de lo que haces, siempre que puedas utiliza las transacciones de SAP para editar la información en tu sistema.

La transacción es la siguiente:

se16n1Como primer paso, se debe ingresar el nombre de la tabla sobre la cual se quiere trabajar:

se16n2  Al darle a enter, esta mostrará la lista de campos de la tabla elegida. Dicha lista funciona como pantalla de selección para que el usuario pueda elegir los registros sobre los cuales va a trabajar. Esto quiere decir que podremos filtrar por estos campos según nuestras necesidades.

En esta transacción hay varios aspectos que tenemos que hablar de ellos, estos son los siguientes:

  • Botón de referencia de utilización se16n3: este botón nos permite ver en que parte de nuestro sistema estamos usando ya sea nuestra tabla o los campos de esta tabla. Se suele utilizar, por ejemplo cuando nos olvidamos de algún programa que hemos hecho, sin embargo sabemos que usamos esta tabla, al usar este botón podemos hayar el nombre del programa que buscamos.
  • Botón de modificar parametrizaciones se16n4: Este botón nos permite hacer modificaciones cuando ejecutamos esta transacción de forma que podamos ver de una simple pasada un campo rápidamente, es decir, supongamos que nuestra tabla tiene 100 campos, y quiero ver que campo es el que utiliza en uno de los valores, para esto, seleccionamos el botón de parametrizaciones y nos mostrará un menú de selección para la modificación de la vista de los resultados de la tabla:

se16n5Para este caso, seleccionamos “Nombres técnicos como cabecera columna” y lo que hará es lo siguiente:

se16n6            Nota.

Es posible obtener esta información sin hacer esta modificación. La forma de hacerlo es, cuando ejecutemos la transacción, hacer doble clic sobre un registro y nos mostrará un pop-up donde muestra toda la información técnica de esta.

se16n7

Esto también es posible mediante el botón se16n8 .

En caso de que la tabla tenga una vista de actualización, como es mi caso, este botón te llevará directamente a la vista:

Al ejecutar la transacción, podremos ver que nos muestra, en caso de no haber filtrado por los campos anteriores todos los campos de la tabla (ojo con los campos máximos al ejecutar, por defecto son 500).

se16n11

 ¿Es posible modificar una tabla si el sistema no te permite?

La respuesta es sí, SAP por defecto, no deja modificar tablas del sistema, pero como dije al principio hay que tener mucho cuidado de hcer modificaciones en tabla que no conocemos, porque puede hacer que provoques inconsistencias en el sistema.

En esta transacción podemos saltarnos las validaciones que tiene SAP de la siguiente manera:

Permite editar completamente las tablas y no está afectado por la nota que inhabilita el método anterior. Para hacerlo ingresa en la transacción SE16N, luego pones el nombre de la tabla e ingresas en modo debug (colocando /h y presionando dos veces la tecla enter), luego edita las variables GD-EDIT , GD-SAPEDIT y GD-TABEDIT cambiando sus valores por una letra X y presionas la tecla F8 para continuar.

Los pasos gráficamente serán:

  • SE16N

se16n12

  • Una vez introducido la /H y haber dado a enter, ejecutamos la transacción para que nos muestre la información de la tabla. En la primera pantalla de debuging ya introducimos las tres variables para no perderlas.

Como es normal, en la primera función donde nos introduce el debugging no aparecerá estas variables, esto lo podemos comprobar ya que tienen un símbolo se16n13, esto significa, que no se encuentra en este método.

Para pasar a la siguiente función pulsaremos F6 hasta que cambie de función, al cambiar de función veremos que el símbolo se16n14 , desaparecerá porque ya quiere decir que las variables fueron encontradas. Estas variables estarán vacías como muestra la siguiente imagen.

se16n15Para que podamos modificar la tabla, tendremos que modificar estos valores, para ello pulsar el botón se16n16y se nos abrirá el campo Val. Para modificar el valor, introduciremos una “X” y le daremos a enter. Así con las tres variables.

se16n17NOTA: Asegurarnos de que las X son en mayúsculas, ya que hay una diferencia interna.

  • Último paso será pulsar F8 para acabar la ejecución. Veremos como la tabla se abrirá para nosotros, permitiendo la modificación de esta.

Nos saldrá de la siguiente forma:

se16n18Ahora cuando despliegues el contenido de la tabla estarás en modo de edición y podrás crear/borrar/modificar los registros de las tablas.

 Modificación de registros

En este punto, cuando nos saltamos las validaciones, ya podemos modificar de forma manual los campos que nosotros necesitemos.

Para esto, seleccionaremos una línea, haremos una modificación (en mi caso, asignaré un 1 al primer registro) y pulsaremos guardar.

se16n19

Cuando se presiona el botón Guardar, se nos muestra un pop-up con una ventana aclaratoria de la acción que se ha llevado a cabo y de la cantidad de registros que han sido borrados, insertados o modificados:

se16n20

 

INSERTAR REGISTROS

 Para insertar nuevos registros a la tabla, se debe presionar el correspondiente botón, mediante el cual, aparecerá en pantalla un registro vacío, el cual deberá ser llenado con los nuevos datos:

se16n21

Una vez parametrizados los campos con los valores deseados, se debe presionar el botón de Guardar para hacer efectiva la inserción del nuevo registro a la tabla:

se16n22

Cuando se presiona el botón Guardar, se nos muestra un pop-up con una ventana aclaratoria de la acción que se ha llevado a cabo y de la cantidad de registros que han sido borrados, insertados o modificados:

se16n23 NOTA:

Si el usuario lleva a cabo el proceso anterior, ingresando en los campos clave, un valor ya existente, en lugar de insertar un registro nuevo, estará modificando aquél con los valores nuevos de los demás campos.

 BORRAR REGISTROS

Para borrar registros de la tabla, se debe presionar el correspondiente botón, mediante el cual hará desaparecer el registro seleccionado en nuestra tabla para ello seleccionar el registro a borrar:

se16n24

Y pulsar el botón se16n25 :

se16n26

 

Cuando se presiona el botón Guardar, se nos muestra un pop-up con una ventana aclaratoria de la acción que se ha llevado a cabo y de la cantidad de registros que han sido borrados, insertados o modificados:

se16n27

 

Selección de registros  en la SE16N

Para poder seleccionar registros debemos hacer los pasos siguientes:

  • O bien colocar el cursor en la parte izquierda del registro que queremos seleccionar:seleccion-se16n

seleccion-se16n-varios

  • O pulsar en el boton de “Seleccionar todos”:
    select_all-se16n

Hay un problema con esta selección, que me imagino que se habrán dado cuenta ya, si lo hacemos por este método, es posible que no seleccionen todos los registros que se muestran en nuestra SE16n, en este ejemplo, los 500 registros. Esto es debido a que no tiene en memoria la información, para eso primero tenemos que recorrernos todos los registros, haciendo que se muestre la información, esto podemos hacerlo o bien por la barra de la derecha o bien con la tecla “Av.pág” de tu teclado, de forma que te sea más sencillo recorrerla, al realizar esto veremos algo como lo siguiente:

se16n_memoria

La seccion del cuadro verde, es la que actualmente el sistema podrá copiar, sin embargo, la que está en rojo es la que el sistema “no sabe que existe”, por eso, tenemos que recorrernos la información para poder realizar un “copia y pega” de toda la vida.

Lógicamente hay procesos tales como descargarte la información en excel y luego manipularla, si tienen alguna duda me preguntan!
Espero que les sea de ayuda y ya saben, cualquier duda escríbanme. …

Recuerden… si quieres esta página siga en pié pudiendote ayudar en el día a día, dona, cualquier donativo hará que pueda ayudarte más.

 






2 pensamientos sobre “Transacción SE16N Modificación de tablas”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

16 − cuatro =