php Library
genDTAUS
Keine Erläuterungen gefunden.
<?php function genDTAUS($IDs,$jahr){ echo "<p>Dieses Skript erstellt aus der Mitgliederkartei einen Datensatz im DTAUS-Format, das an die Bank übermittelt werden kann.</p>"; echo "<p>Die abzubuchenden Beträge sind der Jahresbeitrag inklusive freiwilliger jährlicher Spenden gemäß der Mitgliederkartei. </p>"; echo "<p><em>Wenn du nicht ganz genau weisst, was du tust, lass die Finger von diesem Skript!</em> </p>"; $maximumPerDay=2000; #mit Sparkasse vereinbart #------------------------------------------------# # Datensatz A (Datentraeger-Vorsatz) # # Der Datensatz A enthaelt den Diskettenabsender # # und -empfaenger; er ist je logische Datei nur # # einmal vorhanden. # #------------------------------------------------# $BVSM_BLZ="34050000"; $BVSM_Konto="101626"; $absender="BVSM"; # < 27 Zeichen $interneKundenNr=str_pad($interneKundenNr,13,'0'); $BVSM_Konto=str_pad($BVSM_Konto,10,'0',STR_PAD_left); $absender=str_pad($absender,27,' '); $date1=date("dmy"); $date2=date("dmY"); $leerfeld=str_pad($leerfeld,4,' '); $referenznummer="0000000000"; $reserve1=str_pad($reserve1,15,' '); $reserve2=str_pad($reserve2,24,' '); $euro="1"; $DatensatzA="0128ALK".$BVSM_BLZ."00000000".$absender.$date1.$leerfeld.$BVSM_Konto.$referenznummer.$reserve1.$date2.$reserve2.$euro; #echo "<pre>".$DatensatzA."</pre>"; for($df=0;$df<10;$df++){ $anzahl[$df]=0; $summeKto[$df]=0; $summeBLZ[$df]=0; $summeBetrag[$df]=0; $DatensatzC[$df]=""; $DatensatzE[$df]=""; } $summe=0; $df=0; for($i=0;$i<count($IDs);$i++){ $Karteikarte=getKarteikarte($IDs[$i]); # $Karteikarte[18] ist SOLL des Mitgliedskontos if ($summe-$Karteikarte[18]<$maximumPerDay){ $summe=$summe-$Karteikarte[18]; }else{ $summeDTAUS[$df]=$summe; $summe=-$Karteikarte[18]; $df++; } if ($i==count($IDs)-1){$summeDTAUS[$df]=$summe;} #------------------------------------------------# # DatensatzC (Zahlungsaustauschsatz) # # Der Datensatz C enthaelt Einzelheiten ueber # # die auszufuehrenden Auftraege (Lastschriften). # # Er gliedert sich in einen konstanten und einen # # variablen Teil. # #------------------------------------------------# #if ($Karteikarte[0]==3 | $Karteikarte[0]==17){ #test $kontonummer=str_pad($Karteikarte[13],10,'0',STR_PAD_LEFT); $BLZ=$Karteikarte[14]; $bank=$Karteikarte[15]; $betrag=abs($Karteikarte[18]); $satzlaenge="0187"; $reserve3=str_pad($reserve3,11,'0'); $reserve4=str_pad($reserve4,3,' '); $reserve5=str_pad($reserve5,8,' '); $reserve6=str_pad($reserve6,2,' '); $ErwTVerwZ=str_pad($ErwTVerwZ,27,' '); $leerzeichen=str_pad($leerzeichen,11,' '); $html[$df].="<tr><td>".$Karteikarte[0]."</td><td>".abs($Karteikarte[18])."</td></tr>"; # Falls Kontoinhaber abweichend vom Namen if (empty($Karteikarte[16])) { $kontoinhaber=$Karteikarte[3].", ".$Karteikarte[2]; }else{ $kontoinhaber=$Karteikarte[16]; }; $umlaute=array("ä","ö","ü","Ä","Ö","Ü","ß","€"); $ersatz=array("ae","oe","ue","AE","OE","UE","ss","e"); $kontoinhaber=str_replace ($umlaute,$ersatz,$kontoinhaber); $kontoinhaber=strtoupper($kontoinhaber); $betrag=$betrag."00"; #hier werden die Cent ergaenzt $kontoinhaber=str_pad($kontoinhaber,27,' '); $VerwZweck="MITGLNR ".$Karteikarte[0]." BEITRAG ".$jahr; $VerwZweck=str_pad($VerwZweck,27,' '); $betrag=str_pad($betrag,11,'0',STR_PAD_LEFT); $DatensatzC[$df].=$satzlaenge."C".$BVSM_BLZ.$BLZ.$kontonummer.$interneKundenNr."05000 ".$reserve3.$BVSM_BLZ.$BVSM_Konto.$betrag.$reserve4.$kontoinhaber.$reserve5.$absender.$VerwZweck.$euro.$reserve6."00".str_pad($leerzeichen,69,' '); #echo "<pre>".$DatensatzC[$df]."</pre>"; #Pruefsummen $anzahl[$df] =$anzahl[$df] +1; $summeKto[$df] =$summeKto[$df] +$kontonummer; $summeBLZ[$df] =$summeBLZ[$df] +$BLZ; $summeBetrag[$df]=$summeBetrag[$df]+$betrag; #}#test } #i echo "<table>"; for($df=0;$df<count($summeDTAUS);$df++){ #------------------------------------------------# # Datensatz E (Datentraeger-Nachsatz) # # Der Datensatz E dient der Abstimmung; er ist # # je logische Datei nur einmal vorhanden. # #------------------------------------------------# $reserve7=str_pad($reserve7,5,' '); $reserve8=str_pad($reserve8,13,'0'); $reserve9=str_pad($reserve9,51,' '); $anzahl[$df]=str_pad($anzahl[$df],7,'0',STR_PAD_LEFT); $summeKto[$df]=str_pad($summeKto[$df],17,'0',STR_PAD_LEFT); $summeBLZ[$df]=str_pad($summeBLZ[$df],17,'0',STR_PAD_LEFT); $summeBetrag[$df]=str_pad($summeBetrag[$df],13,'0',STR_PAD_LEFT); $DatensatzE[$df]="0128E".$reserve7.$anzahl[$df].$reserve8.$summeKto[$df].$summeBLZ[$df].$summeBetrag[$df].$reserve9; $DTAUS[$df]=$DatensatzA.$DatensatzC[$df].$DatensatzE[$df]; #echo "<pre>".$DTAUS[$df]."</pre>"; echo "<tr><td align='right'>".$summeDTAUS[$df]." €</td>"; echo "<td><form action='downloadDTAUS.php' method='post'>"; echo "<input name='dtaus' type='hidden' value='".$DTAUS[$df]."'>"; echo "<input name='df' type='hidden' value='".$df."'>"; echo "<input type='submit' value='DTAUS".$df."'></form></td>"; echo "<td><form action='dtaus.php?step=show' method='post'>"; echo "<input name='dtaus' type='hidden' value='".$html[$df]."'>"; echo "<input type='submit' value='lesbar'></form></td></tr>"; } echo "</table>"; echo "<p>Der erste Button schickt dir das DTAUS-Format, dass du lokal speicherst und dann über das Internetbanking der Sparkasse hochlädst:<ol><li>Banking</li><li>DTA-Datei übertragen</li></ol>Der zweite Button zeigt dir zu dieser DTAUS-Datei die Mitgliedsnummer und den Beitrag, um sie leichter in die Buchführung eingeben zu können. <br><em>Bedenke, dass sich die DTAUS-Dateinen bei einem erneuten Aufruf ändern, nachdem du die ersten Beiträge verbucht hast!. Speichere dir also lieber diese Datein - oder wenn du die Liste ausdruckst, kannst du die Posten zu jeder Buchung abhaken.</em>"; } ?>
Index of Library
Der gesamte Sourcecode darf gemäß GNU General Public License weiterverbreitet werden.