DEFINE VARIABLE hDoc AS HANDLE.
DEFINE VARIABLE hRoot AS HANDLE.
DEFINE VARIABLE hRow AS HANDLE.
DEFINE VARIABLE hField AS HANDLE.
DEFINE VARIABLE hText AS HANDLE.
DEFINE VARIABLE hBuf AS HANDLE.
DEFINE VARIABLE hDBFld AS HANDLE.
DEFINE VARIABLE i AS INTEGER.
CREATE X-DOCUMENT hDoc.
CREATE X-NODEREF hRoot.
CREATE X-NODEREF hRow.
CREATE X-NODEREF hField.
CREATE X-NODEREF hText.
hBuf = BUFFER NombreTabla:HANDLE.
hDoc:CREATE-NODE (hRoot, "Promocion", "ELEMENT").
hDoc:APPEND-CHILD (hRoot).
FOR EACH NombreTabla:
hDoc:CREATE-NODE (hRow, "NombreTabla", "ELEMENT").
hRoot:APPEND-CHILD (hRow).
hRow:SET-ATTRIBUTE ("Promocion", STRING (Campo1)).
hRow:SET-ATTRIBUTE ("Descripcion", Campo2).
REPEAT i = 1 TO hBuf:NUM-FIELDS:
hDBFld = hBuf:BUFFER-FIELD (i).
IF hDBFld:NAME = "Cocliente" OR hDBFld:NAME = "prueba"
THEN NEXT.
IF (hDBFld:BUFFER-VALUE) = ? THEN
NEXT.
hDoc:CREATE-NODE (hField, hDBFld:NAME, "ELEMENT").
hRow:APPEND-CHILD (hField).
hDoc:CREATE-NODE (hText, "", "TEXT").
hField:APPEND-CHILD (hText).
hText:NODE-VALUE = STRING (hDBFld:BUFFER-VALUE).
END.
END.
hDoc:SAVE ("file", "c:\Promocion.xml").
DELETE OBJECT hDoc.
DELETE OBJECT hRoot.
DELETE OBJECT hRow.
DELETE OBJECT hField.
DELETE OBJECT hText.