select --cr.RECEIPT_NUMBER,
cr.RECEIPT_DATE R_DATE,
cr.AMOUNT R_AMOUNT,
cr.CUSTOMER_RECEIPT_REFERENCE R_Check_No,
ct.BILL_TO_CUSTOMER_ID R_CUSTOMER,
CR.ORG_ID,
ct.TRX_NUMBER
from AR_CASH_RECEIPTS_ALL cr,
ra_customer_trx_all ct,
ar_receivable_applications_all app,
ra_terms rt
where /*cr.CUSTOMER_RECEIPT_REFERENCE is not null
and */cr.STATUS = 'APP'
and app.APPLIED_CUSTOMER_TRX_ID = ct.CUSTOMER_TRX_ID
and app.CASH_RECEIPT_ID = cr.CASH_RECEIPT_ID
and rt.term_id = ct.TERM_ID
-- and (upper(rt.name) = upper('CASH') OR (upper(rt.name) like 'PDC%'))
and cr.ORG_ID = ct.ORG_ID
--and cr.ORG_ID = 221
;
Monday, 1 June 2015
Monday, 25 May 2015
Remove Sunday Between To dates of a month
SELECT (TO_DATE(:TO_DATE) - (TO_DATE(:from_date)) + 1) -
(SELECT COUNT(days)
FROM (SELECT (TO_DATE(TO_CHAR(TO_DATE(:from_date), 'YYYYMMDD'),
'YYYYMMDD') + LEVEL - 1) days
FROM DUAL
CONNECT BY LEVEL <=
TO_NUMBER(TO_CHAR(TO_DATE(:TO_DATE), 'DD')))
WHERE TO_CHAR(days, 'DY') = 'SUN') AS total_working_days
FROM DUAL
(SELECT COUNT(days)
FROM (SELECT (TO_DATE(TO_CHAR(TO_DATE(:from_date), 'YYYYMMDD'),
'YYYYMMDD') + LEVEL - 1) days
FROM DUAL
CONNECT BY LEVEL <=
TO_NUMBER(TO_CHAR(TO_DATE(:TO_DATE), 'DD')))
WHERE TO_CHAR(days, 'DY') = 'SUN') AS total_working_days
FROM DUAL
Converting Numeric Value to Words In Oracle
This Function will convert a numeric value into Word..
--------------------------------------------------------
You need to pass the numberic valueas a Parameter..
and it will return a words
CREATE OR REPLACE FUNCTION APPS.num_to_word (val_in IN NUMBER)
RETURN VARCHAR2
IS
word VARCHAR2 (140);
char_in VARCHAR2 (5);
val_now NUMBER;
num NUMBER;
unit NUMBER;
pos NUMBER;
npos NUMBER;
nxt NUMBER;
both VARCHAR2 (1);
BEGIN
pos := 1;
val_now := val_in;
word := ' Only';
LOOP
EXIT WHEN nxt = 0;
IF pos = 1
THEN
nxt := TRUNC (val_now);
/* message(to_char(nxt),acknowledge);
pause; */
num := (val_now - nxt) * 100;
/* message(to_char(num),acknowledge);
pause; */
ELSIF ( (pos = 3) OR (pos = 7))
THEN
num := (val_now) MOD (10);
nxt := (val_now - num) / 10;
ELSE
num := (val_now) MOD (100);
nxt := (val_now - num) / 100;
END IF;
IF (num > 19)
THEN
unit := (num) MOD (10);
/* message('unit : '||to_char(unit),acknowledge);
pause; */
num := (num - unit) / 10;
/* message('num : '||to_char(num),acknowledge);
pause; */
ELSE
unit := num;
num := 0;
END IF;
npos := pos;
IF (nxt > 0)
THEN
pos := pos + 1;
val_now := nxt;
END IF;
IF ( (num != 0) AND (unit != 0))
THEN
both := '-';
ELSE
both := '';
END IF;
IF ( (num != 0) OR (unit != 0) OR (npos = 6))
THEN
IF npos = 1
THEN
WORD :=
return_tens (num)
|| both
|| return_unit (unit)
|| 'Paise '
|| word;
IF (nxt > 0)
THEN
WORD := 'And ' || WORD;
END IF;
ELSIF npos = 2
THEN
WORD := return_tens (num) || both || return_unit (unit) || word;
ELSIF npos = 3
THEN
WORD :=
return_tens (num)
|| both
|| return_unit (unit)
|| 'Hundred '
|| word;
ELSIF npos = 4
THEN
WORD :=
return_tens (num)
|| both
|| return_unit (unit)
|| 'Thousand '
|| word;
ELSIF npos = 5
THEN
WORD :=
return_tens (num)
|| both
|| return_unit (unit)
|| 'Lakh '
|| word;
ELSIF npos = 6
THEN
WORD :=
return_tens (num)
|| both
|| return_unit (unit)
|| 'Crore '
|| word;
ELSIF npos = 7
THEN
WORD :=
return_tens (num)
|| both
|| return_unit (unit)
|| 'Hundred '
|| word;
END IF;
END IF;
END LOOP;
IF npos > 1
THEN
word := word;
END IF;
RETURN (word);
END;
---------------------------------------------------------------------------------
In the above function i have used two more functions
for ten and units
Function for Returning Tens
--------------------------------
CREATE OR REPLACE FUNCTION APPS.return_tens (val_in in number) RETURN VARCHAR2 AUTHID CURRENT_USER IS
char_in varchar2(5);
char_out varchar2(12);
BEGIN
char_in := to_char(val_in);
if char_in = '0'
then
char_out := '';
elsif char_in = '1'
then
char_out := '';
elsif char_in = '2'
then
char_out := 'Twenty';
elsif char_in = '3'
then
char_out := 'Thirty';
elsif char_in = '4'
then
char_out := 'Forty';
elsif char_in = '5'
then
char_out := 'Fifty';
elsif char_in = '6'
then
char_out := 'Sixty';
elsif char_in = '7'
then
char_out := 'Seventy';
elsif char_in = '8'
then
char_out := 'Eighty';
elsif char_in = '9'
then
char_out := 'Ninety';
else
char_out := 'none';
end if;
return (char_out);
END;
The Fucntion for Returing Units
----------------------------------------
CREATE OR REPLACE function APPS.return_unit (val_in in number) RETURN varchar2 AUTHID CURRENT_USER IS
char_in varchar2(5);
char_out varchar2(12);
BEGIN
char_in := to_char(val_in);
if char_in = '0'
then
char_out := ' ';
elsif char_in = '1'
then
char_out := 'One ';
elsif char_in = '2'
then
char_out := 'Two ';
elsif char_in = '3'
then
char_out := 'Three ';
elsif char_in = '4'
then
char_out := 'Four ';
elsif char_in = '5'
then
char_out := 'Five ';
elsif char_in = '6'
then
char_out := 'Six ';
elsif char_in = '7'
then
char_out := 'Seven ';
elsif char_in = '8'
then
char_out := 'Eight ';
elsif char_in = '9'
then
char_out := 'Nine ';
elsif char_in = '10'
then
char_out := 'Ten ';
elsif char_in = '11'
then
char_out := 'Eleven ';
elsif char_in = '12'
then
char_out := 'Twelve ';
elsif char_in = '13'
then
char_out := 'Thirteen ';
elsif char_in = '14'
then
char_out := 'Fourteen ';
elsif char_in = '15'
then
char_out := 'Fifteen ';
elsif char_in = '16'
then
char_out := 'Sixteen ';
elsif char_in = '17'
then
char_out := 'Seventeen ';
elsif char_in = '18'
then
char_out := 'Eighteen ';
elsif char_in = '19'
then
char_out := 'Nineteen ';
else
char_out := 'none';
end if;
return (char_out);
END;
--------------------------------------------------------
You need to pass the numberic valueas a Parameter..
and it will return a words
CREATE OR REPLACE FUNCTION APPS.num_to_word (val_in IN NUMBER)
RETURN VARCHAR2
IS
word VARCHAR2 (140);
char_in VARCHAR2 (5);
val_now NUMBER;
num NUMBER;
unit NUMBER;
pos NUMBER;
npos NUMBER;
nxt NUMBER;
both VARCHAR2 (1);
BEGIN
pos := 1;
val_now := val_in;
word := ' Only';
LOOP
EXIT WHEN nxt = 0;
IF pos = 1
THEN
nxt := TRUNC (val_now);
/* message(to_char(nxt),acknowledge);
pause; */
num := (val_now - nxt) * 100;
/* message(to_char(num),acknowledge);
pause; */
ELSIF ( (pos = 3) OR (pos = 7))
THEN
num := (val_now) MOD (10);
nxt := (val_now - num) / 10;
ELSE
num := (val_now) MOD (100);
nxt := (val_now - num) / 100;
END IF;
IF (num > 19)
THEN
unit := (num) MOD (10);
/* message('unit : '||to_char(unit),acknowledge);
pause; */
num := (num - unit) / 10;
/* message('num : '||to_char(num),acknowledge);
pause; */
ELSE
unit := num;
num := 0;
END IF;
npos := pos;
IF (nxt > 0)
THEN
pos := pos + 1;
val_now := nxt;
END IF;
IF ( (num != 0) AND (unit != 0))
THEN
both := '-';
ELSE
both := '';
END IF;
IF ( (num != 0) OR (unit != 0) OR (npos = 6))
THEN
IF npos = 1
THEN
WORD :=
return_tens (num)
|| both
|| return_unit (unit)
|| 'Paise '
|| word;
IF (nxt > 0)
THEN
WORD := 'And ' || WORD;
END IF;
ELSIF npos = 2
THEN
WORD := return_tens (num) || both || return_unit (unit) || word;
ELSIF npos = 3
THEN
WORD :=
return_tens (num)
|| both
|| return_unit (unit)
|| 'Hundred '
|| word;
ELSIF npos = 4
THEN
WORD :=
return_tens (num)
|| both
|| return_unit (unit)
|| 'Thousand '
|| word;
ELSIF npos = 5
THEN
WORD :=
return_tens (num)
|| both
|| return_unit (unit)
|| 'Lakh '
|| word;
ELSIF npos = 6
THEN
WORD :=
return_tens (num)
|| both
|| return_unit (unit)
|| 'Crore '
|| word;
ELSIF npos = 7
THEN
WORD :=
return_tens (num)
|| both
|| return_unit (unit)
|| 'Hundred '
|| word;
END IF;
END IF;
END LOOP;
IF npos > 1
THEN
word := word;
END IF;
RETURN (word);
END;
---------------------------------------------------------------------------------
In the above function i have used two more functions
for ten and units
Function for Returning Tens
--------------------------------
CREATE OR REPLACE FUNCTION APPS.return_tens (val_in in number) RETURN VARCHAR2 AUTHID CURRENT_USER IS
char_in varchar2(5);
char_out varchar2(12);
BEGIN
char_in := to_char(val_in);
if char_in = '0'
then
char_out := '';
elsif char_in = '1'
then
char_out := '';
elsif char_in = '2'
then
char_out := 'Twenty';
elsif char_in = '3'
then
char_out := 'Thirty';
elsif char_in = '4'
then
char_out := 'Forty';
elsif char_in = '5'
then
char_out := 'Fifty';
elsif char_in = '6'
then
char_out := 'Sixty';
elsif char_in = '7'
then
char_out := 'Seventy';
elsif char_in = '8'
then
char_out := 'Eighty';
elsif char_in = '9'
then
char_out := 'Ninety';
else
char_out := 'none';
end if;
return (char_out);
END;
The Fucntion for Returing Units
----------------------------------------
CREATE OR REPLACE function APPS.return_unit (val_in in number) RETURN varchar2 AUTHID CURRENT_USER IS
char_in varchar2(5);
char_out varchar2(12);
BEGIN
char_in := to_char(val_in);
if char_in = '0'
then
char_out := ' ';
elsif char_in = '1'
then
char_out := 'One ';
elsif char_in = '2'
then
char_out := 'Two ';
elsif char_in = '3'
then
char_out := 'Three ';
elsif char_in = '4'
then
char_out := 'Four ';
elsif char_in = '5'
then
char_out := 'Five ';
elsif char_in = '6'
then
char_out := 'Six ';
elsif char_in = '7'
then
char_out := 'Seven ';
elsif char_in = '8'
then
char_out := 'Eight ';
elsif char_in = '9'
then
char_out := 'Nine ';
elsif char_in = '10'
then
char_out := 'Ten ';
elsif char_in = '11'
then
char_out := 'Eleven ';
elsif char_in = '12'
then
char_out := 'Twelve ';
elsif char_in = '13'
then
char_out := 'Thirteen ';
elsif char_in = '14'
then
char_out := 'Fourteen ';
elsif char_in = '15'
then
char_out := 'Fifteen ';
elsif char_in = '16'
then
char_out := 'Sixteen ';
elsif char_in = '17'
then
char_out := 'Seventeen ';
elsif char_in = '18'
then
char_out := 'Eighteen ';
elsif char_in = '19'
then
char_out := 'Nineteen ';
else
char_out := 'none';
end if;
return (char_out);
END;
Delete XML Publisher Records of a Concurrent
SELECT *
FROM XDO_DS_DEFINITIONS_B
WHERE DATA_SOURCE_CODE = 'XX_DATA_DEF_CODE';
SELECT *
FROM XDO_DS_DEFINITIONS_TL
WHERE DATA_SOURCE_CODE = 'XX_DATA_DEF_CODE';
SELECT *
FROM XDO_LOBS
WHERE LOB_CODE = 'XX_DATA_DEF_CODE';
SELECT *
FROM XDO_CONFIG_VALUES
WHERE DATA_SOURCE_CODE = 'XX_DATA_DEF_CODE';
Delete the Data Definitions:
-- API to delete Data Definition from XDO_DS_DEFINITIONS_B and XDO_DS_DEFINITIONS_TL table
BEGIN
XDO_DS_DEFINITIONS_PKG.DELETE_ROW (,);
COMMIT;
END;
-- Delete Data Templates, xml schema etc. from XDO_LOBS table (There is no API)
DELETE FROM XDO_LOBS
WHERE LOB_CODE =
AND APPLICATION_SHORT_NAME =
AND LOB_TYPE IN
('XML_SCHEMA',
'DATA_TEMPLATE',
'XML_SAMPLE',
'BURSTING_FILE');
-- Delete from XDO_CONFIG_VALUES (if required)
DELETE FROM XDO_CONFIG_VALUES
WHERE APPLICATION_SHORT_NAME =
AND DATA_SOURCE_CODE =;
Queries for the Templates:
SELECT *
FROM XDO_TEMPLATES_B
WHERE TEMPLATE_CODE = 'XX_TEMPLATE_CODE';
SELECT *
FROM XDO_TEMPLATES_TL
WHERE TEMPLATE_CODE = 'XX_TEMPLATE_CODE';
SELECT *
FROM XDO_LOBS
WHERE LOB_CODE = 'XX_TEMPLATE_CODE';
SELECT *
FROM XDO_CONFIG_VALUES
WHERE TEMPLATE_CODE = 'XX_TEMPLATE_CODE';
Delete the templates:
-- API to delete Data Definition from XDO_TEMPLATES_B and XDO_TEMPLATES_TL table
BEGIN
XDO_TEMPLATES_PKG.DELETE_ROW (, );
COMMIT;
END;
-- Delete the Templates from XDO_LOBS table (There is no API)
DELETE FROM XDO_LOBS
WHERE LOB_CODE =
AND APPLICATION_SHORT_NAME =
AND LOB_TYPE IN ('TEMPLATE_SOURCE', 'TEMPLATE');
-- Delete from XDO_CONFIG_VALUES (if required)
DELETE FROM XDO_CONFIG_VALUES
WHERE APPLICATION_SHORT_NAME =
AND TEMPLATE_CODE =
AND DATA_SOURCE_CODE =;
FROM XDO_DS_DEFINITIONS_B
WHERE DATA_SOURCE_CODE = 'XX_DATA_DEF_CODE';
SELECT *
FROM XDO_DS_DEFINITIONS_TL
WHERE DATA_SOURCE_CODE = 'XX_DATA_DEF_CODE';
SELECT *
FROM XDO_LOBS
WHERE LOB_CODE = 'XX_DATA_DEF_CODE';
SELECT *
FROM XDO_CONFIG_VALUES
WHERE DATA_SOURCE_CODE = 'XX_DATA_DEF_CODE';
Delete the Data Definitions:
-- API to delete Data Definition from XDO_DS_DEFINITIONS_B and XDO_DS_DEFINITIONS_TL table
BEGIN
XDO_DS_DEFINITIONS_PKG.DELETE_ROW (
COMMIT;
END;
-- Delete Data Templates, xml schema etc. from XDO_LOBS table (There is no API)
DELETE FROM XDO_LOBS
WHERE LOB_CODE =
AND APPLICATION_SHORT_NAME =
AND LOB_TYPE IN
('XML_SCHEMA',
'DATA_TEMPLATE',
'XML_SAMPLE',
'BURSTING_FILE');
-- Delete from XDO_CONFIG_VALUES (if required)
DELETE FROM XDO_CONFIG_VALUES
WHERE APPLICATION_SHORT_NAME =
AND DATA_SOURCE_CODE =
Queries for the Templates:
SELECT *
FROM XDO_TEMPLATES_B
WHERE TEMPLATE_CODE = 'XX_TEMPLATE_CODE';
SELECT *
FROM XDO_TEMPLATES_TL
WHERE TEMPLATE_CODE = 'XX_TEMPLATE_CODE';
SELECT *
FROM XDO_LOBS
WHERE LOB_CODE = 'XX_TEMPLATE_CODE';
SELECT *
FROM XDO_CONFIG_VALUES
WHERE TEMPLATE_CODE = 'XX_TEMPLATE_CODE';
Delete the templates:
-- API to delete Data Definition from XDO_TEMPLATES_B and XDO_TEMPLATES_TL table
BEGIN
XDO_TEMPLATES_PKG.DELETE_ROW (
COMMIT;
END;
-- Delete the Templates from XDO_LOBS table (There is no API)
DELETE FROM XDO_LOBS
WHERE LOB_CODE =
AND APPLICATION_SHORT_NAME =
AND LOB_TYPE IN ('TEMPLATE_SOURCE', 'TEMPLATE');
-- Delete from XDO_CONFIG_VALUES (if required)
DELETE FROM XDO_CONFIG_VALUES
WHERE APPLICATION_SHORT_NAME =
AND TEMPLATE_CODE =
AND DATA_SOURCE_CODE =
Query's Related to Concurrent and request group
SELECT DISTINCT
FCPL.USER_CONCURRENT_PROGRAM_NAME
, FCP.CONCURRENT_PROGRAM_NAME
, FAPP.APPLICATION_NAME
, FRG.REQUEST_GROUP_NAME
, FNRTL.RESPONSIBILITY_NAME
FROM
APPS.FND_REQUEST_GROUPS FRG
, APPS.FND_APPLICATION_TL FAPP
, APPS.FND_REQUEST_GROUP_UNITS FRGU
, APPS.FND_CONCURRENT_PROGRAMS FCP
, APPS.FND_CONCURRENT_PROGRAMS_TL FCPL
, APPS.FND_RESPONSIBILITY FNR
, APPS.FND_RESPONSIBILITY_TL FNRTL
WHERE
FRG.APPLICATION_ID =FAPP.APPLICATION_ID
AND FRG.APPLICATION_ID = FRGU.APPLICATION_ID
AND FRG.REQUEST_GROUP_ID = FRGU.REQUEST_GROUP_ID
AND FRG.REQUEST_GROUP_ID = FNR.REQUEST_GROUP_ID
AND FRG.APPLICATION_ID = FNR.APPLICATION_ID
AND FNR.RESPONSIBILITY_ID = FNRTL.RESPONSIBILITY_ID
AND FRGU.REQUEST_UNIT_ID = FCP.CONCURRENT_PROGRAM_ID
AND FRGU.UNIT_APPLICATION_ID = FCP.APPLICATION_ID
AND FCP.CONCURRENT_PROGRAM_ID = FCPL.CONCURRENT_PROGRAM_ID
AND FCPL.USER_CONCURRENT_PROGRAM_NAME LIKE 'XXXX%'
AND FNRTL.LANGUAGE = 'US'
AND FAPP.LANGUAGE = 'US'
Find all responsibilities and concurrent program names based on the executable Name
select --r.rowid rrowid,p.rowid prowid,e.rowid erowid,fcp.rowid frowid,
e.executable_name,responsibility_key,user_concurrent_program_name
from fnd_responsibility r,
fnd_concurrent_programs_tl p,
fnd_request_group_units u,
fnd_executables e,
fnd_concurrent_programs fcp
where r.request_group_id=u.request_group_id
and u.request_unit_id = p.concurrent_program_id
and executable_name like '%SEARCH EXECUTABLE PATTERN%'
and fcp.executable_id = e.executable_id
and user_concurrent_program_name like '%SEARCH PATTERN%'
and fcp.concurrent_program_id = p.concurrent_program_id
Find concurrent programs attached to certain responsibility.
select * from fnd_concurrent_programs_tl
where concurrent_program_id in (
select request_unit_id from fnd_request_group_units
where request_group_id in (
select request_group_id from fnd_request_groups where request_group_id in (
select request_group_id from fnd_responsibility where responsibility_key = 'YOUR RESPONSIBILITY KEY')
))
Find all responsibilities having the "search concurrent program" attached to the request group
------->
select responsibility_key,user_concurrent_program_name
from fnd_responsibility r,
fnd_concurrent_programs_tl p,
fnd_request_group_units u
where r.request_group_id=u.request_group_id
and u.request_unit_id = p.concurrent_program_id
and user_concurrent_program_name like '%SEARCH PATTERN%'
---------------<
Find concurrent Program Names based on Responsibility Key Value
select * from fnd_concurrent_programs_tl
where concurrent_program_id in (
select request_unit_id from fnd_request_group_units
where request_group_id in (
select request_group_id from fnd_request_groups where request_group_id in (
select request_group_id from fnd_responsibility where responsibility_key = 'Your Responsibility Key Search Pattern')
))
SELECT a.application_name || '---->' ||
b.request_group_name || '---->' || b.DESCRIPTION
FROM fnd_application_vl a, fnd_request_groups b, fnd_request_group_units c ,fnd_concurrent_programs_vl d
WHERE c.request_group_id = b.request_group_id
AND c.request_unit_id = d.concurrent_program_id
AND c.application_id = a.application_id
and d.user_concurrent_program_name = 'Sona Enable Disable Users'
Finding Responsibility of a Concurrent
select resp.responsibility_name
from fnd_responsibility_vl resp fnd_request_group_units rgu fnd_concurrent_programs_vl prog
where resp.request_group_id = rgu.request_group_id
AND rgu.request_unit_id = prog.concurrent_program_id
AND rgu.unit_application_id = prog.application_id
AND prog.user_concurrent_program_name = '.................'
from fnd_responsibility_vl resp fnd_request_group_units rgu fnd_concurrent_programs_vl prog
where resp.request_group_id = rgu.request_group_id
AND rgu.request_unit_id = prog.concurrent_program_id
AND rgu.unit_application_id = prog.application_id
AND prog.user_concurrent_program_name = '.................'
Supplier Ledger Query in R12
The Below query is for supplier ledger in r12..
It will give you detail of invoices made against a particular supplier ...
weather the amountis credited or debited ..
and payment made through check details will also we can get thourgh the query..
/* Formatted on 1/21/2011 4:12:53 PM (QP5 v5.115.810.9015) */
(SELECT AIDA.accounting_date GL_DATE,
b.vendor_name,
a.invoice_num INVNO,
NVL (
NVL (
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'DEBIT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(sum(aida.BASE_AMOUNT)) else ABS (sum(aida.AMOUNT)) end)
END),
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'CREDIT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(sum(aida.BASE_AMOUNT)) else ABS (sum(aida.AMOUNT)) end)
END)
),
0
)
DR_Amount,
NVL (
NVL (
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'STANDARD'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then sum(aida.BASE_AMOUNT) else sum(aida.AMOUNT) end)
END),
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'PREPAYMENT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then sum(aida.BASE_AMOUNT) else sum(aida.AMOUNT) end)
END)
),
0
)
CR_Amount,
SUBSTR (a.description, 1, 40) NARRATION,
NVL (a.DOC_SEQUENCE_VALUE, 0) VR_NO,
NVL (a.invoice_type_lookup_code, '-') TYPE,
NVL (d.batch_name, '--') BATCH,
a.org_id,
a.SOURCE SOURCE,
gcc.segment4 Main_code,
b.segment1 Supplier_code,
c.VENDOR_SITE_CODE,
a.invoice_id
---------- NULL ledger_id,apps.AP_INVOICES_PKG.GET_POSTING_STATUS (A.INVOICE_ID) POSTING_FLAG,
-------- apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
--------- A.INVOICE_ID,
------- A.INVOICE_AMOUNT,
--------- A.PAYMENT_STATUS_FLAG,
-------- A.INVOICE_TYPE_LOOKUP_CODE
----- ) INVOICE_STATUS
FROM apps.ap_invoices_all a,
apps.ap_suppliers b,
apps.ap_supplier_sites_all c,
apps.AP_BATCHES_ALL d,
apps.ap_invoice_lines_all aila,
apps.ap_invoice_distributions_all aida,
--apps.ap_invoice_distributions_all aida,
apps.gl_code_combinations gcc
WHERE a.vendor_id = b.vendor_id
AND a.vendor_id = c.vendor_id
AND a.batch_id = d.batch_id(+)
AND a.invoice_id = aila.invoice_id
AND a.invoice_id = aida.invoice_id
AND AILA.LINE_NUMBER = AIDA.INVOICE_LINE_NUMBER
AND gcc.code_combination_id = a.ACCTS_PAY_CODE_COMBINATION_ID
AND a.VENDOR_SITE_ID = c.VENDOR_SITE_ID
---and aida.INVOICE_LINE_NUMBER =1
AND TRUNC (AIDA.accounting_date) BETWEEN :fromdate AND :to_date
--and trunc(A.gl_date) between '1-apr-2010' and '31-dec-2010'
AND (apps.AP_INVOICES_PKG.GET_POSTING_STATUS (A.INVOICE_ID) <> 'N'
AND apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
A.INVOICE_ID,
A.INVOICE_AMOUNT,
A.PAYMENT_STATUS_FLAG,
A.INVOICE_TYPE_LOOKUP_CODE
) NOT IN
('NEVER APPROVED'))
AND apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
A.INVOICE_ID,
A.INVOICE_AMOUNT,
A.PAYMENT_STATUS_FLAG,
A.INVOICE_TYPE_LOOKUP_CODE
) NOT IN
('CANCELLED')
AND A.INVOICE_TYPE_LOOKUP_CODE <> 'PREPAYMENT'
AND a.org_id = :org_id
AND b.vendor_id = :supplier
-- and a.invoice_id =3085480
GROUP BY a.invoice_num,
SUBSTR (a.description, 1, 40),
a.DOC_SEQUENCE_VALUE,
a.invoice_type_lookup_code,
a.org_id,
INVOICE_AMOUNT,
a.SOURCE,
b.vendor_name,
b.segment1,a.PAYMENT_CURRENCY_CODE,
c.VENDOR_SITE_CODE,
d.batch_name,
a.invoice_id,
gcc.segment4,
AIDA.accounting_date,
APPS.AP_INVOICES_PKG.GET_POSTING_STATUS (A.INVOICE_ID),
apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
A.INVOICE_ID,
A.INVOICE_AMOUNT,
A.PAYMENT_STATUS_FLAG,
A.INVOICE_TYPE_LOOKUP_CODE
)
union all
SELECT AIDA.accounting_date GL_DATE,
b.vendor_name,
a.invoice_num INVNO,
NVL (
NVL (
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'DEBIT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(sum(aida.BASE_AMOUNT)) else ABS (sum(aida.AMOUNT)) end)
END),
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'CREDIT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(sum(aida.BASE_AMOUNT)) else ABS (sum(aida.AMOUNT)) end)
END)
),
0
)
DR_Amount,
NVL (
NVL (
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'STANDARD'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then sum(aida.BASE_AMOUNT) else sum(aida.AMOUNT) end)
END),
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'PREPAYMENT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then sum(aida.BASE_AMOUNT) else sum(aida.AMOUNT) end)
END)
),
0
)
CR_Amount,
SUBSTR (a.description, 1, 40) NARRATION,
NVL (a.DOC_SEQUENCE_VALUE, 0) VR_NO,
NVL (a.invoice_type_lookup_code, '-') TYPE,
NVL (d.batch_name, '--') BATCH,
a.org_id,
a.SOURCE SOURCE,
gcc.segment4 Main_code,
b.segment1 Supplier_code,
c.VENDOR_SITE_CODE,
a.invoice_id
---------- NULL ledger_id,apps.AP_INVOICES_PKG.GET_POSTING_STATUS (A.INVOICE_ID) POSTING_FLAG,
-------- apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
--------- A.INVOICE_ID,
------- A.INVOICE_AMOUNT,
--------- A.PAYMENT_STATUS_FLAG,
-------- A.INVOICE_TYPE_LOOKUP_CODE
----- ) INVOICE_STATUS
FROM apps.ap_invoices_all a,
apps.ap_suppliers b,
apps.ap_supplier_sites_all c,
apps.AP_BATCHES_ALL d,
apps.ap_invoice_lines_all aila,
apps.ap_invoice_distributions_all aida,
--apps.ap_invoice_distributions_all aida,
apps.gl_code_combinations gcc
WHERE a.vendor_id = b.vendor_id
AND a.vendor_id = c.vendor_id
AND a.batch_id = d.batch_id(+)
AND a.invoice_id = aila.invoice_id
AND a.invoice_id = aida.invoice_id
AND AILA.LINE_NUMBER = AIDA.INVOICE_LINE_NUMBER
AND gcc.code_combination_id = a.ACCTS_PAY_CODE_COMBINATION_ID
AND a.VENDOR_SITE_ID = c.VENDOR_SITE_ID
---and aida.INVOICE_LINE_NUMBER =1
AND TRUNC (AIDA.accounting_date) BETWEEN :fromdate AND :to_date
--and trunc(A.gl_date) between '1-apr-2010' and '31-dec-2010'
AND (apps.AP_INVOICES_PKG.GET_POSTING_STATUS (A.INVOICE_ID) <> 'N'
AND apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
A.INVOICE_ID,
A.INVOICE_AMOUNT,
A.PAYMENT_STATUS_FLAG,
A.INVOICE_TYPE_LOOKUP_CODE
) IN
('NEVER APPROVED'))
AND apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
A.INVOICE_ID,
A.INVOICE_AMOUNT,
A.PAYMENT_STATUS_FLAG,
A.INVOICE_TYPE_LOOKUP_CODE
) NOT IN
('CANCELLED')
AND A.INVOICE_TYPE_LOOKUP_CODE <> 'PREPAYMENT'
AND a.org_id = :org_id
AND b.vendor_id = :supplier
-- and a.invoice_id =3085480
GROUP BY a.invoice_num,
SUBSTR (a.description, 1, 40),
a.DOC_SEQUENCE_VALUE,
a.invoice_type_lookup_code,
a.org_id,
INVOICE_AMOUNT,
a.SOURCE,
b.vendor_name,
b.segment1,a.PAYMENT_CURRENCY_CODE,
c.VENDOR_SITE_CODE,
d.batch_name,
a.invoice_id,
gcc.segment4,
AIDA.accounting_date,
APPS.AP_INVOICES_PKG.GET_POSTING_STATUS (A.INVOICE_ID),
apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
A.INVOICE_ID,
A.INVOICE_AMOUNT,
A.PAYMENT_STATUS_FLAG,
A.INVOICE_TYPE_LOOKUP_CODE
)
UNION all
SELECT AIDA.accounting_date GL_DATE,
b.vendor_name,
a.invoice_num INVNO,
NVL (
NVL (
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'DEBIT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(sum(aida.BASE_AMOUNT)) else ABS (sum(aida.AMOUNT)) end)
END),
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'CREDIT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(sum(aida.BASE_AMOUNT)) else ABS (sum(aida.AMOUNT)) end)
END)
),
0
)
DR_Amount,
NVL (
NVL (
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'STANDARD'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then sum(aida.BASE_AMOUNT) else sum(aida.AMOUNT) end)
END),
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'PREPAYMENT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then sum(aida.BASE_AMOUNT) else sum(aida.AMOUNT) end)
END)
),
0
)
CR_Amount,
SUBSTR (a.description, 1, 40) NARRATION,
NVL (a.DOC_SEQUENCE_VALUE, 0) VR_NO,
NVL (a.invoice_type_lookup_code, '-') TYPE,
NVL (d.batch_name, '--') BATCH,
a.org_id,
a.SOURCE SOURCE,
gcc.segment4 Main_code,
b.segment1 Supplier_code,
c.VENDOR_SITE_CODE, a.invoice_id
-- NULL ledger_id,AP_INVOICES_PKG.GET_POSTING_STATUS (A.INVOICE_ID) POSTING_FLAG,
-- apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
-- A.INVOICE_ID,
-- A.INVOICE_AMOUNT,
-- A.PAYMENT_STATUS_FLAG,
-- A.INVOICE_TYPE_LOOKUP_CODE
-- ) INVOICE_STATUS
FROM apps.ap_invoices_all a,
apps.ap_suppliers b,
apps.ap_supplier_sites_all c,
apps.AP_BATCHES_ALL d,
apps.ap_invoice_lines_all aila,
apps.ap_invoice_distributions_all aida,
--apps.ap_invoice_distributions_all aida,
apps.gl_code_combinations gcc
WHERE a.vendor_id = b.vendor_id
AND a.vendor_id = c.vendor_id
AND a.batch_id = d.batch_id(+)
AND a.invoice_id = aila.invoice_id
AND a.invoice_id = aida.invoice_id
AND AILA.LINE_NUMBER = AIDA.INVOICE_LINE_NUMBER
AND gcc.code_combination_id = a.ACCTS_PAY_CODE_COMBINATION_ID
AND a.VENDOR_SITE_ID = c.VENDOR_SITE_ID
---and aida.INVOICE_LINE_NUMBER =1
AND TRUNC (AIDA.accounting_date) BETWEEN :fromdate AND :to_date
--and trunc(A.gl_date) between '1-apr-2010' and '31-dec-2010'
AND (apps.AP_INVOICES_PKG.GET_POSTING_STATUS (A.INVOICE_ID) <> 'N'
AND apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
A.INVOICE_ID,
A.INVOICE_AMOUNT,
A.PAYMENT_STATUS_FLAG,
A.INVOICE_TYPE_LOOKUP_CODE
) NOT IN
('NEVER APPROVED'))
AND apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
A.INVOICE_ID,
A.INVOICE_AMOUNT,
A.PAYMENT_STATUS_FLAG,
A.INVOICE_TYPE_LOOKUP_CODE
) IN
('CANCELLED')
AND A.CANCELLED_DATE >= :to_date
AND A.INVOICE_TYPE_LOOKUP_CODE <> 'PREPAYMENT'
AND a.org_id = :org_id
AND b.vendor_id = :supplier
-- and a.invoice_id =3085480
GROUP BY a.invoice_num,
SUBSTR (a.description, 1, 40),
a.DOC_SEQUENCE_VALUE,
a.invoice_type_lookup_code,
a.org_id,
INVOICE_AMOUNT,
a.SOURCE,
b.vendor_name,
b.segment1,a.PAYMENT_CURRENCY_CODE,
c.VENDOR_SITE_CODE,
d.batch_name,
a.invoice_id,
gcc.segment4,
AIDA.accounting_date,
APPS.AP_INVOICES_PKG.GET_POSTING_STATUS (A.INVOICE_ID),
apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
A.INVOICE_ID,
A.INVOICE_AMOUNT,
A.PAYMENT_STATUS_FLAG,
A.INVOICE_TYPE_LOOKUP_CODE
)
UNION ALL
SELECT AIDA.accounting_date GL_DATE,
b.vendor_name,
a.invoice_num INVNO,
NVL (
NVL (
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'DEBIT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(sum(aida.BASE_AMOUNT)) else ABS (sum(aida.AMOUNT)) end)
END),
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'CREDIT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(sum(aida.BASE_AMOUNT)) else ABS (sum(aida.AMOUNT)) end)
END)
),
0
)
DR_Amount,
NVL (
NVL (
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'STANDARD'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then sum(aida.BASE_AMOUNT) else sum(aida.AMOUNT) end)
END),
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'PREPAYMENT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then sum(aida.BASE_AMOUNT) else sum(aida.AMOUNT) end)
END)
),
0
)
CR_Amount,
SUBSTR (a.description, 1, 40) NARRATION,
NVL (a.DOC_SEQUENCE_VALUE, 0) VR_NO,
NVL (a.invoice_type_lookup_code, '-') TYPE,
NVL (d.batch_name, '--') BATCH,
a.org_id,
a.SOURCE SOURCE,
gcc.segment4 Main_code,
b.segment1 Supplier_code,
c.VENDOR_SITE_CODE,
a.invoice_id
-- NULL ledger_id,APPS.AP_INVOICES_PKG.GET_POSTING_STATUS (A.INVOICE_ID) POSTING_FLAG,
-- apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
-- A.INVOICE_ID,
-- A.INVOICE_AMOUNT,
-- A.PAYMENT_STATUS_FLAG,
-- A.INVOICE_TYPE_LOOKUP_CODE
-- ) INVOICE_STATUS
FROM apps.ap_invoices_all a,
apps.ap_suppliers b,
apps.ap_supplier_sites_all c,
apps.AP_BATCHES_ALL d,
apps.ap_invoice_lines_all aila,
apps.ap_invoice_distributions_all aida,
--apps.ap_invoice_distributions_all aida,
apps.gl_code_combinations gcc
WHERE a.vendor_id = b.vendor_id
AND a.vendor_id = c.vendor_id
AND a.batch_id = d.batch_id(+)
AND a.invoice_id = aila.invoice_id
AND a.invoice_id = aida.invoice_id
AND AILA.LINE_NUMBER = AIDA.INVOICE_LINE_NUMBER
AND gcc.code_combination_id = a.ACCTS_PAY_CODE_COMBINATION_ID
AND a.VENDOR_SITE_ID = c.VENDOR_SITE_ID
---and aida.INVOICE_LINE_NUMBER =1
AND TRUNC (AIDA.accounting_date) BETWEEN :fromdate AND :to_date
--and trunc(A.gl_date) between '1-apr-2010' and '31-dec-2010'
AND (apps.AP_INVOICES_PKG.GET_POSTING_STATUS (A.INVOICE_ID) <> 'N'
AND apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
A.INVOICE_ID,
A.INVOICE_AMOUNT,
A.PAYMENT_STATUS_FLAG,
A.INVOICE_TYPE_LOOKUP_CODE
) NOT IN
('NEVER APPROVED'))
AND apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
A.INVOICE_ID,
A.INVOICE_AMOUNT,
A.PAYMENT_STATUS_FLAG,
A.INVOICE_TYPE_LOOKUP_CODE
) IN
('CANCELLED')
AND A.CANCELLED_DATE <= :to_date
AND A.INVOICE_TYPE_LOOKUP_CODE <> 'PREPAYMENT'
AND a.org_id = :org_id
AND b.vendor_id = :supplier
-- and a.invoice_id =3085480
GROUP BY a.invoice_num,
SUBSTR (a.description, 1, 40),
a.DOC_SEQUENCE_VALUE,
a.invoice_type_lookup_code,
a.org_id,
INVOICE_AMOUNT,
a.SOURCE,
b.vendor_name,
b.segment1,
c.VENDOR_SITE_CODE,a.PAYMENT_CURRENCY_CODE,
d.batch_name,
a.invoice_id,
gcc.segment4,
AIDA.accounting_date,
APPS.AP_INVOICES_PKG.GET_POSTING_STATUS (A.INVOICE_ID),
apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
A.INVOICE_ID,
A.INVOICE_AMOUNT,
A.PAYMENT_STATUS_FLAG,
A.INVOICE_TYPE_LOOKUP_CODE
) )
UNION
(SELECT c.ACCOUNTING_DATE GL_Date,
b.vendor_name,
a.invoice_num INVNO,
NVL (
SUM(NVL (
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'STANDARD'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then c.INVOICE_BASE_AMOUNT else c.amount end)
END),
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'PREPAYMENT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then c.INVOICE_BASE_AMOUNT else c.amount end)
END)
)),
0
)
DR_Amount,
NVL (
SUM(NVL (
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'DEBIT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(c.INVOICE_BASE_AMOUNT) else ABS (c.amount) end)
END),
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'CREDIT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(c.INVOICE_BASE_AMOUNT) else ABS (c.amount) end)
END)
)),
0
)
CR_Amount,
TO_CHAR (d.CHECK_NUMBER) Narration,
d.DOC_SEQUENCE_VALUE Vr_no,
NVL (TO_CHAR (d.PAYMENT_METHOD_LOOKUP_CODE), 'CHECK') TYPE,
NULL Batch,
a.org_id,
NULL Source,
f.segment4 "account code",
b.segment1 Supplier_code,
e.VENDOR_SITE_CODE,
a.invoice_id
-- a.SET_OF_BOOKS_ID ledger_id,NULL POSTING_FLAG,NULL INVOICE_STATUS
FROM apps.ap_invoices_all a,
apps.ap_suppliers b,
apps.ap_supplier_sites_all e,
apps.ap_invoice_payments_all c,
apps.ap_checks_all d,
apps.gl_code_combinations f
WHERE a.vendor_id = b.vendor_id
AND a.org_id = c.org_id
AND e.VENDOR_SITE_ID = a.VENDOR_SITE_ID
AND a.vendor_id = e.vendor_id
AND a.invoice_id = c.invoice_id(+)
AND c.check_id = d.check_id(+)
AND c.org_id = d.org_id(+)
AND f.code_combination_id = a.ACCTS_PAY_CODE_COMBINATION_ID
AND b.vendor_id = :supplier
-- and a.SET_OF_BOOKS_ID=1
--- and d.CHECK_NUMBER = 4951
AND d.status_lookup_code <> 'VOIDED'
AND a.org_id = :org_id
AND c.ACCOUNTING_DATE BETWEEN :fromdate AND :to_date
GROUP BY c.ACCOUNTING_DATE,
b.vendor_name,
a.invoice_num,
TO_CHAR (d.CHECK_NUMBER),
d.DOC_SEQUENCE_VALUE,
d.PAYMENT_METHOD_LOOKUP_CODE,
a.org_id,
f.segment4,
b.segment1,
e.VENDOR_SITE_CODE,
a.invoice_id,
a.SET_OF_BOOKS_ID,a.PAYMENT_CURRENCY_CODE
UNION all
SELECT c.ACCOUNTING_DATE GL_Date,
b.vendor_name,
a.invoice_num INVNO,
NVL (
SUM(NVL (
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'STANDARD'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then c.INVOICE_BASE_AMOUNT else c.amount end)
END),
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'PREPAYMENT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then c.INVOICE_BASE_AMOUNT else c.amount end)
END)
)),
NULL
)
DR_Amount,
NVL (
SUM(NVL (
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'DEBIT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(c.INVOICE_BASE_AMOUNT) else ABS (c.amount) end)
END),
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'CREDIT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(c.INVOICE_BASE_AMOUNT) else ABS (c.amount) end)
END)
)),
NULL
)
CR_Amount,
TO_CHAR (d.CHECK_NUMBER) Narration,
d.DOC_SEQUENCE_VALUE Vr_no,
NVL (TO_CHAR (d.PAYMENT_METHOD_LOOKUP_CODE), 'CHECK') TYPE,
NULL Batch,
a.org_id,
NULL Source,
f.segment4 "account code",
b.segment1 Supplier_code,
e.VENDOR_SITE_CODE,
a.invoice_id
-- a.SET_OF_BOOKS_ID ledger_id,NULL POSTING_FLAG,NULL INVOICE_STATUS
FROM apps.ap_invoices_all a,
apps.ap_suppliers b,
apps.ap_supplier_sites_all e,
apps.ap_invoice_payments_all c,
apps.ap_checks_all d,
apps.gl_code_combinations f
WHERE a.vendor_id = b.vendor_id
AND a.org_id = c.org_id
AND e.VENDOR_SITE_ID = a.VENDOR_SITE_ID
AND a.vendor_id = e.vendor_id
AND a.invoice_id = c.invoice_id(+)
AND c.check_id = d.check_id(+)
AND c.org_id = d.org_id(+)
AND f.code_combination_id = a.ACCTS_PAY_CODE_COMBINATION_ID
AND b.vendor_id =:supplier
-- and a.SET_OF_BOOKS_ID=1
--- and d.CHECK_NUMBER = 4951
AND d.status_lookup_code = 'VOIDED'
and c.ACCOUNTING_DATE!=d.void_date
AND d.void_date <= :to_date
AND a.org_id = :org_id
AND c.ACCOUNTING_DATE BETWEEN :fromdate AND :to_date
GROUP BY c.ACCOUNTING_DATE,
b.vendor_name,
a.invoice_num,
TO_CHAR (d.CHECK_NUMBER),
d.DOC_SEQUENCE_VALUE,
d.PAYMENT_METHOD_LOOKUP_CODE,a.PAYMENT_CURRENCY_CODE,
a.org_id,
f.segment4,
b.segment1,
e.VENDOR_SITE_CODE,
a.invoice_id,
a.SET_OF_BOOKS_ID
union all
SELECT c.ACCOUNTING_DATE GL_Date,
b.vendor_name,
a.invoice_num INVNO,
NVL (
NVL (
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'DEBIT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(sum(c.INVOICE_BASE_AMOUNT)) else ABS (sum(c.amount)) end)
END),
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'CREDIT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(sum(c.INVOICE_BASE_AMOUNT)) else ABS (sum(c.amount)) end)
END)
),
0
)
DR_Amount,
NVL (
NVL (
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'STANDARD'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(sum(c.INVOICE_BASE_AMOUNT)) else ABS (sum(c.amount)) end)
END),
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'PREPAYMENT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(sum(c.INVOICE_BASE_AMOUNT)) else ABS (sum(c.amount)) end)
END)
),
0
)
CR_Amount,
TO_CHAR (d.CHECK_NUMBER) Narration,
d.DOC_SEQUENCE_VALUE Vr_no,
NVL (TO_CHAR (d.PAYMENT_METHOD_LOOKUP_CODE), 'CHECK') TYPE,
NULL Batch,
a.org_id,
NULL Source,
f.segment4 "account code",
b.segment1 Supplier_code,
e.VENDOR_SITE_CODE,
a.invoice_id
-- a.SET_OF_BOOKS_ID ledger_id,NULL POSTING_FLAG,NULL INVOICE_STATUS
FROM apps.ap_invoices_all a,
apps.ap_suppliers b,
apps.ap_supplier_sites_all e,
apps.ap_invoice_payments_all c,
apps.ap_checks_all d,
apps.gl_code_combinations f
WHERE a.vendor_id = b.vendor_id
AND a.org_id = c.org_id
AND e.VENDOR_SITE_ID = a.VENDOR_SITE_ID
AND a.vendor_id = e.vendor_id
AND a.invoice_id = c.invoice_id(+)
AND c.check_id = d.check_id(+)
AND c.org_id = d.org_id(+)
AND f.code_combination_id = a.ACCTS_PAY_CODE_COMBINATION_ID
AND b.vendor_id =:supplier
-- and a.SET_OF_BOOKS_ID=1
--- and d.CHECK_NUMBER = 4951
AND d.status_lookup_code = 'VOIDED'
and c.ACCOUNTING_DATE=d.void_date
-- AND d.void_date >= :to_date
AND a.org_id = :org_id
-- and a.invoice_id=2805181
AND c.ACCOUNTING_DATE BETWEEN :fromdate AND :to_date
GROUP BY c.ACCOUNTING_DATE,
b.vendor_name,
a.invoice_num,
TO_CHAR (d.CHECK_NUMBER),
d.DOC_SEQUENCE_VALUE,
d.PAYMENT_METHOD_LOOKUP_CODE,
a.org_id,
f.segment4,a.PAYMENT_CURRENCY_CODE,
b.segment1,
e.VENDOR_SITE_CODE,
a.invoice_id,
a.SET_OF_BOOKS_ID,a.INVOICE_TYPE_LOOKUP_CODE )
---- order by 2
It will give you detail of invoices made against a particular supplier ...
weather the amountis credited or debited ..
and payment made through check details will also we can get thourgh the query..
/* Formatted on 1/21/2011 4:12:53 PM (QP5 v5.115.810.9015) */
(SELECT AIDA.accounting_date GL_DATE,
b.vendor_name,
a.invoice_num INVNO,
NVL (
NVL (
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'DEBIT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(sum(aida.BASE_AMOUNT)) else ABS (sum(aida.AMOUNT)) end)
END),
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'CREDIT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(sum(aida.BASE_AMOUNT)) else ABS (sum(aida.AMOUNT)) end)
END)
),
0
)
DR_Amount,
NVL (
NVL (
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'STANDARD'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then sum(aida.BASE_AMOUNT) else sum(aida.AMOUNT) end)
END),
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'PREPAYMENT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then sum(aida.BASE_AMOUNT) else sum(aida.AMOUNT) end)
END)
),
0
)
CR_Amount,
SUBSTR (a.description, 1, 40) NARRATION,
NVL (a.DOC_SEQUENCE_VALUE, 0) VR_NO,
NVL (a.invoice_type_lookup_code, '-') TYPE,
NVL (d.batch_name, '--') BATCH,
a.org_id,
a.SOURCE SOURCE,
gcc.segment4 Main_code,
b.segment1 Supplier_code,
c.VENDOR_SITE_CODE,
a.invoice_id
---------- NULL ledger_id,apps.AP_INVOICES_PKG.GET_POSTING_STATUS (A.INVOICE_ID) POSTING_FLAG,
-------- apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
--------- A.INVOICE_ID,
------- A.INVOICE_AMOUNT,
--------- A.PAYMENT_STATUS_FLAG,
-------- A.INVOICE_TYPE_LOOKUP_CODE
----- ) INVOICE_STATUS
FROM apps.ap_invoices_all a,
apps.ap_suppliers b,
apps.ap_supplier_sites_all c,
apps.AP_BATCHES_ALL d,
apps.ap_invoice_lines_all aila,
apps.ap_invoice_distributions_all aida,
--apps.ap_invoice_distributions_all aida,
apps.gl_code_combinations gcc
WHERE a.vendor_id = b.vendor_id
AND a.vendor_id = c.vendor_id
AND a.batch_id = d.batch_id(+)
AND a.invoice_id = aila.invoice_id
AND a.invoice_id = aida.invoice_id
AND AILA.LINE_NUMBER = AIDA.INVOICE_LINE_NUMBER
AND gcc.code_combination_id = a.ACCTS_PAY_CODE_COMBINATION_ID
AND a.VENDOR_SITE_ID = c.VENDOR_SITE_ID
---and aida.INVOICE_LINE_NUMBER =1
AND TRUNC (AIDA.accounting_date) BETWEEN :fromdate AND :to_date
--and trunc(A.gl_date) between '1-apr-2010' and '31-dec-2010'
AND (apps.AP_INVOICES_PKG.GET_POSTING_STATUS (A.INVOICE_ID) <> 'N'
AND apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
A.INVOICE_ID,
A.INVOICE_AMOUNT,
A.PAYMENT_STATUS_FLAG,
A.INVOICE_TYPE_LOOKUP_CODE
) NOT IN
('NEVER APPROVED'))
AND apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
A.INVOICE_ID,
A.INVOICE_AMOUNT,
A.PAYMENT_STATUS_FLAG,
A.INVOICE_TYPE_LOOKUP_CODE
) NOT IN
('CANCELLED')
AND A.INVOICE_TYPE_LOOKUP_CODE <> 'PREPAYMENT'
AND a.org_id = :org_id
AND b.vendor_id = :supplier
-- and a.invoice_id =3085480
GROUP BY a.invoice_num,
SUBSTR (a.description, 1, 40),
a.DOC_SEQUENCE_VALUE,
a.invoice_type_lookup_code,
a.org_id,
INVOICE_AMOUNT,
a.SOURCE,
b.vendor_name,
b.segment1,a.PAYMENT_CURRENCY_CODE,
c.VENDOR_SITE_CODE,
d.batch_name,
a.invoice_id,
gcc.segment4,
AIDA.accounting_date,
APPS.AP_INVOICES_PKG.GET_POSTING_STATUS (A.INVOICE_ID),
apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
A.INVOICE_ID,
A.INVOICE_AMOUNT,
A.PAYMENT_STATUS_FLAG,
A.INVOICE_TYPE_LOOKUP_CODE
)
union all
SELECT AIDA.accounting_date GL_DATE,
b.vendor_name,
a.invoice_num INVNO,
NVL (
NVL (
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'DEBIT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(sum(aida.BASE_AMOUNT)) else ABS (sum(aida.AMOUNT)) end)
END),
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'CREDIT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(sum(aida.BASE_AMOUNT)) else ABS (sum(aida.AMOUNT)) end)
END)
),
0
)
DR_Amount,
NVL (
NVL (
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'STANDARD'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then sum(aida.BASE_AMOUNT) else sum(aida.AMOUNT) end)
END),
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'PREPAYMENT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then sum(aida.BASE_AMOUNT) else sum(aida.AMOUNT) end)
END)
),
0
)
CR_Amount,
SUBSTR (a.description, 1, 40) NARRATION,
NVL (a.DOC_SEQUENCE_VALUE, 0) VR_NO,
NVL (a.invoice_type_lookup_code, '-') TYPE,
NVL (d.batch_name, '--') BATCH,
a.org_id,
a.SOURCE SOURCE,
gcc.segment4 Main_code,
b.segment1 Supplier_code,
c.VENDOR_SITE_CODE,
a.invoice_id
---------- NULL ledger_id,apps.AP_INVOICES_PKG.GET_POSTING_STATUS (A.INVOICE_ID) POSTING_FLAG,
-------- apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
--------- A.INVOICE_ID,
------- A.INVOICE_AMOUNT,
--------- A.PAYMENT_STATUS_FLAG,
-------- A.INVOICE_TYPE_LOOKUP_CODE
----- ) INVOICE_STATUS
FROM apps.ap_invoices_all a,
apps.ap_suppliers b,
apps.ap_supplier_sites_all c,
apps.AP_BATCHES_ALL d,
apps.ap_invoice_lines_all aila,
apps.ap_invoice_distributions_all aida,
--apps.ap_invoice_distributions_all aida,
apps.gl_code_combinations gcc
WHERE a.vendor_id = b.vendor_id
AND a.vendor_id = c.vendor_id
AND a.batch_id = d.batch_id(+)
AND a.invoice_id = aila.invoice_id
AND a.invoice_id = aida.invoice_id
AND AILA.LINE_NUMBER = AIDA.INVOICE_LINE_NUMBER
AND gcc.code_combination_id = a.ACCTS_PAY_CODE_COMBINATION_ID
AND a.VENDOR_SITE_ID = c.VENDOR_SITE_ID
---and aida.INVOICE_LINE_NUMBER =1
AND TRUNC (AIDA.accounting_date) BETWEEN :fromdate AND :to_date
--and trunc(A.gl_date) between '1-apr-2010' and '31-dec-2010'
AND (apps.AP_INVOICES_PKG.GET_POSTING_STATUS (A.INVOICE_ID) <> 'N'
AND apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
A.INVOICE_ID,
A.INVOICE_AMOUNT,
A.PAYMENT_STATUS_FLAG,
A.INVOICE_TYPE_LOOKUP_CODE
) IN
('NEVER APPROVED'))
AND apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
A.INVOICE_ID,
A.INVOICE_AMOUNT,
A.PAYMENT_STATUS_FLAG,
A.INVOICE_TYPE_LOOKUP_CODE
) NOT IN
('CANCELLED')
AND A.INVOICE_TYPE_LOOKUP_CODE <> 'PREPAYMENT'
AND a.org_id = :org_id
AND b.vendor_id = :supplier
-- and a.invoice_id =3085480
GROUP BY a.invoice_num,
SUBSTR (a.description, 1, 40),
a.DOC_SEQUENCE_VALUE,
a.invoice_type_lookup_code,
a.org_id,
INVOICE_AMOUNT,
a.SOURCE,
b.vendor_name,
b.segment1,a.PAYMENT_CURRENCY_CODE,
c.VENDOR_SITE_CODE,
d.batch_name,
a.invoice_id,
gcc.segment4,
AIDA.accounting_date,
APPS.AP_INVOICES_PKG.GET_POSTING_STATUS (A.INVOICE_ID),
apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
A.INVOICE_ID,
A.INVOICE_AMOUNT,
A.PAYMENT_STATUS_FLAG,
A.INVOICE_TYPE_LOOKUP_CODE
)
UNION all
SELECT AIDA.accounting_date GL_DATE,
b.vendor_name,
a.invoice_num INVNO,
NVL (
NVL (
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'DEBIT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(sum(aida.BASE_AMOUNT)) else ABS (sum(aida.AMOUNT)) end)
END),
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'CREDIT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(sum(aida.BASE_AMOUNT)) else ABS (sum(aida.AMOUNT)) end)
END)
),
0
)
DR_Amount,
NVL (
NVL (
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'STANDARD'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then sum(aida.BASE_AMOUNT) else sum(aida.AMOUNT) end)
END),
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'PREPAYMENT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then sum(aida.BASE_AMOUNT) else sum(aida.AMOUNT) end)
END)
),
0
)
CR_Amount,
SUBSTR (a.description, 1, 40) NARRATION,
NVL (a.DOC_SEQUENCE_VALUE, 0) VR_NO,
NVL (a.invoice_type_lookup_code, '-') TYPE,
NVL (d.batch_name, '--') BATCH,
a.org_id,
a.SOURCE SOURCE,
gcc.segment4 Main_code,
b.segment1 Supplier_code,
c.VENDOR_SITE_CODE, a.invoice_id
-- NULL ledger_id,AP_INVOICES_PKG.GET_POSTING_STATUS (A.INVOICE_ID) POSTING_FLAG,
-- apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
-- A.INVOICE_ID,
-- A.INVOICE_AMOUNT,
-- A.PAYMENT_STATUS_FLAG,
-- A.INVOICE_TYPE_LOOKUP_CODE
-- ) INVOICE_STATUS
FROM apps.ap_invoices_all a,
apps.ap_suppliers b,
apps.ap_supplier_sites_all c,
apps.AP_BATCHES_ALL d,
apps.ap_invoice_lines_all aila,
apps.ap_invoice_distributions_all aida,
--apps.ap_invoice_distributions_all aida,
apps.gl_code_combinations gcc
WHERE a.vendor_id = b.vendor_id
AND a.vendor_id = c.vendor_id
AND a.batch_id = d.batch_id(+)
AND a.invoice_id = aila.invoice_id
AND a.invoice_id = aida.invoice_id
AND AILA.LINE_NUMBER = AIDA.INVOICE_LINE_NUMBER
AND gcc.code_combination_id = a.ACCTS_PAY_CODE_COMBINATION_ID
AND a.VENDOR_SITE_ID = c.VENDOR_SITE_ID
---and aida.INVOICE_LINE_NUMBER =1
AND TRUNC (AIDA.accounting_date) BETWEEN :fromdate AND :to_date
--and trunc(A.gl_date) between '1-apr-2010' and '31-dec-2010'
AND (apps.AP_INVOICES_PKG.GET_POSTING_STATUS (A.INVOICE_ID) <> 'N'
AND apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
A.INVOICE_ID,
A.INVOICE_AMOUNT,
A.PAYMENT_STATUS_FLAG,
A.INVOICE_TYPE_LOOKUP_CODE
) NOT IN
('NEVER APPROVED'))
AND apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
A.INVOICE_ID,
A.INVOICE_AMOUNT,
A.PAYMENT_STATUS_FLAG,
A.INVOICE_TYPE_LOOKUP_CODE
) IN
('CANCELLED')
AND A.CANCELLED_DATE >= :to_date
AND A.INVOICE_TYPE_LOOKUP_CODE <> 'PREPAYMENT'
AND a.org_id = :org_id
AND b.vendor_id = :supplier
-- and a.invoice_id =3085480
GROUP BY a.invoice_num,
SUBSTR (a.description, 1, 40),
a.DOC_SEQUENCE_VALUE,
a.invoice_type_lookup_code,
a.org_id,
INVOICE_AMOUNT,
a.SOURCE,
b.vendor_name,
b.segment1,a.PAYMENT_CURRENCY_CODE,
c.VENDOR_SITE_CODE,
d.batch_name,
a.invoice_id,
gcc.segment4,
AIDA.accounting_date,
APPS.AP_INVOICES_PKG.GET_POSTING_STATUS (A.INVOICE_ID),
apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
A.INVOICE_ID,
A.INVOICE_AMOUNT,
A.PAYMENT_STATUS_FLAG,
A.INVOICE_TYPE_LOOKUP_CODE
)
UNION ALL
SELECT AIDA.accounting_date GL_DATE,
b.vendor_name,
a.invoice_num INVNO,
NVL (
NVL (
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'DEBIT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(sum(aida.BASE_AMOUNT)) else ABS (sum(aida.AMOUNT)) end)
END),
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'CREDIT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(sum(aida.BASE_AMOUNT)) else ABS (sum(aida.AMOUNT)) end)
END)
),
0
)
DR_Amount,
NVL (
NVL (
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'STANDARD'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then sum(aida.BASE_AMOUNT) else sum(aida.AMOUNT) end)
END),
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'PREPAYMENT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then sum(aida.BASE_AMOUNT) else sum(aida.AMOUNT) end)
END)
),
0
)
CR_Amount,
SUBSTR (a.description, 1, 40) NARRATION,
NVL (a.DOC_SEQUENCE_VALUE, 0) VR_NO,
NVL (a.invoice_type_lookup_code, '-') TYPE,
NVL (d.batch_name, '--') BATCH,
a.org_id,
a.SOURCE SOURCE,
gcc.segment4 Main_code,
b.segment1 Supplier_code,
c.VENDOR_SITE_CODE,
a.invoice_id
-- NULL ledger_id,APPS.AP_INVOICES_PKG.GET_POSTING_STATUS (A.INVOICE_ID) POSTING_FLAG,
-- apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
-- A.INVOICE_ID,
-- A.INVOICE_AMOUNT,
-- A.PAYMENT_STATUS_FLAG,
-- A.INVOICE_TYPE_LOOKUP_CODE
-- ) INVOICE_STATUS
FROM apps.ap_invoices_all a,
apps.ap_suppliers b,
apps.ap_supplier_sites_all c,
apps.AP_BATCHES_ALL d,
apps.ap_invoice_lines_all aila,
apps.ap_invoice_distributions_all aida,
--apps.ap_invoice_distributions_all aida,
apps.gl_code_combinations gcc
WHERE a.vendor_id = b.vendor_id
AND a.vendor_id = c.vendor_id
AND a.batch_id = d.batch_id(+)
AND a.invoice_id = aila.invoice_id
AND a.invoice_id = aida.invoice_id
AND AILA.LINE_NUMBER = AIDA.INVOICE_LINE_NUMBER
AND gcc.code_combination_id = a.ACCTS_PAY_CODE_COMBINATION_ID
AND a.VENDOR_SITE_ID = c.VENDOR_SITE_ID
---and aida.INVOICE_LINE_NUMBER =1
AND TRUNC (AIDA.accounting_date) BETWEEN :fromdate AND :to_date
--and trunc(A.gl_date) between '1-apr-2010' and '31-dec-2010'
AND (apps.AP_INVOICES_PKG.GET_POSTING_STATUS (A.INVOICE_ID) <> 'N'
AND apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
A.INVOICE_ID,
A.INVOICE_AMOUNT,
A.PAYMENT_STATUS_FLAG,
A.INVOICE_TYPE_LOOKUP_CODE
) NOT IN
('NEVER APPROVED'))
AND apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
A.INVOICE_ID,
A.INVOICE_AMOUNT,
A.PAYMENT_STATUS_FLAG,
A.INVOICE_TYPE_LOOKUP_CODE
) IN
('CANCELLED')
AND A.CANCELLED_DATE <= :to_date
AND A.INVOICE_TYPE_LOOKUP_CODE <> 'PREPAYMENT'
AND a.org_id = :org_id
AND b.vendor_id = :supplier
-- and a.invoice_id =3085480
GROUP BY a.invoice_num,
SUBSTR (a.description, 1, 40),
a.DOC_SEQUENCE_VALUE,
a.invoice_type_lookup_code,
a.org_id,
INVOICE_AMOUNT,
a.SOURCE,
b.vendor_name,
b.segment1,
c.VENDOR_SITE_CODE,a.PAYMENT_CURRENCY_CODE,
d.batch_name,
a.invoice_id,
gcc.segment4,
AIDA.accounting_date,
APPS.AP_INVOICES_PKG.GET_POSTING_STATUS (A.INVOICE_ID),
apps.AP_INVOICES_PKG.GET_APPROVAL_STATUS (
A.INVOICE_ID,
A.INVOICE_AMOUNT,
A.PAYMENT_STATUS_FLAG,
A.INVOICE_TYPE_LOOKUP_CODE
) )
UNION
(SELECT c.ACCOUNTING_DATE GL_Date,
b.vendor_name,
a.invoice_num INVNO,
NVL (
SUM(NVL (
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'STANDARD'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then c.INVOICE_BASE_AMOUNT else c.amount end)
END),
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'PREPAYMENT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then c.INVOICE_BASE_AMOUNT else c.amount end)
END)
)),
0
)
DR_Amount,
NVL (
SUM(NVL (
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'DEBIT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(c.INVOICE_BASE_AMOUNT) else ABS (c.amount) end)
END),
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'CREDIT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(c.INVOICE_BASE_AMOUNT) else ABS (c.amount) end)
END)
)),
0
)
CR_Amount,
TO_CHAR (d.CHECK_NUMBER) Narration,
d.DOC_SEQUENCE_VALUE Vr_no,
NVL (TO_CHAR (d.PAYMENT_METHOD_LOOKUP_CODE), 'CHECK') TYPE,
NULL Batch,
a.org_id,
NULL Source,
f.segment4 "account code",
b.segment1 Supplier_code,
e.VENDOR_SITE_CODE,
a.invoice_id
-- a.SET_OF_BOOKS_ID ledger_id,NULL POSTING_FLAG,NULL INVOICE_STATUS
FROM apps.ap_invoices_all a,
apps.ap_suppliers b,
apps.ap_supplier_sites_all e,
apps.ap_invoice_payments_all c,
apps.ap_checks_all d,
apps.gl_code_combinations f
WHERE a.vendor_id = b.vendor_id
AND a.org_id = c.org_id
AND e.VENDOR_SITE_ID = a.VENDOR_SITE_ID
AND a.vendor_id = e.vendor_id
AND a.invoice_id = c.invoice_id(+)
AND c.check_id = d.check_id(+)
AND c.org_id = d.org_id(+)
AND f.code_combination_id = a.ACCTS_PAY_CODE_COMBINATION_ID
AND b.vendor_id = :supplier
-- and a.SET_OF_BOOKS_ID=1
--- and d.CHECK_NUMBER = 4951
AND d.status_lookup_code <> 'VOIDED'
AND a.org_id = :org_id
AND c.ACCOUNTING_DATE BETWEEN :fromdate AND :to_date
GROUP BY c.ACCOUNTING_DATE,
b.vendor_name,
a.invoice_num,
TO_CHAR (d.CHECK_NUMBER),
d.DOC_SEQUENCE_VALUE,
d.PAYMENT_METHOD_LOOKUP_CODE,
a.org_id,
f.segment4,
b.segment1,
e.VENDOR_SITE_CODE,
a.invoice_id,
a.SET_OF_BOOKS_ID,a.PAYMENT_CURRENCY_CODE
UNION all
SELECT c.ACCOUNTING_DATE GL_Date,
b.vendor_name,
a.invoice_num INVNO,
NVL (
SUM(NVL (
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'STANDARD'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then c.INVOICE_BASE_AMOUNT else c.amount end)
END),
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'PREPAYMENT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then c.INVOICE_BASE_AMOUNT else c.amount end)
END)
)),
NULL
)
DR_Amount,
NVL (
SUM(NVL (
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'DEBIT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(c.INVOICE_BASE_AMOUNT) else ABS (c.amount) end)
END),
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'CREDIT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(c.INVOICE_BASE_AMOUNT) else ABS (c.amount) end)
END)
)),
NULL
)
CR_Amount,
TO_CHAR (d.CHECK_NUMBER) Narration,
d.DOC_SEQUENCE_VALUE Vr_no,
NVL (TO_CHAR (d.PAYMENT_METHOD_LOOKUP_CODE), 'CHECK') TYPE,
NULL Batch,
a.org_id,
NULL Source,
f.segment4 "account code",
b.segment1 Supplier_code,
e.VENDOR_SITE_CODE,
a.invoice_id
-- a.SET_OF_BOOKS_ID ledger_id,NULL POSTING_FLAG,NULL INVOICE_STATUS
FROM apps.ap_invoices_all a,
apps.ap_suppliers b,
apps.ap_supplier_sites_all e,
apps.ap_invoice_payments_all c,
apps.ap_checks_all d,
apps.gl_code_combinations f
WHERE a.vendor_id = b.vendor_id
AND a.org_id = c.org_id
AND e.VENDOR_SITE_ID = a.VENDOR_SITE_ID
AND a.vendor_id = e.vendor_id
AND a.invoice_id = c.invoice_id(+)
AND c.check_id = d.check_id(+)
AND c.org_id = d.org_id(+)
AND f.code_combination_id = a.ACCTS_PAY_CODE_COMBINATION_ID
AND b.vendor_id =:supplier
-- and a.SET_OF_BOOKS_ID=1
--- and d.CHECK_NUMBER = 4951
AND d.status_lookup_code = 'VOIDED'
and c.ACCOUNTING_DATE!=d.void_date
AND d.void_date <= :to_date
AND a.org_id = :org_id
AND c.ACCOUNTING_DATE BETWEEN :fromdate AND :to_date
GROUP BY c.ACCOUNTING_DATE,
b.vendor_name,
a.invoice_num,
TO_CHAR (d.CHECK_NUMBER),
d.DOC_SEQUENCE_VALUE,
d.PAYMENT_METHOD_LOOKUP_CODE,a.PAYMENT_CURRENCY_CODE,
a.org_id,
f.segment4,
b.segment1,
e.VENDOR_SITE_CODE,
a.invoice_id,
a.SET_OF_BOOKS_ID
union all
SELECT c.ACCOUNTING_DATE GL_Date,
b.vendor_name,
a.invoice_num INVNO,
NVL (
NVL (
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'DEBIT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(sum(c.INVOICE_BASE_AMOUNT)) else ABS (sum(c.amount)) end)
END),
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'CREDIT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(sum(c.INVOICE_BASE_AMOUNT)) else ABS (sum(c.amount)) end)
END)
),
0
)
DR_Amount,
NVL (
NVL (
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'STANDARD'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(sum(c.INVOICE_BASE_AMOUNT)) else ABS (sum(c.amount)) end)
END),
(CASE
WHEN a.INVOICE_TYPE_LOOKUP_CODE = 'PREPAYMENT'
THEN
(case when a.PAYMENT_CURRENCY_CODE <> 'INR' then abs(sum(c.INVOICE_BASE_AMOUNT)) else ABS (sum(c.amount)) end)
END)
),
0
)
CR_Amount,
TO_CHAR (d.CHECK_NUMBER) Narration,
d.DOC_SEQUENCE_VALUE Vr_no,
NVL (TO_CHAR (d.PAYMENT_METHOD_LOOKUP_CODE), 'CHECK') TYPE,
NULL Batch,
a.org_id,
NULL Source,
f.segment4 "account code",
b.segment1 Supplier_code,
e.VENDOR_SITE_CODE,
a.invoice_id
-- a.SET_OF_BOOKS_ID ledger_id,NULL POSTING_FLAG,NULL INVOICE_STATUS
FROM apps.ap_invoices_all a,
apps.ap_suppliers b,
apps.ap_supplier_sites_all e,
apps.ap_invoice_payments_all c,
apps.ap_checks_all d,
apps.gl_code_combinations f
WHERE a.vendor_id = b.vendor_id
AND a.org_id = c.org_id
AND e.VENDOR_SITE_ID = a.VENDOR_SITE_ID
AND a.vendor_id = e.vendor_id
AND a.invoice_id = c.invoice_id(+)
AND c.check_id = d.check_id(+)
AND c.org_id = d.org_id(+)
AND f.code_combination_id = a.ACCTS_PAY_CODE_COMBINATION_ID
AND b.vendor_id =:supplier
-- and a.SET_OF_BOOKS_ID=1
--- and d.CHECK_NUMBER = 4951
AND d.status_lookup_code = 'VOIDED'
and c.ACCOUNTING_DATE=d.void_date
-- AND d.void_date >= :to_date
AND a.org_id = :org_id
-- and a.invoice_id=2805181
AND c.ACCOUNTING_DATE BETWEEN :fromdate AND :to_date
GROUP BY c.ACCOUNTING_DATE,
b.vendor_name,
a.invoice_num,
TO_CHAR (d.CHECK_NUMBER),
d.DOC_SEQUENCE_VALUE,
d.PAYMENT_METHOD_LOOKUP_CODE,
a.org_id,
f.segment4,a.PAYMENT_CURRENCY_CODE,
b.segment1,
e.VENDOR_SITE_CODE,
a.invoice_id,
a.SET_OF_BOOKS_ID,a.INVOICE_TYPE_LOOKUP_CODE )
---- order by 2
Subscribe to:
Posts (Atom)
Query to Find Receipt Class and its GL Combinition Query
SELECT ARC.NAME ReceiptClass, ARC.CREATION_METHOD_CODE Creation_Mehthod, DECODE (ARC.REMIT_METHOD_CODE, ...
-
GL AND AP GL_CODE_COMBINATIONS AP_INVOICES_ALL code_combination_id = acct_pay_code_combination_id G...
-
Accounts Receivables useful information ACCOUNTS RECEIVABLES: ==================== ACCOUNTING METHOD , ACCRUAL OR CASH : So do you...
-
SELECT hou.name Organization_name, ---------------------- --Customer Information ---------------------- ...