Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AgriculturaAsigurariComertConfectiiContabilitateContracteEconomie
TransporturiTurismZootehnie


DERULAREA CONTRACTELOR DE EXPORT

Contracte



+ Font mai mare | - Font mai mic



Definirea problemei



Tema abordata este "DERULAREA CONTRACTELOR DE EXPORT" pe beneficiari interni, externi si produse, la nivelul unei case de comenzi.

Date de iesire

Datele de iesire din cadrul activitatii de export au fost grupate in trei rapoarte, satisfacand cerintele informationale interne.

a) Nomenclatorul produselor este utilizat de magazioneri si comercianti pt evidenta stocurilor de produse. Continutul informational si forma de prezentare sunt:

Nomenclatorul produselor

Cod produs

Denumire produs

UM

Pret unitar catalog

Stoc

Valoare

(1)

(2)

(3)

(4)

(5)

(6)

b) Lista beneficiarilor este necesara comerciantilor pentru corespondenta comerciala si financiara. Continutul informational si forma de prezentare sunt:

Lista beneficiarilor

Cod beneficiar

Denumire beneficiar

Tara

Adresa

Contul bancar

(1)

(2)

(3)

(4)

(5)

c) Situatia contractelor scadente este folosita de comercianti pentru derularea ritmica a obligatiilor contractuale la cantitatile si termenele si termenele prevazute, pentru fiecare produs contractat. Continutul informational si forma de prezentare sunt:

Situatia contractelor de export

Nr. contract

Data contract

Cod benef

Cod produs

Den produs

Pu pivrare

Cant contr.

Termen livrare

valoare

(1)

(2)

(3)

(4)

(5)

(6)

(7)

(8)

(9)

Date de intrare

Datele de intrare din cadrul activitatii de export, necesare intocmirii celor trei rapoarte prezentate sunt preluate din documente primare distincte: FISA CONTRACTULUI(anexa 1 si 2) si FISA PRODUSULUI

Continutul informational care va face obiectul prelucrarii pe calculator este prezentat in tabelul urmator:

Document primar

Denumirea informatiei preluate

Lista valorilor posibile

Validari si corelatii

Rolol in prelucrare

Fisa contract

* nr contract

1 la 500

Regasire

(anexa 1)

* data contract

1 la 31; 1 al 12

Cronologic

* cod beneficiar

1 la 99999

Selectiv

* cod tara importatoare

Selectiv

* cod valuta

Selectiv

* prex unitar export

>0

Calcule

* curs valutar

* cod produs

1 la 99999

Selectiv

* cantitate contractata

>0

Calcule

* termen de livrare

1 la 31; 1 la 12

Selectiv

Fisa contract

* tara de origine

Selectiv

(anexa 2)

* denumire beneficiar

Descriptiv

* adresa

Descriptiv

* contul bancar

Descriptiv

Fisa produsului

* cod produs

1 la 99999

Acces

* denumire produs

Descriptiv

* pret unitar

>0

Calcule

* unitate de masura

Descriptiv

* cantitate contractata

>0

Calcule

* cantitate produsa

>0

Calcule

* cantitate livrata

>0

Calcule

Actualizarea datelor

Actualizarea datelor din evidentele primare se face selectiv la nivelul pozitiilor din anexa 1 a fiecarui contract si consta din efectuarea urmatoarelor operatii:

Adaugarea noilor contracte sau a noilor pozitii la anumite contracte suplimentare;

Modificarea oricaror informatii din cadrul contractelor existente;

Stergerea anumitor contracte exptrate sau a unor contracte eronate;

Examinarea datelor existente inavidente.

Coduri adoptate

Codurile adoptate in scopul facilitarii operatiilor de regasire si prelucrare sunt:

codul produsului, N, 5 valori 1 la 99999

codul beneficiarului, N, 5 valori 1 la 99999

numar contract, N, 5 valori 1 la 500

cod depozit, N, 2 valori 1 la 3

codul tarii, C, 2 lista cod automobil

contul bancar, C, 10 lista cod ISO

Solutia propusa

Schema generala

Schema generala ofera o imagine de ansamblu asupra configuratiei utilizate asupra componenteloraplicatiei si a tipului de legaturi dintre ele.

Fisiere

Videoformate:

Intrari informationale

Acestea au fost structurate in trei tabele permanente CONTRACTE, PRODUSE, BENEFICIARI, care constituie baza de date (tip DBF).

Tabela CONTRACTE(contr.dbf)

continutul informational este format din date preluate din Fisa Contractului(anexa1)

structura logica a unei inregistrari:

CODB, N, 5 cod beneficiar

CODP, N, 5 cod produs

PLN, N, 5+2 pret livrare

CANTL, N, 7 cantitate livrata

TERMENL, D, 8 termen(data) livrarii

CL, M, 10 conditii de livrare

macheta ecran formatat: nu

cheia primara: CODB

cheia 1 secundara: CODP

cheia 2 secundara: TERMENL

periodicitatea actualizarii: la cerere

operatii de actualizare necesare: adaugare, modificare, stergere, vizualizare, rasfoire

indexari simple dupa: CODB, CODP, TERMENL, compuse dupa: TERMENL+CODP+CODB pentru actualizari si consultari selective

lungime articol: 42 bytes

nr.maxim de articole in fisier: aprox.5000

necesar de memorie: 42x5000 bytes pe HD si FD

salvarea-restaurarea se face periodic pe FD, pastrand numele

legaturi cu alte fisiere: prin CODB cu fisierul Beneficiari si prin CODP prin fisierul Produse.

Tabela PRODUSE(prod.dbf)

continut informational: format din documentul primar Fisa Produsului

structura logica a unei inregistrari:

CODP, N, 5 index, cod produs

DENP, C, 16 index, denumire produs

UMP, C, 3 unitate de masura

macheta ecran formatat: nu

cheia primara: CODP

cheia 1 secundara: DENP

perioada actualizarii: la cerere

operatii de actualizare necesare: adaugare, modificare, stergere, vizualizare, anulare, rasfoire

indexari simple dupa: CODP, DENP pentru consultari selective

lungime articol: 24 bytes

nr.maxim de articole in fisier: aprox.400

necesar de memorie: 24x400 bytes pe HD si FD

salvarea /restaurarea se face periodic pe FD

legaturi cu alte fisiere: nu

Tabela BENEFICIARI(benef.dbf)

continutul informational este format din datele generale si din anexa 2 ale fiecarui contract de livrare sau comanda incheiata

structura logica a unei inregistrari:

CODB, N, 5 index cod beneficiar

DENB, C, 30 denumire beneficiar

STR, C, 20 strada

NR, N, 3 numarul

LOC, C, 20 localitatea

TEL, N, 7 telefon

CTBC, C, 15 cont bancar

macheta ecran formatata: nu

cheia primara: CODB

cheia 1 secundara: DENB

perioada actualizarii: la cerere

operatii de actualizare necesare: adaugare, modificare, stergere, vizualizare, anulare, reactivare

indexari simple dupa: CODB, DENB pentru consultari selective

lungime articol: 100 bytes

nr.maxim de articole in fisier: aprox.1000

necesar de memorie: 100x1000 bytes pe HD si FD

salvarea /restaurarea se face periodic pe FD

legaturi cu alte fisiere: nu

Iesiri informationale

Acestea au fost sistematizate in trei rapoarte prezentand la cerere anumite informatii necesare utilizatorilor, in forma integrala su partiala.

Nomenclatorul produselor

Este afisat pe ecran, in forma tabelara, cu continut informational structurat potrivit urmatoarei machete:

Cod produs

Denumire produs

UM

Pret unitar catalog

Stoc

Valoare

(1)

(2)

(3)

(4)

(5)

(6)

N 5

C 20

C 4

N 9,2

N 7

N 11,2

suport informational utilizat: monitor color

selectia datelor de prelucrat: tabela Produse fara conditii de selectie

ordonarea datelor in report prin indexare compusa dupa CODP, DENP si fisierul temporar DENPROD.idx

calcule efectuate: val*stoc*pu

grade de total: nu

indicatorii(informatiile) de totalizat: nu

recapitulatii rezultate: nu

sumar statistic la sfarsitul raportului: nu

periodicitate: la cerere

dimensiune tabel: nr. Linii/pagina, nr caractere/linie, nr.pagini/tabel

Lista beneficiarilor

Lista este afisabila pe ecran, in forma tabelara, cu un continut informational sistematizat, in concordanta cu o macheta.

Cod beneficiar

Denumire beneficiar

Tara

Adresa

Contul bancar

(1)

(2)

(3)

(4)

(5)

N 5

C 12

C 7

C 35

C 10

suport informational utilizat: monitor color

selectia datelor de prelucrat: tabela Beneficiari, fara conditii de selectie

ordonarea datelor in report prin indexare compusa dupa CODP, DENP si fisierul temporar TARBEN.idx

calcule efectuate: nu sunt

grade de total: nu

recapitulatii rezultate: nu

sumar statistic la sfarsitul raportului: nu

dimensiune tabel: nr. Linii/pagina, nr caractere/linie, nr.pagini/tabel

Situatia contractelor scadente

Situatia este stocata de HD in fisierul SITCONST.TXT, de unde poate fi listata ulterior pe imprimanta sau afisata pe ecran.

Nr. Contract

Data contract

Cod benef

Cod tara

Cod produs

Den produs

Pu pivrare

Cant contr.

Termen livrare

valoare

(1)

(2)

(3)

(4)

(5)

(6)

(7)

(8)

(9)

(10)

suport informational utilizat: hartie, FD, HD, monitor color

selectia datelor de prelucrat: tabela CONTRACT si BENEFICIARI.Conditia de selectie este luna din TERMENL>luna curenta si CODB din fisierele CONTRACTE si BENEFICIARI sa fie egale

ordonarea datelor in report prin indexare dupa TERMENL si CODP si DENB si fisierul temporar LNCNT.idx

calcule efectuate: val=cant*pu

nivele de totalizare: luna, produs, beneficiar scadenta si total general

indicatorii(informatiile) de totalizat: val

recapitulatii rezultate: nu

sumar statistic la sfarsitul raportului: reccount(), max(), min()

periodicitate: lunara

dimensiune tabel: nr. Linii/pagina, nr caractere/linie, nr.pagini/tabel

Dialogul utilizatorului

Dialogul a fost concentrat in patru liste de optuini, prima formand meniul principal, celelalte trei constituind submeniuri asociate fiecarui optiuni din meniul principal. Aceste liste au fost ierarhizate pe trei nivele, fiecare dintre ele sintetizand fie componentele bazei de date, fie functiile realizate de diverse proceduri din program. Cele patru liste de optiuni formeaza nivelul aplicatiei mai precis ele definesc cadrul conservational dintre program si utilizator. O imagine a dialogului dintre utilizatori si program este prezentata in continuare:

MENIUL ORINCIPAL:

F-fisiere

R-rapoarte

T-terminare

MENIU FISIERE MENIU RAPOARTE STOP

C-contracte 1-nomenclatorul produselor

P-produse 2-lista beneficiarilor

B-beneficiari 3-situatia contractelor scadente

R-rapoarte 4-retur

C P B R

MENIU OPERATII

A-adaugare

M-modificare

S-stergere

V-vizualizare

R-retur

A M S V R

Programele aplicatiei

Programele au fost elaborate sub forma de proceduri, monitorizate in concordanta cu listele de optiuni din meniu. Modul de abordare modulara a programului permite realizare, testare si implementare progresiva de sus in jos a fiecarei proceduri tinand seama de componentele realizate pana la momentul respectiv.

Schema procedurala

Aceasta avidentiaza, in primul rand, procedurile elaborate si legaturile lor cu monitorul si in al doilea rand, legaturile directe dintre anumite proceduri. Prezenta succinta a acestei scheme este urmatoarea:

Functiunile realizate de fiecare procedura sunt urmatoarele:

monitor - realizeaza legatura intre operatiunile utilizatorului specifice in cadrul unei sesiuni de lucru si executia procedurilor functionale;

contracte - realizeaza operatii de adaugare, modificare, stergere, si vizualizare de date din tabela CONTRACTE;

produse - idem din tabela PRODUSE;

beneficiari - idem din tabela BENEFICIARI;

listprod - realizeaza afisarea pe ecran a nomenclatorului de produse;

list ben - idem lista beneficiarilor.

sitcontr.

Concluzii

Regimul cocurential in care isi desfasoara activitatea de export firma, reclama o cumoastere permanenta si profunda a relatiilor comerciale cu partenerii externi. Obiectivul principar al acestei activitati il constituie amplificarea si stabilirea pe perioade mai mari a relatiilor economice avantajoase cu partenerii externi solvabili si diminuarea relatiilor economice cu acei parteneri externi nesolvabili. Atunci cand volumul relatii este mare, divers si dinamic, conoasterea profunda a aspectelor pozitive si negative se poate realiza operativ cu ajutorul calculatorului. Acesta poate oferi utilizatorului, prin continutul informational al bazei de date, informatii exacte despre derularea contractelor, livrarilor sau scadentelor.

Examinarea atenta a datelor poate dezvalui perturbatiile generate de diverse verigi organizatorice, din interiorul sau exteriorul firmei. Se pot diminua sau chiar preveni o serie de perturbatii negative prin luarea sau corelarea unor decizii reale, oportune si eficiente in derularea contractelor cu parteneri externi, Fondul de date structurat in cele trei fisiere ale bazei de date poate fi imbunatatit in perioadele urmatoare, dacase vor urmarii, in continuare, legaturile acestei aplicatii cu ale altei aplicatii conexe: marketing, conjunctura economica, prospectare piata, import, etc.

Cerintele informationale ale diversilor utilizatori se armonizeaza cu posibilitatile practice de realizare oferite de programele elaborate in sistemul Fox Pro.

PROCEDURE MONITOR

*==================

set talk off

close databases

clear

wm="D"

do while upper(wm)="D"

clear

@5,2 to 9,21

@4,3 say"MONITORUL APLICATIEI"

@6,3 prompt"1-Fisiere"

@7,3 prompt"2-Rapoarte"

@8,3 prompt"3-Iesire"

menu to wm1

case wm1=1

do fis

case wm1=2

do rap

case wm1=3

wm="N"

endcase

enddo

clear

close all

close procedure

set talk on

return

PROCEDURE FIS

*MODUL DIRECTOR - TABELA APLICATIEI

es="D"

do while es="D"

@5,2 to 10,21

@4,3 say"TABELA APLICATIEI"color/*U

set color to

@6,3 prompt"1-Produse"

@7,3 prompt"2-Beneficiari"

@8,3 prompt"3-Contracte"

@9,3 prompt"4-Iesire"

menu to f

docase

case f=1

do operactp

case f=2

do operactb

case f=3

do operacte

case f=4

es="N"

endcase

enddo

clear

return

PROCEDURE OPERACTP

*===================

*MODUL DIRECTOR-OPERATII ACTUALIZARE TABELA PROD.dbf

use prod

x=file("prod.dbf")

t=.f.

select 1

if used(1)

t=.t.

else

@23,1say"tabela prod.dbf lipseste dindirector.dati<enter>"

read

endif

wdp=space(16)

wum=" "

wcp=0

wcn="D"

op=0

do while wcn $"Dd"

clear

@3,20 to 17,72 double

titlu="actualizarea nomenclatorului de produse"

@4,32say titlu color/*i

set color to

@5,32 to 5,57

@6,22 prompt "1-adaugare selectiva cu index dupa cod"

@7,22 prompt"2-modificare selectiva cu index prin cod "

@8,22 prompt"3-stergere fizica selectiva cu index prin cod"

@9,22prompt"4-stergere logica selectiva cu index prin cod"

@10,22prompt"5-reactivare selectiva cu index prin cod"

@11,22prompt"6-vizualizare selectiva dupa index prin cod"

@12.22prompt"7-rasfoire secventiala cu selectie"

@13,22prompt"8-vizualizare selectiva cu index dupa denumire"

@14,22prompt"9-vizualizare selectiva direct din zona fisier"

@15,22prompt"10-vizualizare secventiala prin pointer"+chr(16)

@16,22prompt"11-retur la nivel superior"

menu to op

do case

case op=1

doadaugp

case op=2

do modifp

case op=3

do stergp

case op=4

do stergp

case op=5

do reactivp

case op=6

do vizcp

case op=7

do resfoirp

case op=8

do vizdenp

case op=9

do vizdirp

case op=10

do acsecvp

case op-11

wcn="N"

endcase

enddo

clear

return

PROCEDURE ICSODP

*================

*INDEXEAZA NOMENCLATORUL PROD.dbf DUPA CODP

close index

delete file iscodp.idx

index on codb to iscodp

set index to iscodp

return

PROCEDURE ADAUGP

*=================

*PROCEDURA DE ADAUGARE NOI PRODUSE IN NOMENCLATOR

CLEAR

@7,22 say"adaugare PRODUSE" color/*i

set color to

cn="D"

di iscodp

do while cn="D"

ww=.F.

st=" "

@19,0 clear to 20,79

@8,9 clear to 16,70

do initp

wcp=0

@9,11 say"cod produs..:"get wcodb picture "@99999"

read

do while ww=.F.

seek wcp

if.not.found()

ww=.T.

else

@19,0 say "inregistrare dubla"

do afecranp

@20,0say"aceasta este inreg. De adaugat?(D/N):"get st picture"!"

read

@8,9 clear to 16,70

@19,0 clear to 20,70

if upper(st) ="N"

exit

else

endif

else

endif

do initp

@19,11 say "cod produs...:"get wcp picture"@99999"color/*i

read

endif

enddo

@19,0 clear to 20,75

if cn ="N"

exit

else

endif

do getecrp

append blank

do repben

do initp

@8,9 clear to 16,70

cn=" "

@20,0 say"continuati adaugarea?(D/N): "get cn picture"@!"

read

enddo

return

PROCEDURE MODIFP

*=================

*MODIFICARE DATE PRODUS IN PROD.dbf

clear

@7,22say"modificare PRODUSE " color/*i

set color to

cn="D"

do iscodp

di while cn="D"

st=" "

@19,0 clear to 20,78

@8,9 clear to 16,70

di initp

wcp=0

@9,11 say"cod produs...: "get wcodb picture"@99999"

read

seek wcp

if .not.found()

@19,0 say"inregistrare lipsa"

else

do movprod

do getecrp

replace codp with wcp

do reprodus

do initp

endif

cn=" "

@20,0 say"continuati modificarea?(D/N): "get cn picture"@!"

read

enddo

return

PROCEDURE STERGP

*================

*STERGERE PRODUSE DIN NOMENCLATORUL PROD.dbf

clear

@7,22 say'stergere produse' color/*i

set color to

cn = 'D'

do iscodp

do while cn = 'd'

st=' '

@19,0 clear to 20,78

@ 8,9 clear to 16,68

wcp=0

@ 9,11 say 'cod produs.:' get wcp picture '@99999'

read

seek wcp

if.not.found()

@19,0 say 'inregistrare lipsa'

else

do afecranp

if delete()

@19,0 say 'produsul era deja marcat pentru stergere.dati<enter>'

read

@19,0 clear to 19,78

else

store' ' to st

@20,0 say'acest produs se va sterge?(D/N):'get st pict '!'

read

@20,0 clear to 20,78

if st='D'

delete

else

endif

endif

endif

cn=' '

@20,0 say'continuati stergerea?(D/N):'get cn picture'@!'

read

enddo

return

PROCEDURE REACTIVP

*==================

*REACTIVAREA PRODUSELOR STERSE LOGIC

clear

@7,22 say'reactivare produse' color/*i

set color to

cn='D'

do iscodp

do while cn='D'

st=' '

@19,0clear to 20,78

@8,9 clear to 16,68

wcp=0

@9,11 say'cod produs:' get wcp picture' @99999'

read

seekwcp

if .not.found()

@19,0say'produsul era deja marcat pentru inregistrare.dati<enter>'

read

store ' ' to st

@20,0 say'acest produs se va reactiva?(D/N):'get pict '!'

read

@19,0clear to 20,78

else

@19,0 say 'produsul nu era marcat pentru stergere.dati<enter>'

read@19,0 clear to 20,78

endif

if st='D'

recall

else

endif

endif

cn=' '

@20,0 say 'continuati reactivarea?(D/N):'get cn picture '@!'

read

enddo

return

PROCEDURE VIZCP

*===============

*VIZUALIZARE PRODUS DUPA COD

clear

@7,22 say'vizualizare produse' color/*i

set color to

cn ='D'

di iscodp

do while cn='D'

st=' '

@20,0 clear to 20,65

@8,9 clear to 16,70

wcp=0

@9,11 say 'cod produs:'get wcp picture'@99999'

read

seek wcp

if.not.found()

@19,0say 'inregistrare lipsa'

else

do afecranp

endif

cn=' '

@20,0say'continuati vizualizarea?(D/N):'get cn picture'@!'

read

enddo

return

PROCEDURE RASFOIRP

*===================

*RASFOIREA PRODUSELOR DIN NOMENCLATORUL PROD.dbf

clear

*scroll 18,11,21,65,4

*@14,2,22,29 box replicate(chr(176).25)

define window windp from 15,4 to 21,28 title 'PRODUSE' double

*activate window windp

@14,4say'dupa pozitionare dati<CTRL END>'

brow window windp normal

do movprod

@14,4 clear to 14,7

do afecranp

@7,23 say'rasfoire secventiala cu selectie'color/*i

set color to

@18,1say' '

wait

*deactivate window windp

return

PROCEDURE MOVPROD

*===================

*MUTA CONTINUTUL VARIABILEI DIN TABELA PROD.dbf

*IN VARIABILE DE MEMORIE

wcp=codp

wcp=denp

wum=ump

PROCEDURE REPRODUS

*===================

*RECTIFICAREA CONTINUTULUI VARIABILELOR DIN TABELA PROD.dbf

* CU CONTINUTUL VARIABILELOR DE MEMORIE

repl codp with wcp

repl denp with wdp

repl ump with wum

return

PROCEDURE AFECRANP

*===================

*AFISEAZA ECRANUL PENTRU VIZUALIZARE DATE PRODUS

@8,9clear to 16,70

@8,9to 12,70

@6,8 to 17,71 double

@7,48 say "poz.crt.in fis"+str(recno(),5)

@9,11 say "cod produs..:"+str(codp,5)

@10,11say"denumire produs..:"+denp

@11,11say"unitate masura...:"+ump

return

PROCEDURE GETECRP

*==================

*AFISAZA ECRANUL PENTRU INCARCARE DATE PRODUS

@8,9 to 12,70

@6,8 to 17,71 double

@7,48 say"poz.crt.in fis."+str(recnu(),5)

@10.11 say "denumire produs..:"get wdp pict"! ! !!"

@11.11 say"unit. de masura..:"get wum pict"!!!"

read

return

PROCEDURE INITP

*==============

*INITIALIZEAZA VARIABILELE DE MEMORIE

wcp=0

wdp=space(16)

wum=" "

return

PROCEDURE VIZDENP

*==================

*VIZUALIZEAZA DUPA PRIMELE 5 CARACTERE DIN

* DENUMIREA PRODUSULUI

clear

close index

delete file isden.idx

x=file("isden.idx")

t=.f.

select 1

if used(1)

t=.t.

else

delete file isden.idx

endif

if t=.t.

index on substr(denp,1,5) to isden

else

index on substr(denp,1,5) to isden

endif

set index ti isden

myn="D"

do while myn$"Dd"

ml=5

k5=" "

go top

@2,2 say "tastati primele 5 litere din denumirea produsului cautat: "get k5 picture"@XXXXX"

read

K5=upper(k5)

@2,2clear to 2,78

seek k5

if.not.found()

myn=" "

@21,2say"produs cu aceasta denumire lipsa!! Dati <enter>"

read

else

ml=5

set color/i

@3,1say"cod denumire produs U.M."

@4,1say"=================="

set color to

do while k5=substr(denp,1,5).and.not.eof()

@ml,1 say str(codp,5)+" "+substr(denp,1,16)+" "+ump

ml=ml+1

skip

if ml>16

ml=5

@20,1say"============================"

wait

@5,0clear to 19.79

else

endif

yn2=" "

enddo

endif

myn=" "

@22,2say"continuati cu alta denumire?(D/N): "get myn

read

@5,1 clear to 19,78

@22,0 clear to 22,78

enddo

K5=" "

Return

PROCEDURE VIZDIRP

*=================

*VIZUALIZARE SELECTIVA DIRECT DIN ZONA TABELEI

clear

@7,22 say "vizualizare din baza" color/*i

set color to

cn="D"

do while upper(cn)="D"

wcp=0

@22,3say"dati codul produsului: "get wcp pict"99999"

read

locate for codp=wcp

do afecranp

continue

@21,3say"continuati?(D/N): "get cn

read

enddo

return

PROCEDURE ACSECVP

*==================

*ACCESE PRIN POINTER(IDENTIFICATOR) IN TABELA PROD.dbf

clear

@7,13 say"acces prin pointer(identificator)"

set color to

do iscodp

yn="D"

do while.not.eof().and.upper(yn)="D"

@1,55 prompt "1-prima inregistrare"

@2,55prompt"2-urmatoarea inregistrare"

@3,55prompt"3-precedenta inregistrare"

@4,55prompt"4-ultima inregistrare"

@5,55prompt"5-a n-a inregistrare"

menu to ii

do case

case ii=1

go top

do afecranp

case ii=2

skip

if eof()

skip-1

else

endif

do afecranp

case ii=3

skip-1

if bof()

skip

else

endif

do afecranp

case ii=4

go bottom

do afecranp

case ii=5

id=1

@22,2say"dati un pointer de inregistrare1-n: "get id picture "@99999"

read

@22,0 clear to 22,78

if id<= reccount()

go id

do afecranp

else

@22,1say"pointer inreg.cautata>pointer ultima inreg: "+str(reccount())

read

@22,0 clear to 22,78

endif

endcase

@22,0 say"continuati?(D/N): "get yn

read

@22,0 clear to 22,,78

enddo

return

PROCEDURE OPERACTB

*===================

*MODUL DIRECTOR-OPERATII ACTUALIZARE TABELA BENEF.dbf

use benef

x=file("benef.dbf")

t=.f.

select 1

if used(1)

t=.t.

else

@23,1say"tabela benef.dbf lipseste dindirector.dati<enter>"

read

endif

wdenb=space(30)

wstr=space(20)

wnr=0

wloc=space(20)

wtel=0

wctbc=space(15)

wcodb=0

wcn="D"

op=0

do while wcn $"Dd"

clear

@3,20 to 17,72 double

titlu="actualizarea nomenclatorului de beneficiari"

@4,32say titlu color/*i

set color to

@5,32 to 5,57

@6,22 prompt "1-adaugare selectiva cu index dupa cod"

@7,22 prompt"2-modificare selectiva cu index prin cod "

@8,22 prompt"3-stergere fizica selectiva cu index prin cod"

@9,22prompt"4-stergere logica selectiva cu index prin cod"

@10,22prompt"5-reactivare selectiva cu index prin cod"

@11,22prompt"6-vizualizare selectiva dupa index prin cod"

@12.22prompt"7-rasfoire secventiala cu selectie"

@13,22prompt"8-vizualizare selectiva cu index dupa denumire"

@14,22prompt"9-vizualizare selectiva direct din zona fisier"

@15,22prompt"10-vizualizare secventiala prin pointer"+chr(16)

@16,22prompt"11-retur la nivel superior"

menu to op

do case

case op=1

doadaugb

case op=2

do modifb

case op=3

do stergb

case op=4

do stergb

case op=5

do reactivb

case op=6

do vizcb

case op=7

do resfoirb

case op=8

do vizdenb

case op=9

do vizdirb

case op=10

do acsecvb

case op-11

wcn="N"

endcase

enddo

clear

return

PROCEDURE ICSODB

*================

*INDEXEAZA NOMENCLATORUL BENEF.dbf DUPA CODB

close index

delete file iscodb.idx

index on codb to iscodb

set index to iscodb

return

PROCEDURE ADAUGB

*=================

*PROCEDURA DE ADAUGARE NOI BENEFICIARI IN NOMENCLATOR

CLEAR

@7,22 say"adaugare beneficiari" color/*i

set color to

cn="D"

di iscodb

do while cn="D"

ww=.F.

st=" "

@19,0 clear to 20,79

@8,9 clear to 16,70

do initb

wcodb=0

@9,11 say"cod beneficiar..:"get wcodb picture "@99999"

read

do while ww=.F.

seek wcodb

if.not.found()

ww=.T.

else

@19,0 say "inregistrare dubla"

do afecranb

@20,0say"aceasta este inreg. De adaugat?(D/N):"get st picture"!"

read

@8,9 clear to 16,70

@19,0 clear to 20,70

if upper(st) ="N"

exit

else

endif

else

endif

enddo

@19,11 say "cod beneficiar...:"get wcodb picture"@99999"

read

endif

enddo

@19,0 clear to 20,75

if cn ="N"

exit

else

endif

do getecrb

append blank

do repben

do initB

@8,9 clear to 16,70

cn=" "

@20,0 say"continuati adaugarea?(D/N): "get cn picture"@!"

read

enddo

return

PROCEDURE MODIFB

*=================

*MODIFICARE DATE BENEFICIARI IN BENEF.dbf

clear

@7,22say"modificare beneficiari " color/*i

set color to

cn="D"

do iscodb

di while cn="D"

st=" "

@19,0 clear to 20,78

@8,9 clear to 16,70

di initb

wcodb=0

@9,11 say"cod beneficiar...: "get wcodb picture"@99999"

read

seek wcodb

if .not.found()

@19,0 say"inregistrare lipsa"

else

do movben

do getecrb

replace codb with wcodb

do repben

do initb

endif

cn=" "

@20,0 say"continuati modificarea?(D/N): "get cn picture"@!"

read

enddo

return

PROCEDURE STERGB

*================

*STERGERE PRODUSE DIN NOMENCLATORU BENEF.dbf

clear

@7,22 say"stergere beneficiari" color/*i

set color to cn="D"

di iscodb

do while cn="D"

st=" "

@19,0 clear to 20,78

@8,9 clear to 16,68

wcodb=0

@9,11say"cod beneficiar..: "get wcodb picture "@99999"

read

seek wcodb

if .not.found()

@19,0 say"inregistrare lipsa"

else

do afecranb

if delete()

@19,0say"beneficiarul era deja marcat pentru stergere.dati<enter>"

read

@19,0 clear to 19,78

else

store" "to st

@20,0say"acest beneficiar se va sterge?(D/N): "get st pict '!'

read

@20,0 clear to 20,78

if st="D"

delete

else

endif

endif

endif

cn=" "

@20,0 say"continuati stergerea?(D/N): "get cn picture"@!"

read

enddo

return

PROCEDURE REACTIVB

*===================

*REACTIVAREA BENEFICIARILOR STERSE LOGIC

clear

@7,22 say"reactivare beneficiari "color/*i

set color to

cn="D"

do iscodb

do while cn="D"

st=" "

@19,0clear to 20,78

@8,9clear to 16,68

wcodb=0

@9,11say"cod beneficiar..: "get wcod picture"@99999"

read

seek wcodb

if .not.found()

@19,0say"inregistrare lipsa"

else

do afecranb

if delete()

@19,0say "beneficiarul era deja marcat pt.stergere.dati<enter>"

read

store" "to st

@20,0say"acest beneficiar se va reactiva?(D/N): "get st pict'!'

read

@19,0clear to 20,78

else

@19,0say"beneficiarul nu era marcat pentru stergere.dati <enter>"

read

@19,0 clear to 20,78

endif

if st='D'

recall

else

endif

endif

cn=" "

@20,0say "continuati stergerea?(D/N):"get cn picture"@!"

read

enddo

return

PROCEDURE VIZCB

*================

*VIZUALIZARE BENEFICIAR DUPA COD

CLEAR

@7,22say"vizualizare beneficiar"color/*i

set color to

cn="D"

do iscodb

do while cn="D"

st=" "

@20,0clear to 20,65

@8,9 clear to 16,70

wcodb=0

@9,11say"cod beneficiar..:"get wcodb picture"@99999"

read

seek wcodb

if.not.found()

@19,0say"inregistrare lipsa"

else

do afecranb

endif

cn=" "

@20,0say"continuati vizualizarea?(D/N): "get cn picture"@!"

read

enddo

return

PROCEDURE RASFOIRB

*===================

*RESFOIREA BENEFICIARILOR DIN NOMENCLATORUL BENEF.dbf

clear

*scroll18,11,21,65,4

*@14,2,22,29 box replicate(chr176),25)

define window windb from 15,4 to 21,37 title 'beneficiar'double

*activate window windb

@7,13 say"rasfoire secventiala cu selectie "

@14,3 clear to 14,7

do movben

do afecranb

@18,1say" "

wait

*deactivate window windb

return

PROCEDURE MOVBEN

*=================

*MUTA CONTINUTUL VARIABILELOR DIN TABELA BENEF.dbf

* IN VARIABILE DE MEMORIE

WCODB=CODB

Wden=denb

Wstr=str

Wnr=nr

Wloc=loc

Wtel=tel

Wctbc=ctbc

Return

PROCEDURE REPBEN

*=================

*RECTIFICA CONTINUTUL VARIABILELOR DIN TABELA BENEF.dbf

* CU CONTINUTUL VARIABILELOR DE MEMORIE

repl codb with wcodb

repl denb with wdenb

repl str with wstr

repl nr with wnr

repl loc with wloc

repl tel with wtel

repl ctbc with wctbc

return

PROCEDURE AFECRANB

*===================

*AFISAZA ECRANUL PT. VIZUALIZARE DATE BENEFICIAR

@8,9clear to 16,70

@8,9to 16,70

@6,8 to 17,71 double

@7,48 say "poz.crt.in fis"+str(recno(),5)

@9,11 say "cod benficiar..:"+str(codp,5)

@10,11say"denumire beneficiar..:"+denb

@11,11say"strada...:"+str

@12,11say"numarul..:"+str(nr,3)

@13,11say"localitatea.."+loc

@14,11say"telefonul...."+str(tel,7)

@15,11say"contul bancar..."+ctbc

return

PROCEDURE GETECRB

*==================

*AFISEAZA ECRANUL PT. INCARCARE DE DATE

@8,9clear to 16,70

@6,8 to 17,71 double

@7,48 say "poz.crt.in fis"+str(recno(),5)

@9,11 say "cod benficiar..:"GET wcodb pict"@99999"

@10,11say"denumire beneficiar..:"get denb

@11,11say"strada...:"get wstr

@12,11say"numarul..:"get wnr

@13,11say"localitatea.."get wloc

@14,11say"telefonul...."get wtel

@15,11say"contul bancar..."get wctbc

read

return

PROCEDURE INITB

*===============

*INITIALIZEAZA VARIABILELE DE MEMORIE

WCODB=0

Wdenb =space(30)

Wstr=space(20)

Wnr=0

Wloc=space(20)

Wtel=0

Wctbc=space(15)

Return

PROCEDURE VIZDENB

*=================

*VIZUALIZEAZA DUPA PRIMELE 5 CARACTERE DIN DENUMIREA

*BENEFICEARI

clear

close index

delete file isdenb.idx

x=file("index.idx")

t=.f.

select

if used (1)

t=.t.

else

delete file isdenb.idx

endif

endif

if t=.t.

index on substr(denb,1,5) to isdenb

*reindex

else

index on substr(denb,1,5) to isdenb

endif

set index to isdenb

myn="D"

do while myn$"Dd"

ml=5

k4=" "

go top

@2,2 say "tastati primele 5 litere din denumirea beneficiarului cautat: " get k5; picture"@XXXXX"

read

K5=upper(k5)

@2,2 clear to 2,78

seek k4

if .not .found()

myn=" "

@21,2 say "beneficiar cu aceasta denumire lipsa!!. Dati<enter>"

read

else

ml=5

set color to /i

@3,1 say"cod denumire beneficear localitate"

@4,1 say"==========================="

set color to

do while k5=substr(den,1,5).and..not.eof()

@ml,1 say str(codb,5)+" "+substr(denb,1,30)+" "+loc

ml=ml+1

skip

if ml>16

ml=5

@20,0 say"================================="wait

@5,0 clearto 19,79

else

endif

yn=" "

enddo

endif

myn=" "

@22,2 say "continuati cu alta denumire?(D/N):"get myn

read

@5,1clear to 19,78

@22,0 clear to 22,78

enddo

k5=" "

return

PROCEDURE VIZDIRB

*=================

*VIZUALIZARE SELECTIVA DIRECT DIN ZONA TABELEI

clear

@7,22 say "vizualizare din baza" color/*i

set color to

cn="D"

do while upper(cn)="D"

wcp=0

@22,3say"dati codul beneficiarului: "get wcp pict"99999"

read

locate for codb=wcodb

do afecranb

continue

@21,3say"continuati?(D/N): "get cn

read

enddo

return

PROCEDURE ACSECVB

*==================

*ACCESE PRIN POINTER(IDENTIFICATOR) IN TABELA BENEF.dbf

clear

@7,13 say"acces prin pointer(identificator)"

set color to

do iscodb

yn="D"

do while.not.eof().and.upper(yn)="D"

@1,55 prompt "1-prima inregistrare"

@2,55prompt"2-urmatoarea inregistrare"

@3,55prompt"3-precedenta inregistrare"

@4,55prompt"4-ultima inregistrare"

@5,55prompt"5-a n-a inregistrare"

menu to ii

do case

case ii=1

go top

do afecranb

case ii=2

skip

if eof()

skip-1

else

endif

do afecranb

case ii=3

skip-1

if bof()

skip

else

endif

do afecranb

case ii=4

go bottom

do afecranb

case ii=5

id=1

@22,2say"dati un pointer de inregistrare1-n: "get id picture "@99999"

read

@22,0 clear to 22,78

if id<= reccount()

go id

do afecranb

else

@22,1say"pointer inreg.cautata.>pointer ultima inreg: "+str(reccount())

read

@22,0 clear to 22,78

endif

endcase

@22,0 say"continuati?(D/N): "get yn

read

@22,0 clear to 22,,78

enddo

return

PROCEDURE OPERACTE

*===================

*MODUL DIRECTOR-OPERATII ACTUALIZARE TABELA CONTR.dbf

use CONTR

x=file("CONTR.dbf")

t=.f.

select 1

if used(1)

t=.t.

else

@23,1say"tabela CONTR.dbf lipseste dindirector.dati<enter>"

read

endif

wdenb=0

wcodp=0

wpln=0.0

wcantl=0

wtlv=ctod('/ /')

wcl=" "

wcn="D"

op=0

do while wcn $"Dd"

clear

@3,20 to 17,72 double

titlu="actualizarea nomenclatorului de beneficiari"

@4,32say titlu color/*i

set color to

@5,32 to 5,57

@6,22 prompt "1-adaugare selectiva cu index dupa cod"

@7,22 prompt"2-modificare selectiva cu index prin cod "

@8,22 prompt"3-stergere fizica selectiva cu index prin cod"

@9,22prompt"4-stergere logica selectiva cu index prin cod"

@10,22prompt"5-reactivare selectiva cu index prin cod"

@11,22prompt"6-vizualizare selectiva dupa index prin cod"

@12.22prompt"7-rasfoire secventiala cu selectie"

@13,22prompt"8-vizualizare selectiva cu index dupa denumire"

@14,22prompt"9-vizualizare selectiva direct din zona fisier"

@15,22prompt"10-vizualizare secventiala prin pointer"+chr(16)

@16,22prompt"11-retur la nivel superior"

menu to op

do case

case op=1

doadauge

case op=2

do modife

case op=3

do sterge

case op=4

do sterge

case op=5

do reactive

case op=6

do vizce

case op=7

do resfoire

case op=8

do vizdire

case op=9

do acsecve

case op=10

wcn="N"

endcase

enddo

clear

return

PROCEDURE ISCODEB

*==================

*INDEXEAZA NOMENCLATORUL CONTR.dbf DUPA CODB

close index

delete file iscode.idx

index on codb to iscodbe

set index to iscodbe

return

PROCEDURE ADAUGE

*=================

*PROCEDURA DE ADAUGARE NOI CONTRACTE IN NOMENCLATOR

CLEAR

@7,22 say"adaugare contracte" color/*i

cn="D"

di iscodeb

do while cn="D"

ww=.F.

st=" "

@19,0 clear to 20,79

@8,9 clear to 16,70

do inite

wcodb=0

@9,11 say"cod beneficiar..:"get wcodb picture "@99999"

read

do while ww=.F.

seek wcodb

if.not.found()

ww=.T.

else

@19,0 say "inregistrare dubla"

do afecrane

@20,0say"aceasta este inreg. De adaugat?(D/N):"get st picture"!"

read

@8,9 clear to 16,70

@19,0 clear to 20,70

if upper(st) ="D"

@20,0 say "continuati operatia de adaugare?(D/N): "get cn pict"!"

read

if upper(CN)="N"

exit

else

endif

else

endif

do inite

@19,11 say "cod beneficiar...:"get wcodb picture"@99999"

read

endif

enddo

@19,0 clear to 20,75

if cn ="N"

exit

else

endif

do getecre

append blank

do repcont

do inite

@8,9 clear to 16,70

cn=" "

@20,0 say"continuati adaugarea?(D/N): "get cn picture"@!"

read

enddo

return

PROCEDURE MODIFE

*=================

*MODIFICARE DATE CONTRACT IN CONTR.dbf

clear

@7,22say"modificare contract " color/*i

set color to

cn="D"

do iscodeb

di while cn="D"

st=" "

@19,0 clear to 20,78

@8,9 clear to 16,70

di inite

wcodb=0

@9,11 say"cod beneficiar...: "get wcodb picture"@99999"

read

seek wcodb

if .not.found()

@19,0 say"inregistrare lipsa"

else

do movcont

do getecre

replace codb with wcodb

do repcont

do inite

endif

cn=" "

@20,0 say"continuati modificarea?(D/N): "get cn picture"@!"

read

enddo

return

PROCEDURE STERGE

*================

*STERGERECONTRACTE DIN NOMENCLATORU CONTR.dbf

clear

@7,22 say"stergere beneficiari" color/*i

set color to

cn="D"

di iscodeb

do while cn="D"

st=" "

@19,0 clear to 20,78

@8,9 clear to 16,68

wcodb=0

@9,11say"cod beneficiar..: "get wcodb picture "@99999"

read

seek wcodb

if .not.found()

@19,0 say"inregistrare lipsa"

else

do afecrane

if delete()

@19,0say"beneficiarul era deja marcat pentru stergere.dati<enter>"

read

@19,0 clear to 19,78

else

store" "to st

@20,0say"acest beneficiar se va sterge?(D/N): "get st pict '!'

read

@20,0 clear to 20,78

if st="D"

delete

else

endif

endif

endif

cn=" "

@20,0 say"continuati stergerea?(D/N): "get cn picture"@!"

read

enddo

return

PROCEDURE REACTIVE

*===================

*REACTIVAREA CONTRACTELOR STERSE LOGIC

clear

@7,22 say"reactivare contracte "color/*i

set color to

cn="D"

do iscodeb

do while cn="D"

st=" "

@19,0clear to 20,78

@8,9clear to 16,68

wcodb=0

@9,11say"cod beneficiar..: "get wcod picture"@99999"

read

seek wcodb

if .not.found()

@19,0say"inregistrare lipsa"

else

do afecrane

if delete()

@19,0say "beneficiarul era deja marcat pt.stergere.dati<enter>"

read

store" "to st

@20,0say"acest beneficiar se va reactiva?(D/N): "get st pict'!'

read

@19,0clear to 20,78

else

@19,0say"beneficiarul nu era marcat pentru stergere.dati <enter>"

read

@19,0 clear to 20,78

endif

if st='D'

recall

else

endif

endif

cn=" "

@20,0say "continuati stergerea?(D/N):"get cn picture"@!"

read

enddo

return

PROCEDURE VIZCE

*================

*VIZUALIZARE CONTRACTE DUPA COD

CLEAR

@7,22say"vizualizare beneficiar"color/*i

set color to

cn="D"

do iscodeb

do while cn="D"

st=" "

@20,0clear to 20,65

@8,9 clear to 16,70

wcodb=0

@9,11say"cod beneficiar..:"get wcodb picture"@99999"

read

seek wcodb

if.not.found()

@19,0say"inregistrare lipsa"

else

do afecrane

endif

cn=" "

@20,0say"continuati vizualizarea?(D/N): "get cn picture"@!"

read

enddo

return

PROCEDURE RASFOIRE

*===================

*RESFOIREA CONTRACTOLOR DIN NOMENCLATORUL BENEF.dbf

clear

define window windb from 15,4 to 21,37 title 'beneficiar'double

@7,13 say"rasfoire secventiala cu selectie "COLOR/*I

set color to

@14,4say "dupa pozitionare dati<CTR END>"

brow window winde normal

@14,3 clear to 14,7

do movcont

do afecrane

@18,1say" "

wait

return

PROCEDURE MOVCONT

*===================

*MUTA CONTINUTUL VARIABILELOR DIN TABELA CONTR.dbf

* IN VARIABILE DE MEMORIE

wcodb=codb

wcodp=codp

wpln=pln

wcantl=cantl

wtlv=termenl

wcl=cl

return

PROCEDURE REP CONT

*===================

*RECTIFICA CONTINUTUL VARIABILELOR DIN TABELA CONTR.dbf

*CU CONTINUTUL VARIABILELOR DE MEMORIE

replcodb with wcodb

repl codp with wcodp

repl pln with wpln

repl cantl with wcantl

repl termenl with wtlv

repl el witl wel

return

PROCEDURE AFECRANE

*====================

*AFISAZA ECRANUL PENTRU VIZUALIZARE DATE CONTRACTE

@8,9 clear to 16,70

@8,9to 16,70

@6,8 to 17,71 double

@7,48 say"poz.crt.in fis"+str(recno(),5)

@9,11 say"cod beneficiar..: "+str(codb,5)

@10,11 say"cod produs....: "+str(codp,5)

@11,11say"pretul de livrare..: "+str(0pln,7,2)

@12,11say"cantitatea contractata:"+str(cantl,7)

@13,11say"termenul de livrare.: "+dtoc(termenl)

return

PROCEDURE GETECRE

*===================

*AFISAZA ECRANUL PENTRU INCARCARE DATE CONTRACT

@8,9 TO 16.70

@6,8 to 17.71 double

@7,48 say"poz.crt.in fis."+str(recno(),5)

@9,11 say"cod beneficiar ...: "get wcodb pict"@99999"

@10.11 say"cod produs...: "get wcodp pict"@99999"

@11,11 say"pretul de livrare.: "get wpln pict"@9999999.99"

@12,11 say"cantitatea livrata.: "get wcantl pict"@9999999"

@13,11 say"termen de livrare..: "get wtlv pict" "

@14,11 say"conditia de livrare..: "get wcl pict" "

return

PROCEDURE INITE

*===============

*INITIALIZEAZA VARIABILELE DE MEMOREI

wcodb=0

wcodp=0

wpln=0

wcantl=0

wtlv=ctod('/ /')

wcl=" "

return

* PROCEDURE VIZDIRE

*=================

*VIZUALIZARE SELECTIVA DIRECT DIN ZONA TABELEI

clear

@7,22 say "vizualizare din baza" color/*i

set color to

cn="D"

do while upper(cn)="D"

wcodb=0

@22,3say"dati codul produsului: "get wcodb pict"99999"

read

locate for codp=wcodb

do afecrane

continue

@21,3say"continuati?(D/N): "get cn

read

enddo

return

PROCEDURE ACSECVE

*==================

*ACCESE PRIN POINTER(IDENTIFICATOR) IN TABELA CONTR.dbf

clear

@7,11 say"acces prin pointer(identificator)"

set color to

do iscodeb

yn="D"

do while.not.eof().and.upper(yn)="D"

@1,55 prompt "1-prima inregistrare"

@2,55prompt"2-urmatoarea inregistrare"

@3,55prompt"3-precedenta inregistrare"

@4,55prompt"4-ultima inregistrare"

@5,55prompt"5-a n-a inregistrare"

menu to ii

do case

case ii=1

go top

do afecrane

case ii=2

skip

if eof()

skip-1

else

endif

do afecrane

case ii=3

skip-1

if bof()

skip

else

endif

do afecrane

case ii=4

go bottom

do afecrane

case ii=5

id=1

@22,2say"dati un pointer de inregistrare1-n: "get id picture "@99999"

read

@22,0 clear to 22,78

if id<= reccount()

go id

do afecrane

else

@22,1say"pointer inreg.cautata>pointer ultima inreg: "+str(reccount())

read

@22,0 clear to 22,78

endif

endcase

@22,0 say"continuati?(D/N): "get yn

read

@22,0 clear to 22,,78

enddo

return

PROCEDURE RAP

*=============

CLEAR

me="D"

do while upper(me)="D"

@5,2 to 9,29

@4,3 say "modulul director pentru editere de repoarte"

@5,3say"=============================="

@6,3prompt"1-lista produselor"

@7,3prompt"2-lista beneficiarilor"

@8,3prompt"3-iesire"

menu to wm1

case wm1=1

do listprod

case wm1=2

do listben

case wm1=3

me="N"

endcase

enddo

return

PROCEDURE LISTPROD

*==================

CLEAR

@4,4 SAY"lista produselor"

select 2

use prod

if .not.file("prod.idx")

index on denp to prod.idx

endif

set index to prod

go top

c4="D"

do while upper(c4)="D"

do while.not.eof()

clear

?' lista produselor'

cod denumire um'

?'========================================='

?

disp next 16 fields codp,denp,umpwhile.not.eof() off

wait

enddo

clear

@20.2 say"continuati?(D/N): "get c4

read

enddo

return

PROCEDURE LISTBEN

*=================

clear

select 3

use benef

if.not.file('benef.idx')

index on denb to benef.idx

endif

set index to benef

go top

c4="D"

do while upper(c4)="D"

while.not.eof()

clear

?' lista beneficiarilor'

?' ----- ----- -------'

?

?'==================================================='

?' cod denumire localitate telefon'

?'==================================================='

?

disp next 15 fields codb,denb,loc,tel while.not.eof() off

wait

enddo

clear

@20,2 say"continuati?(D/N): "get c4

read

enddo

return



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1772
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