.DTAUS Dateien sind eigentlich relativ einfach aufgebaut – dementsprechend unkompliziert ist auch entsprechende Klasse zur Erstellung dieser. Die Klasse soll hauptsächlich zur Orientierung dienen, die Variablennamen sind verständlich gewählt. Eine Gewähr auf Vollständigkeit, Sicherheit oder korrekter Funktion wird nicht gegeben.
<?php
class dtaus {
// Standardwerte
var $mBLZ = „575642312“;
var $mKonto = „“;
var $mAuftraggeber = „“;
var $mTxt = „“;
var $mSummeC = 0;
var $mSummeBlz = 0;
var $mSummeKonto = 0;
var $mSummeBetrag = 0;
var $mFilePath = „d:/“;
var $mFileName = „dtaus0.txt“;
var $mFile = „“;
var $mReferenz = „0000000000“;
var $mAusfuehrung = „“;
var $mTyp = „L“; //L = Lastschrift; G = Überweisungfunction dtaus ($cAuftraggeber, $cKonto, $cBlz, $cTyp, $cTxt) {
$this->mAuftraggeber = str_pad (substr($cAuftraggeber,0,27), 27);
$this->mKonto = str_pad ($cKonto, 10, „0“, STR_PAD_LEFT);
$this->mBLZ = str_pad ($cBlz, 8, „0“, STR_PAD_LEFT);
$this->mTyp = str_pad ($cTyp, 1);
$this->mTxt = str_pad ($cTxt, 5);
$this->mAusfuehrung = date („tmY“, time());
If ($cTyp == „G“) {
$this->mFileName = „dtaus1.txt“;
}
If ($cTyp == „L“) {
$this->mFileName = „dtaus0.txt“;
}
}Function Job ($gName, $gKonto, $gBLZ, $gBetrag, $gVz, $gNummer) {
$gName = str_pad ($gName, 27);
$gKonto = str_pad ($gKonto, 10, „0“, STR_PAD_LEFT);
$gBLZ = str_pad ($gBLZ, 8, „0“, STR_PAD_LEFT);
$gBetrag = str_pad(($gBetrag * 100), 11, „0“, STR_PAD_LEFT);
$gNummer = str_pad ($gNummer, 11, „0“, STR_PAD_LEFT);
$s = „C00000000“ . $gBLZ . $gKonto . „0“ . $gNummer . „0“ . $this->mTxt . “ 00000000000″ . $this->mBLZ . $this->mKonto . $gBetrag . “ “ . $gName . “ “ . $this->mAuftraggeber ;
$gVz = substr($gVz,0,81);$AnzVz = ceil(strlen($gVz) / 27);
switch ($AnzVz) {
Case 2:
$s = „0216“ . $s . str_pad(substr($gVz,0,27),27) . „1 0102″ . str_pad( substr($gVz,27,27),27) . str_repeat(“ „, 40);
break;
case 3:
$s = „0245“ . $s . str_pad(substr($gVz,0,27),27) . „1 0202“ . str_pad( substr($gVz,27,27),27) . „02“ . str_pad( substr($gVz,54,27),27) . str_repeat(“ „, 11);
break;
default: $s = „0187“ . $s . str_pad(substr($gVz,0,27),27) . „1 00 „;
}$this->mSummeC = $this->mSummeC + 1;
$this->mSummeBlz = $this->mSummeBlz + $gBLZ;
$this->mSummeKonto = $this->mSummeKonto + $gKonto;
$this->mSummeBetrag = $this->mSummeBetrag + $gBetrag;
$this->mFile = $this->mFile . $s;
}Function CreateFile () {
header(„Content-Type: application/text“);
header(„Content-Disposition: attachment; filename=$this->mFileName“);
header(„Pragma: no-cache“);
header(„Expires: 0“);$a = „0128A“ . $this->mTyp . „K“ . $this->mBLZ . „00000000“ . $this->mAuftraggeber . date(„dmy“, time() ) . “ “ . $this->mKonto . $this->mReferenz . “ “ . $this->mAusfuehrung . “ 1″;
$c = $this->mFile;
$e = „0128E “ . str_pad ($this->mSummeC, 7, „0“, STR_PAD_LEFT) . „0000000000000“ . str_pad ($this->mSummeKonto, 17, „0“, STR_PAD_LEFT) . str_pad ($this->mSummeBlz, 17, „0“, STR_PAD_LEFT) . str_pad ($this->mSummeBetrag, 13, „0“, STR_PAD_LEFT) . “ „;$s = strtoupper ($a . $c . $e);
echo $s;
exit;}
}
?>