PDA

Ver la Versión Completa : ** Ideas para implementar programación dinamica (Parametrizable) **


kerberos
26/06/09, 07:51:10
Saludos damas y caballeros,


Mi funcional me ha planteado la necesidad que un desarrollo que debo diseñar y construir pueda ser enteramente parametrizable. A que me refiero con esto?

Básicamente el desarrollo debe leer un bloque de registros de la tabla BSEG y luego procesar uno a uno estos registros. Para cada linea se debe hacer una validación y asignación del tipo:

SI Indicador debe/haber = 'H' Y Cuenta de mayor LIKE '4%' ENTONCES
ASIGNAR Importe neto del pago A campo Z.

El problema está en que quieren que dichas validaciones y asignaciones puedan ser parametrizadas en tablas para que no se necesite modificar el programa cuando una de estas validaciones o asignaciones cambie.

Alguien conoce si esto se puede hacer en ABAP?

Cómo podria atacar el problema? La verdad no se como ejecutar código que se armaría dinamicamente desde una tabla.

Tambien he pensado en una solución parecida las Validaciones de FI, pero creo que me tomaría mucho tiempo construir algo parecido.

Agradezco sus sugerencias.

Rodolfo SAP
26/06/09, 16:14:28
La unica condición que se pide parametrizable es debe/haber = 'H' y cuanta de mayor LIKE '4'. ¿ ? consideros que son muy pocas reglas para poder considerar como condiciones parametrizables, y pues te muestro algunas formas.

SOLUCION 1

Seria tener estos valores en una tabla no se

Tabla Validaciones Z

Fecha Descripcion Debe/Haber Cuenta
sy-datum Char(10) SHKZG HKONT

26/06/09 Valores BSEG_NEW H 4
Si cambiara al dia de mañana
12/07/09 Valores BSEG_POST H 2
-.....etc

Y en el programa considerar estos valores con un select y posicionarlos en el select a BSEG.

SELECT * INTO itab_parametros_bseg WHERE fecha = sy-datum. "ejemplo podria adaptarse a la fecha quieras".

SELECT * INTO itab_bseg WHERE shkzg = itab_parametros-shkzg
AND hkont = itab_parametros-hkont.

O en el

LOOP.

IF itab_bseg-shkzg = itab_parametros-shkzg
AND itab_bseg-hkont = itab_parametros-hkont.

**Proceso

ENDLOOP.

SOLUCION 2.

Poner un screen de seleccion con estos 2 parametros al inicio y despues comparar.

SELECT-OPTIONS: pa_shkzg LIKE bseg-shkzg DEFAULT 'H',
pa_hkont LIKE bseg-hkont DEFAULT '4'.

LOOP.

IF itab_bseg-shkzg = pa_shkzg
AND itab_bseg-hkont = pa_hkont.

**Proceso

ENDLOOP.

Listo pues son algunas forma de hacerlo parametrizable pero realmente quien debe de tener y proponer la solucion es el Funcional eh. presionalo tambien ponlo a trabajar jajaja ok.. :eek:

Saludos..