Hello I would to understand this error
ERROR MSG:
ORA-02291: integrity constraint (.) violated - parent key not found
ERROR ORA-24381: error(s) in array DML
ORA-06512: at line 492
SQL CODE:
open cNewDocData;
loop
fetch cNewDocData
bulk collect into rNewDocData
limit 10000;
for i in 1 .. rNewDocData.count loop
begin
NEXTFREE.GETVALUE ('MAX_OHXACT', rOrderHdrAll (v_id_order).ohxact);
end;
select decode (sign (rNewDocData (i).amt_pen), -1, 'CO', 'FC') into rOrderHdrAll (v_id_order).ohstatus from dual;
rOrderHdrAll (v_id_order).ohentdate := trunc (sysdate);
rOrderHdrAll (v_id_order).ohrefnum := 'Saldo Inicial';
rOrderHdrAll (v_id_order).customer_id := rNewDocData (i).customer_id;
rOrderHdrAll (v_id_order).ohrefdate := trunc (sysdate);
rOrderHdrAll (v_id_order).ohduedate := trunc (rNewDocData (i).due_date);
rOrderHdrAll (v_id_order).ohipp := rNewDocData (i).lbc_date;
select decode (sign (rNewDocData (i).amt_pen), -1, v_glNegative, v_glPositive) into rOrderHdrAll (v_id_order).ohglar from dual;
rOrderHdrAll (v_id_order).ohmod := 'X';
rOrderHdrAll (v_id_order).gl_currency := v_fcId;
rOrderHdrAll (v_id_order).document_currency := v_fcId;
rOrderHdrAll (v_id_order).document_convratetype_id := 1;
rOrderHdrAll (v_id_order).ohinvamt_gl := rNewDocData (i).amt_pen;
rOrderHdrAll (v_id_order).ohopnamt_gl := rNewDocData (i).amt_pen;
rOrderHdrAll (v_id_order).ohinvamt_doc := rNewDocData (i).amt_pen;
rOrderHdrAll (v_id_order).ohopnamt_doc := rNewDocData (i).amt_pen;
rOrderHdrAll (v_id_order).gl_convratetype_id := 1;
rOrderHdrAll (v_id_order).currency := v_fcId;
rOrderHdrAll (v_id_order).rec_version := 0;
select decode (rNewDocData (i).billing_account_id, -1, null, rNewDocData (i).billing_account_id) into rOrderHdrAll (v_id_order).billing_account_id from dual;
if rNewDocData (i).amt_pen >= 0 then
v_countFC := v_countFC + 1;
rOrderTrailer (v_id_detail).otxact := rOrderHdrAll (v_id_order).ohxact;
rOrderTrailer (v_id_detail).otseq := 1;
rOrderTrailer (v_id_detail).ottransaction_date := trunc (sysdate);
rOrderTrailer (v_id_detail).gl_currency := v_fcId;
rOrderTrailer (v_id_detail).document_currency := v_fcId;
rOrderTrailer (v_id_detail).otamt_revenue_gl := rNewDocData (i).amt_pen;
rOrderTrailer (v_id_detail).otamt_revenue_gross_gl := rNewDocData (i).amt_pen;
rOrderTrailer (v_id_detail).otmerch_gl := rNewDocData (i).amt_pen;
rOrderTrailer (v_id_detail).otmerch_gross_gl := rNewDocData (i).amt_pen;
rOrderTrailer (v_id_detail).otamt_revenue_doc := rNewDocData (i).amt_pen;
rOrderTrailer (v_id_detail).otamt_revenue_gross_doc := rNewDocData (i).amt_pen;
rOrderTrailer (v_id_detail).otmerch_doc := rNewDocData (i).amt_pen;
rOrderTrailer (v_id_detail).otmerch_gross_doc := rNewDocData (i).amt_pen;
rOrderTrailer (v_id_detail).rec_version := 0;
rOrderTrailer (v_id_detail).tax_calculation_type := 'N';
rOrderTrailer (v_id_detail).payment_option := 'P';
rOrderTaxItens (v_id_detail).otxact := rOrderHdrAll (v_id_order).ohxact;
rOrderTaxItens (v_id_detail).oti_seqno := 1;
rOrderTaxItens (v_id_detail).taxcat_id := 2;
rOrderTaxItens (v_id_detail).taxrate := 0;
rOrderTaxItens (v_id_detail).taxcalcbase := 'R';
rOrderTaxItens (v_id_detail).glacode := v_glPositive;
rOrderTaxItens (v_id_detail).tax_currency := v_fcId;
rOrderTaxItens (v_id_detail).gl_currency := v_fcId;
rOrderTaxItens (v_id_detail).document_currency := v_fcId;
rOrderTaxItens (v_id_detail).taxamt_exempted_gl := 0;
rOrderTaxItens (v_id_detail).taxamt_tax_curr := 0;
rOrderTaxItens (v_id_detail).taxamt_exempted_tax_curr := 0;
rOrderTaxItens (v_id_detail).taxamt_gl := 0;
rOrderTaxItens (v_id_detail).taxamt_doc := 0;
rOrderTaxItens (v_id_detail).taxamt_exempted_doc := 0;
rOrderTaxItens (v_id_detail).rec_version := 0;
rOrderTaxItens (v_id_detail).payment_option := 'P';
rOrderTrailerTaxItems (v_id_detail).otxact := rOrderHdrAll (v_id_order).ohxact;
rOrderTrailerTaxItems (v_id_detail).otseq := 1;
rOrderTrailerTaxItems (v_id_detail).taxcode := 2;
rOrderTrailerTaxItems (v_id_detail).oti_seqno := 1;
rOrderTrailerTaxItems (v_id_detail).tax_seqno := 1;
rOrderTrailerTaxItems (v_id_detail).rec_version := 0;
v_id_detail := v_id_detail + 1;
else
v_countCO := v_countCO + 1;
end if;
rOhxact := rOrderHdrAll (v_id_order).ohxact;
rCustomerid := rNewDocData (i).customer_id;
v_count := v_count + 1;
v_id_order := v_id_order + 1;
end loop;
begin
forall j in 1 .. rOrderHdrAll.count
save exceptions
insert into orderhdr_all
values rOrderHdrAll (j);
exception
when bulkerrors then
dbms_output.put_line ('WARNING - Error on ORDERHDR_ALL insert');
for w in 1 .. sql%bulk_exceptions.count loop
dbms_output.put_line (sql%bulk_exceptions (w).error_index || ', ' || sqlerrm (-sql%bulk_exceptions (w).error_code));
dbms_output.put_line ('SELECT * FROM TMP_CUST_AMOUNTS WHERE CUSTOMER_ID = ' || rOrderHdrAll (w).customer_id || ';');
end loop;
raise;
end;
commit;
exit when cNewDocData%notfound;
end loop;