PDA

Ver la Versión Completa : OPEN CURSOR ó PACKAGE SIZE en SELECT


kerberos
16/06/09, 14:08:45
Saludos!!

Yo con una nueva duda. Es algo de lo cual ya me he documentado pero no logro encontrar ventajas de la sentencia OPEN CURSOR sobre la PACKAGE SIZE o viceversa.


Debo extraer un gran volumen de datos y estoy seguro que el desarrollo me generará DUMPs por el tamaño de las tablas internas, así que quiero utilizar las sentencias OPEN CURSOR ó PACKAGE SIZE en mis SELECTs para evitarlo. Pero no logro saber cual de las dos utilizar? Tiene una de las dos ventajas sobre la otra?


Gracias!

ballan
16/06/09, 14:42:00
Lo primero es que para tratar grandes volumenes de datos se deberia de hacer en fondo, ya sea por jobs, update task, background task, etc..

La decision dependeria de muchas cosas pero como norma general yo utilizaria package size mas que nada porque si utilizas un cursor vas a tener que tener mucho cuidado de que no se produzca ningun commit (sap genera COMMITS implicitos, por ejemplo al realizar una llamada RFC o al pasar del PAI de una dynpro al PBO de otra) porque te dara dump

kerberos
16/06/09, 15:09:07
Lo primero es que para tratar grandes volumenes de datos se deberia de hacer en fondo, ya sea por jobs, update task, background task, etc..

La decision dependeria de muchas cosas pero como norma general yo utilizaria package size mas que nada porque si utilizas un cursor vas a tener que tener mucho cuidado de que no se produzca ningun commit (sap genera COMMITS implicitos, por ejemplo al realizar una llamada RFC o al pasar del PAI de una dynpro al PBO de otra) porque te dara dump

Gracias ballan por tu respuesta.

Respecto a los COMMITS, Cuando se abre un Cursor se puede utilizar la adición "WITH HOLD" para evitar que se cierre el el cursor cuando se dispare un COMMIT.

Me supongo que ambas sentencias mantienen abierta la conexión con la BD mientras se termina de extraer toda la información. Es esto correcto?