#1
|
|||
|
|||
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 |
Herramientas | Buscar en Tema |
Desplegado | |
|
|