Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Structurile de date - Fisierul Primar

calculatoare



+ Font mai mare | - Font mai mic



Structurile de date

Sunt trei tipuri de fisiere obtinute in etapele de prelucrare.

  1. Fisierul Primar este alcatuit din cate o linie text pentru fiecare cont la care este asociat cardul.    Acesta linie contine urmatoarele informatii delimitate prin caracterul virgula:

Codul IBAN la care este asociat cardul dvs. format din exact 24 caractere (ROxyBRDEbbbSVnnnnnnnnnnnn unde x, y, b, n sunt cifre 0 - 9)



suma de plata sau limita de creditare. Suma de plata poate fi formata din maxim 13 cifre, incluzind eventualul punctul zecimal si maxim 2 zecimale.

Un exemplu de fisier pentru salarii este:

Figura 4: Fisier primar pentru salarii

Exemplul prezentat incearca sa surprinda cazurile posibile, astfel sumele, in ordine, sunt exact 149.60, 202.40, 242.42, 185.00, respectiv 180.00

In esenta fisierul primar trebuie sa aiba un delimitator de camp, doua campuri primul alfanumeric, al doilea numeric, poate sa aiba si punct zecimal. Toate campurile trebuie sa fie compacte, sunt eliminate spatiile sau tab-urile oriunde s-ar afla.

  1. Fisierul Formatat este un fisier cu structura fixata, avand numele stabilit, pentru salari se numeste Agent.txt Fisierul formatat are urmatoarea structura:

Inregistrarea de header:

Denumire camp

Pozitie

/

Lungime

Detalii

Cod Conventie

Informatia aliniata la dreapta si completata cu cifra 0

Cod Valuta

Poate suporta: RON, USD sau EUR

Data

Data zilei de cand devin operationale aceste informatii. Format 1AALLZZ

Nr. Inreg

Numarul total de inregistrari (linii text) inclusiv inreg. de header si de footer. Informatia aliniata la dreapta si completata cu cifra 0

Nr. Zecimale

Numarul de zecimale in exprimarea sumelor.    Pentru fisierul de salarii acest numar este exact 2

Inregistrarile pentru fiecare cont de card in parte:

Denumire camp

Pozitie

/

Lungime

Detalii

Cod IBAN Client

Informatia umple tot campul

Suma

Pentru salarii ultimele doua cifre vor fi partea zecimala a sumei (exemplu: 134 RON va fi reprezentata ca , sau 215.5 RON va fi reprezentata ca ) Informatia aliniata la dreapta si completata cu cifra 0

Inregistrarea de footer:

Denumire camp

Pozitie

/

Lungime

Detalii

Cod Conventie

Informatia aliniata la dreapta si completata cu cifra 0

Suma totala

Totalul sumelor pe intreg fisierul. Informatia aliniata la dreapta si completata cu cifra 0

Data

Data zilei de cand devin operationale aceste informatii. Format 1AALLZZ

Prezentam in continuare fisierul formatat, rezultate din fisierul primar deja prezentat in Figura 4.

Astfel din fisierul primar sal_rici.txt, prin formatare, rezulta fisierul:

Figura 5: Fisier formatat Agent.txt pentru salarii

  1. Fisierul Final    care va fi transmis la unitatea BRD, avand numele 00cccccc.dat pentru salarii, unde cccccc este codul conventiei, rezulta in urma criptari si securizarii fisierulul Agent.txt printr-un program adecvat.

Sugestii privind obtinerea fisierului primar

Dat fiind faptul ca beneficiarul conventiei are deplina posibilitate de a avea baza de date asa cum doreste, nu ne permitem decat a face cateva recomandari privind obtinerea fisierului primar, respectand structura stabilita si prezentata mai inainte.

In cazul in care lucrati in foxpro

Pentru obtinerea fisierului ASCII DOS Text delimitat cu virgula din FOX se fac urmatoarele presupuneri:

a.      s-a preluat de catre institutie in tabela proprie de calcul salarii a drepturilor banesti informatiile cu denumiri ale campurilor (coloanelor), adica CIBAN - contul la care este asociat cardul, iar campul suma de plata salariat se numeste SUMA;

b.      Dupa lansarea in executie a rutinei se va crea un fisier in radacina disk-ului C cu denumirea c:zz.txt

  1. Pasii necesari creearii fisierului c:zz.txt:
    1. se deschide fereastra de comenzi a FOX-ului tabela cu salarii prin comanda use [.], unde [.] reprezinta denumirea tabelei cu salarii;
    2. se lanseaza in executie programul de mai jos:

SET PRINT TO FILE C:ZZ.TXT

SET DEVICE TO PRINT

SET PRINT ON

STORE 0 TO lin

go top

DO WHILE not eof()

?? ciban+str(suma)

?

skip

ENDDO

SET PRINT OFF

SET DEVICE TO SCREEN



SET PRINT TO

RETURN

  1. Dupa lansarea in executie a rutinei se va creea un fisier in radacina disk-ului C cu denumirea c:zz.txt.
  2. Observatii:
    1. In cazul in care denumirile campurilor dumneavoastra difera de cele propuse a fi la punctul 1, adica CIBAN, SUMA se va modifica linia 7 a programului punand denumirile proprii ale campurilor;
    2. Fisierul c:zz.txt va fi folosit ca parametru de intrare in programul de formatare a datelor.

In cazul in care lucrati in Microsoft Excel

se deschide fisierul in care aveti informatiile necesare (CIBAN,SUMA);

Figura 6: Fisier primar obtinut in MicroSoft Excel

din mediul File se alege optiunea Save As iar in caseta Save as Type se alege CSV (Comma Delimited) (*.csv), se alege directorul (folder-ul) in care doriti sa se faca salvarea si se introduce numele fisierului de iesire (ATENTIE: numele fisierului trebuie sa contina maxim 8 caractere)

Din sistemul de operare MS-DOS

In Norton Commander se deschide pentru editare un fisier nou cu comanda SHIFT+F4;

Se introduce numele fisierului in care doriti sa scrieti;

Se introduc de la tastatura campurile in ordinea CIBAN, SUMA separate prin virgula (,). ATENTIE: este permisa folosirea caracterelor din urmatoarea lista: cifre (caracterele: 0123456789), text ( RO, BRDE, SV) , virgula (,) si punctul zecimal (.);

Trecerea la un rand nou se face cu ENTER

Salvati fisierul cu ajutorul tastei F2

Parasiti editorul apasand F10

Din WINDOWS

Start >> Programs >> Accessories >> Notepad;

Se introduc de la tastatura campurile in ordinea CIBAN, SUMA separate prin virgula (,).ATENTIE: este permisa folosirea caracterelor din urmatoarea lista: cifre (caracterele: 0123456789), text ( RO, BRDE, SV) , virgula (,) si punctul zecimal (.);

Trecerea la un rand nou se face cu ENTER

Salvarea fisierul de face din meniul File >> Save AS si se dechide o fereastra de dialog in care puteti tasta numele fisierului (ATENTIE: nu folositi nume de fisier mai mari de 8 caractere)

Parasirea editorului se face din meniul File >> Exit

Fisierul obtinut prin una din modalitatile de mai sus sau prin oricare alta metoda care sa duca la un fisier a carui structura sa fie cea prezentata, este un fisier valid, va reprezenta parametrul de intrare in programul de formatare.

To_Agent.exe - program pentru formatarea fisierului primar de salarii

Acest program va primi ca parametru de intrare un fisier primar si daca analiza acestui fisier decurge bine va genera, pe directorul curent, fisierul formatat numit Agent.txt

Dialogul decurge in modul urmator :

declararea codului de conventie

data la care se va face operarea in contul de card

alegerea tipului de valuta : 0 - RON, 1 - USD, 2 - EUR

suma totala pentru intregul fisier

Figura 7: Executia programului to_Agent.exe

Se fac verificari de existenta a delimitatorului (virgula), de structura pe camp de cod IBAN , de verificare validitate, de numericitate pe campul de suma si de verificare a numarului maxim de zecimale admise de program (maxim 2 zecimale)

In cazul cand nu sunt indeplinite aceste conditii se emite un mesaj de eroare, iar fisierul Agent.txt nu este generat.

Fisierul Agent.txt fiind un fisier de tip text, il puteti vizualiza si verifica cu oricare editor aflat pe calculatorul dvs. (chiar este indicat, cel putin in faza implementarii acestor programe).

Gcs_brd.exe - program pentru criptarea si securizarea fisierelor formatate de salarii

Acest program va primi ca parametru de intrare implicit fisierul formatat de salarii numit Agent.txt, aflat pe directorul curent, si va genera fisierul 00cccccc.dat, unde cccccc este codul conventiei.

Figura 8: Executia programului Gcs_brd.exe

Are loc in cadrul prelucrarii o verificarea a informatiilor continute in corpul fisierului, in speta:

cifre de control a codului de IBAN

numarul total de inregistrari (inclusiv doua inregistrari de capat din fisier)

suma totala pe intreg fisierul

cu informatiile pastrate in cele doua inregistrari de capat. Exista posibilitatea de a modifica data de operare direct in fisierul Agent.txt si de a relansa programul daca data din fisier difera de data calculatorului.

Tot acum se verifica codul valutei, care trebuie sa fie una din cele selectate, cat si numarul de zecimale permis , mai exact 2 zecimale.

Fisierul de iesire este deja criptat si nu mai poate fi vizualizat. In principiul fiind gata , ca dupa o ultima verificare sa poata fi transmis la unitatea BRD cu care s-a incheiat conventia.

Vcs_brd.exe - program pentru verificarea fisierelor securizate de salarii

Acest program va primi ca parametru de intrare un fisierul securizat de salarii 00cccccc.dat unde cccccc este codul conventiei. Astfel, numai pentru salarii:

Figura 9: Executia programului Vcs_brd.exe pentru un fisier de salarii

Are loc in cadrul prelucrarii o verificarea a informatiilor continute in corpul fisierului cu informatiile pastrate in cele doua inregistrari de capat. In speta:

numarul total de inregistrari (inclusiv doua inregistrari de capat din fisier)

suma totala pe intreg fisierul

data si suma totala din fisier comparata cu data si suma OP

Daca totul decurge bine, executia se termina cu acordul ca fisierul sa fie trimis la o unitate BRD.

Anexa 1:

Erori detectate de Aplicatii

Aplicatiile prezentate in acest manual functioneaza pe principiul : eroare detectata erare corectata mergi mai departe. Prezentam in tabelul urmator o sinteza a tuturor mesajelor de erare detectate, cat si cele mai frecvente situatii de eroare si exemple commentate ;

No.

crt.

Mesaj de Eroare

Aplicatia

Situatii de Eroare

Exemplu

Comentarii

Executia Aplicatiei a fost Abandonata !!!!

To_Agent



Gcs_Brd

Vcs_Brd

Introducerea unei sume solicitata prin cererea:

Pentru verificare, Introduceti totalul sumelor din fisier[exprimat in RON]:

Mesajul intrerupe executia aplicatiei, daca in mod reperat are loc tastarea unui raspuns neconform cu cerintele solicitarii

Fisierul de Intrare [Intermediar][Iesire] nu a putut fi Deschis !!! printf('nCaracterele permise pe campul de Cod IBAN Client sunt: cifrele si litere (0 pina la 9 si A pina la Z), virgula(,).');

printf('nEroare este la randul: %d.',nr_rows+1); printf('nIn fisier sunt caractere nepermise.');

To_Agent

Gcs_Brd

Vcs_Brd

NU sunt indeplinite conditiile pentru deschirerea fisierului: nu este specificata exact    locatia unde se afla acest fisier sau mai rar nu sunt conditii de spatiu, drepturi etc. Administratorul poate da o rezolvarea

S-a detectat EOF sau Error File pe Fisierul xxxx

To_Agent

Gcs_Brd

Vcs_Brd

Dintr-o eroare, nu se pot accesa datele la care ne asteptam (fisierul de date s-a terminat prematur)

No.

crt.

Mesaj de Eroare

Aplicatia

Situatii de Eroare

Exemplu

Comentarii

Data de Plata din Fisier este diferita de data din Ordinul de plata!!

Gcs_Brd

Vcs_Brd

Verificarile se fac intre data de plata din header-ul de fisier si data introdusa dupa OP

Totalul sumelor de plata din [header] fisier nu este identic cu suma introdusa!!!!

To_Agent

Gcs_Brd

Vcs_Brd

Verificarile se fac intre suma sumelor din liniile de date si totalul din header-ul de fisier si suma totala introdusa dupa OP (verificare in trei termeni)

In fisier, la randul x, aveti campul de Suma fragmentat !!!!

To_Agent

Linie de date din fisierul primar :

RO89BRDE 010SV04791210100, 202 .4

Prezenta caracterul spatiu sau tab a cauzat eroarea

In fisier sunt caractere nepermise !!!!. printf('nIn fisier sunt caractere nepermise.');

Caracterele permise pe campul de Suma sunt: cifrele (0 pina la 9), virgula(,) si punct(.).    Eroare este la randul: n printf('nCaracterele permise pe campul de Cod IBAN Client sunt: cifrele si litere (0 pina la 9 si A pina la Z), virgula(,).');

printf('nEroare este la randul: %d.',nr_rows+1); printf('nIn fisier sunt caractere nepermise.');

To_Agent

Linie de date din fisierul primar :

RO89BRDE010SV04791210100, 202.4$

Prezenta caracterul $ a cauzat eroarea

In fisier, la randul x, nu aveti numarul de virgule corect (una pe rand)!!!!

To_Agent

Linie de date din fisierul primar :

RO89BRDE010SV04791210100, 202.4,

Pana la sfarsitul liniei de date a fost identificat mai multe virgule sau niciuna

Linie de date din fisierul primar :

RO89BRDE010SV04791210100202.4

In fisier, la randul x, in campul de Suma aveti introduse mai mult de doua zecimale

To_Agent

Linie de date din fisierul primar :

RO89BRDE 010SV04791210100,22.111

Prezenta a trei zecimale 111 a cauzat eroarea

In fisier, la randul x, in campul de Suma aveti introdus punctul zecimal repetat !!!!



To_Agent

Linie de date din fisierul primar :

RO89BRDE 010SV04791210100, 202..4

Prezenta unui caracterul punct in plus a cauzat eroarea

No.

crt.

Mesaj de Eroare

Aplicatia

Situatii de Eroare

Exemplu

Comentarii

In fisier, la randul x, aveti campul de Suma 0 !!!!

To_Agent

Linie de date din fisierul primar :

RO89BRDE 010SV04791210100, 0

Prezenta dupa virgule a uni sigure cifre de 0 a cauzat eroarea

In fisier, la randul x, aveti campul de Cod IBAN Client fragmentat !!!!

To_Agent

Linie de date din fisierul primar :

RO89BRDE    010SV04791210100, 202.4

Prezenta caracterul spatiu sau tab a cauzat eroarea

In fisier sunt caractere nepermise !!!!. printf('nIn fisier sunt caractere nepermise.');

Caracterele permise pe campul de Cod IBAN Client sunt: cifrele si litere (0 pina la 9 si A pina la Z), virgula(,). Eroare este la randul: n printf('nCaracterele permise pe campul de Cod IBAN Client sunt: cifrele si litere (0 pina la 9 si A pina la Z), virgula(,).');

To_Agent

Linie de date din fisierul primar:

RO89BRDE010SV0479121@100, 202.4

Prezenta caracterul @ a cauzat eroarea

In fisier, la randul x, aveti campul de Cod IBAN Client eronat !!!!

To_Agent

Gcs_Brd

Vcs_Brd

Linie de date din fisierul primar :

Rx89BRDE010SV04791210100, 202.4

Cauzele care au condus la acest mesaj sunt :

o        lungime cod IBAN eronata (necesar fiix 24)

o        abrev. cod tara eronata

o        abrev. cod banca eronata

o        character in afara [0 - 9] si [A - Z]

o        cifra de control eronata

In fisier numarul de zecimale trebuie sa fie 2!!

Gcs_Brd

Vcs_Brd

In antetul fisierului AGENT.txt sau 00cccccc.dat exista un subcamp cu continut neasteptat

In fisier codul valutei trebuie sa fie codificarea ISO alfanumerica (RON, USD, EUR)!!

Gcs_Brd

Vcs_Brd

In antetul fisierului AGENT.txt sau 00cccccc.dat exista un subcamp cu continut neasteptat

Numarul de randuri din fisier DIFERA de cel declarat in HEADER!!!

Gcs_Brd

Vcs_Brd

Numarul liniilor de date din fisier difera de continutul subcampului corespunzator din antet

Extensia Fisierului de intrare nu este cea asteptata!!

Vcs_Brd

Fisierul de intrare in aplicatie trebuie sa fie 00cccccc.dat unde cccccc - cod conventie

Codul Conventiei nu concorda cu Numele Fisierului de intrare!!

Vcs_Brd

Exista o discoranta intre codul conventiei din numele fisierului si subcampul corespunzator conventiei din antetul fisierului





Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1393
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved