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é).
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.
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.
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?
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.
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)
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.
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
@George_Burdel, por favor acordate de valorar los mensajes con (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.
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
Es que cuando dije
es por lo que te comenta Sidv
Igual ya te han orientado, llegue un poco tarde !!
Una ultima pregunta…
Aparte de utilizar SE16 > TSTCP > y poner en el campo de parametro LFB1 o TVFK u cualquier otra tabla…
Existira otra manera de obtener una lista de todas las “VISTAS (VIEWNAME)” que existen de una tabla?
SE11, ingresando el nombre de la tabla en “Tabla de base de datos”, boton “visualizar”
luego referencia de utilización
marcas solo “vistas”, luego aceptar
Como indico @canuto arriba
Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.