Projekat

Općenito

Profil

Eksport podataka za banke

1. Uvod

Modul LD ima mogućnost eksporta fajlova za elektronski import u banke.

Sve što je potrebno je da dobijete specifikaciju fajla za import koji banka zahtjeva.

Pripremljen je i video materijal na našem youtube kanalu link za video

2. Dostupna polja za eksport

R.br Polje Opis Tip
1 GODINA sadrži vrijednost godine numeric (4,0)
2 MJESEC sadrži vrijednost mjeseca numeric (2,0)
3 IDRJ sadrži vrijednost godine char (2,0)
4 OBR sadrži oznaku obračuna (1, 2, 3 ...) char (1,0)
5 IDRADN sadrži šifru radnika char (6,0)
6 PUNOIME sadrži puno ime radnika u formatu IME + ( IME RODITELJA ) + PREZIME char (50,0)
7 IME sadrži ime radnika char (30,0)
8 IMEROD sadrži ime roditelja char (30,0)
9 PREZIME sadrži prezime radnika char (50,0)
10 JMBG sadrži matični broj radnika char (13,0)
11 TEKRN sadrži broj tekućeg računa iz šifranika radnika char (50,0)
12 KNJIZ sadrži broj knjižice iz šifranika radnika char (50,0)
13 IZNOS_1 sadrži ukupnu isplatu za radnika numeric (15,2)
14 IZNOS_2 -- trenutno se ne koristi -- numeric (15,2)
15 UNETO sadrži ukupnu neto vrijednost plate numeric (15,2)
16 USATI sadrži ukupnu vrijednost sati numeric (15,2)
17 KREDIT sadrži ukupnu vrijednost kredita za jednog kreditora numeric (15,2)
18 PARTIJA sadrži opis partije kredita iz definicije kredita char (50)
19 BANK_PART sadrži broj partije iz šifrarnika kreditora (polje ZIRO) char (50)

Proizvoljna polja...

Na opciji eksporta imamo mogućnost da formiramo i dodatna polja isplate (polja I01...I60) i sati (S01...S60), zadaju se u formatu:

I07;I20;I21;S21;

u tabeli će se tada naći i dodatna polja koja se mogu koristiti kod eksport opcije koja se zovu identično zadatim vrijednostima, npr:

15 I07 sadržat će vrijednost tipa primanja 07 sa obračuna plate numeric (15,2)
16 I20 sadržat će vrijednost tipa primanja 20 sa obračuna plate numeric (15,2)
17 I21 ... numeric (15,2)
18 S21 sadržat će sate tipa primanja 21 sa obračuna plate numeric (15,2)

3. Formiranje formula za eksport

Ovo je ujedino i najbitniji dio kod eksporta, na osnovu ove formule će se formirati zapisi u tekstualnom fajlu

Formulu formiramo na osnovu strukture koju smo dobili od banke, pa recimo da smo dobili sljedeću strukturu

MATIČNI_BROJ;BROJ_ZIRO_RACUNA (dužine 16);PREZIME_IME (dužine 30);IZNOS_ISPLATE (format 99999.99);

Formulu ćemo prema gornjem primjeru napraviti ovako:

PADR(JMBG,13);PADR(TEKRN,16);PADR( ALLTRIM(PREZIME) + " " + ALLTRIM(IME), 30);ALLTRIM(STR(IZNOS_1, 8, 2));

znači, pojedine formule za stupce odvajamo sa znakom tačka-zarez (;), njih će aplikacija formirati kao nezavisne stupce unutar fajla, a same formule formiramo na osnovu programskog jezika... u daljnjem dijelu ćemo se pozabaviti samim formiranjem izraza.

U parametrima za pojedini eksport možemo da podesimo:

  • separator unutar teksta (;) - separator koji će se koristiti unutar tekstualnog fajla za odvajanje (ako ostavimo prazno sve će biti sljepljeno
  • separator formule: (;) - separator za samu formulu, ako recimo postavimo (#) onda formulu formiramo na sljedeći način PADR(TEKRN,12)#PADR(IME,20)#...
  • eksport podataka kredita (D/N) - ako je ovo podešeno dobijamo specifično odabrane zapise sa podacima kredita za pojedine radnike
  • lista kreditora - ostavljamo prazno ako želimo obuhvatiti sve kreditore ili samo specifične za pojedini eksport

Bitno je napomenuti da treba paziti na karakterna i numerička polja.

Ako koristimo nešto iz karakternog polja onda to radimo u formatu

ALLTRIM( NAZIV_POLJA ) ili PADR( NAZIV_POLJA, 2 ) itd...

ako formiramo na osnovu numeričkih vrijednosti onda moramo prvo koristiti STR konverziju, kao npr:

ALLTRIM( STR( NUMERICKO_POLJE, 12, 2 ) )

Sve se na kraju svodi na to da biramo polja iz tabele dostupnih polja i formiramo ih po želji te odvajamo separatorom.

U slučaju da se kod eksporta koriste i proizvoljna numerička polja, npr I07, koristit ćemo ga u formuli na sljedeći način:

PADR( IME, 10 );ALLTRIM( STR( I07, 12, 2 ) );

u gornjem primjeru se ispisuje prvo ime radnika zatim vrijednost proizvoljnog polja I07 u formatu (12,2) dužine 12 sa 2 decimale.

4. Funkcije i direktive za formatiranje teksta

U sljedećoj tabeli ćemo navesti osnovne funkcije za formatiranje teksta:

Funkcija Opis Primjer
ALLTRIM() skida prazne karaktere sa obje strane stringa ALLTRIM( " sasa " ) => "sasa"
PADR() desni pading PADR( "sasa", 10 ) => "sasa " , PADR( "sasa", 10, "x" ) => "sasaxxxxxx"
PADL() lijevi pading PADL( "sasa", 10 ) => " sasa" , PADL( "sasa", 10, "x" ) => "xxxxxxsasa"
STR() konverzija numeričke vrijednosti u string STR( 100,20, 5, 2 ) => " 100,20"
SPACE() generisanje praznih karaktera "sasa" + SPACE(5) + "vranic" => "sasa vranic"
+ sabiranje stringova "sasa" + " - " + "vranic" => "sasa - vranic"

Praktično, koristimo funkcije programskog jezika.