TimoMeister
Occasional Collector

Script: Spalten einer Datenquelle

Jump to solution

Hallo zusammen,

kann mir jemand sagen ob es die Möglichkeit gibt an die Spalten einer Datenquelle zu kommen?

p = context.getUserService().getStore("contentstore", false);

t = p.getContent2ByName("datenquelle");

columns = t.getTemplate().getMappings();

so komme ich ja an das Mapping ran. Ich hätte gerne alle Spaltennamen in einer Variable. Geht das?

Viele Grüße

Timo

Labels (1)
0 Kudos
1 Solution

Accepted Solutions
warthds
I'm new here

Re: Script: Spalten einer Datenquelle

Jump to solution

Sorry hab mich geirrt, es geht doch über das Mapping:

bsh % context.getStoreElement().getMappings()[0].getDBAttribute("EN");

<type>

bsh % context.getStoreElement().getMappings()[6].getDBAttribute("EN");

<mediaList>

Viele Grüße

Dennis

View solution in original post

0 Kudos
4 Replies
warthds
I'm new here

Re: Script: Spalten einer Datenquelle

Jump to solution

Hallo,

ich behaupte das geht nicht über die offene API. Das Mapping gehört zur Definition des TableTemplates. Die Spalten stehen in der Tabelle, die dem Template zugeordnet ist.

de.espirit.or.schema.Table     getTable()

Diese Methode existiert in der API im EntityType der über das Mapping erreichbar ist. Jedoch ist die Methode und Klasse in der API theoretisch nicht erreichbar.

Viele Grüße

Dennis

0 Kudos
warthds
I'm new here

Re: Script: Spalten einer Datenquelle

Jump to solution

Sorry hab mich geirrt, es geht doch über das Mapping:

bsh % context.getStoreElement().getMappings()[0].getDBAttribute("EN");

<type>

bsh % context.getStoreElement().getMappings()[6].getDBAttribute("EN");

<mediaList>

Viele Grüße

Dennis

0 Kudos
TimoMeister
Occasional Collector

Re: Script: Spalten einer Datenquelle

Jump to solution

Sehr gut, das klappt wunderbar.

ist dann getMappings() ein Array? Wie bekomme ich die Länge bzw. wieviele Spalten die Tabelle hat, sodass ich loopen kann?

0 Kudos
warthds
I'm new here

Re: Script: Spalten einer Datenquelle

Jump to solution

Hallo,

ja und auf Arrays gibts length() und es gibt in Java For-Schleifen:

bsh % context.getStoreElement().getMappings();

<[Lde.espirit.firstspirit.access.store.templatestore.TableTemplate$Mapping;@17bd678>

bsh % context.getStoreElement().getMappings().length();

<20>

bsh %

Viele Grüße

Dennis

0 Kudos