Skip to main content
Skip table of contents

Delete

Beschreibung

Suchen der Datensätze analog create/update Prozess über Ordnungskriterien (siehe oben)

Code

JAVA
de.cursor.jevi.common.script.IScriptWorkSpace fncDelete(Map parameter, Map result, Map logMap)
{
  
  if(logMap == null) logMap = SC12EVIBaseUtils.newLogMap();
  if(result == null) SC12EVIBaseUtils.addError(logMap, "Parameter \"result\" is null");
    
  if(!parameter.containsKey("fields")      && parameter.get("fields")      == null) SC12EVIBaseUtils.addError(logMap, "Parameter \"fields\" is not Set");
  if(!parameter.containsKey("entityName")  && parameter.get("entityName")  == null) SC12EVIBaseUtils.addError(logMap, "Parameter \"entityName\" is not Set");
    
  if(SC12EVIBaseUtils.hasError(logMap)) return null;
   
  String           entityName  = parameter.get("entityName");
  Map              fields      = parameter.get("fields");
  List             identifiers = ((!parameter.containsKey("identifiers") && parameter.get("identifiers") == null) ? null  : parameter.get("identifiers"));
  boolean          multiple    = ((!parameter.containsKey("multiple")    && parameter.get("multiple")    == null) ? false : parameter.get("multiple"));
  boolean          mandatory   = ((!parameter.containsKey("mandatory")   && parameter.get("mandatory")   == null) ? true  : parameter.get("mandatory"));
  Map              fieldValues = new HashMap();
  List             primaries   = new ArrayList()
  IScriptWorkSpace ws          = WorkSpaceScriptUtils.createEmptyWorkSpace(entityName);
   
  primaries = SC12CRUDUtils.getPrimaryKeyList(entityName, mandatory, identifiers, logMap, fields, fieldValues);
    
  if(!SC12EVIBaseUtils.hasError(logMap))
  {
    ws = SC12CRUDUtils.deleteRecordsets(entityName, primaries, multiple, logMap);
  }
  
  if(!SC12EVIBaseUtils.hasError(logMap))
  {
    result.put("RECORDSET",  SC12CRUDUtils.getRecordsets(ws, entityName));
    result.put("ACTION",     "DELETE");
    result.put("SUCCESSFUL", "SUCCESS");
    result.put("WARNINGS",   SC12EVIBaseUtils.getWarnings(logMap));
  }
  else
  {
    result.put("RECORDSET",   null);
    result.put("ACTION",     "ERROR");
    result.put("SUCCESSFUL", "ERROR");
    result.put("ERRORS",     SC12EVIBaseUtils.getErrors(logMap));
    result.put("WARNINGS",   SC12EVIBaseUtils.getWarnings(logMap));
  }
  return ws;
}

Parameter

  • parameter
    Typ - Map
    Wertepaare mit den benötigten Parametern. Benötigte Werte sind

    • FIELDS
      Typ - Map
      Wertepaare der Form <Interner technischer Feldname = neuer Wert>  (z. B. "MatchCode.Customer" = "CURSOR GIESSEN").
      Werden für die Suche nach dem Datensatz / den Datensätzen zur Löschung benötigt.

    • ENTITY
      Typ - String
      Interner technischer Name der Entität in exakter Groß- / Kleinschreibung (z. B. "Customer", "ContactPerson").

    • CRUD_MULTIPLE
      Typ - boolean
      Optionaler Parameter, wird dieser mit "true" übergeben, ist die Löschung > 1 Datensätze möglich. Dieser Parameter wird nur berücksichtigt,
      wenn kein technischer Primärschlüssel (z. B. "Pk.Customer") als Eingabeparameter angegeben wird.

  • result
    Typ - Map
    Hashmap, in der das formatierte Ergebnis zurück gegeben wird

  • logMap (optional)
    Typ - Map
    HashMap, in der das Logging während des Aufrufs geführt wird, falls dieses separat aufbereitet werden soll.

Rückgabe

  • IScriptWorkSpace
    Die Funktion antwortet mit einem IScriptWorkSpace, in dem der gelöschte Datensatz ist.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.