LOGC#75016 -- SAP bestanden geautomatiseerd verwerken
svn path=/Customer/trunk/; revision=57775
This commit is contained in:
123
LOGC/logc.sql
123
LOGC/logc.sql
@@ -421,6 +421,10 @@ IS
|
||||
v_datum_txt VARCHAR2 (20);
|
||||
v_categorie VARCHAR2 (100);
|
||||
v_werknemer NUMBER (10);
|
||||
v_factuurnr VARCHAR2 (100);
|
||||
v_factuurdatum_txt VARCHAR2 (100);
|
||||
v_factuurbedrag VARCHAR2 (100);
|
||||
v_factuurstatus VARCHAR2(100);
|
||||
|
||||
i_transactietekst NUMBER(2);
|
||||
i_project NUMBER(2);
|
||||
@@ -429,6 +433,10 @@ IS
|
||||
i_datum_txt NUMBER(2);
|
||||
i_categorie NUMBER(2);
|
||||
i_werknemer NUMBER(2);
|
||||
i_factuurnr NUMBER(2);
|
||||
i_factuurdatum_txt NUMBER(2);
|
||||
i_factuurbedrag NUMBER(2);
|
||||
i_factuurstatus NUMBER(2);
|
||||
|
||||
CURSOR c1
|
||||
IS
|
||||
@@ -458,17 +466,22 @@ BEGIN
|
||||
fac.imp_getfield (v_newline, c_delim, v_field);
|
||||
v_index := v_index + 1;
|
||||
CASE UPPER(v_field)
|
||||
WHEN 'DATUM' THEN i_datum_txt := v_index;
|
||||
WHEN 'ALGEMENE ONTVANGER' THEN i_project := v_index;
|
||||
WHEN 'RUBRICERINGSOMS.' THEN i_project_oms := v_index;
|
||||
WHEN 'PRESTATIESOORT' THEN i_categorie := v_index;
|
||||
WHEN 'PERSONEELSNUMMER' THEN i_werknemer := v_index;
|
||||
WHEN 'AANTAL (MAATEENHEID)' THEN i_uren := v_index;
|
||||
WHEN 'K. TEKST' THEN i_transactietekst := v_index;
|
||||
WHEN 'DATE' THEN i_datum_txt := v_index;
|
||||
WHEN 'GENERAL RECEIVER' THEN i_project := v_index;
|
||||
WHEN 'ACCT ASSGNT TEXT' THEN i_project_oms := v_index;
|
||||
WHEN 'ACTIVITY TYPE' THEN i_categorie := v_index;
|
||||
WHEN 'PERSONNEL NUMBER' THEN i_werknemer := v_index;
|
||||
WHEN 'NUMBER (UNIT)' THEN i_uren := v_index;
|
||||
WHEN 'SHORT TEXT' THEN i_transactietekst := v_index;
|
||||
WHEN 'INVOICE' THEN i_factuurnr := v_index;
|
||||
WHEN 'BILLINGDATE' THEN i_factuurdatum_txt := v_index;
|
||||
WHEN 'PRICE' THEN i_factuurbedrag := v_index;
|
||||
WHEN 'STATUS' THEN i_factuurstatus := v_index;
|
||||
ELSE
|
||||
NULL;
|
||||
END CASE;
|
||||
|
||||
|
||||
END LOOP;
|
||||
IF i_datum_txt > 0
|
||||
AND i_project > 0
|
||||
@@ -477,6 +490,12 @@ BEGIN
|
||||
AND i_werknemer > 0
|
||||
AND i_uren > 0
|
||||
AND i_transactietekst > 0
|
||||
AND i_factuurnr > 0
|
||||
AND i_factuurdatum_txt > 0
|
||||
AND i_factuurbedrag > 0
|
||||
AND i_factuurstatus > 0
|
||||
|
||||
|
||||
THEN
|
||||
header_is_valid := 1;
|
||||
END IF;
|
||||
@@ -492,6 +511,10 @@ BEGIN
|
||||
fac.imp_getfield_nr (v_newline, c_delim, i_datum_txt, v_datum_txt);
|
||||
fac.imp_getfield_nr (v_newline, c_delim, i_categorie, v_categorie);
|
||||
fac.imp_getfield_nr (v_newline, c_delim, i_werknemer, v_werknemer);
|
||||
fac.imp_getfield_nr (v_newline, c_delim, i_factuurnr, v_factuurnr);
|
||||
fac.imp_getfield_nr (v_newline, c_delim, i_factuurdatum_txt, v_factuurdatum_txt);
|
||||
fac.imp_getfield_nr (v_newline, c_delim, i_factuurbedrag, v_factuurbedrag);
|
||||
fac.imp_getfield_nr (v_newline, c_delim, i_factuurstatus, v_factuurstatus);
|
||||
|
||||
IF (header_is_valid = 1)
|
||||
THEN
|
||||
@@ -585,14 +608,65 @@ BEGIN
|
||||
'Regel wordt overgeslagen!');
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Factuurnummer ongeldig';
|
||||
v_factuurnr := SUBSTR(TRIM (REPLACE(v_factuurnr,'#N/A')),1,20);
|
||||
|
||||
-- Bij fixed price projecten komt als datum 0-1-1900 te staan
|
||||
v_errormsg := 'Factuurdatum ongeldig';
|
||||
v_factuurdatum_txt := TRIM (REPLACE(REPLACE(v_factuurdatum_txt,'#N/A'), '0-1-1900'));
|
||||
|
||||
IF (v_factuurdatum_txt IS NOT NULL AND fac.safe_to_date (v_factuurdatum_txt,'dd-mm-yyyy') IS NULL)
|
||||
THEN
|
||||
v_ongeldig := 1;
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,
|
||||
'Regel wordt overgeslagen!');
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Factuurbedrag ongeldig';
|
||||
v_factuurbedrag := TRIM (REPLACE(v_factuurbedrag,'#N/A'));
|
||||
|
||||
IF (v_factuurbedrag IS NOT NULL AND fac.safe_to_number (replace(replace(v_factuurbedrag, '.'),',','.')) IS NULL)
|
||||
THEN
|
||||
v_ongeldig := 1;
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_aanduiding || v_errormsg,
|
||||
'Regel wordt overgeslagen!');
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Factuurstatus ongeldig';
|
||||
v_factuurstatus := SUBSTR(TRIM (REPLACE(v_factuurstatus,'#N/A')), 1, 10);
|
||||
|
||||
-- Insert geformatteerde import record
|
||||
IF v_ongeldig = 0
|
||||
THEN
|
||||
BEGIN
|
||||
v_errormsg := 'Fout bij wegschrijven importregel';
|
||||
|
||||
INSERT INTO logc_imp_uren_besteding (transactietekst, project, project_oms, uren, datum_txt, categorie, werknemer)
|
||||
VALUES (v_transactietekst, v_project, v_project_oms, fac.safe_to_number (replace(v_uren,',','.')), v_datum_txt, v_categorie, v_werknemer);
|
||||
INSERT INTO logc_imp_uren_besteding (transactietekst,
|
||||
project,
|
||||
project_oms,
|
||||
uren,
|
||||
datum_txt,
|
||||
categorie,
|
||||
werknemer,
|
||||
factuurnr,
|
||||
factuurdatum,
|
||||
factuurbedrag,
|
||||
factuurstatus)
|
||||
VALUES (v_transactietekst,
|
||||
v_project,
|
||||
v_project_oms,
|
||||
fac.safe_to_number (replace(v_uren,',','.')),
|
||||
v_datum_txt,
|
||||
v_categorie,
|
||||
v_werknemer,
|
||||
v_factuurnr,
|
||||
fac.safe_to_date (v_factuurdatum_txt,'dd-mm-yyyy'),
|
||||
fac.safe_to_number (replace(replace(v_factuurbedrag, '.'),',','.')),
|
||||
v_factuurstatus);
|
||||
|
||||
v_count_import := v_count_import + 1;
|
||||
EXCEPTION
|
||||
@@ -626,7 +700,11 @@ BEGIN
|
||||
i_categorie || '-' ||
|
||||
i_werknemer || '-' ||
|
||||
i_uren || '-' ||
|
||||
i_transactietekst || ')');
|
||||
i_transactietekst || '-' ||
|
||||
i_factuurnr || '-' ||
|
||||
i_factuurdatum_txt || '-' ||
|
||||
i_factuurbedrag || '-' ||
|
||||
i_factuurstatus || ')');
|
||||
ELSE
|
||||
fac.imp_writelog (p_import_key,
|
||||
'S',
|
||||
@@ -902,19 +980,19 @@ BEGIN
|
||||
|
||||
IF (header_is_valid = 0)
|
||||
THEN
|
||||
IF UPPER (v_KlantOmschrijving) = 'OMSCHRIJVING'
|
||||
AND UPPER (v_WBSelement) = 'WBS-ELEMENT'
|
||||
AND UPPER (v_Projectsoort) = 'PROJECTSOORT'
|
||||
AND UPPER (v_Omschrijving) = 'OMSCHRIJVING'
|
||||
IF UPPER (v_KlantOmschrijving) = 'DESCRIPTION'
|
||||
AND UPPER (v_WBSelement) = 'WBS ELEMENT'
|
||||
AND UPPER (v_Projectsoort) = 'PROJECT TYPE'
|
||||
AND UPPER (v_Omschrijving) = 'DESCRIPTION'
|
||||
AND UPPER (v_Status) = 'STATUS'
|
||||
AND UPPER (v_Debiteur) = 'KLANT'
|
||||
AND UPPER (v_Debiteur) = 'CUSTOMER'
|
||||
AND UPPER (v_PlanWorktime) = 'PLAN WORKTIME'
|
||||
AND UPPER (v_ActualWorktime) = 'ACTUAL WORKTIME'
|
||||
AND UPPER (v_ActualWorkCosts) = 'ACTUAL WORK COSTS'
|
||||
AND UPPER (v_PlanWorkCosts) = 'PLAN WORK COSTS'
|
||||
AND UPPER (v_InvoiceReceived) = 'INVOICE RECEIVED'
|
||||
AND UPPER (v_InvoicePosted) = 'INVOICE POSTED'
|
||||
AND UPPER (v_ProjektManagerLogin) = 'PROJEKTLEITER'
|
||||
AND UPPER (v_ProjektManagerLogin) = 'PROJECTMANAGER NAME' -- Name niet opnemen
|
||||
AND UPPER (v_SalesPersonNr) = 'SALES PERSON'
|
||||
AND UPPER (v_NameSalesPerson) = 'NAME SALES REPRESEN'
|
||||
THEN
|
||||
@@ -1226,6 +1304,13 @@ EXCEPTION
|
||||
END logc_import_projecten;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PROCEDURE logc_update_projecten (p_import_key IN NUMBER)
|
||||
IS
|
||||
BEGIN
|
||||
NULL; -- Hier hoeven we verder niets te doen.
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE VIEW logc_v_rap_projecten
|
||||
AS
|
||||
SELECT d.prs_afdeling_key
|
||||
@@ -1609,7 +1694,11 @@ AS
|
||||
AND mk.mld_srtkenmerk_key = 25
|
||||
AND km.mld_melding_key = m.mld_melding_key) custref,
|
||||
m.mld_melding_externnr,
|
||||
m.mld_melding_key
|
||||
m.mld_melding_key,
|
||||
i.factuurnr,
|
||||
i.factuurdatum,
|
||||
i.factuurbedrag,
|
||||
i.factuurstatus
|
||||
FROM logc_imp_uren_besteding i,
|
||||
logc_imp_projecten pr,
|
||||
mld_melding m,
|
||||
|
||||
Reference in New Issue
Block a user