579 lines
20 KiB
Plaintext
579 lines
20 KiB
Plaintext
// ##################### Stadt Essen - Prozessakte ######################
|
|
|
|
// Dokumentarten - in g01 deklariert
|
|
//global G01_DS_PROZESSA = "APROZ"
|
|
//global G01_DS_PROZESSD = "DPROZ"
|
|
|
|
// Feldpositionen
|
|
vars POS_AZ = 1
|
|
vars POS_Jahr = 2
|
|
vars POS_StatZ = 3
|
|
vars POS_GerichtAZ = 4
|
|
vars POS_Klaeger = 9
|
|
vars POS_Zda = 13
|
|
vars POS_Beklaeger = 15
|
|
vars POS_AusArt = 23
|
|
vars POS_DokGrp = 30
|
|
vars POS_DokTyp = 31
|
|
vars POS_AusDat = 51
|
|
vars POS_ZLM = 35
|
|
vars POS_LOESCHGRD = 36
|
|
vars POS_GADRESSE = 33
|
|
vars POS_Gericht = 20
|
|
vars POS_DOKIDORG = 10
|
|
|
|
// Feldpostitionen Adressverwaltung
|
|
vars POS_FFOE = 2
|
|
vars POS_Name = 9
|
|
vars POS_Strasse = 21
|
|
vars POS_Hnr = 29
|
|
vars POS_Plz = 24
|
|
vars POS_Ort = 25
|
|
|
|
// Variablen - Aufbewahrungsfristen (in Jahren)
|
|
vars FRIST_AUSSONDERUNG = 10 // 10 Jahre
|
|
vars WM_TRENNZEICHEN = ";"
|
|
vars STATUS_ZDA = 0
|
|
vars NEUES_AZ = 0
|
|
vars CHANGE_GERICHT = 0
|
|
|
|
// Datenbanktabelle
|
|
vars TB_DokGrpTyp = "DV_PROZ_Doktyp"
|
|
|
|
/////////////////////////// proz01_insert_entry_10 /////////////////////////////////////
|
|
// Vor Archivierung
|
|
// Uebernehmen der Werte aus der Akte
|
|
// Vorbelegen der laufenden Nummer
|
|
//////////////////////////////////////////////////////////////////////////////////////
|
|
proc proz01_insert_entry_10(user_ref, doc_type_short)
|
|
{
|
|
call proz01_split_AZ(1)
|
|
call proz01_split_Gericht()
|
|
}
|
|
|
|
/////////////////////////// proz01_insert_exit_10 ///////////////////////////////////////
|
|
// nach dem Import, Rollback noch moeglich
|
|
////////////////////////////////////////////////////////////////////////////////////////
|
|
proc proz01_insert_exit_10 (doc_id, file_destination, import_ok, user_ref, doc_type_short)
|
|
{
|
|
if(doc_type_short == G01_DS_PROZESSA)
|
|
{
|
|
// Erstellung des Aktenzeichens
|
|
vars update = 0
|
|
call proz01_fill_AZ_Nummer(doc_id, update)
|
|
}
|
|
}
|
|
|
|
//////////////////////////////// proz01_upd_attrib_entry_20 ////////////////////////////
|
|
// vor Änderung von Attributwerten
|
|
//////////////////////////////////////////////////////////////////////////////////////
|
|
proc proz01_upd_attrib_entry_20(doc_id, user_ref, doc_type_short, doc_type_short_new)
|
|
{
|
|
if(doc_type_short == G01_DS_ORGANI)
|
|
{
|
|
if(g02_strAttrHasChanged(doc_id, dok_dat_feld[POS_Name], POS_Name) == 1)
|
|
{
|
|
CHANGE_GERICHT = 1
|
|
}
|
|
else if(g02_strAttrHasChanged(doc_id, dok_dat_feld[POS_Strasse], POS_Strasse) == 1)
|
|
{
|
|
CHANGE_GERICHT = 1
|
|
}
|
|
else if(g02_strAttrHasChanged(doc_id, dok_dat_feld[POS_Hnr], POS_Hnr) == 1)
|
|
{
|
|
CHANGE_GERICHT = 1
|
|
}
|
|
else if(g02_strAttrHasChanged(doc_id, dok_dat_feld[POS_Plz], POS_Plz) == 1)
|
|
{
|
|
CHANGE_GERICHT = 1
|
|
}
|
|
else if(g02_strAttrHasChanged(doc_id, dok_dat_feld[POS_Ort], POS_Ort) == 1)
|
|
{
|
|
CHANGE_GERICHT = 1
|
|
}
|
|
call api_log_error("proz01_upd_attrib_entry_20 Adresse verändert? :CHANGE_GERICHT ")
|
|
|
|
}
|
|
else
|
|
{
|
|
call proz01_split_AZ(1)
|
|
call proz01_split_Gericht()
|
|
|
|
if(g02_strAttrHasChanged(doc_id, dok_dat_feld[POS_Zda], POS_Zda) == 1)
|
|
{
|
|
STATUS_ZDA = 1
|
|
}
|
|
|
|
// Wenn das Feld zum Löschen markiert auf Ja gesetzt wurde, überprüfe ob beim Löschgrund etwas eingetragen wurde. Falls nicht, gebe eine Fehlermeldung aus.
|
|
// Wenn das Feld zum Löschen markiert auf Nein gesetzt wurde, dann leere das Feld Löschgrund
|
|
if(dok_dat_feld[POS_ZLM] != get_doc_property(doc_id, "doc_field[:POS_ZLM]"))
|
|
{
|
|
if(dok_dat_feld[POS_ZLM] == G01_STR_JA)
|
|
{
|
|
if(dok_dat_feld[POS_LOESCHGRD] == "")
|
|
{
|
|
return -403 //Bitte geben Sie einen Löschgrund an!
|
|
}
|
|
}
|
|
else if(dok_dat_feld[POS_ZLM] == G01_STR_NEIN)
|
|
{
|
|
dok_dat_feld[POS_LOESCHGRD] = ""
|
|
}
|
|
}
|
|
|
|
|
|
if(doc_type_short == G01_DS_PROZESSA && g02_strAttrHasChanged(doc_id, dok_dat_feld[POS_Jahr], POS_Jahr) == 1)
|
|
{
|
|
NEUES_AZ = 1
|
|
}
|
|
|
|
// hinzugefügt am 13.02.23 - Bei manueller Änderung des Feld Aktenzeichen wird eine Fehlermeldung ausgegeben
|
|
//if((user_ref != "d3_async" || user_ref != "Master" ) && g02_strAttrHasChanged(doc_id, dok_dat_feld[POS_AZ], POS_AZ) == 1)
|
|
//{
|
|
// call api_log_error("proz01_upd_attrib_entry_20 - Das aktenezichen wurde von :user_ref verändert!")
|
|
// return -403
|
|
//}
|
|
|
|
|
|
if(doc_type_short == G01_DS_PROZESSA && (g02_strAttrHasChanged(doc_id, dok_dat_feld[POS_Gericht], POS_Gericht) == 1 || g02_strAttrHasChanged(doc_id, dok_dat_feld[POS_GADRESSE], POS_GADRESSE) == 1))
|
|
{
|
|
vars DocID, Name, Strasse, PLZ, Ort, Hnr, iCnt
|
|
|
|
DBMS ALIAS Name, Strasse, Hnr, PLZ, Ort
|
|
DBMS SQL SELECT dok_dat_feld_:POS_Name, dok_dat_feld_:POS_Strasse, dok_dat_feld_:POS_Hnr, dok_dat_feld_:POS_Plz, dok_dat_feld_:POS_Ort \
|
|
FROM firmen_spezifisch \
|
|
WHERE kue_dokuart = 'AAORG' AND dok_dat_feld_:POS_Name = :+dok_dat_feld[POS_Gericht] //AND doku_id = :+doc_id
|
|
iCnt = @dmrowcount
|
|
DBMS ALIAS
|
|
|
|
|
|
|
|
if(Name == "" || Strasse == "" || Hnr == "" || PLZ == "" || Ort == "")
|
|
{
|
|
//Gerichtsdaten nicht gepflegt! Bitte in der Organisation pflegen.
|
|
return -569
|
|
}
|
|
|
|
vars Gerichtsadresse = Strasse ## " " ## Hnr ## ", " ## PLZ ## " " ## Ort
|
|
call api_log_error("Änderung Ticket vor IF Gerichtsadresse - :Strasse :Hnr :PLZ :Ort")
|
|
if(Gerichtsadresse != dok_dat_feld[POS_GADRESSE])
|
|
{
|
|
//Gerichtsadresse entspricht nicht dem aktuell ausgewählten Gericht!
|
|
return -570
|
|
}
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//////////////////////////////// ld01_upd_attrib_exit_20 /////////////////////////////
|
|
// UpdateAttribute: NACH Aenderung
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////////////
|
|
proc proz01_upd_attrib_exit_20(doc_id, error_number, user_ref, doc_type_short, doc_type_short_old)
|
|
{
|
|
// Update des Aktenzeichens bei Änderung des Jahres
|
|
if(NEUES_AZ == 1 && doc_type_short != G01_DS_ORGANI)
|
|
{
|
|
NEUES_AZ = 0
|
|
vars update = 1
|
|
call proz01_fill_AZ_Nummer(doc_id, update)
|
|
}
|
|
|
|
|
|
if(STATUS_ZDA == 1 && doc_type_short != G01_DS_ORGANI)
|
|
{
|
|
STATUS_ZDA = 0
|
|
|
|
vars strZDA, strDatum
|
|
|
|
if(dok_dat_feld[POS_Zda] == G01_STR_JA)
|
|
{
|
|
strZDA = G01_STR_JA
|
|
strDatum = proz01_getAussonderungsdatum(FRIST_AUSSONDERUNG)
|
|
}
|
|
else if(dok_dat_feld[POS_Zda] == G01_STR_NEIN)
|
|
{
|
|
strZDA = G01_STR_NEIN
|
|
strDatum = ""
|
|
}
|
|
|
|
call docSearchCreate()
|
|
call docSearchAddSearchParam("doc_type_short", "==", G01_DS_PROZESSA)
|
|
call docSearchAddSearchParam("doc_type_short", "==", G01_DS_PROZESSD)
|
|
call docSearchAddSearchParam("doc_field[:POS_AZ]", "==", dok_dat_feld[POS_AZ])
|
|
call docSearchAddReplacementParam("doc_field[:POS_Zda]", "*", strZDA)
|
|
call docSearchAddReplacementParam("doc_field[:POS_AusDat]", "*", strDatum)
|
|
call docSearchAddReplacementParam("doc_field[:POS_AusArt]", "*", dok_dat_feld[POS_AusArt])
|
|
call docSearchExecute()
|
|
call docSearchDestroy()
|
|
}
|
|
|
|
if(CHANGE_GERICHT == 1 && doc_type_short == G01_DS_ORGANI)
|
|
{
|
|
CHANGE_GERICHT = 0
|
|
|
|
vars strDocID, strNameNeu, strStrasseNeu, strPLZNeu, strOrtNeu, strHnrNeu, iCnt
|
|
|
|
DBMS ALIAS strNameNeu, strStrasseNeu, strHnrNeu, strPLZNeu, strOrtNeu
|
|
DBMS SQL SELECT dok_dat_feld_:POS_Name, dok_dat_feld_:POS_Strasse, dok_dat_feld_:POS_Hnr, dok_dat_feld_:POS_Plz, dok_dat_feld_:POS_Ort \
|
|
FROM firmen_spezifisch \
|
|
WHERE kue_dokuart = 'AAORG' AND doku_id = :+doc_id
|
|
iCnt = @dmrowcount
|
|
DBMS ALIAS
|
|
|
|
call api_log_error("proz01_upd_attrib_exit_20 Datenbankabfrage durchgelaufen iCnt => :iCnt")
|
|
|
|
if(iCnt == 1)
|
|
{
|
|
vars strGAdresse = strStrasseNeu ## " " ## strHnrNeu ## ", " ## strPLZNeu ## " " ## strOrtNeu
|
|
call api_log_error("proz01_upd_attrib_exit_20 neue Adresse => :strGAdresse neuer Name => :strNameNeu")
|
|
|
|
call docSearchCreate()
|
|
call docSearchAddSearchParam("doc_type_short", "==", G01_DS_PROZESSA)
|
|
call docSearchAddSearchParam("doc_field[:POS_DOKIDORG]", "==", doc_id)
|
|
call docSearchAddReplacementParam("doc_field[:POS_GADRESSE]", "*", strGAdresse)
|
|
call docSearchAddReplacementParam("doc_field[:POS_Gericht]", "*", strNameNeu)
|
|
call docSearchExecute()
|
|
call docSearchDestroy()
|
|
}
|
|
}
|
|
}
|
|
|
|
//////////////////////////////// proz01_validate_update_entry_10 ///////////////////////
|
|
// Vor Pruefen der Daten vor dem Ändern
|
|
//////////////////////////////////////////////////////////////////////////////////////
|
|
proc proz01_validate_update_entry_10(user_ref, doc_type_short)
|
|
{
|
|
call api_log_error("proz01_validate_update_entry_10 gestartet")
|
|
call proz01_split_AZ(1)
|
|
call proz01_split_Gericht()
|
|
}
|
|
|
|
/////////////////////////// proz01_search_entry_10 /////////////////////////////////////
|
|
// vor der Recherche
|
|
//////////////////////////////////////////////////////////////////////////////////////
|
|
proc proz01_search_entry_10(user_ref, doc_type_short)
|
|
{
|
|
call proz01_split_AZ(0)
|
|
call proz01_split_Gericht()
|
|
|
|
}
|
|
|
|
|
|
////////////////// Wertemengenhooks ////////////////////////////////////////////////
|
|
|
|
//////////////////// proz01_fill_Klaeger /////////////////////////////////////////////////
|
|
// Wertemengenhook zum fuellen des Felds Kläger mit AZ;Klaeger;Gerichtszeichen
|
|
// aus der Datenbank
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
proc proz01_fill_Klaeger(repos_id)
|
|
{
|
|
vars iRet, iCnt, i
|
|
vars strAZ[1000], strKlaeger[1000], strGerichtsZ[1000]
|
|
|
|
vars strEingabe = dok_dat_feld[POS_Klaeger]
|
|
vars igetippt = @length(strEingabe)
|
|
vars igetippt_min = 3
|
|
|
|
if(igetippt >= igetippt_min)
|
|
{
|
|
DBMS ALIAS strAZ, strKlaeger, strGerichtsZ
|
|
DBMS SQL SELECT DISTINCT dok_dat_feld_:POS_AZ, dok_dat_feld_:POS_Klaeger, dok_dat_feld_:POS_GerichtAZ \
|
|
FROM firmen_spezifisch WHERE kue_dokuart = :+G01_DS_PROZESSA AND (dok_dat_feld_:POS_AZ LIKE '%:strEingabe%' OR dok_dat_feld_:POS_Klaeger LIKE '%:strEingabe%')
|
|
iRet = @dmretcode
|
|
iCnt = @dmrowcount
|
|
DBMS ALIAS
|
|
|
|
for i = 1 while (i <= iCnt) step 1
|
|
{
|
|
d3server_value_char_allowed[i] = strAZ[i] ## ";" ## strKlaeger[i] ## ";" ## strGerichtsZ[i]
|
|
d3server_repos_id_allowed[i] = repos_id
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
//////////////////// proz01_fill_Beklagter /////////////////////////////////////////////////
|
|
// Wertemengenhook zum fuellen des Felds Beklagter mit AZ;Beklagter;Gerichtszeichen
|
|
// aus der Datenbank
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
proc proz01_fill_Beklagter(repos_id)
|
|
{
|
|
vars iRet, iCnt, i
|
|
vars strAZ[1000], strBeklagter[1000], strGerichtsZ[1000]
|
|
|
|
vars strEingabe = dok_dat_feld[POS_Beklaeger]
|
|
vars igetippt = @length(strEingabe)
|
|
vars igetippt_min = 3
|
|
|
|
/*
|
|
if(igetippt >= igetippt_min)
|
|
{
|
|
DBMS ALIAS strAZ, strBeklagter, strGerichtsZ
|
|
DBMS SQL SELECT DISTINCT dok_dat_feld_:POS_AZ, dok_dat_feld_:POS_Beklaeger, dok_dat_feld_:POS_GerichtAZ \
|
|
FROM firmen_spezifisch WHERE kue_dokuart = :+G01_DS_PROZESSA AND (dok_dat_feld_:POS_AZ LIKE '%:strEingabe%' OR dok_dat_feld_:POS_Beklaeger LIKE '%:strEingabe%')
|
|
iRet = @dmretcode
|
|
iCnt = @dmrowcount
|
|
DBMS ALIAS
|
|
|
|
for i = 1 while (i <= iCnt) step 1
|
|
{
|
|
d3server_value_char_allowed[i] = strAZ[i] ## ";" ## strBeklagter[i] ## ";" ## strGerichtsZ[i]
|
|
d3server_repos_id_allowed[i] = repos_id
|
|
}
|
|
}
|
|
|
|
*/
|
|
|
|
//Neu erstellt von N.Tietjen 25.10.2022
|
|
if(igetippt >= igetippt_min)
|
|
{
|
|
DBMS ALIAS d3server_value_char_allowed, d3server_repos_id_allowed
|
|
DBMS SQL SELECT DISTINCT dok_dat_feld_:POS_Beklaeger, :+repos_id \
|
|
FROM firmen_spezifisch WHERE kue_dokuart = :+G01_DS_PROZESSA AND dok_dat_feld_:POS_Beklaeger LIKE '%:strEingabe%'
|
|
iRet = @dmretcode
|
|
iCnt = @dmrowcount
|
|
DBMS ALIAS
|
|
}
|
|
|
|
}
|
|
|
|
//////////////////proz01_WM_DOKGRP ////////////////////////////////////////////////
|
|
proc proz01_WM_DOKGRP(repos_id)
|
|
{
|
|
vars strDokTyp = dok_dat_feld[POS_DokTyp]
|
|
|
|
if(strDokTyp != "")
|
|
{
|
|
DBMS ALIAS d3server_value_char_allowed, d3server_repos_id_allowed
|
|
DBMS SQL SELECT DISTINCT Dokumentgruppe, ':repos_id' FROM :TB_DokGrpTyp WHERE Dokumenttyp = :+strDokTyp
|
|
DBMS ALIAS
|
|
}
|
|
else
|
|
{
|
|
DBMS ALIAS d3server_value_char_allowed, d3server_repos_id_allowed
|
|
DBMS SQL SELECT DISTINCT Dokumentgruppe, ':repos_id' FROM :TB_DokGrpTyp
|
|
DBMS ALIAS
|
|
}
|
|
}
|
|
|
|
//////////////////proz01_WM_DOKTYP ////////////////////////////////////////////////
|
|
proc proz01_WM_DOKTYP(repos_id)
|
|
{
|
|
vars strDokGrp = dok_dat_feld[POS_DokGrp]
|
|
|
|
if(strDokGrp != "")
|
|
{
|
|
DBMS ALIAS d3server_value_char_allowed, d3server_repos_id_allowed
|
|
DBMS SQL SELECT DISTINCT Dokumenttyp, ':repos_id' FROM :TB_DokGrpTyp WHERE Dokumentgruppe = :+strDokGrp
|
|
DBMS ALIAS
|
|
}
|
|
else
|
|
{
|
|
DBMS ALIAS d3server_value_char_allowed, d3server_repos_id_allowed
|
|
DBMS SQL SELECT DISTINCT Dokumenttyp, ':repos_id' FROM :TB_DokGrpTyp
|
|
DBMS ALIAS
|
|
}
|
|
}
|
|
|
|
|
|
/////////////////// UNTERFUNKTIONEN ////////////////////////////////////////////////
|
|
|
|
//////////////////// l01_split_AZ /////////////////////////////////////////////////
|
|
// Funktion zum des Felds Aktenzeichen nach AZ;Klaeger;Gerichtszeichen
|
|
// und fuellen in die jeweiligen Felder
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
proc proz01_split_AZ(NotSearch)
|
|
{
|
|
vars strKlaeger = dok_dat_feld[POS_Klaeger]
|
|
//call api_log_error("proz01_split_AZ gestartet - strKlaeger => :strKlaeger")
|
|
|
|
vars iSplit = api_function("string_split", strKlaeger, WM_TRENNZEICHEN)
|
|
|
|
//call api_log_error("proz01_split_AZ - NotSearch => :NotSearch iSplit => :iSplit")
|
|
|
|
if(iSplit > 2)
|
|
{
|
|
// Neu hinzugefügt - Leeren des Feldes Kläger bei der Suche - LH 06.12.22
|
|
dok_dat_feld[POS_Klaeger] = ""
|
|
dok_dat_feld[POS_AZ] = api_splitted_string[1]
|
|
|
|
if(NotSearch == 1)
|
|
{
|
|
//call api_log_error("proz01_split_AZ - in NotSearch")
|
|
dok_dat_feld[POS_Klaeger] = api_splitted_string[2]
|
|
dok_dat_feld[POS_GerichtAZ] = api_splitted_string[3]
|
|
}
|
|
}
|
|
}
|
|
|
|
/////////////////////////// proz01_WM_AZ_Nummer //////////////////////////////////////
|
|
// Wertemenge für laufende Nummer
|
|
// Zusammengesetzt aus: Fortlaufende Nummer, Herrsteller, Anwendungsbezeichnung
|
|
//////////////////////////////////////////////////////////////////////////////////////
|
|
proc proz01_fill_AZ_Nummer(doc_id, update)
|
|
{
|
|
vars iRet, iCnt
|
|
vars strNummer, sqlCount
|
|
vars strJahr = dok_dat_feld[POS_Jahr]
|
|
vars strLNR = dok_dat_feld[POS_AZ]
|
|
|
|
if (update == 0)
|
|
{
|
|
/*DBMS ALIAS sqlCount
|
|
DBMS SQL SELECT COUNT(*) FROM firmen_spezifisch WHERE kue_dokuart = :+G01_DS_PROZESSA
|
|
iRet = @dmretcode
|
|
if(iRet != 0 && iRet != DM_NO_MORE_ROWS)
|
|
{
|
|
call api_log_error ("proz01_fill_AZ_Nummer => Fehler beim Ermitteln von Prozessakten. FEHLER: :iRet")
|
|
}
|
|
DBMS ALIAS
|
|
*/
|
|
DBMS ALIAS sqlCount
|
|
DBMS SQL SELECT TOP (1) right(dok_dat_feld_:POS_AZ, 4) + 1 from firmen_spezifisch WHERE kue_dokuart = :+G01_DS_PROZESSA ORDER BY right(dok_dat_feld_:POS_AZ,4) DESC
|
|
iRet = @dmretcode
|
|
if(iRet != 0 && iRet != DM_NO_MORE_ROWS)
|
|
{
|
|
call api_log_error ("proz01_fill_AZ_Nummer => Fehler beim Ermitteln von Prozessakten. FEHLER: :iRet")
|
|
}
|
|
DBMS ALIAS
|
|
|
|
|
|
vars string strCount = sqlCount
|
|
iRet = api_function ("string_fill_leading_char", strCount, 0, 4)
|
|
strNummer = strJahr ## "-" ## api_converted_string
|
|
}
|
|
else if(update == 1)
|
|
{
|
|
vars strTrennzeichen = "-"
|
|
vars iSplit = api_function("string_split", strLNR, strTrennzeichen)
|
|
if (iSplit > 1)
|
|
{
|
|
strNummer = strJahr ## "-" ## api_splitted_string[2]
|
|
}
|
|
}
|
|
|
|
iRet = api_function ("attribute_update_single", POS_AZ , strNummer, "", doc_id, "")
|
|
|
|
if(iRet != 0 )
|
|
{
|
|
call api_log_error ("proz01_fill_AZ_Nummer => Fehler beim Setzen des Aktenzeichens für :doc_id . FEHLER: :iRet")
|
|
}
|
|
|
|
// Vererbung des neuen Gerichtsaktenzeichens auf die darunterliegenden Dokumente - soll nicht umgesetzt werden
|
|
/*if(iRet == 0 && update == 1)
|
|
{
|
|
call docSearchCreate()
|
|
call docSearchAddSearchParam("doc_type_short", "==", G01_DS_PROZESSD)
|
|
call docSearchAddSearchParam("doc_field[:POS_AZ]", "==", strLNR)
|
|
call docSearchAddReplacementParam("doc_field[:POS_AZ]", "*", strNummer)
|
|
call docSearchExecute()
|
|
call docSearchDestroy()
|
|
} */
|
|
|
|
// Kategorie-Kürzel ermitteln
|
|
//strNummer = api_str_sub( strNummer, 4, 4) //Position Trennzeichen für Kategorie-Kürzel
|
|
//call api_log_error("proz01_fill_AZ_Nummer nach splitten der Funktion strNummer => :strNummer ")
|
|
|
|
/*if(iCnt == 1 && strNummer != -1)
|
|
{
|
|
vars strLNr = strNummer + 0001
|
|
iRet = api_function ("string_fill_leading_char", strLNr, 0, 4)
|
|
call api_log_error("proz01_fill_AZ_Nummer nach splitten der Funktion strLNr => :strLNr iRet => :iRet")
|
|
if(iRet >= 0)
|
|
{
|
|
d3server_value_char_allowed = strJahr ## "-" ## strLNr
|
|
d3server_repos_id_allowed = repos_id
|
|
}
|
|
} */
|
|
}
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
// Auslesen des Gerichts und dessen Adresse aus der Adressverwaltung
|
|
// Einfügen in die Felder Gericht und Gerichtadresse
|
|
/////////////////////////////////////////////////////////////////////
|
|
proc proz01_getGericht(repos_id, user, doc_type_short)
|
|
{
|
|
vars strGericht = dok_dat_feld[POS_Gericht]
|
|
vars strGAdresse = dok_dat_feld[POS_GADRESSE]
|
|
vars strEingabe = dok_dat_feld[POS_Strasse]
|
|
|
|
vars strGName[1000], strGStrasse[1000], strGHNR[1000], strGPLZ[1000], strGOrt[1000], strDokId[1000]
|
|
vars iCnt, iRet, i
|
|
vars igetippt = @length(strGericht)
|
|
vars igetippt_min = 2
|
|
|
|
if(igetippt >= igetippt_min)
|
|
{
|
|
/*DBMS ALIAS strGName, strGStrasse, strGHNR, strGPLZ, strGOrt
|
|
DBMS SQL SELECT dok_dat_feld_:POS_Name, dok_dat_feld_:POS_Strasse, dok_dat_feld_:POS_Hnr, dok_dat_feld_:POS_Plz, dok_dat_feld_:POS_Ort \
|
|
FROM firmen_spezifisch \
|
|
WHERE kue_dokuart = 'AAORG' AND dok_dat_feld_:POS_Name like '%:strGericht%'
|
|
iCnt = @dmrowcount
|
|
iRet = @dmretcode
|
|
DBMS ALIAS
|
|
*/
|
|
|
|
// Sucht die Adressen raus, bei denen der Benutzer in der federfuehrenden OE Gruppe ist oder bei der keine federfuehrende OE eingetragen ist
|
|
DBMS ALIAS strGName, strGStrasse, strGHNR, strGPLZ, strGOrt, strDokId
|
|
DBMS SQL SELECT fs.dok_dat_feld_:POS_Name, fs.dok_dat_feld_:POS_Strasse, fs.dok_dat_feld_:POS_Hnr, fs.dok_dat_feld_:POS_Plz, fs.dok_dat_feld_:POS_Ort, fs.doku_id \
|
|
FROM firmen_spezifisch fs \
|
|
LEFT JOIN benutzergruppen gruppe \
|
|
ON gruppe.benutzergruppe = fs.dok_dat_feld_:POS_FFOE \
|
|
Left JOIN benutzer_in_gruppe bInGrp \
|
|
ON gruppe.gruppen_id = bInGrp.benutzergruppe \
|
|
WHERE fs.kue_dokuart = 'AAORG' AND (bInGrp.benutzername = :+user OR fs.dok_dat_feld_:POS_FFOE IS NULL) AND dok_dat_feld_:POS_Name LIKE '%:strGericht%'
|
|
iCnt = @dmrowcount
|
|
iRet = @dmretcode
|
|
DBMS ALIAS
|
|
|
|
|
|
for i = 1 while (i <= iCnt) step 1
|
|
{
|
|
d3server_value_char_allowed[i] = strGName[i] ## "|" ## strGStrasse[i] ## " " ## strGHNR[i] ## ", " ## strGPLZ[i] ## " " ## strGOrt[i] ## "|" ## strDokId[i]
|
|
d3server_repos_id_allowed [i] = repos_id
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
//////////////////// l01_split_Gericht /////////////////////////////////////////////////
|
|
// Funktion zum des Felds Aktenzeichen nach AZ;Klaeger;Gerichtszeichen
|
|
// und fuellen in die jeweiligen Felder
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
proc proz01_split_Gericht()
|
|
{
|
|
vars strGericht = dok_dat_feld[POS_Gericht]
|
|
vars strTrennzeichen = "|"
|
|
|
|
vars iSplit = api_function("string_split", strGericht, strTrennzeichen)
|
|
|
|
if(iSplit > 1)
|
|
{
|
|
dok_dat_feld[POS_Gericht] = api_splitted_string[1]
|
|
dok_dat_feld[POS_GADRESSE] = api_splitted_string[2]
|
|
dok_dat_feld[POS_DOKIDORG] = api_splitted_string[3]
|
|
}
|
|
}
|
|
|
|
/**
|
|
# Funktion: Liefert das Aussonderungsdatum anhand einer Frist
|
|
# Parameter: iFrist - Aufbewahrungsfrist
|
|
# Rückgabewert: -
|
|
**/
|
|
String proc proz01_getAussonderungsdatum(iFrist)
|
|
{
|
|
vars dAussondatum = ""
|
|
|
|
vars heutigesDatum = aktuelles_datum_deu
|
|
|
|
dAussondatum = heutigesDatum(7,4) + iFrist
|
|
dAussondatum = "31.12." ## dAussondatum
|
|
|
|
return dAussondatum
|
|
}
|