Opa!As vezes acontece a seguinte necessidade, temos um concorrente que chama um programa, por exemplo, uma PACKAGE, e esta, por sua vez, alem de processar determinados dados, chama um ou mais concorrentes. Entretanto, algumas informacoes como, por exemplo, numero de copias para impressao, estilo de impressao e a propria impressora, podem ser mudados quando executamos um concorrente. Quando isto acontece precisamos levar estas novas configuracoes, escolhidas no momento da execucao, para os concorrentes que serao executados pela PACKAGE. Abaixo segue um exemplo de como isto pode ser feito. Pense neste exemplo como sendo parte de um programa, que esta sendo chamado atraves de um concorrente, onde este mesmo programa chamara outro concorrente. Neste caso, precisamos passar as configuracoes escolhidas para ele, caso contrario ele utilizara as informacoes padroes, configuradas em seu cadastro. Fazemos isto atraves da funcao: FND_REQUEST.SET_PRINT_OPTIONS. ...begin -- -- Recuperando informacoes de impressao do concorrente corrente. -- select printer ,number_of_copies ,print_style into w_impressora ,w_num_copias ,w_estilo from fnd_concurrent_requests where request_id = fnd_global.conc_request_id; -- ======================================================================================= -- Chamando funcao para configurar impressora, estilo e numero de copias. -- w_conf_impres := fnd_request.set_print_options( printer => w_impressora ,style => w_estilo ,copies => w_num_copias ); -- ======================================================================================= -- -- -- Chamando Concurrent. wid_solicitacao := fnd_request.submit_request( 'ABC' -- short name da aplicacao. ,'DEF' -- short name do programa. ,'' ,'' ,false ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ,chr(0) ); -- if wid_solicitacao = 0 then -- fnd_file.put_line(fnd_file.log,'Nao foi possivel executar o concorrente DEF.'); -- else -- fnd_file.put_line(fnd_file.log,'Concorrente DEF executado: '||wid_solicitacao); -- end if; --exception when others then fnd_file.put_line(fnd_file.log,'Erro ao executar concorrente DEF: '||sqlerrm);end;...Forte abraco! Pessoal, segue mais uma fonte de conhecimento Oracle. Nosso amigo Eduardo Schurtz, disponibilizou um blog sobre dicas, noticias, produtividade, lifehacking, caca aos bugs e tudo que se refere ao seu dia-a-dia no mundo Oracle EBS. Vale a pena conferir...Boa sorte, Eduardo! Parabens pela iniciativa!http://eduardoschurtz.com/oracle/2013/02/e-assim-nasce-mais-um-blog-oracle/ Ola!Hoje vamos falar um pouco de Oracle Concurrents. Os Concurrents, tambem chamados de Concorrentes, por nos Brazucas, sao transacoes especificas dentro Oracle EBS (Oracle E-Business Suite, popularmente chamado de Application), com o objetivo de executar determinadas tarefas de forma organizada e logica. Eles podem obedecer a uma hierarquia e a uma sequencia de execucao. Os concorrentes sao cadastrados como programas dentro do EBS, onde e possivel, inclusive, definir uma serie de parametrizacoes e formas de execucao. Eles tambem podem ser agrupados para execucao em conjunto, inclusive interagindo-se entre si. As execucoes sao realizadas por uma tela de gerenciamento de execucao, onde de la, chamamos determinado concorrente cadastrado e submetemos o mesmo a execucao. Atraves desta tela, podemos