1
|
DEFINE TEMP-TABLE tt NO-UNDO
|
2
|
NAMESPACE-URI "http://goldencode.com/testNamespace"
|
3
|
NAMESPACE-PREFIX "fwdPrefix"
|
4
|
FIELD achar AS CHAR FORMAT "XXXX" INITIAL '99aa' LABEL "char-attr" XML-NODE-NAME 'pk' SERIALIZE-NAME 'char' XML-NODE-TYPE 'attribute'
|
5
|
FIELD aint AS INT FORMAT "99999" INITIAL 1 LABEL "int-attr" XML-DATA-TYPE 'long' XML-NODE-TYPE 'attribute'
|
6
|
FIELD fchar AS CHAR FORMAT "XXXX" INITIAL '99aa' LABEL "char" XML-NODE-NAME 'char-node' SERIALIZE-NAME 'char-field'
|
7
|
FIELD fcharcs AS CHAR FORMAT "XXXX" INITIAL 'aa88' CASE-SENSITIVE LABEL "char-cs"
|
8
|
FIELD fcharext AS CHAR EXTENT 8 INITIAL '99ee' CASE-SENSITIVE LABEL "char-ext" XML-NODE-NAME 'extent-node'
|
9
|
FIELD fdecimal AS DECIMAL FORMAT "->>,>>9.99" HELP 'help' DECIMALS 2 LABEL "decimal" COLUMN-LABEL "decimal-column"
|
10
|
FIELD fint AS INT BGCOLOR 12 DCOLOR 9 FGCOLOR 14 PFCOLOR 16 FONT 1 MOUSE-POINTER 'cross' FORMAT "99999" INITIAL 1 LABEL "int"
|
11
|
FIELD fint1 AS INT INITIAL 1 LABEL "int1" XML-NODE-TYPE 'hidden'
|
12
|
FIELD fint64 AS INT64 FORMAT "99999" INITIAL 4 LABEL "int64" SERIALIZE-NAME 'int64-field'
|
13
|
FIELD fbool AS LOGICAL INITIAL TRUE LABEL "bool" SERIALIZE-NAME 'logical'
|
14
|
FIELD fdate AS DATE INITIAL TODAY LABEL "date"
|
15
|
FIELD fdatetime AS DATETIME INITIAL NOW LABEL "datetime"
|
16
|
FIELD fdatetime-tz AS DATETIME-TZ INITIAL NOW LABEL "datetime-tz"
|
17
|
FIELD fdatetime-tz1 AS DATETIME-TZ INITIAL "10/17/2022 13:47:48.426+03:00" LABEL "datetime-tz1"
|
18
|
FIELD fblob AS BLOB LABEL "blob" COLUMN-LABEL "blob-column"
|
19
|
FIELD fclob1 AS CLOB LABEL "clob1" TTCODEPAGE XML-NODE-TYPE 'hidden'
|
20
|
FIELD fclob2 AS CLOB LABEL "clob2" COLUMN-CODEPAGE 'ibm850'
|
21
|
FIELD frecid AS RECID LABEL "recid"
|
22
|
FIELD fhandle AS HANDLE LABEL "handle"
|
23
|
FIELD fcom-handle AS COM-HANDLE LABEL "com-handle"
|
24
|
FIELD fraw AS RAW
|
25
|
FIELD frowid AS ROWID
|
26
|
FIELD aint1 AS INT FORMAT "99999" INITIAL 1 LABEL "int-attr" XML-NODE-TYPE 'attribute'
|
27
|
INDEX idx1 fchar
|
28
|
INDEX idx2 achar
|
29
|
INDEX idx3 AS UNIQUE fint
|
30
|
.
|
31
|
|
32
|
DEF VAR tth AS HANDLE NO-UNDO.
|
33
|
DEF VAR hServer AS HANDLE NO-UNDO.
|
34
|
DEF VAR lRet AS LOGICAL NO-UNDO.
|
35
|
DEF VAR nmsg AS INTEGER NO-UNDO.
|
36
|
|
37
|
OUTPUT TO 'marshal-test/tt-marshal.txt'.
|
38
|
|
39
|
CREATE tt. tt.fchar = '1111'. tt.fint = 1.
|
40
|
CREATE TT. tt.fchar = '2222'. tt.fint = 2.
|
41
|
|
42
|
tth = TEMP-TABLE tt:HANDLE.
|
43
|
lRet = tth:WRITE-XMLSCHEMA('file', 'marshal-test/tt.xsd', TRUE, 'UTF-8', FALSE, FALSE).
|
44
|
MESSAGE 'tth:WRITE-XMLSCHEMA' lRet.
|
45
|
lRet = tth:WRITE-XML('file', 'marshal-test/tt.xml', TRUE, 'UTF-8', 'marshal-test/tt.xsd', FALSE, FALSE, ?, FALSE).
|
46
|
MESSAGE 'tth:WRITE-XML' lRet.
|
47
|
|
48
|
|
49
|
hServer = SESSION.
|
50
|
|
51
|
tth:SCHEMA-MARSHAL = 'FULL'.
|
52
|
MESSAGE 'tth:SCHEMA-MARSHAL' tth:SCHEMA-MARSHAL.
|
53
|
//RUN accept(tth, tth:SCHEMA-MARSHAL) NO-ERROR.
|
54
|
RUN tt-marshal-accept.p ON hServer(tth, tth:SCHEMA-MARSHAL).
|
55
|
RUN show-error('after RPC-FULL').
|
56
|
|
57
|
tth:SCHEMA-MARSHAL = 'MIN'.
|
58
|
MESSAGE 'tth:SCHEMA-MARSHAL' tth:SCHEMA-MARSHAL.
|
59
|
//RUN accept(tth, tth:SCHEMA-MARSHAL) NO-ERROR.
|
60
|
RUN tt-marshal-accept.p ON hServer(tth, tth:SCHEMA-MARSHAL).
|
61
|
RUN show-error('after RPC-MIN').
|
62
|
|
63
|
tth:SCHEMA-MARSHAL = 'NONE'.
|
64
|
MESSAGE 'tth:SCHEMA-MARSHAL' tth:SCHEMA-MARSHAL.
|
65
|
//RUN accept(tth, tth:SCHEMA-MARSHAL) NO-ERROR.
|
66
|
RUN tt-marshal-accept.p ON hServer(tth, tth:SCHEMA-MARSHAL).
|
67
|
RUN show-error('after RPC-NONE').
|
68
|
|
69
|
OUTPUT CLOSE.
|
70
|
|
71
|
PROCEDURE show-error:
|
72
|
DEF INPUT PARAM action AS CHAR.
|
73
|
|
74
|
MESSAGE "After" action ": error =" ERROR-STATUS:ERROR
|
75
|
"num-messages =" ERROR-STATUS:NUM-MESSAGES
|
76
|
"type =" ERROR-STATUS:TYPE
|
77
|
.
|
78
|
IF ERROR-STATUS:NUM-MESSAGES > 0 THEN DO:
|
79
|
DO nmsg = 1 TO ERROR-STATUS:NUM-MESSAGES:
|
80
|
MESSAGE "***" ERROR-STATUS:GET-NUMBER(nmsg) ':' ERROR-STATUS:GET-MESSAGE(nmsg).
|
81
|
END.
|
82
|
END.
|
83
|
END.
|