Então : O fato de ser SAP ou não , e de ser gerenciado por outrem, 
absolutamente ** não ** tem a ver com a montagem de um caso-teste : o que a 
gente quer é que vc, no seu banco de teste, seu, particular, aonde vc pode 
tudo, faça uns CREATE TABLEs e uns INSERTs com dados ** equivalentes ** , 
apenas para podermos tentar reproduzir a técnica, a necessidade, sim ?? INVENTE 
os nomes das colunas, as constraints, os dados em si, bastando que sejam 
Equivalentes, ie, que sejam o mais  parecidos possível com o que vc tem na prod 
do SAP, sim ???? Isso para vc poder adaptar a solução encontrada lá no ambiente 
real, sim ??
  E veja que eu insisti nos RELACIONAMENTOS : isso é crítico para vc Evitar ler 
dados que não se relacionam...  Por exemplo, assumindo que os nomes das tabelas 
e das colunas fossem como os abaixo, que exista uma coluna com data/hora E QUE 
realmente o codigo do cliente se repete nas 3 tabelas e é o mesmo, com mesmo 
datatype, etc, digamos que façamos algo + ou - tipo : 
  
SELECT CLI.CODIGO_CLIENTE,
       CLI.NOME_CLIENTE,
       PED.NUMERO_PEDIDO,
       PED.DATA_PEDIDO,
       FAT.FUNCIONARIO
FROM CLIENTE CLI,
     PEDIDO PED,
     FATURAMENTO FAT
WHERE CLI.CODIGO_CLIENTE = PED.CODIGO_CLIENTE
  AND CLI.CODIGO_CLIENTE = FAT.CODIGO_CLIENTE
  AND PED.DATA_PEDIDO BETWEEN TO_DATE('01/12/2013 00:00:00', 'DD/MM/YYYY 
HH24:MI:SS') 
                          AND TO_DATE('31/12/2013 23:59:59', 'DD/MM/YYYY 
HH24:MI:SS')
ORDER BY CLI.CODIGO_CLIENTE, PED.DATA_PEDIDO, PED.NUMERO_PEDIDO;
  
  vai funcionar ?? DEPENDE : se o mesmo cliente pode ter diferentes pedidos no 
mesmo dia, E QUE esses pedidos podem ou não ter sido já faturados, podemos cair 
numa situação do tipo :
  
  pedidos
  
  NUMERO_PEDIDO DATA_PEDIDO COD_CLIENTE
  001           01/12/2013  10
  002           02/12/2013  10
  
  faturamentos
  
  FUNCIONARIO  COD_CLIENTE  
  JOSE         10
  
  ==> OU SEJA, o cliente 10 teve faturado o pedido 001 mas *** não ** teve 
ainda faturado o pedido 002 : como esse cliente 10 ** existe ** na tabela 
FATURAMENTO (com ** OUTRO ** pedido, mas Existe) se eu restringir apenas pelo 
cod cliente vai aparecer informação não-relacionada, VAi aparecer esse pedido 
002, sim ??? Sacou ??? 
   
   São coisas do tipo que nós precisamos saber : QUAIS SÂO os relacionamentos, 
as REGRAS DE NEGÓCIO envolvidas, sim ??? Senão vc vai fazer salada-russa aí, 
vai trazer dados que estão em uma tabela MAS não estão na outra tabela 
correspondente.... Sim ???
   
    []s
    
      Chiappa

Responder a