Oracle - Forms: ¿Commit o Standard.Commit?

 
Vista:

Forms: ¿Commit o Standard.Commit?

Publicado por joselito (92 intervenciones) el 07/02/2002 18:26:38
Hola, amigos.
Tengo una pequeña duda... ¿Existe alguna diferencia en un PL/SQL entre Commit y Standard.Commit?... No he visto ninguna, pero quizá, no me inserta registros en base de datos porque estaba con Commit, y debo de cambiarlo a Standard.Commit... ¿Saben si puede ser algo de esto? ... El problema es que despues de un Insert, no me inserta nada en Base de datos... Tenía un Commit, y no se si tendría que haber puesto Standard.Commit. Gracias. JOSE.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Forms: ¿Commit o Standard.Commit?

Publicado por Antonio (23 intervenciones) el 08/02/2002 12:44:32
No, no hay ninguna diferencia. Lo que pasa es que developer, organiza las built-in (commit, enter_query ....) en paquetes. Commit, lo almacena en el paquete Standar. Para utilizar un procedimiento,función ... almacenado en un paquete se hace con Nom_paquete.Nom_procedimiento. Pero en el Standar se crea un "alias" para no tener que estar poniendo standar.xxxxx.
Salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿¿ seguro?? ¡¡ PERO NO FUNCIONAN IGUAL !!

Publicado por Joselito (92 intervenciones) el 08/02/2002 14:59:11
Hola, Antonio...
Gracias por tu explicación, pero al llamar a un procedimiento, tenemos un Insert into...... y al final, commit, y no funciona, no inserta nada en BBDD...., en cambio, hemos puesto Standard.Commit y funciona a las mil maravillas...
De todas formas, hemos preguntado a Oracle, y nos han dicho, que es mejor utilizar FORMS_DDL('COMMIT;'); .... (Que tampoco ha funcionado) ¿Por qué? ... ¡¡ Pero si solo hacemos un commit !!, ¿ por qué tanto lio?... Tenemos la version 8.1.7, no se si tendra mucho que ver, pero con uno funciona (standard.commit), y con commit no, y con Forms_ddl('Commit') tampoco.... ¿Que puede ocurrir? ¿Esta algo mal?... Tenemos miedo a utilizar standard.commit, porque nos ha dicho Oracle que el comportamiento ha variado.... ¿Es cierto? ... ¿Que utilizo entonces? Muchas Gracias. Jose.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿¿ seguro?? ¡¡ PERO NO FUNCIONAN IGUAL !!

Publicado por Luis (1 intervención) el 10/03/2010 17:55:32
Mira segun lo que yo tengo entendido la diferencia es que el commit revisa si el estatus de tu forma ha cambiado y si es asi graba sino nop. En cambio el standar.commit no realiza tal validacion con respecto al estatus de tu forma.

Puede ser por eso que el standar.commit te sirva y el commit no.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿¿ seguro?? ¡¡ PERO NO FUNCIONAN IGUAL !!

Publicado por Sherry (1 intervención) el 11/08/2014 19:00:37
FORMS_DDL('COMMIT;') no te funciono por que le has agregado el ; dentro de los comillas simples. FORMS_DDL('COMMIT'); asi es como deberia definirse.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Forms: ¿Commit o Standard.Commit?

Publicado por Alixandro (63 intervenciones) el 20/08/2014 03:24:48
Joselito si el insert no te está funcionando debes ser por alguna razón te recomiendo que si no esta manejestén todos inalgue comiendoión pues que lo haga es probable que tenga algún problema y no se presenta. Entiendo que esta haciendo él insert desde forms si es así verifica los siguientes puntos.

1- ver si no esta anulando la acción del commit ya sea a nivel de forma o de Block.
2- como esta controlando el nivel de mensaje (:system. Message. Level) te recomiendo que ponga el nivel a cero para que así cualquier excepción pueda ser lanzada.
3- si el bloque es basetable que el atributo insert tenga el valor de yes.
4- verificar las columnas o campo de la tabla a insertar y asegurar que los campos indicados como no null esten todos incluidos en la sentencia y que cumplan con el tamaño y tipo de datos.
5- y que finalmente tenga el commit. Ya sea standard . commit o commit entre los cuales no existe diferencia ya finalmente el package standard internamente tiene el comando commit. También puedes utilizar commit_form que este si tiene diferencias con los dos anteriores aunque a la final tiene el mismo efecto. Puedes ver más sobre en la web.

También tienes la opción de lanzar la forms en modo debug colocando un break a partir desde donde desea que inicie el debug e ir viendo paso a paso los que está pasando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar