Wednesday, April 9, 2008

Transacciones para Queries

Hola!

Después de un largo tiempo, vuelvo a publicar un nuevo consejo.

En este caso les comento cómo crear una transacción para queries creados mediante las transacciones SQ01 y SQ02 (no sirve para la SQVI - no se pueden transportar estos queries de manera prolija).
Para transportar los queries, lo correcto es crear una transacción y luego transportar la transacción. La forma de crear la transacción no es buscando el nombre del programa que genera el query y asignarlo a la transacción, sino utilizando el tipo de transacción "Transacción de Parámetros" para la transacción "START_REPORT". Marcamos el tilde "Omitir imagen inicial" y usamos los siguientes valores de propuesta para los campos de la dynpro:

D_SREPOVARI-REPORT-> Nombre del Grupo de Usuarios del Query
D_SREPOVARI-EXTDREPORT-> Nombre del query
D_SREPOVARI-REPORTTYPE = "AQ" (de ABAP Query)

Hay que tener en cuenta el ámbito funcional con el que se creó el query. El mismo está en la transacción SQ01 en Entorno->Ambitos Funcionales.
Existen 2 posibiidades:
  • Ambito estándar
  • Ambito Global
En general se debe usar el segundo porque es mejor para poder transportar todos los objetos del query. Dependiendo del ámbito funcional, el parámetro D_SREPOVARI-REPORT varía.
Para el ámbito estándar, se pone directamente el nombre del grupo de usuarios; pero para ámbito global se debe poner una G (g mayúscula) en la posición 12 de la variable D_SREPOVARI-REPORT. Si no hacen esto, aparecerá un mensaje diciendo que no existe el grupo de usuarios.

Esta forma de crear transacciones para queries es la correcta porque si ponemos el nombre del programa directamente, nos va a traer problemas a la hora de transportar la transacción porque el nombre del programa generado por el query depende del ambiente y mandante.

Si tienen alguna dudao sugerencia, por favor escríbanme un comentario!

6 comments:

Shepper said...

También puedes ejecutar la query, te vas al menú Sistema->Status, ves el report que se ha ejecutado y se lo asignas a una transacción de tipo report con pantalla de selección y listo.

Mario D. !! said...

Hola,

Si en el Caso que en Campo D_SREPOVARI-EXTDREPORT, no me menciona el nombre de query como lo puedo averiguar?

En el Campo D_SREPOVARI-REPORTTYPE, el Tipo que me menciona es RW es decir "Infor.Report Writer" como funcionaria de esta manera?.

Donde podra encontrar el codigo?

Muchas Gracias!!

Nk0 said...

Muy útil esta entrada.

Como añadido comentar que si la query se tiene que ejecutar con una variante podremos añadir el campo D_SREPOVARI-VARIANT como parametro con valor el nombre de la variante.

Gracias y un saludo!

David said...

Hola, una duda, si tengo una query & su infoset en ambito estandar y los quiero pasar al ambito global ¿como lo hago?
Gracias.

Marcos Bedoya said...

Estoy interesado en aprender lo relacionado a abap el lenguaje de programacion del SAP si me podrias dar alcance o algunmanual donde estudiar este lenguaje de programacion gracias.
Email : marcosbedoya@gmail.com

Tu documentacion es muy intesante.

EU3NIO said...

POR QUE ESTE SOFTWAR ES TAN COMPLICADO PARA CEAR ALGO HAY QUE DAR MUCHOS PASO HABRA ALGUAN MANRA QUE SE PUEDE HACER AUTOMATICO.