Skip to main content
Skip table of contents

Read

Beschreibung

Generischer Prozess zum Lesen einzelner / mehrere Datensätze. Die Suche der zurückzugebenden Datensätze erfolgt gemäß GENERIC_CREATE_UPDATE Prozess. Suchen der Datensätze analog create/update Prozess über Ordnungskriterien (siehe oben)

Code

JAVA
de.cursor.jevi.common.script.IScriptWorkSpace fncRead(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   = false;
  Map              fieldValues = new HashMap();
  List             primaries   = new ArrayList()
  IScriptWorkSpace ws          = WorkSpaceScriptUtils.createEmptyWorkSpace(entityName);
    
  primaries = SC12CRUDUtils.getPrimaryKeyList(entityName, mandatory, identifiers, logMap, fields, fieldValues);
   
  ISearch getAcs = SearchUtils.createSearch(entityName, SearchUtils.createSearchCondition("Active." + entityName, false, false, SearchUtils.EQUAL, Boolean.TRUE));
  SearchUtils.addSearchCondition(getAcs, SearchUtils.createSearchCondition("Pk." + entityName, false, true, SearchUtils.IN, primaries));
  SearchUtils.setTopCount(getAcs, -1);
  ws = WorkSpaceScriptUtils.search(getAcs);
    
  if(!SC12EVIBaseUtils.hasError(logMap))
  {
    result.put("RECORDSET",  SC12CRUDUtils.getRecordsets(ws, entityName));
    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").
      Alle Wertepaare werden für spätere Prüfungen / Neuanlagen / Aktualisierungen verwendet. 

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

  • 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, mit den gefundenen Datensätzen.

JavaScript errors detected

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

If this problem persists, please contact our support.