Power Builder - Obtener datos después de cambiarlos...resuelto y aqui esta el código

 
Vista:

Obtener datos después de cambiarlos...resuelto y aqui esta el código

Publicado por antonio (1271 intervenciones) el 29/04/2020 23:28:26
Un saludo a todos y mil gracias a Leonardo y Bunker...


Lo prometido es deuda y aquí les dejo el código para quienes les sea útil...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
dwItemStatus dwIstatus
long nUpperBound,nNext
string sTag,sValorOriginal,sNuevoValor
string sColType
 
nUpperBound = UpperBound(asColumnas)
 
for nNext = 1 to nUpperBound
	dwIstatus = GetItemStatus(asDataWindow,1,asColumnas[nNext], Primary!)
	sColType = Lower(Left(asDataWindow.Describe(asColumnas[ nNext ]+ ".ColType"),4))
 
		if dwIstatus = DataModified! then
			sTag = Describe(asDataWindow,asColumnas[nNext]+'.tag')
			Choose case sColType
				case 'long'
					sValorOriginal = String(GetItemNumber (asDataWindow,1,asColumnas[nNext], Primary!, True))
					sNuevoValor = String(GetItemNumber (asDataWindow,1,asColumnas[nNext], Primary!, False))
				case 'char'
					sValorOriginal = GetItemString (asDataWindow,1,asColumnas[nNext], Primary!, True)
					sNuevoValor = GetItemString (asDataWindow,1,asColumnas[nNext], Primary!, False)
				case 'deci'
					sValorOriginal = String(GetItemDecimal (asDataWindow,1,asColumnas[nNext], Primary!, True))
					sNuevoValor = String(GetItemDecimal (asDataWindow,1,asColumnas[nNext], Primary!, False))
				case 'date'
					sValorOriginal = String(GetItemDateTime (asDataWindow,1,asColumnas[nNext], Primary!, True))
					sNuevoValor = String(GetItemDateTime (asDataWindow,1,asColumnas[nNext], Primary!, False))
			end choose
 
			if sTag <> '?' then f_Registra_Modificaciones(asModulo,sTag,sValorOriginal,sNuevoValor)
		end if
next

Espero les sirva y funciones para casos de seguridad....

Gracias a todos,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder