Ver Mensaje Individual
  #5  
Viejo 06/04/10, 22:12:56
Rodolfo SAP Rodolfo SAP is offline
Member
 
Fecha de Ingreso: jun 2009
Mensajes: 89
Lightbulb Pequeña Experiencia

Hola realmente estuve en el mismo problema que tu y mira ya que debugueaste la trx SE16 te adelanto que es correcto observa el modulo de funciones SETB y la funcion RS_TABLE_LIST_CREATE es la que hace todo entre comillas por que realmente la magia de todo esta en que esta funcion crea un programa en tiempo de ejecucion para la tabla en especifico (estos programas de cierta forma virtuales los puedes checar en la SE38 buscando por ejemplo /1BCDWB/DBMARA ).

Realmente yo no encontre una opcion optima para poder realizar una pantalla de seleccion dinamica para cada tabla pues existen tablas como la BSEG que contienen muchos campos.

Siguiendo con la SE16 te recomiendo cheques los siguiente objetos y debugues la SE16 poniendo atencion en los siguientes perform y functions.

En la RS_TABLE_LIST_CREATE entra al perform check_generate_report ahi podras ver como nombra el programa siguiendo ahi entra a la función RS_TABLE_REPORT_GENERATE y al perform GENERATE_REPORT y estando dentro del codigo en el perform ausgeben
y vuala ahi esta la siguiente instrucción


donde report es una tabla tipo string que tiene todo el codigo del programa creado en tiempo de ejecucion, te aconsejo pongas un break point en cada paso que te digo para que observes y al final pongas uno muy importante en la sentencia INSERT y observe lo que contiene la tabla report que te menciono.

Te comento que al final yo lo que hice fue copiar el modulo de funciones SETB y sustituir todo por ZSETB y en codigo de igual forma renombrar todos los llamados a funcion call que hacen referencia al standar y redireccionar hacia mis Z.

Ejemplo si tengo un CALL FUNCTION 'RS_TABLE_REPORT_GENERATE' renombrar por CALL FUNCTION 'ZRS_TABLE_REPORT_GENERATE'.

Que lo programa creados como /1BCDWB/DBMARA ahora sean /1BCDWB/DBZMARA para no crear conflicto.

y de igual forma en el programa que se crea en tiempo de ejecucion que su codigo esta dentro de la tabla report sustuir lo que hay como SETB a que sea ZSETB y asi en todos los casos.

Bueno espero poder ayudarte con esto y si tienes algun comentario no dudes y aqui estaremos apoyandote.

Saludos.

Úlima edición por Rodolfo SAP fecha: 06/04/10 a las 22:15:48.
Responder Con Cita