Import initial din SVN ROAAUTO/Trunk @HEAD
This commit is contained in:
62
COMUN/Drepturi utilizatori/ROAMANAGER/scrie_obiecte.prg
Normal file
62
COMUN/Drepturi utilizatori/ROAMANAGER/scrie_obiecte.prg
Normal file
@@ -0,0 +1,62 @@
|
||||
&& id = 7
|
||||
lnIdProgram = 7
|
||||
lcLocalDir=Addbs(Justpath(Sys(16,0)))
|
||||
Cd (lcLocalDir)
|
||||
If Used('obiecte')
|
||||
Use In obiecte
|
||||
Endif
|
||||
Use obiecte In 0
|
||||
gnhandle=SQLConnect('jcsserver','contafin_oracle','123')
|
||||
If Used('crsmax')
|
||||
Use In CrsMax
|
||||
Endif
|
||||
lcSql=[select pack_drepturi.getid_obiect() as maxid from dual]
|
||||
lnSucces=SQLExec(gnhandle,lcSql,'crsmax')
|
||||
If lnSucces<0
|
||||
Messagebox("Eroare la citirea id-ului!")
|
||||
Exit
|
||||
Endif
|
||||
Select CrsMax
|
||||
lnMaxId=maxid
|
||||
Use In CrsMax
|
||||
MESSAGEBOX(lnMaxId,0,"Id maxim pentru obiecte")
|
||||
|
||||
Select obiecte
|
||||
Replace id_prog With lnIdProgram All
|
||||
Replace cod With Padl(Substr(Padl(Alltrim(cheie),5,[ ]),5,1),2,[0]) FOR TYPE(SUBSTR(ALLTRIM(cheie),LEN(ALLTRIM(cheie))-2))='N'
|
||||
Replace cod With Padl(Substr(Padl(Alltrim(cheie),5,[ ]),4,2),2,[0]) FOR TYPE(SUBSTR(ALLTRIM(cheie),LEN(ALLTRIM(cheie))-2))<>'N'
|
||||
Replace cod With Substr(cod,2,1) For !Inlist(Len(Alltrim(tata)),1,2) Or Type(Substr(cod,2,1))!='N'
|
||||
Replace id_obiect With Recno()+lnMaxId All
|
||||
Replace cheie With Alltrim(tata)+Alltrim(cod) All
|
||||
Replace id_tata With -1 All
|
||||
Select id_obiect,cheie From obiecte Where Alltrim(cheie) In (Select Distinct Alltrim(tata) As cheie From obiecte) Into Cursor crstati
|
||||
Select crstati
|
||||
Scan
|
||||
lnIdObiect=id_obiect
|
||||
lcCheie=Alltrim(cheie)
|
||||
Select obiecte
|
||||
Replace id_tata With lnIdObiect For Alltrim(tata)=lcCheie
|
||||
Select crstati
|
||||
Endscan
|
||||
Use In crstati
|
||||
|
||||
lcSql=[update def_obiecte set sters=2 where id_program=]+ALLTRIM(STR(lnIdProgram))+[ and sters=0]
|
||||
lnSucces=SQLExec(gnhandle,lcSql)
|
||||
If lnSucces<0
|
||||
Messagebox("Eroare la stergerea vechilor obiecte!")
|
||||
Exit
|
||||
Endif
|
||||
|
||||
Select obiecte
|
||||
Browse
|
||||
Scan
|
||||
lcSql=[insert into def_obiecte (id_obiect,id_program,id_tata,descriere,cod) ]+;
|
||||
[values (]+Alltrim(Str(id_obiect))+[,]+ALLTRIM(STR(id_prog))+[,]+;
|
||||
ALLTRIM(Str(id_tata))+[,']+Alltrim(explicatie)+[',']+Alltrim(cod)+[')]
|
||||
lnSucces=SQLExec(gnhandle,lcSql)
|
||||
If lnSucces<1
|
||||
Wait Window lcSql
|
||||
Endif
|
||||
Endscan
|
||||
SQLDisconnect(gnhandle)
|
||||
Use In obiecte
|
||||
Reference in New Issue
Block a user