Como sugestão recomendo que reescreva a cláusula where retirando as funções das colunas, isso nunca é bom do ponto de vista de performance.
eu faria algo assim:
and p.effective_start_date < trunc(sysdate+1)
and p.effective_end_date between to_date('31/12/12 00:00:00', 'DD/MM/YY HH:MI:SS') and to_date('31/12/12 23:59:59', 'DD/MM/YY HH:MI:SS' )

Em sex, 26 de abr de 2019 às 17:22, Maristela Dantas marisdantas@hotmail.com <> escreveu:

 

Achei!
Se não tiver a sintaxe hachurada em azul abaixo, dá erro na execução do AME qdo utiliza a query dinâmica no setup do approval group. 
select 'person_id:' || p.person_id

from
   per_people_f p
  ,PER_all_ASSIGNMENTS_f ass
  ,PAY_PEOPLE_GROUPS pg
where
  1=1
  and ass.person_id = p.person_id
  and ass.people_group_id = pg.people_group_id
  and trunc(p.effective_start_date) <= trunc(sysdate)
  and to_char(p.effective_end_date) = to_char('31/12/12')
  and pg.group_name = 'STN_COMPRAS';

Maristela Dantas

+55 11 98214-5651


De: <> em nome de Maristela Dantas marisdantas@hotmail.com <>
Enviado: sexta-feira, 26 de abril de 2019 09:40
Para:
Assunto: RE: Dúvida Oracle AME (Approvals Managment)

 

 

Bom dia!
Pessoal, tem uma pegadinha na query para colocar no select dinâmico do AME:
select "personid:" || <id do objeto>
Sem concatenar o string, não retorna na execução do AME, mesmo que a query execute corretamente (R11 e R12 era assim!). Estou tentando pegar a sintaxe correta para poder enviar.

Maristela Dantas
+55 11 98214-5651


De: @..com <> em nome de Ana Cláudia anaclaudia.barreto@gmail.com <>
Enviado: quinta-feira, 25 de abril de 2019 23:35
Para:
Assunto: Dúvida Oracle AME (Approvals Managment)

 

 

Olá

Será que posso tentar ajudar?
Também já participei de um projeto com o modulo Ame.
Foi necessário criar uma função com retorno de tabela, q  a partir da Ordem de Compra ou Requisição, fazia a busca dos responsáveis de acordo com alçada de aprovação.

FUNCTION GET_APPROVER(P_TRANSACTION_ID NUMBER ) RETURN T_APPROVER_RETURN PIPELINED IS


exemplo parcial:

            SELECT PAPF.PERSON_ID

              INTO P_APPROVER_ID

              FROM PER_ALL_PEOPLE_F      PAPF

                  ,PER_ALL_ASSIGNMENTS_F PAAF

                  ,HR_ALL_POSITIONS_F    HAPF

             WHERE HAPF.POSITION_ID = P_POSITION_ID

               AND PAPF.PERSON_ID = PAAF.PERSON_ID

               AND PAAF.POSITION_ID = HAPF.POSITION_ID

               AND trunc(SYSDATE) BETWEEN PAPF.EFFECTIVE_START_DATE AND PAPF.EFFECTIVE_END_DATE

               AND trunc(SYSDATE) BETWEEN PAAF.EFFECTIVE_START_DATE AND PAAF.EFFECTIVE_END_DATE

               AND EXISTS (SELECT EMPLOYEE_ID

                      FROM FND_USER FU

                     WHERE FU.EMPLOYEE_ID = PAPF.PERSON_ID

                       AND NVL(FU.END_DATE, trunc(SYSDATE) + 1) > trunc(SYSDATE));

image.png

Caso prefira me adicionar no skype, anaclaudia_coutob, estou à disposição em auxiliar seu colega.
Ana Claudia Barreto

Livre de vírus. www.avg.com.

Em qui, 25 de abr de 2019 às 15:12, Marcelo Macedo marcelo.rmacedo@yahoo.com.br <> escreveu:

 

Boa tarde pessoal,
Um amigo está precisando de uma ajuda, seja a dúvida:
"Estou precisando fazer um select a partir de um usuário e obter a hierarquia de aprovação (com o limites para cada um) para cima e para baixo na arvore hierárquica do Oracle AME (Approvals Managment). 

Alguém poderia ajudar informando quais as tabelas compõem estas informações?

Qualquer sugestão é bem vinda. 

Grato"
ats,
Marcelo Macedo

Livre de vírus. www.avg.com.

Deixe um comentário