Consultor Eletrônico



Kbase P13496: How to get field values from a SmartDataObject that is conta
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   30/01/2003
Status: Unverified

GOAL:

How to get field values from a SmartDataObject that is contained within a SmartBusinessObject?

FACT(s) (Environment):

Progress 9.x

FIX:

The code below was coded to run against a copy of the sports2000 sample database. It assumes that the developer wants to get data placed in the parent SmartDataObject on a SmartBusinessObject from the code of a SmartDataViewer object. e.g.:

ON 'CHOOSE' OF someButton IN SmartDataViewerHandle
DO:
DEFINE VARIABLE vhSBO AS HANDLE NO-UNDO.
DEFINE VARIABLE vhSDO AS HANDLE NO-UNDO.
DEFINE VARIABLE vhColHdl AS HANDLE NO-UNDO.
DEFINE VARIABLE vcColList AS CHARACTER NO-UNDO.
DEFINE VARIABLE vcColName AS CHARACTER NO-UNDO.
DEFINE VARIABLE viCounter AS INTEGER NO-UNDO.
DEFINE VARIABLE viNumCols AS INTEGER NO-UNDO.

ASSIGN vhSBO = DYNAMIC-FUNCTION('getDataSource':U)
vhSDO = DYNAMIC-FUNCTION('getMasterDataObject':U IN vhSBO)
vcColList = DYNAMIC-FUNCTION('getDataColumns':U IN vhSDO)
viNumCols = NUM-ENTRIES(vcColList).

DO viCounter = 1 TO viNumCols:
ASSIGN vcColName = ENTRY(viCounter,vcColList)
vhColHdl = DYNAMIC-FUNCTION('columnHandle':U IN vhSDO,
INPUT vcColName).
MESSAGE vcColName ": ":U vhColHdl:BUFFER-VALUE
VIEW-AS ALERT-BOX INFO BUTTONS OK.
END.
END.