Ver la Versión Completa : Provide de varios infotipos
Buenas necesito volcar los datos con cortes de varios infotipos en un listado que agrupe determinados datos en un mismo registro.
Concretamente son 5 infotipos, teneis constancia de que tenga problemas de recursos?
Como puedo saber la optimización de este provide?
Saludos y Gracias
Hola,
Especifica un poco más. Qué información quieres extraer exactamente?
Un saludo
Buenas Floren, los infotipos que estoy consultando son
0001
0008
0016
0041
0061
Los datos que quiero conseguir son las relaciones de estos inforipos en las fechas dadas, por ejemplo:
Trabajador A ENDDA_1 BEGDA_1 DIVISIÓN A SUBDIVISIÓN B CONVENIO 1
Trabajador A ENDDA_2 BEGDA_2 DIVISIÓN A SUBDIVISIÓN B CONVENIO 2
Gracias
robert_milan
16/06/08, 10:22:24
usa la tabla logica PNP, ahi puedes tener lo que necesitas.
Gracias Robert, así lo hago, mi pregunta viene para determinar el rendimiento de esta consulta, no quiero dejar tirado el sistema con una consulta de este estilo...
Se puede ver el equivalente de esta consulta en SQL? Así y todo se podría ejecutar un explain plan para analizarlo en detalle.
Hola,
Postea el código del provide que dudas si poner en el programa, así te podré decir de manera más segura si te puedes cargar o no el performance.
Aunque seguramente ya lo sepas, el provide no funciona de la misma manera que un loop. El provide recorta las fechas, ten esto en cuenta.
Otra cosa, quieres extraer esta información para todos los empleados (filtrando por la PNP)? o para algunos en concreto? Te pregunto esto porque exiten macros que extraen datos de los infortipos sin tener que cargar PNP en el report.
Un saludo
Contemplo las dos posibilidades, una actualización general y otra por empleado, utilizando el filtrado de la pnp.
El provide es simple:
provide pernr aedtm endda begda uname bukrs werks
btrtl orgeh ansvh persk kokrs kostl
persg abkrs plans stell from p0001
pernr aedtm endda begda
uname trfar trfgb trfgr
bsgrd from p0008
berkt grcot ocupa from p0061
cttyp ctedt from p0016
dat01 from p0041
between pn-begda and pn-endda.
Mi temor es el consumo de recursos por parte de la instrucción
No tendrás ningún problema en el performance por esta instrucción. La complejidad es lineal.
Gracias Floren otra vez, pero que quieres decir con lo de "lineal"
Gracias Floren otra vez, pero que quieres decir con lo de "lineal"
Una complejidad lineal significa que no es exponencial, por ejemplo:
loop at ....
loop at ....
loop at ...
endloop.
endloop.
endloop.
Esta sentencia tiene una cota de complejidad de n*n*n. Es exponencial, y hay que evitarlas dentro de lo posible.
Cuando trabajes con PNP, debes tener en cuenta que cuantos más filtros pongas en la pantalla de selección estandard mejor (para esto, el uso de report categories es perfecto).
En general, cuando se trabaje con reportes de HR, hay que intentar minimizar dos cosas; el número de iteraciones del evento Get pernr y el número de infotipos declarados en la sentencia INFOTYPES.
Un saludo
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web