Pular para o conteúdo

DICA: Forms_DDL

DICA: Forms_DDL

Com certeza você que trabalha com FORMS já teve problemas com transações DML não comitadas. Isso mesmo utilizando o comando COMMIT no bloco PL/SQL.

Existe um Built in no forms chamado Forms_DDL. Com ele é possível comitar ou dar rollback em todas as transações DML pendentes no FORMS.

Ex:  forms_ddl('COMMIT'); forms_ddl('ROLLBACK');

Também é possível executar bloco PL/SQL anônimo com ele:

forms_ddl ('Begin Update_Employee (:emp.empno); End;');

Algumas instruções DDL também são possíveis, como CREATE TABLE

/*** Built-in: FORMS_DDL
** Example: The expression can be a string literal. 
*/ 
BEGIN 
   Forms_DDL('create table temp(n NUMBER)'); 
   IF NOT Form_Success THEN 
      Message ('Table Creation Failed'); ELSE Message ('Table Created'); 
   END IF; 
END;

Até a versão 6i, o forms_ddl tinha algumas restrições como não efetuar DROP de tabelas ou DATABASE LINKS. Não fiz o teste no 10g ainda para saber se isso se mantém.

Fonte 

  • Help Forms 6i

Abraço

Sergio Willians

Sergio Willians

Sergio Willians é o fundador do GPO (Grupo de Profissionais Oracle) e possui quase 30 anos de experiência em tecnologias Oracle, sendo especialista em desenvolvimento Forms/Reports, PL/SQL e EBS (E-Business Suite) nos módulos Receivables, Payables e General Ledger. Atualmente trabalha na Scania Latin America, onde se dedica à área de integração de dados com Confluent Kafka. Sua paixão é compartilhar conhecimento com a comunidade Oracle, contribuindo para o crescimento e a excelência da plataforma.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

plugins premium WordPress