Identificar transaccion que mantiene tabla

Hola Expertos,

Ayuda por favor!

Alguien conoce los pasos que se pueden tomar para comprobar directamente dentro de SAP cual es la transaccion (T-Code) que mantiene/modifica una tabla de SAP?

Por ejemplo: campo: RFBFK, pertenece a tabla TVFK. Como puedo ver dentro de SAP cual es el T-Code que utilizaria un usuario para mantener esa tabla o ese campo?

Otro ejemplo: campo REPRF, pertence a table LFB1. Como puedo ver dentro de SAP cual es el T-Code que utilizaria un usuario para mantener esa tabla o ese campo?

Alguien sabe los pasos?

1 me gusta

a que te refieres con mantener o modificar una tabla sap? explicanos por favor

saludos.

No se si todaaaaaas las tablas tengan alguna vista de actualizacion asociadas.

Ahora, yo conozco una forma…desde la se11, ingresas a la tabla y presionas

y ahi marcas la opcion de “vistas” y ahi podras ver las vistas asociadas y ya por la sm30 lo puedes ver !!

No se si haya otra forma !!

@squall192 Squall192…

Cuando escribo “mantener or modificar” me estoy refiriendo a que el usuario al entrar el T-Code, puede cambiar los valores de la tabla.

Por ejemplo. me han dicho que T-Code OVTP o VOFA son los que mantienen a la table TVFK. Entonces un usuario puede ejecutar VOFA y entra a la tabla TVFK, en ese momento, el usuario puede remover la “X” del campo RFBFK.

Yo quiero ver si en realidad esos son los T-Codes que “si” permiten hacer eso o no. Pero como nadie me da una respuesta solida - entonces, queiro comprobarlo yo mismo para tener una prueba indiscutible de cual es el T-Code que mantiene/modifica esa tabla…

@canuto

Cuando hago eso por ejemplo para tabla TVFK, me da 61 vistas. Como hago para seguir o encontrar el T-Code que modifica ese campo?..

Mmm no estoy seguro que sea así de fácil George, sino SAP sería un programa super inseguro si cualquier transacción puede sacar una “x” de un campo en una tabla.

Las tablas casi con seguridad que no tienen un TCode directo, salvo esas tablas de vista del customizing (a las que accedes vía SM30).

Es un interesante tema este… me intriga saber qué requerimiento tenes o qué estás investigando (y para qué).

2 Me gusta

las vistas que permiten actualización generalmente son de configuración o mantenedores de desarrollos Z. me surge la pregunta ¿porque las tendría un “usuario”?

no todas las vistas permiten actualización, deben tener esto

no me queda claro la finalidad de tu consulta, que es lo buscas al saber esto? así te podríamos ayudar mejor.

Saludos.

@SidV
@squall192

Seguro - depronto es que no se explicar…Basicamente es esto:
yo quiero saber y comprobar y demostrar cual es el T-Code que puede mantener una tabla de SAP o de un campo en particular de una tabla de SAP. Eso es todo (simple verdad?!?!)

A mi me han dicho esto:
T-Codes OVTP y VOFA son los que mantienen tabla TVFK. Como puedo demostrar o comprobar dentro de SAP que esos son los unicos T-Codes que en realidad mantienen esa tabla TVFK?

Otro ejemplo: Me han dicho que T-Code OBD3 mantiene tabla LFB1. La misma pregunta - de arriba, como puedo demostrar o comprobar dentro de SAP que ese es el unico T-Code que en realidad mantiene esa table LFB1.

El objeto de mi consulta - es para demostrarle programaticamente al auditor que esos son los T-Codes que mantienen esa tabla y de esa manera ellos los auditores no tienen informacion conflictiva de cual es el T-Code que mantiene esas tablas.

Ojala eso ayude aclarar…

Gracias…

disculpa mi insistencia, pero porqué es relevante mostrar eso sobre SAP a un auditor? no son transacciones que debieran manejar usuarios.

si nos cuentas la raíz del problema podríamos entender (a modo general) y ayudarte.

Saludos.

@squall192

Seguro…es que a los auditores les dijeron eso - que esas transacciones son la que mantienen esas tablas.

Entonces “comprobando” programaticamente que esas son las unicas transacciones -
Ya puedo hacer un SUIM report basado en esos T-Codes y sacar la lista de usuarios que tiene accesso a ese T-Code…

Teniendo la lista ya podemos comprobar que los usuarios en esa lista son las personas que pueden mantener esa tabla…

Pero queremos saber y dar pruebas que esos son los unico T-Codes o si hay mas…

Ojala sa respuesta ayude a clarificar mas

y cuantos usuarios tienes que puedan ejecutar la sm30 o sm31?

@squall192

Usuarios que pueden ejecutar SM30 o SM31 estan restringidos a Basis…

Pero los otros T-codes, OVTP, VOFA, esos estan asignados a Basis - y otros usuarios que tienen derecho a usar esos T-Codes - para que obvio no utilizen T-Codes mas sensitivos como SM30.

Por eso es que quiero encontrar y comprobar que solo esos T-Codes son los que modifican esas tablas…Porque estamos mas interesados en saber quienes usan T-Codes como OVTP y VOFA - aparte de los Basis…

y como controlarías que no tengan acceso a un programa que en su lógica modifique esa tabla por ejemplo, eso escaparía a tu análisis ya que si buscas programas por referencia de utilización a esa tabla no te aseguras que la modifique sin ver el código fuente.

por otro lado podría afirmar que esas tx OVTP, VOFA son del customizing (configuración del sistema) que no debieran tener acceso usuarios insisto. Si me hicieran esa pregunta diría que nadie tiene acceso en productivo porque en ningún rol que he definido en mi empresa que tenga esas transacciones la he asignado a usuarios en ambiente productivo.
Que hagan ese análisis desde esa perspectiva refleja que no tienen roles o permisos bien definidos.

he encontrado algo que tal vez te pueda servir, pero es ineficiente e incompleto por lo que comente arriba.

1.- tomas la tabla y buscas sus vistas en referencia de utilización. por cada tabla tendrás n vistas

2.-hay una tabla que puedes buscar todas las transacciones creadas como vistas de actualización, es la TSTCP

si te fijas en el parametro está la vista e que se puede actualizar mediante la transacción obd3

3.- buscar por cada una de las n vistas con update=x
ejemplo

tendrás como resultado n transacciones que deberás ver si algún usuario tiene acceso.

es como se me ocurre sin ser experto, capaz existe algo mejor.
espero te sirva.

4 Me gusta

@squall192

Gracias por tu respuesta y preguntas…

Honestamente, no tengo suficiente conocimiento para responder tu pregunta inicial de como controlaria a que no tengan acceso a un programa…En realidad no se.

Tambien hize lo que mencionas…y esos son los resultados que me confunden…Empezemos que me han dicho que Tx OBD3 modifica a tabla LFB1 y en su parte al campo REPRF. Pero cuando busco los campos que hacen parte de vista V_T077K - NO encuentro el campo REPRF. Fijate:

Entonces…lo que nos han dicho que esa Tx OBD3 que modifica a tabla LFB1 - NO es correcta - ya que no veo el campo REPRF…

Por eso es que vuelvo a la pregunta…como saber que Tx es la que modifica una tabla en SAP para tener pruebas que esa es la Tx…Eso confunde…porque nos han dicho OBD3 mantiene a la tabla - pero tu miras a los campos y no aparece campo REPRF…

Ahora este siguiente paso me confunde mas: Hago lo mismo pero bajo este parametro en TSTCP:

Y me da estos resultados:

Pero de nuevo - busco los campos de la vista V_LFB1_CORE y no tiene el campo de interes REPRF…fijate…

Entonces…por eso vuelvo a mi pregunta - alguien sabe una manera de como encontrar el T-Code que modifica una tabla…porque en este caso…el que nos dijero OBD3 muestra que modifica vista V_T077K - pero esa vista no tiene el campo REPRF…y cuando busco bajo los parametros de LFB1 me muestra vista V_LFB1_CORE que tampoco tiene campo REPRF…

Definitivamente no he podido encontrar una solucion…por eso es que dicen
SAP: Slow And Painful :o)

@squall192

Perdon que es largo…cuando hago el parametro TVFK me da este resultado

Entonces cuando a Tx OVTP mira los campos de las vista V_TVFK_PR no tiene campo RFBFK

Entonces estoy correcto en concluir que OVTP NO modifica a tabla TVFK ni al campo RFBFK

Pero cuando miro a Tx VOFA y vista V_TVFK si tiene el campo RFBFK

Asi que me tocara buscar a todas esas vistas y ver cual tiene o no campo RFBFK…

Por eso mi pregunta - habra una manera de poder comprobar cual es el Tx que modifica una tabla de SAP.

Yo diría que no hay manera.

Cuando decis “tabla de SAP”, te referis a un universo MUY complejo.
Una tabla puede ser “mantenida” vía SM30 desde “x” transacciones, y a la vez, también sería “modificada” vía operaciones transaccionales.

Pongamos el ejemplo de una tabla de proveedores (datos maestros).
El campo “x” (cualquiera). Vía SM30, y customizing puedo hacer que el campo aparezca o desaparezca, y a la vez, vía XK02 (si recuerdo bien), podría modificar el valor de ese campo, por lo tanto estaría modificando toda la tabla completa. :neutral_face:

2 Me gusta

Hola,

Como bien comentan los chicos es algo muy complejo, puede ser modificada de muchas maneras que no vas a encontrar tan fácilmente.

Las dos mejores opciones que conozco son:

1 - la que comentó @squall192, en la tabla TSTCP puedes encontrar las vistas de mantenimiento.

2 - Con paciencia, utilizar el programa RPR_ABAP_SOURCE_SCAN, para buscar líneas de código en programas, y asi llegar a la transacción:

(puse UPDATE, pero habría que buscar con paciencia y dedicación todas las formas y maneras de actualizar una tabla).

Contras:
Muy posiblemente se te caiga por time out.
Muy posiblemente haya código dinamico que no encuentres.
¿Que significa esto?

Si en una variable que completé buscando en una tabla transparente, el valor ‘TVFK’, y actualizo utilizando esa variable en lugar del string, el programa no te lo va a encontrar.

Ejemplo donde el programa no funcionaría:

Select single TABLA into LV_TABLA from Z_TABLAS_A_MODIFICAR
WHERE bukrs = lv_bukrs.

UPDATE (lv_tabla) from wa.

Bueno, espero que a alguno le sirva.

Saludos,
Sebastián

3 Me gusta

@SidV
@sconoredhot

Gracias por sus comentarios y las sugerencias.

@George_Burdel, por favor acordate de valorar los mensajes con :heart: (en vez de responder “muchas gracias…”), y en caso de que alguna respuesta haya solucionado tu duda, y considerás que el tema puede ser cerrado, marcá esa respuesta como “solución”.

Ayudanos a mantener el foro limpio, y organizado.
Esta comunidad, también es tuya. :+1:

1 me gusta

quisiera dar un ejemplo.

si me auditan los usuarios que puedan ejecutar batch input yo no debería demostrarle que no puedan ejecutar cada batch input del sistema, por el contrario debiera demostrarle que no tiene acceso a la herramienta.

Saludos y cuentanos como te va