Pessoal, boa tarde.
Seguem passos para se ordenar um campo do bloco, que não seja base-table.
Por exemplo, tenho um bloco denominado EMP (baseado na tabela EMP, do usuário SCOTT), que contém os seguintes itens:
- TXT_ID (que recebe o campo EMPNO, da tabela EMP);
- TXT_NOME (não base table, que irá exibir o nome do funcionário);
Para popular o bloco, no post-query, utilizo a seguinte função (passando o TXT_ID), para que traga as informações na tela:
CREATE OR REPLACE FUNCTION FUN_BUSCA_EMPREGADO (P_ID IN NUMBER)
RETURN VARCHAR2
IS
V_RETORNO EMP.ename%TYPE;
BEGIN
SELECT ENAME
INTO V_RETORNO
FROM EMP
WHERE EMPNO = P_ID;
RETURN V_RETORNO;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
V_RETORNO := 'Não cadastrado';
RETURN V_RETORNO;
END FUN_BUSCA_EMPREGADO;
No ORDER BY Clause, do bloco EMP, coloquei a seguinte informção:
FUN_BUSCA_EMPREGADO(EMPNO)
Fica aí a dica.