Caso deseje esta prova em versão PDF, deixe seu email na parte de comentário que irei compartilhar com todo prazer!
8. Considere uma aplicação Genexus para uma montadora de automóveis. Dado o seguinte desenho das transações. Supondo que existe somente um País inserido no Banco de Dados com PaisId = 4. O que aconteceria se tentássemos inserir uma nova Marca com PaisId = 9.
a) A nova marca é inserida e automaticamente se cria o
País com o nome de país vazio.
b) O Genexus verifica a existência do país 9 na tabela
Pais. Como não existe, emite uma mensagem de erro e a nova marca não é inserida.
c) A nova marca é inserida sem um país associado.
d) Nenhuma das anteriores.
|
Resposta: B - Dada o desenho das Tabelas, o atributo PaisId é chave primária da tabelas Pais e chave estrangeira da tabela Marca. Logo, não é possível que seja realizado inserções, alterações ou exclusões de registros da tabela Pais a partir de qualquer outra tabela. O Genexus realiza este controle automaticamente, e o informa, através de mensagens de alertas e erros!
9. Considere uma aplicação Genexus para uma montadora de
automóveis. A mesma conta a Transação Remessa
para registrar as remessas despachadas para as locomotivas. A hora da remessa
(RemessaHora) deve ser atribuída no exato momento em que a remessa é inserida.
Se declara então, a seguinte regra na Transação Remessa, determine a opção correta:
a) A regra esta bem declarada porque: ao se executar
antes do COMMIT e só no modo INSERT, a hora é gravada com o valor desejado. b) A regra esta mal declarada porque: embora ela seja executada antes do COMMIT, o registro do cabeçalho já foi gravado na base de dados. c) A regra esta mal declarada porque: ela é executada uma vez para cada registro do segundo nível. d) Nenhuma das anteriores. |
Resposta: B - A regra deve ser declarada de ser uma das seguintes: RemessaHora = now() on BeforeInsert; RemessaHora = now() if insert on AfterValidate; pois estes eventos são os últimos antes da inserção dos dados do cabeçalho.
10. Considere uma aplicação Genexus para uma montadora de
automóveis. A mesma conta a Transação Remessa
para registrar as remessas despachadas para as locomotivas. Se deseja que, ao
trabalhar com cada linha do detalhe da remessa (RemessaCarro), se execute o
procedimento logRemessa que receberá como parâmetro o identificador da remessa.
a) logRemessa.call(RemessaId); b) logRemessa.call(RemessaId) on AfterComplete; c) logRemessa.call(RemessaId) on AfterValidate; d) logRemessa.call(RemessaId) on AfterValidate level CarroId; |
Resposta: D - a letra "a" não possui evento de disparo. A letra "b" irá ocorrer somente uma vez após o commit dos dados. A letra "c" irá ocorrer somente uma vez após a validação dos dados do cabeçalho da transação. Já a letra "d" irá ocorrer após a validação de cada linha do detalhe da Remessa (RemessaCarro).
11. Considere uma aplicação Genexus para uma montadora de
automóveis. A mesma conta a Transação Remessa
para registrar as remessas despachadas para as locomotivas. É necessário emitir
um relatório das remessas por locomotiva. Serão listadas somente aquelas
locomotivas que têm alguma remessa realizada. Determine a implementação
correta.
Resposta: B - Como o objetivo é listar somente as Locomotivas que contém Remessas, não podemos iniciar nossa procura pela tabela de Locomotiva, mas sim pela tabela Remessa. Logo é necessário utilizar a cláusula defined by seguido de algum atributa desta tabela, para especificar a tabela base que iremos trabalhar.
----------------------------------------------------------------------------------------------------------
Siga o restante do simulado através dos links:
Deixe um comentário com o seu email e posso repassar o documento pdf que contém esta e mais 16 questões!
Favor enviar PDF, Obrigado
ResponderExcluirjairqlima@hotmail.com
Favor enviar PDF, Obrigada
ResponderExcluirgrace_fernanda.di@hotmail.com
Favor enviar pdf com o simulado. Obrigada!
ResponderExcluirliliansimao@gmail.com