MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
 
 
Herramientas Buscar en Tema Desplegado
Prev Mensaje Previo   Próximo Mensaje Próx
  #1  
Viejo 15/11/07, 15:58:33
Juan Fernando Ruelas Noa Juan Fernando Ruelas Noa is offline
Junior Member
 
Fecha de Ingreso: oct 2007
Mensajes: 3
Cool SQL DINAMICO - UPDATE y WHERE de tablas Z

Hola Amigos del Mundo ABAP
Que tal, espero todo bien, un favor tenemos un dilema con un Req. Por cambio de moneda en Venezuela

Lo que pasa es que es necesario dividir algunas columnas tipo moneda de casi todas las tablas Z de SAP, entre 1000.

Como veran la descripción funcional es bien sencilla, la complicación surge en la parte técnica, ya que según lo que han solicitado, los usuarios podrán mantener una tabla ZHardCode con las tablas que se van a tratar, sus respectivos campos a dividir y los filtros que se tendrá (Sociedad, País, Centro, etc) aparentemente estos filtros serán los mismos pero no es así, ya que el nombre de los campos en las diferentes tablas Z es diferente, eso complica la situación.

Las tablas internas cargadas de la ZhardCode que servirían para procesar la información tendrían la siguiente estructura:

Cargar tablasZ ti_tablasz
Numero Nombre Tabla
1 ZABC1
2 ZABC2
3 ZABC3
4 ZABC4
….
n ZABCn

Cargar camposupdateTablasZ (ZABCn) ti_campos_tz
Numero Nombre Tabla Campos UPDATE
1 ZABC1 CampoTABC1_1
CampoTABC1_2
2 ZABC2 CampoTABC2_1
CampoTABC2_2
CampoTABC2_3
CampoTABC2_4
3 ZABC3 CampoTABC3_1
4 ZABC4 CampoTABC4_1
….
n ZABCn CampoTABCn_n

Cargar camposwhereTablaZ (ZABCn) ti_condiciones_tz
Numero Nombre Tabla Campos WHERE
1 ZABC1 CampoTABC1_1
CampoTABC1_2
2 ZABC2 CampoTABC2_3
CampoTABC2_4
3 ZABC3 CampoTABC3_1
4 ZABC4 CampoTABC4_1
….
n ZABCn CampoTABCn_n

Ejem de un loop:
Loop at ti_tablasZ (ZABC2)
Cargar camposupdateTablasZ (ZABC2) ¨ Devuelve str_campos_update ejemplo CampoTABC2_3 / 1000, CampoTABC2_4 / 1000
Cargar camposwhereTablaZ (ZABC2) ¨ Devuelve str_campos_where ejemplo CampoTABC2_1 = ‘VE01’ AND, CampoTABC2_2 = ‘C01’

UPDATE (ZABC2) SET CampoTABC2_3 / 1000, CampoTABC2_4 / 1000 WHERE CampoTABC2_1, CampoTABC2_2

Endloop.
Endloop.

Pls has visto algo así antes? O sabes si es posible hacerlo? Sobre todo en la parte de los wheres ya que son dinamicos también, en realidad es como si el usuario estaría construyendo una sentencia update pero desde una interfaz,

Gracias por el apoyo, y disculpen las molestias.

Saudos
Fernando
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 20:17:47.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web