PLS-00410

Error: PLS-00410: duplicate fields in RECORD,TABLE or argument list are not permitted

Causa: When a user-defined record was declared, the same name was given to two fields. Like column names in a database table, field names in a user-defined record must be unique.

Acción: Check the spelling of the field names, then remove the duplicate.

COMENTARIOS:

por WESLEY | 23/02/2010 11:22:39

RE: PLS-00410

CREATE OR REPLACE PROCEDURE RELATORIO

( P_DT_start IN varchar ,
P_DT_end IN varchar, Vorder_number in number )

is
Vorder_number Oe_order_headers_all.ORDER_NUMBER\%TYPE;

cursor c_rel_customer_2 is
select sum (extended_amount) VALOR_TOTAL_NOTA
from ra_customer_trx_lines_all
where interface_line_attribute1 = v_order_number;

REC_REL_2 C_REL_CUSTOMER_2\%ROWTYPE;
CURSOR C_REL_CUSTOMER IS
select oe.ordered_date Data_Ordem,
oe.order_number Numero_Ordem,
rac.customer_number Numero_Cliente,
hz.party_name Nome_Cliente,
oe.flow_status_code status,
oe.salesrep_id ID_Vendedor,
ar.customer_trx_id Numero_Nff,
ar.trx_date Data_Nff

from hz_parties hz,
RA_SITE_USES_ALL ra,
RA_ADDRESSES_ALL raa,
oe_order_headers_all oe,
ra_customers rac,
AR_PAYMENT_SCHEDULES_ALL AR

-- ra_customer_trx_all rac

where ordered_date BETWEEN TO_DATE(P_DT_START, 'DD-mm-YYYY') AND TO_DATE(P_DT_END, 'DD-mm-YYYY')
and ra.address_id = raa.address_id
and raa.party_id = hz.party_id
and hz.party_id = rac.party_id
and ra.orig_system_reference = oe.ship_to_org_id
and raa.customer_id = oe.sold_to_org_id
and oe.order_number = oe.order_number
and oe.sold_to_org_id = ar.customer_id

order by oe.ordered_date, rac.customer_number;
REC_REL C_REL_CUSTOMER\%ROWTYPE;

BEGIN

DBMS_OUTPUT.Put_Line(' Parametros Relatório ');
DBMS_OUTPUT.Put_Line(' ');
DBMS_OUTPUT.Put_Line(' Data Inicio: ' || P_DT_START||' '||'Data final:'||P_DT_END);
DBMS_OUTPUT.Put_Line(' ');

OPEN C_REL_CUSTOMER;
open C_REL_CUSTOMER_2;

LOOP

vorder_number := REC_REL.Numero_Ordem ;

FETCH C_REL_CUSTOMER INTO REC_REL;
FETCH C_REL_CUSTOMER_2 INTO REC_REL_2;
EXIT WHEN C_REL_CUSTOMER\%NOTFOUND;
EXIT WHEN C_REL_CUSTOMER_2\%NOTFOUND;

DBMS_OUTPUT.Put_Line(REC_REL.Data_Ordem ||' '||REC_REL.Numero_Ordem ||' '||REC_REL.Numero_Cliente||' '||
REC_REL.Nome_Cliente ||' '||REC_REL.status||' '||REC_REL.ID_Vendedor||' '||
REC_REL.Numero_Nff ||' '||REC_REL.Data_Nff||' '||REC_RAL.VALOR_TOTAL_NOTA);

END LOOP;

CLOSE C_REL_CUSTOMER;
CLOSE C_REL_CUSTOMER2;
END relatorio;
/