Formas Personalizacao no Oracle Apps R12Neste post, eu tentei explicar o exemplo de implementacao de uma funcionalidade de zoom em R12Instancia: R12.1.1Requisito:1. Adicione uma opcao chamada "Detalhes responsabilidade" para Menu Ferramentas do "usuarios de aplicativos" Form.2. Ao clicar na opcao, disse em uma exigencia, o usuario deve ser capaz de exibir os detalhes completos da responsabilidade selecionados via "define: RESPONSABILIDADES" formas3. funcionalidades independentes de "usuarios" e "responsabilidades" a forma nao deve ter impactadoEtapas de implementacao:Passo 1 : Abra o "Definir usuario" Formulario de "SISTEMA DE ADMINISTRADOR" ResponsabilidadePasso 2 : Abra o formulario de personalizacao, seguindo a navegacao mostrado abaixoPasso 3: Adicionar uma entrada de menu em "Ferramentas", opcao com o nome "Detalhes responsabilidade".Passo 3.1: Adicionar uma nova regra Form chamado "Adicionar e ativar um menu especial em Ferramentas Menu" com o fato gerador como "QUANDO-NEW-FORM-INSTANCIA", como mostrado abaixo,Passo 3.2: Adicionar uma acao para criar uma entrada no menu FerramentasPasso 4: Criar e inicializar o GLOBAL_VARIABLE.XX_RESP_NAME com o "nome de Responsabilidade" e chamar a funcao que corresponde a "Definir: Responsabilidades" Formulario ou seja FND_FNDSCRSPPasso 4.1: Adicionar uma regra com o fato gerador "special1" com a condicao ": USER_RESP.RESPONSIBILITY_NAME IS NOT NULL" como dado abaixoPasso 4.2: Adicionar uma acao para criar e inicializar uma variavel global com o nome de Responsabilidade ou seja, como "Application Developer"Passo 4.3: Adicionar uma acao para iniciar a funcao correspondente ao "Define: Responsabilidades" forma como abaixoPasso 5: Chamar a forma Personalizacao de forma "Responsabilidades" e executar a acao ao inicializar "valor inicial" da variavel "XX_RESP_NAME" global como NULL. Esta acao e para manter a funcionalidade normal do "Responsabilidades forma."PASSO 5.1: Invocar forma de personalizacao de "Responsabilidades Formulario" como abaixoPasso 5.2: Adicionar uma regra para criar uma variavel global, se nao existe e atribuir um NULL para o seu "valor inicial"Passo 5.3: Adicionar uma acao para navegar para o bloco "responsabilidade"PASSO 6: Adicionar uma regra para executar as acoes abaixo com o fato gerador como "QUANDO-NEW-BLOCK-instancia" do bloco "responsabilidade" e provocando condicao como ": GLOBAL.XX_RESP_NAME IS NOT NULL".Altere o "Padrao onde" Propriedade da responsabilidade para restringir a consulta para unica responsabilidadeExecute o construido em "EXECUTE_QUERY"Anular a variavel "XX_RESP_NAME" globalPASSO 6.1: Mude o "Padrao onde" Propriedade da responsabilidade para restringir a consulta para unica responsabilidadePasso 6.2: Execute o construido em "EXECUTE_QUERY" para realizar consulta autoPasso 6.3: Criar uma acao para anular a variavel globalTeste de Nossa implementacao:Navegacao:Testcase 1: "Detalhes responsabilidade" opcao desabilitada durante Enter Modo de ConsultaCaso de teste 2: "Detalhes responsabilidade" opcao desabilitada Quando cursor nao esta no bloco exibindo "responsabilidade" DetalhesCaso de teste 3: "Detalhes responsabilidade" Opcao ativada quando cursor estiver no bloco exibindo "responsabilidade" DetalhesCaso de teste 4: Ao clicar a opcao adicional "Detalhes responsabilidade" o usuario deve ser capaz de ver os detalhes de responsabilidade formulario responsabilidadePor exemplo: O cursor esta na Responsabilidade campo com o valor "Application Developer" no formulario do usuario, como mostrado na imagem acima. Portanto, se o usuario clica na opcao "Detalhes de Responsabilidade", deve auto navegar para formar responsabilidades e auto consulta para o nome de responsabilidade "Application Developer"Caso de teste 5: funcionalidade normal do formulario de responsabilidades nao devem ficou impactado