Page 1 of 1

_screen.oApp.oVpmDataHnadler

PostPosted: Thu May 11, 2017 10:41 am
by stecenko
How do I use the dataHnadler in a prg?

I thought I could use...

_screen.oApp.oVpmDatahandler

as described in the Tech Reference Manual printed page 73, pdf page 83)

But when i have

_screen.oApp.oVpmDatahandler.openView

I get an error....

Unknown Member oVpmDataHandler

Re: _screen.oApp.oVpmDataHnadler

PostPosted: Thu May 11, 2017 11:45 am
by Bob
I think that is an object reference in the data aware form classes ...

Re: _screen.oApp.oVpmDataHnadler

PostPosted: Thu Aug 24, 2017 10:39 pm
by wftdata
Richard,

There is code in the system reports that shows how to do it. I used the following code in a program and it worked. Adjust it as needed:

****************************************************
LOCAL slcUserID,slcDataHandlerClass,slcDataHandlerClass_ClassLibrary,sloDataHandler

lcAlias = UPPER(tcAlias)

slcUserID = ''
IF _SCREEN.oApp.cAppPre = 'APP'
slcDataHandlerClass = 'prodatahandler'
slcDataHandlerClass_ClassLibrary = 'prodatahandler'
ELSE
slcDataHandlerClass = _SCREEN.oApp.cDataHandlerClass
slcDataHandlerClass_ClassLibrary = _SCREEN.oApp.cDataHandlerClass_ClassLibrary
IF TYPE('_SCREEN.oApp.oSec') = 'O'
slcUserID = _SCREEN.oApp.oSec.UserData_cUserID
ENDIF
ENDIF

IF NOT LOWER(ALLTRIM(slcDataHandlerClass_ClassLibrary)) $ LOWER(SET('CLASSLIB'))
SET CLASSLIB TO (slcDataHandlerClass_ClassLibrary) ADDITIVE
ENDIF

sloDataHandler = CREATEOBJECT(slcDataHandlerClass,_SCREEN.oApp,_SCREEN.oApp.oAPDRecord.cEncrChar,;
_SCREEN.oApp.oAPDRecord.cOrigin,slcUserID,_SCREEN.oApp.oAPDRecord.cDDD_DDDS,_SCREEN.oApp.oAPDRecord.cDDD_V,;
_SCREEN.oApp.oAPDRecord.cDDD_VDBC,_SCREEN.oApp.oAPDRecord.cDDTV_DDDS,_SCREEN.oApp.oAPDRecord.cDDTV_V,;
_SCREEN.oApp.oAPDRecord.cDDTV_VDBC,_SCREEN.oApp.oAPDRecord.cDDDS_V,_SCREEN.oApp.oAPDRecord.cDDDS_VDBC,.F.)

sloDataHandler.OpenView('IDS_LV','Invoice_LV')

sloDataHandler.LocateFor('IDS_LV','Ids_lv.Table = lcAlias')
IF FOUND()
lnID = ids_lv.nextid
REPLACE ids_lv.nextid WITH ids_lv.nextid + 1
ENDIF

sloDataHandler = .F.

IF lcAlias = "INVNO" OR lcAlias = "CUST_LV"
RELEASE lcAlias
RETURN lnID
ELSE
RELEASE lcAlias
RETURN PADL(lnID,9,"0")
ENDIF
*************************************
Hope this helps.

Regards,

Bill