1
|
DEFINE TEMP-TABLE tt-1 NO-UNDO
|
2
|
/* NAMESPACE-URI "http://goldencode.com/testNamespace5"*/
|
3
|
// NAMESPACE-PREFIX "fwdPrefix1"
|
4
|
FIELD a1char AS CHAR FORMAT "XXXX" INITIAL '99aa' LABEL "char-attr" XML-NODE-NAME 'pk' SERIALIZE-NAME 'char' // XML-NODE-TYPE 'attribute'
|
5
|
FIELD a1int AS INT FORMAT "99999" INITIAL 1 LABEL "int-attr" XML-DATA-TYPE 'long' // XML-NODE-TYPE 'attribute'
|
6
|
FIELD f1char AS CHAR FORMAT "XXXX" INITIAL '99aa' LABEL "char" XML-NODE-NAME 'char-node' SERIALIZE-NAME 'char-field'
|
7
|
FIELD f1charcs AS CHAR FORMAT "XXXX" INITIAL 'aa88' CASE-SENSITIVE LABEL "char-cs"
|
8
|
FIELD f1decimal AS DECIMAL FORMAT "->>,>>9.99" HELP 'help' DECIMALS 2 LABEL "decimal" COLUMN-LABEL "decimal-column"
|
9
|
FIELD f1int AS INT BGCOLOR 12 DCOLOR 9 FGCOLOR 14 PFCOLOR 16 FONT 1 MOUSE-POINTER 'cross' FORMAT "99999" INITIAL 1 LABEL "int"
|
10
|
FIELD f1int1 AS INT INITIAL 1 LABEL "int1" XML-NODE-TYPE 'hidden'
|
11
|
FIELD f1int64 AS INT64 FORMAT "99999" EXTENT 4 INITIAL 4 LABEL "int64" SERIALIZE-NAME 'int64-field'
|
12
|
FIELD f1bool AS LOGICAL INITIAL TRUE LABEL "bool" SERIALIZE-NAME 'logical'
|
13
|
// FIELD f1date AS DATE INITIAL TODAY LABEL "date"
|
14
|
// FIELD f1datetime AS DATETIME INITIAL NOW LABEL "datetime"
|
15
|
// FIELD f1datetime-tz AS DATETIME-TZ INITIAL NOW LABEL "datetime-tz"
|
16
|
// FIELD f1datetime-tz1 AS DATETIME-TZ INITIAL "10/17/2022 13:47:48.426+03:00" LABEL "datetime-tz1"
|
17
|
FIELD f1blob AS BLOB LABEL "blob" COLUMN-LABEL "blob-column"
|
18
|
FIELD f1clob1 AS CLOB LABEL "clob1" TTCODEPAGE XML-NODE-TYPE 'hidden'
|
19
|
FIELD f1clob2 AS CLOB LABEL "clob2" COLUMN-CODEPAGE 'ibm850'
|
20
|
FIELD f1recid AS RECID LABEL "recid" FORMAT "->,>>>,>>9"
|
21
|
FIELD f1handle AS HANDLE LABEL "handle" FORMAT ">>>>>>9"
|
22
|
FIELD f1com-handle AS COM-HANDLE LABEL "com-handle" FORMAT ">>>>>>9"
|
23
|
FIELD f1raw AS RAW
|
24
|
FIELD f1rowid AS ROWID
|
25
|
FIELD a1int1 AS INT FORMAT "99999" INITIAL 1 LABEL "int-attr" // XML-NODE-TYPE 'attribute'
|
26
|
FIELD f1d4 AS DEC DECIMALS 4
|
27
|
INDEX i1dx1 f1char
|
28
|
INDEX i1dx2 a1char DESC f1char DESC
|
29
|
INDEX i1dx3 AS UNIQUE f1int
|
30
|
.
|
31
|
|
32
|
DEFINE TEMP-TABLE tt2 NO-UNDO
|
33
|
/* NAMESPACE-URI "http://goldencode.com/testNamespace2"*/
|
34
|
// NAMESPACE-PREFIX "fwdPrefix2"
|
35
|
FIELD a2char AS CHAR FORMAT "XXXX" INITIAL '99aa' LABEL "char-attr" XML-NODE-NAME 'pk' SERIALIZE-NAME 'char' XML-NODE-TYPE 'attribute'
|
36
|
FIELD a2int AS INT FORMAT "99999" INITIAL 1 LABEL "int-attr" XML-DATA-TYPE 'long' XML-NODE-TYPE 'attribute'
|
37
|
FIELD f2char AS CHAR FORMAT "XXXX" INITIAL '99aa' LABEL "char" XML-NODE-NAME 'char-node' SERIALIZE-NAME 'char-field'
|
38
|
FIELD f2charcs AS CHAR FORMAT "XXXX" INITIAL 'aa88' CASE-SENSITIVE LABEL "char-cs"
|
39
|
FIELD f2decimal AS DECIMAL FORMAT "->>,>>9.9999" HELP 'help' DECIMALS 2 LABEL "decimal" COLUMN-LABEL "decimal-column"
|
40
|
FIELD f2int AS INT BGCOLOR 12 DCOLOR 9 FGCOLOR 14 PFCOLOR 16 FONT 1 MOUSE-POINTER 'cross' FORMAT "99999" INITIAL 1 LABEL "int"
|
41
|
FIELD f2int1 AS INT INITIAL 1 LABEL "int1" XML-NODE-TYPE 'hidden'
|
42
|
FIELD f2int64 AS INT64 FORMAT "99999" INITIAL 4 LABEL "int64" SERIALIZE-NAME 'int64-field'
|
43
|
FIELD f2bool AS LOGICAL INITIAL TRUE LABEL "bool" SERIALIZE-NAME 'logical'
|
44
|
INDEX i2dx1 f2char
|
45
|
INDEX i2dx2 a2char DESC f2char DESC
|
46
|
INDEX i2dx3 AS UNIQUE f2int
|
47
|
.
|
48
|
|
49
|
DEFINE TEMP-TABLE tt3 NO-UNDO
|
50
|
/* NAMESPACE-URI "http://goldencode.com/testNamespace2"*/
|
51
|
/* NAMESPACE-PREFIX "fwdPrefix3"*/
|
52
|
FIELD a3char AS CHAR FORMAT "XXXX" INITIAL '99aa' LABEL "char-attr" XML-NODE-NAME 'pk' SERIALIZE-NAME 'char' XML-NODE-TYPE 'attribute'
|
53
|
FIELD a3int AS INT FORMAT "99999" INITIAL 1 LABEL "int-attr" XML-DATA-TYPE 'long' XML-NODE-TYPE 'attribute'
|
54
|
FIELD f3char AS CHAR FORMAT "XXXX" INITIAL '99aa' LABEL "char" XML-NODE-NAME 'char-node' SERIALIZE-NAME 'char-field'
|
55
|
FIELD f3charcs AS CHAR FORMAT "XXXX" INITIAL 'aa88' CASE-SENSITIVE LABEL "char-cs"
|
56
|
FIELD f3decimal AS DECIMAL FORMAT "->>,>>9.9999" HELP 'help' DECIMALS 2 LABEL "decimal" COLUMN-LABEL "decimal-column"
|
57
|
FIELD f3int AS INT BGCOLOR 12 DCOLOR 9 FGCOLOR 14 PFCOLOR 16 FONT 1 MOUSE-POINTER 'cross' FORMAT "99999" INITIAL 1 LABEL "int"
|
58
|
FIELD f3int1 AS INT INITIAL 1 LABEL "int1" XML-NODE-TYPE 'hidden'
|
59
|
FIELD f3int64 AS INT64 FORMAT "99999" INITIAL 4 LABEL "int64" SERIALIZE-NAME 'int64-field'
|
60
|
FIELD f3bool AS LOGICAL INITIAL TRUE LABEL "bool" SERIALIZE-NAME 'logical'
|
61
|
INDEX i3dx1 f3char
|
62
|
INDEX i3dx2 a3char DESC f3char DESC
|
63
|
INDEX i3dx3 AS UNIQUE f3int
|
64
|
.
|
65
|
|
66
|
DEFINE TEMP-TABLE tt4 NO-UNDO
|
67
|
/* NAMESPACE-URI "http://goldencode.com/testNamespace5"*/
|
68
|
// NAMESPACE-PREFIX "fwdPrefix4"
|
69
|
FIELD a4char AS CHAR FORMAT "XXXX" INITIAL '99aa' LABEL "char-attr" XML-NODE-NAME 'pk' SERIALIZE-NAME 'char' XML-NODE-TYPE 'attribute'
|
70
|
FIELD a4int AS INT FORMAT "99999" INITIAL 1 LABEL "int-attr" XML-DATA-TYPE 'long' XML-NODE-TYPE 'attribute'
|
71
|
FIELD f4char AS CHAR FORMAT "XXXX" INITIAL '99aa' LABEL "char" XML-NODE-NAME 'char-node' SERIALIZE-NAME 'char-field'
|
72
|
FIELD f4charcs AS CHAR FORMAT "XXXX" INITIAL 'aa88' CASE-SENSITIVE LABEL "char-cs"
|
73
|
FIELD f4decimal AS DECIMAL FORMAT "->>,>>9.9999" HELP 'help' DECIMALS 2 LABEL "decimal" COLUMN-LABEL "decimal-column"
|
74
|
FIELD f4int AS INT BGCOLOR 12 DCOLOR 9 FGCOLOR 14 PFCOLOR 16 FONT 1 MOUSE-POINTER 'cross' FORMAT "99999" INITIAL 1 LABEL "int"
|
75
|
FIELD f4int1 AS INT INITIAL 1 LABEL "int1" XML-NODE-TYPE 'hidden'
|
76
|
FIELD f4int64 AS INT64 FORMAT "99999" INITIAL 4 LABEL "int64" SERIALIZE-NAME 'int64-field'
|
77
|
FIELD f4bool AS LOGICAL INITIAL TRUE LABEL "bool" SERIALIZE-NAME 'logical'
|
78
|
INDEX i4dx1 f4char
|
79
|
INDEX i4dx2 a4char DESC f4char DESC
|
80
|
INDEX i4dx3 AS UNIQUE f4int
|
81
|
.
|
82
|
|
83
|
DEFINE TEMP-TABLE tt5 NO-UNDO
|
84
|
/* NAMESPACE-URI "http://goldencode.com/testNamespace5"*/
|
85
|
/* NAMESPACE-PREFIX "fwdPrefix5" */
|
86
|
FIELD a5char AS CHAR FORMAT "XXXX" INITIAL '99aa' LABEL "char-attr" XML-NODE-NAME 'pk' SERIALIZE-NAME 'char' XML-NODE-TYPE 'attribute'
|
87
|
FIELD a5int AS INT FORMAT "99999" INITIAL 1 LABEL "int-attr" XML-DATA-TYPE 'long' // XML-NODE-TYPE 'attribute'
|
88
|
FIELD f5char AS CHAR FORMAT "XXXX" INITIAL '99aa' LABEL "char" XML-NODE-NAME 'char-node' SERIALIZE-NAME 'char-field'
|
89
|
FIELD f5charcs AS CHAR FORMAT "XXXX" INITIAL 'aa88' CASE-SENSITIVE LABEL "char-cs"
|
90
|
FIELD f5decimal AS DECIMAL FORMAT "->>,>>9.9999" HELP 'help' DECIMALS 2 LABEL "decimal" COLUMN-LABEL "decimal-column"
|
91
|
FIELD f5int AS INT BGCOLOR 12 DCOLOR 9 FGCOLOR 14 PFCOLOR 16 FONT 1 MOUSE-POINTER 'cross' FORMAT "99999" INITIAL 1 LABEL "int"
|
92
|
FIELD f5int1 AS INT INITIAL 1 LABEL "int1" XML-NODE-TYPE 'hidden'
|
93
|
FIELD f5int64 AS INT64 FORMAT "99999" INITIAL 4 LABEL "int64" SERIALIZE-NAME 'int64-field'
|
94
|
FIELD f5bool AS LOGICAL INITIAL TRUE LABEL "bool" SERIALIZE-NAME 'logical'
|
95
|
INDEX i5dx1 f5char
|
96
|
INDEX i5dx2 a5char DESC f5char DESC
|
97
|
INDEX i5dx3 AS PRIMARY f5int
|
98
|
.
|
99
|
|
100
|
DEFINE TEMP-TABLE tt6 NO-UNDO
|
101
|
/* NAMESPACE-URI "http://goldencode.com/testNamespace6"*/
|
102
|
/* NAMESPACE-PREFIX "fwdPrefix6" */
|
103
|
FIELD a6char AS CHAR FORMAT "XXXX" INITIAL '99aa' LABEL "char-attr" XML-NODE-NAME 'pk' SERIALIZE-NAME 'char' XML-NODE-TYPE 'attribute'
|
104
|
FIELD a6int AS INT FORMAT "99999" INITIAL 1 LABEL "int-attr" XML-DATA-TYPE 'long' XML-NODE-TYPE 'attribute'
|
105
|
FIELD f6char AS CHAR FORMAT "XXXX" INITIAL '99aa' LABEL "char" XML-NODE-NAME 'char-node' SERIALIZE-NAME 'char-field'
|
106
|
FIELD f6charcs AS CHAR FORMAT "XXXX" INITIAL 'aa88' CASE-SENSITIVE LABEL "char-cs"
|
107
|
FIELD f6decimal AS DECIMAL FORMAT "->>,>>9.9999" HELP 'help' DECIMALS 2 LABEL "decimal" COLUMN-LABEL "decimal-column"
|
108
|
FIELD f6int AS INT BGCOLOR 12 DCOLOR 9 FGCOLOR 14 PFCOLOR 16 FONT 1 MOUSE-POINTER 'cross' FORMAT "99999" INITIAL 1 LABEL "int"
|
109
|
FIELD f6int1 AS INT INITIAL 1 LABEL "int1" XML-NODE-TYPE 'hidden'
|
110
|
FIELD f6int64 AS INT64 FORMAT "99999" INITIAL 4 LABEL "int64" SERIALIZE-NAME 'int64-field'
|
111
|
FIELD f6bool AS LOGICAL INITIAL TRUE LABEL "bool" SERIALIZE-NAME 'logical'
|
112
|
INDEX i6dx1 f6char
|
113
|
INDEX i6dx2 a6char DESC f6char DESC
|
114
|
INDEX i6dx3 AS PRIMARY f6int
|
115
|
.
|
116
|
|
117
|
DEFINE DATASET ds
|
118
|
NAMESPACE-URI "http://goldencode.com/testNamespace"
|
119
|
NAMESPACE-PREFIX "fwdPrefix"
|
120
|
FOR tt-1, tt2, tt3, tt4, tt5, tt6
|
121
|
DATA-RELATION rel12 FOR tt-1, tt2 RELATION-FIELDS(f1int, f2int) NESTED FOREIGN-KEY-HIDDEN
|
122
|
DATA-RELATION rel13 FOR tt-1, tt3 RELATION-FIELDS(f1int, f3int) NESTED FOREIGN-KEY-HIDDEN
|
123
|
DATA-RELATION rel34 FOR tt3, tt4 RELATION-FIELDS(f3int, f4int) NESTED FOREIGN-KEY-HIDDEN
|
124
|
DATA-RELATION rel51 FOR tt5, tt-1 RELATION-FIELDS(f5int, f1int) NESTED FOREIGN-KEY-HIDDEN
|
125
|
.
|
126
|
|
127
|
DEF VAR dsh AS HANDLE NO-UNDO.
|
128
|
DEF VAR hdss AS HANDLE NO-UNDO.
|
129
|
DEF VAR hdsx AS HANDLE NO-UNDO.
|
130
|
DEF VAR lRet AS LOGICAL NO-UNDO.
|
131
|
DEF VAR nmsg AS INTEGER NO-UNDO.
|
132
|
DEF VAR n AS INTEGER NO-UNDO.
|
133
|
|
134
|
OUTPUT TO 'json-test/json-marshal.txt'.
|
135
|
|
136
|
CREATE tt-1. tt-1.f1char = '1.1111'. tt-1.f1int = 11. tt-1.f1decimal = 3.1465. tt-1.f1d4 = 1234.5678.
|
137
|
CREATE tt-1. tt-1.f1char = '1.2222'. tt-1.f1int = 12. tt-1.f1decimal = 3.1415926.
|
138
|
CREATE tt-1. tt-1.f1char = '1.3333'. tt-1.f1int = 13. tt-1.f1decimal = 3.1415926.
|
139
|
CREATE tt-1. tt-1.f1char = '1.4444'. tt-1.f1int = 14. tt-1.f1decimal = 3.1415926.
|
140
|
|
141
|
CREATE tt2. tt2.f2char = '2.1111'. tt2.f2int = 11. tt2.f2decimal = 3.1415.
|
142
|
CREATE tt2. tt2.f2char = '2.2222'. tt2.f2int = 22. tt2.f2decimal = 3.141515926.
|
143
|
|
144
|
CREATE tt3. tt3.f3char = '3.1111'. tt3.f3int = 11. tt3.f3decimal = 3.1415.
|
145
|
CREATE tt3. tt3.f3char = '3.2222'. tt3.f3int = 32. tt3.f3decimal = 3.141515926.
|
146
|
|
147
|
CREATE tt4. tt4.f4char = '4.1111'. tt4.f4int = 11. tt4.f4decimal = 3.1415.
|
148
|
CREATE tt4. tt4.f4char = '4.2222'. tt4.f4int = 42. tt4.f4decimal = 3.141515926.
|
149
|
|
150
|
CREATE tt5. tt5.f5char = '5.1111'. tt5.f5int = 11. tt5.f5decimal = 3.1415.
|
151
|
CREATE tt5. tt5.f5char = '5.3333'. tt5.f5int = 13. tt5.f5decimal = 3.141515926.
|
152
|
CREATE tt5. tt5.f5char = '5.4444'. tt5.f5int = 14. tt5.f5decimal = 3.141515926.
|
153
|
CREATE tt5. tt5.f5char = '5.2222'. tt5.f5int = 12. tt5.f5decimal = 3.141515926.
|
154
|
CREATE tt5. tt5.f5char = '5.5555'. tt5.f5int = 51. tt5.f5decimal = 3.141515926.
|
155
|
CREATE tt5. tt5.f5char = '5.6666'. tt5.f5int = 62. tt5.f5decimal = 3.141515926.
|
156
|
|
157
|
CREATE tt6. tt6.f6char = '6.1111'. tt6.f6int = 61. tt6.f6decimal = 3.1415.
|
158
|
CREATE tt6. tt6.f6char = '6.3333'. tt6.f6int = 63. tt6.f6decimal = 3.141515926.
|
159
|
CREATE tt6. tt6.f6char = '6.4444'. tt6.f6int = 64. tt6.f6decimal = 3.141515926.
|
160
|
CREATE tt6. tt6.f6char = '6.2222'. tt6.f6int = 62. tt6.f6decimal = 3.141515926.
|
161
|
CREATE tt6. tt6.f6char = '6.5555'. tt6.f6int = 65. tt6.f6decimal = 3.141515926.
|
162
|
CREATE tt6. tt6.f6char = '6.6666'. tt6.f6int = 66. tt6.f6decimal = 3.141515926.
|
163
|
|
164
|
|
165
|
dsh = DATASET ds:HANDLE.
|
166
|
|
167
|
lRet = dsh:WRITE-JSON('file', 'json-test/ds.json', TRUE, ?, FALSE, FALSE).
|
168
|
MESSAGE 'dsh:WRITE-JSON' lRet.
|
169
|
|
170
|
|
171
|
lRet = dsh:WRITE-XMLSCHEMA('file', 'json-test/ds.xsd', TRUE, 'UTF-8', FALSE, FALSE) NO-ERROR.
|
172
|
RUN show-error('dsh:WRITE-XMLSCHEMA').
|
173
|
MESSAGE 'dsh:WRITE-XMLSCHEMA' lRet.
|
174
|
|
175
|
lRet = dsh:WRITE-XML('file', 'json-test/ds.xml', TRUE, 'UTF-8', ?, FALSE, FALSE, ?, FALSE) NO-ERROR.
|
176
|
RUN show-error('dsh:WRITE-XML').
|
177
|
MESSAGE 'dsh:WRITE-XML' lRet.
|
178
|
|
179
|
CREATE DATASET hdss.
|
180
|
|
181
|
lRet = hdss:READ-JSON('file', 'json-test/ds.json', 'empty') NO-ERROR.
|
182
|
RUN show-error('hdss:READ-JSON').
|
183
|
MESSAGE 'hdss:READ-JSON' lRet.
|
184
|
|
185
|
RUN show-ds(hdss, "hdss").
|
186
|
|
187
|
dsh:SERIALIZE-HIDDEN = TRUE.
|
188
|
|
189
|
lRet = dsh:WRITE-XMLSCHEMA('file', 'json-test/xds.xsd', TRUE, 'UTF-8', FALSE, FALSE) NO-ERROR.
|
190
|
RUN show-error('dsh:WRITE-XMLSCHEMA').
|
191
|
MESSAGE 'dsh:WRITE-XMLSCHEMA SERIALIZE-HIDDEN' lRet.
|
192
|
|
193
|
lRet = dsh:WRITE-XML('file', 'json-test/xds.xml', TRUE, 'UTF-8', ?, FALSE, FALSE, ?, FALSE) NO-ERROR.
|
194
|
RUN show-error('dsh:WRITE-XML SERIALIZE-HIDDEN').
|
195
|
MESSAGE 'dsh:WRITE-XML SERIALIZE-HIDDEN' lRet.
|
196
|
|
197
|
lRet = dsh:WRITE-JSON('file', 'json-test/xds.json', TRUE, ?, FALSE, FALSE) NO-ERROR.
|
198
|
RUN show-error('dsh:WRITE-JSON SERIALIZE-HIDDEN').
|
199
|
MESSAGE 'dsh:WRITE-JSON SERIALIZE-HIDDEN' lRet.
|
200
|
|
201
|
|
202
|
CREATE DATASET hdsx.
|
203
|
|
204
|
lRet = hdsx:READ-JSON('file', 'json-test/xds.json', 'empty') NO-ERROR.
|
205
|
RUN show-error('hdsx:READ-JSON').
|
206
|
MESSAGE 'hdsx:READ-JSON' lRet.
|
207
|
|
208
|
RUN show-ds(hdsx, "hdsx").
|
209
|
|
210
|
OUTPUT CLOSE.
|
211
|
|
212
|
PROCEDURE show-ds:
|
213
|
DEF INPUT PARAM hds AS HANDLE.
|
214
|
DEF INPUT PARAM dsname AS CHAR.
|
215
|
|
216
|
lRet = hds:WRITE-JSON('file', 'json-test/' + dsname + '.json', TRUE, ?, FALSE, FALSE).
|
217
|
MESSAGE 'hds:WRITE-JSON' lRet.
|
218
|
|
219
|
lRet = hds:WRITE-XMLSCHEMA('file', 'json-test/' + dsname + '.xsd', TRUE, 'UTF-8', FALSE, FALSE).
|
220
|
MESSAGE 'hds:WRITE-XMLSCHEMA' lRet.
|
221
|
|
222
|
lRet = hds:WRITE-XML('file', 'json-test/' + dsname + '.xml', TRUE, 'UTF-8', ?, FALSE, FALSE, ?, FALSE).
|
223
|
MESSAGE 'hds:WRITE-XML' lRet.
|
224
|
|
225
|
MESSAGE "hds:NAME:" hds:NAME "hds:XML-NODE-NAME:" hds:XML-NODE-NAME "hds:SERIALIZE-NAME:" hds:SERIALIZE-NAME "hds:SERIALIZE-HIDDEN:" hds:SERIALIZE-HIDDEN.
|
226
|
MESSAGE "hds:NUM-RELATIONS:" hds:NUM-RELATIONS "hds:NUM-BUFFERS:" hds:NUM-BUFFERS "hds:NUM-TOP-BUFFERS:" hds:NUM-TOP-BUFFERS.
|
227
|
|
228
|
DEF VAR hb AS HANDLE NO-UNDO.
|
229
|
DEF VAR hf AS HANDLE NO-UNDO.
|
230
|
DEF VAR nf AS INTEGER NO-UNDO.
|
231
|
n = 1.
|
232
|
DO WHILE n <= hds:NUM-TOP-BUFFERS.
|
233
|
hb = hds:GET-TOP-BUFFER(n).
|
234
|
MESSAGE n "NAME:" hb:NAME "NUM-FIELDS:" hb:NUM-FIELDS.
|
235
|
nf = 1.
|
236
|
DO WHILE nf <= hb:NUM-FIELDS.
|
237
|
hf = hb:BUFFER-FIELD(nf).
|
238
|
MESSAGE nf "NAME:" hf:NAME "TYPE:" "SERIALIZE-HIDDEN:" hf:SERIALIZE-HIDDEN.
|
239
|
nf = nf + 1.
|
240
|
END.
|
241
|
n = n + 1.
|
242
|
END.
|
243
|
|
244
|
DEF VAR hr AS HANDLE NO-UNDO.
|
245
|
n = 1.
|
246
|
DO WHILE n <= hds:NUM-RELATIONS.
|
247
|
hr = hds:GET-RELATION(n).
|
248
|
MESSAGE hr:NAME "NESTED:" "hr:REPOSITION:" hr:REPOSITION hr:NESTED "PARENT-ID-RELATION:" hr:PARENT-ID-RELATION "RELATION-FIELDS: [" + hr:RELATION-FIELDS + "]".
|
249
|
n = n + 1.
|
250
|
END.
|
251
|
|
252
|
DEF VAR htt AS HANDLE NO-UNDO.
|
253
|
n = 1.
|
254
|
DO WHILE n <= hds:NUM-BUFFERS.
|
255
|
htt = hds:GET-BUFFER-HANDLE(n).
|
256
|
lRet = htt:WRITE-JSON('file', 'json-test/' + dsname + ':.1-' + STRING(n) + '.json', TRUE, ?, FALSE, FALSE).
|
257
|
MESSAGE 'hds:' + STRING(n) + ':WRITE-JSON.1' lRet.
|
258
|
n = n + 1.
|
259
|
END.
|
260
|
END.
|
261
|
|
262
|
PROCEDURE show-error:
|
263
|
DEF INPUT PARAM action AS CHAR.
|
264
|
|
265
|
MESSAGE "After" action ": error =" ERROR-STATUS:ERROR
|
266
|
"num-messages =" ERROR-STATUS:NUM-MESSAGES
|
267
|
"type =" ERROR-STATUS:TYPE
|
268
|
.
|
269
|
IF ERROR-STATUS:NUM-MESSAGES > 0 THEN DO:
|
270
|
DO nmsg = 1 TO ERROR-STATUS:NUM-MESSAGES:
|
271
|
MESSAGE "***" ERROR-STATUS:GET-NUMBER(nmsg) ':' ERROR-STATUS:GET-MESSAGE(nmsg).
|
272
|
END.
|
273
|
END.
|
274
|
END.
|