¿Como puedo ejecutar código ABAP?

Hola a todos, un gusto saludarles.

Se me ha presentado una inquietud con respecto a ejecutar código ABAP sin necesidad de crear un programa Z, esto mas que todo para ejecutar unos select y realizar unas pruebas unitarias en PRD.

He visto algunas opciones que son usar unos TIPS and TRICKS, donde puedes hacer unas pruebas de rendimiento y te permitiría en teoría crear tu código ahí. He probado y me dice que no dispongo de autorización para tratar, mas he leído que un amigo con la misma duda dice que tiene SAP_ALL y aun así no he posible.

Si ustedes han encontrado alguna forma de hacer esto, seria de mucha ayuda si me pudieran facilitar algún tipo de orientación.

Gracias de antemano.

Cuando dices crear validaciones en PRD es dentro de una transacción?
Si es así, no es recomendable modificar una transacción estándar.

Puedes buscar como usar las user-exit para validaciones.

Saludos (:

Hola muchas gracias, no estoy creando validaciones, creo que mi frase fue muy ambigua. La he modificado. Lo que necesito es ejecutar código ABAP pero sin crear un programa, porque para esto debería de transportar y como he mencionado, son pruebas unitarias, algo bien controlado.

Gracias.

El detalle es que son pruebas en PRD, lo cual nunca es recomendable xD

Por que no nos das un ejemplo de lo que quieres hacer a ver si hay alguna alternativa.

1 me gusta

Entiendo que quieres hacer algo de este estilo?? Habilitar SQL Command Editor pero aún así no es Abap puro pero se pueden hacer consultas.

Es código SQL no ABAP

1 me gusta

@nicolasegp nuestro amigo @borja87, me ha captado la idea, y si bien es cierto lo que el dice es que son solo sentencias SQL no ABAP.

Lo que necesito es lo que dice este amigo aqui: h_tp://www.mundosap.com/foro/showthread.php?t=42425

Cabe destacar que el dice SQL, pero en realidad lo que el precisa es ABAP.

Con lo que yo pongo puedes hacer las consultas, no tiene sentido un if, porque estás haciendo una consulta o la otra, pero para hacer lo que pone si es posible Con SQL, haces una consulta ejecutas y luego cambias el código y pruebas la otra consulta, porque yo entiendo que sólo quieres obtener dichos datos.

Hay veces que esta transacción si está restringida su uso (sap_all obviamente puede siempre) tanto en desarrollo como en producción porque puedes atacar los datos desde la fuente y borrar tablas estandar y liarla parda.

1 me gusta

Ahí comentan para hacer pruebas ABAP pero no te va a dejar correr esas pruebas en PRD y es aquí es donde esta el detalle, por eso quería ver que necesitabas hacer en PRD para ver si hay alguna alternativa.

Los clientes/mandante de producción y algunas veces calidad están cerrados a modificaciones y aquí es donde se complica probar código y la necesidad de usar OT.

1 me gusta

Usa Eclipse con el ADT, tiene muchas posivilidades, y podras hacer las pruebas que necesitas.
ya para consultas en PRD, hay otros servicios que te permiten hacerlas, yo uso o solicia usar un SQL ABAP stemanet test. funcionaba de maravilla para estos fines.

Pero nada de lo que estas necesitando ahora mismo se puede hacer con una T-Code standard o con algun as bajo la manga, son configuraciones a problemas particulares las cuales requieren una profundizacion en lo que se busca.
De que se puede se puede. Si tuviera el sistema activo, te habria pasado mi metodo.

3 Me gusta

¿es decir? ¿necesitas ejecutar código ABAP en un entorno pero no quieres hacer un transporte de un report? Si es así, se puede hacer algo. Mediante la función “TRINT_OBJECTS_CHECK_AND_INSERT” y un breakpoint se puede modificar cualquier report z que haya en un entorno para el que el mandante esté bloqueado para modificaciones.

Yo lo uso por ejemplo en entorno de pruebas QAS, donde tengo un report Z… y lo modifico a mi antojo para hacer pruebas.

2 Me gusta

Ustedes son grandes y cada dia me doy cuenta que yo no se nada :S !!! lo bueno es que se cuenta con ustedes, grande @salco y @smota

Hola @Salco

Me pasarias un ejemplo de cómo ejecutas la FM TRINT_OBJECTS_CHECK_AND_INSERT ?

Gracias !

Hola @sconoredhot,
Voy a la SE37 y visualizo la función TRINT_OBJECTS_CHECK_AND_INSERT. Busco la primera aparición en código de la string DDIC-EXIT y cuando la localizo pongo un break-point en el if que viene debajo (línea 699 en mi caso).
Entonces voy al report Z con la se38, le doy al lápiz para editarlo y salta el debugger justo en el brek point. Lo que hay que hacer es poner el valor X en la variable ls_s-no_wbo_control y dar al F8. Con eso se abre el report para editarlo.

Una vez hecha la modificación le das a activar y va a saltar el breakpoint 4 veces y en todas hay que hacer lo mismo, poner la X en la variable y dar F8. Así lo activa, no hay que hacer transporte y puedes probar tu código.

La verdad es que la uso mucho, es que tenemos sap_all y podemos hacer muchas cosas.

6 Me gusta

Excelente, muy claro.
Muchas gracias !

@Salco, estas cosas merecen permalink en alguna seccion!!. Ojala @SidV nos pueda ayudar con algo asi mas adelante.

@LDSDev existe la sección de Tips and tricks en esta comunidad, a lo mejor lo podría poner allí, pero no se si todos tienen acceso

1 me gusta

Esa seccion es para que se motiven a llegar. y tengan su recompensass.
ya damos este tema por cerrado entonces.
que tengan feliz resto del dia.

1 me gusta

Creo que seria buen lugar para ponerlo, esperamos tu aporte en la seccion @Salco. Saludos!!

1 me gusta

Muchas gracias amigo, pero tengo una duda, la modificación que realizas solo es para la prueba pero no queda esa modificación permanente cierto?

La modificación se hace realmente sobre el report. Si luego no te interesa lo que has hecho lo puedes quitar de nuevo.
Si quieres hacer pruebas para ver una funcionalidad muy concreta pues puedes hacer un ztest o algo así y modificar sobre ese.