Uma dica legal que é pouco encontrada na em sites, é qual a lógica do EBS para colocar a data da nota de saída (TRX_DATE da RA_CUSTOMER_TRX_ALL).
Se você acha que sempre é o SYSDATE, tome cuidado!!! Nem sempre é assim... a lógica é simples:
Bom, o primeiro ponto da lógica é simples... se o GL_DATE não estiver nulo é ele...
Se o GL_DATE estiver nulo, ai tem que verificar o se como esta flegado o campo Data de Derivação da nota na tabela de Source (DERIVE_DATE_FLAG da RA_BATCH_SOURCES_ALL):
----> Se for Y e o SHIP_DATE_ACTUAL não estiver nulo, esse é o cara!!!
----> Se for Y e o SHIP_DATE_ACTUAL estiver nulo e o SALES_ORDER_DATE não estiver nulo, então esse é o cara!!!
----> Se for Y, o SHIP_DATE_ACTUAL e o SALES_ORDER_DATE forem nulo é a vez do SYSDATE ser o cara!!!
----> Se for N, o SYSDATE é a data da nota!!!
Pra quem ainda não entendeu nada que disse em português, quem sabe entende algo em "PL/SQLguês"... rs
IF GL_DATE IS NOT NULL THEN
TRX_DATE := GL_DATE;
ELSE
SELECT DERIVE_DATE_FLAG
INTO V_DERIVE_DATE_FLAG
FROM RA_BATCH_SOURCES_ALL
WHERE NAME = 'SOURCE';
IF NVL(V_DERIVE_DATE_FLAG,'N') = 'Y' THEN
IF SHIP_DATE_ACTUAL IS NOT NULL THEN
TRX_DATE := SHIP_DATE_ACTUAL;
ELSIF SALES_ORDER_DATE IS NOT NULL THEN
TRX_DATE := SALES_ORDER_DATE;
ELSE
TRX_DATE := SYSDATE;
END IF;
ELSE
TRX_DATE := SYSDATE;
END IF;
END IF;
Absss
Nenhum comentário:
Postar um comentário