Als nächstes möchten wir alle Zeilen der Untertabelle mit dem konfigurierten Trennzeichen in diese CSV-Datei exportieren. Dazu benötigen wir die Methode executeMethodForSubtable, die eine Methode der eigenen Klasse für alle Zeilen einer Untertabelle ausführt. Die Resolve-Methoden werden dabei automatisch auf die Untertabelle umgestellt, so dass die Auflösung von Parametern sich auf die Untertabellenwerte und nicht mehr auf die Werte der Prozesstabelle bezieht.
Verarbeitung von Untertabellen
<?php
class csvSystemActivity extends AbstractSystemActivityAPI
{
...
private $fieldDelimiter;
private $csvFile;
private $csvFilePointer;
protected function exportCsv()
{
$this->debug('exportCsv start');
$this->loadGlobalSettings();
$this->openCsvFile('w');
$this->debug('exportCsv end');
}
protected function loadGlobalSettings()
{
$this->fieldDelimiter = $this->resolveInputParameter('fieldDelimiter');
}
protected function openCsvFile($mode)
{
$this->csvFile = $this->getTempPath() . DIRECTORY_SEPARATOR . 'test.csv';
$this->debug('csvFile: '.$this->csvFile);
$this->csvFilePointer = fopen($this->csvFile, $mode);
$this->debug('executeMethodForSubtable for '. $this->getFixSubtableName());
$this->executeMethodForSubtable('writeSubtableLineIntoFile', $this->getFixSubtableName());
}
protected function writeSubtableLineIntoFile()
{
$this->debug('writeSubtableLineIntoFile for '. $this->getFixSubtableName());
}
}