1
|
DEFINE TEMP-TABLE tt NO-UNDO
|
2
|
FIELD cE AS CHARACTER
|
3
|
FIELD cM AS CHARACTER
|
4
|
FIELD val AS CHARACTER
|
5
|
INDEX idxE AS UNIQUE cE.
|
6
|
|
7
|
DEFINE TEMP-TABLE ttd NO-UNDO
|
8
|
FIELD cE AS CHARACTER
|
9
|
FIELD cM AS CHARACTER
|
10
|
FIELD val AS CHARACTER
|
11
|
INDEX idxE AS UNIQUE cE.
|
12
|
|
13
|
DEFINE DATASET ds FOR ttd
|
14
|
DATA-RELATION r1 FOR ttd, ttd
|
15
|
RELATION-FIELDS (cE, cM) RECURSIVE.
|
16
|
|
17
|
OUTPUT TO 'ds-test.txt'.
|
18
|
CREATE tt. tt.cE = 'm0'. tt.val = '-m0'.
|
19
|
CREATE tt. tt.cE = 'm1'. tt.cM = 'm0'. tt.val = 'm0-m1'.
|
20
|
CREATE tt. tt.cE = 'm2'. tt.cM = 'm0'. tt.val = 'm0-m2'.
|
21
|
CREATE tt. tt.cE = 'e1'. tt.cM = 'm1'. tt.val = 'm1-e1'.
|
22
|
CREATE tt. tt.cE = 'e2'. tt.cM = 'm2'. tt.val = 'm2-22'.
|
23
|
|
24
|
DEFINE QUERY qtt FOR tt.
|
25
|
|
26
|
DEFINE DATA-SOURCE srctt FOR QUERY qtt tt KEYS(cE).
|
27
|
BUFFER ttd:ATTACH-DATA-SOURCE(DATA-SOURCE srctt:HANDLE).
|
28
|
QUERY qtt:QUERY-PREPARE("FOR EACH tt where tt.cE = 'e1'").
|
29
|
|
30
|
DATASET ds:FILL() NO-ERROR.
|
31
|
RUN show-error("after ds:FILL()").
|
32
|
|
33
|
BUFFER tt:DETACH-DATA-SOURCE().
|
34
|
|
35
|
DEF VAR dsh AS HANDLE NO-UNDO.
|
36
|
DEF VAR hds AS HANDLE NO-UNDO.
|
37
|
DEF VAR hServer AS HANDLE NO-UNDO.
|
38
|
DEF VAR lRet AS LOGICAL NO-UNDO.
|
39
|
|
40
|
dsh = DATASET ds:HANDLE.
|
41
|
lRet = dsh:WRITE-XMLSCHEMA('file', 'ds.xsd', TRUE, 'UTF-8', FALSE, FALSE).
|
42
|
MESSAGE 'dsh:WRITE-XMLSCHEMA' lRet.
|
43
|
|
44
|
lRet = dsh:WRITE-XML('file', 'ds.xml', TRUE, 'UTF-8', 'ds.xsd', FALSE, FALSE, ?, FALSE).
|
45
|
MESSAGE 'dsh:WRITE-XML' lRet.
|
46
|
|
47
|
lRet = dsh:WRITE-XML('file', 'ds.xml', TRUE, 'UTF-8', 'ds.xsd', FALSE, FALSE, ?, FALSE).
|
48
|
MESSAGE 'dsh:WRITE-XML' lRet.
|
49
|
|
50
|
lRet = TEMP-TABLE ttd:WRITE-XML('file', 'ttd.xml', TRUE, 'UTF-8', ?, FALSE, FALSE, ?, FALSE).
|
51
|
MESSAGE 'ttd:WRITE-XML' lRet.
|
52
|
|
53
|
CREATE DATASET hds.
|
54
|
lRet = hds:READ-XMLSCHEMA('file', 'ds.xsd', FALSE, ?, ?) NO-ERROR.
|
55
|
RUN show-error('hds:READ-XMLSCHEMA').
|
56
|
MESSAGE 'hds:READ-XMLSCHEMA' lRet.
|
57
|
|
58
|
lRet = hds:WRITE-XMLSCHEMA('file', 'hds.xsd', TRUE, 'UTF-8', FALSE, FALSE).
|
59
|
MESSAGE 'hds:WRITE-XMLSCHEMA' lRet.
|
60
|
|
61
|
lRet = hds:READ-XML('file', 'ds.xml', 'empty', 'hds.xsd', ?, ?, ?) NO-ERROR.
|
62
|
RUN show-error('hds:READ-XML').
|
63
|
MESSAGE 'hds:READ-XML' lRet.
|
64
|
|
65
|
|
66
|
OUTPUT CLOSE.
|
67
|
|
68
|
PROCEDURE show-error:
|
69
|
DEF INPUT PARAM action AS CHAR.
|
70
|
|
71
|
DEF VAR nmsg AS INTEGER NO-UNDO.
|
72
|
MESSAGE "After" action ": error =" ERROR-STATUS:ERROR
|
73
|
"num-messages =" ERROR-STATUS:NUM-MESSAGES
|
74
|
"type =" ERROR-STATUS:TYPE
|
75
|
.
|
76
|
IF ERROR-STATUS:NUM-MESSAGES > 0 THEN DO:
|
77
|
DO nmsg = 1 TO ERROR-STATUS:NUM-MESSAGES:
|
78
|
MESSAGE "***" ERROR-STATUS:GET-NUMBER(nmsg) ':' ERROR-STATUS:GET-MESSAGE(nmsg).
|
79
|
END.
|
80
|
END.
|
81
|
END.
|