|
1
|
DEFINE VARIABLE c AS INTEGER INIT 0.
|
|
2
|
FUNCTION func0 RETURNS CHAR ():
|
|
3
|
c = c + 1.
|
|
4
|
|
|
5
|
IF c EQ 1 THEN DO:
|
|
6
|
MESSAGE "f0: 1250" c.
|
|
7
|
RETURN "1250".
|
|
8
|
END. ELSE IF c EQ 2 THEN DO:
|
|
9
|
MESSAGE "f0: iso8859-15" c.
|
|
10
|
RETURN "iso8859-15".
|
|
11
|
END. ELSE IF c EQ 3 THEN DO:
|
|
12
|
MESSAGE "f0: utf-16" c.
|
|
13
|
RETURN "utf-16".
|
|
14
|
END. ELSE IF c EQ 4 THEN DO:
|
|
15
|
MESSAGE "f0: roman-8" c.
|
|
16
|
RETURN "roman-8".
|
|
17
|
END. ELSE IF c EQ 5 THEN DO:
|
|
18
|
MESSAGE "f0: big-5" c.
|
|
19
|
RETURN "big-5".
|
|
20
|
END. ELSE IF c EQ 4 THEN DO:
|
|
21
|
MESSAGE "f0: gb18030" c.
|
|
22
|
RETURN "gb18030".
|
|
23
|
END.
|
|
24
|
|
|
25
|
MESSAGE "f0: ibm850" c.
|
|
26
|
RETURN "ibm850".
|
|
27
|
END.
|
|
28
|
|
|
29
|
FUNCTION printCPs RETURNS CHAR (INPUT buf AS HANDLE ):
|
|
30
|
DEFINE VARIABLE ret AS CHAR.
|
|
31
|
DEFINE VARIABLE cp AS CHAR.
|
|
32
|
DEFINE VARIABLE i AS INT.
|
|
33
|
|
|
34
|
buf:BUFFER-CREATE().
|
|
35
|
ret = buf:NAME + ":".
|
|
36
|
|
|
37
|
DO WHILE TRUE:
|
|
38
|
DEFINE VARIABLE fbh AS HANDLE.
|
|
39
|
|
|
40
|
i = i + 1.
|
|
41
|
fbh = buf:BUFFER-FIELD(i) NO-ERROR.
|
|
42
|
IF fbh EQ ? THEN
|
|
43
|
LEAVE.
|
|
44
|
|
|
45
|
cp = GET-CODEPAGE(fbh:BUFFER-VALUE()) NO-ERROR.
|
|
46
|
ret = ret + " " + (IF cp EQ ? THEN '?' ELSE cp).
|
|
47
|
END.
|
|
48
|
|
|
49
|
MESSAGE ret.
|
|
50
|
END.
|
|
51
|
|
|
52
|
IF YES THEN RETURN ERROR.
|
|
53
|
MESSAGE "IF YES THEN RETURN ERROR.".
|
|
54
|
|
|
55
|
DEFINE NEW SHARED TEMP-TABLE tt01 NO-UNDO
|
|
56
|
FIELD f01_0 AS CHAR
|
|
57
|
FIELD f01_1 AS CLOB
|
|
58
|
FIELD f01_2 AS CLOB TTCODEPAGE
|
|
59
|
FIELD f01_3 AS CLOB COLUMN-CODEPAGE "utf-8"
|
|
60
|
FIELD f01_4 LIKE book.clob-1250RO
|
|
61
|
FIELD f01_5 LIKE book.clob-utf8basic
|
|
62
|
FIELD f01_6 AS CLOB COLUMN-CODEPAGE func0().
|
|
63
|
.
|
|
64
|
printCPs(BUFFER tt01:HANDLE).
|
|
65
|
|
|
66
|
DEFINE NEW SHARED TEMP-TABLE tt02 NO-UNDO
|
|
67
|
FIELD f02_0 AS CHAR
|
|
68
|
FIELD f02_1 AS CLOB
|
|
69
|
FIELD f02_2 AS CLOB TTCODEPAGE
|
|
70
|
FIELD f02_3 AS CLOB COLUMN-CODEPAGE "utf-8"
|
|
71
|
FIELD f02_4 LIKE book.clob-1250RO
|
|
72
|
FIELD f02_5 LIKE book.clob-utf8basic
|
|
73
|
FIELD f02_6 LIKE tt01.f01_1
|
|
74
|
FIELD f02_7 LIKE tt01.f01_2
|
|
75
|
FIELD f02_8 LIKE tt01.f01_3
|
|
76
|
FIELD f02_9 LIKE tt01.f01_4
|
|
77
|
FIELD f02_10 LIKE tt01.f01_5
|
|
78
|
FIELD f02_11 LIKE tt01.f01_6
|
|
79
|
.
|
|
80
|
printCPs(BUFFER tt02:HANDLE).
|
|
81
|
|
|
82
|
DEFINE NEW SHARED TEMP-TABLE tt03 LIKE tt02.
|
|
83
|
printCPs(BUFFER tt03:HANDLE).
|
|
84
|
|
|
85
|
DEFINE NEW SHARED TEMP-TABLE tt04 NO-UNDO
|
|
86
|
FIELD f04_0 AS CHAR
|
|
87
|
FIELD f04_1 AS CLOB
|
|
88
|
FIELD f04_2 AS CLOB TTCODEPAGE
|
|
89
|
FIELD f04_3 AS CLOB COLUMN-CODEPAGE "utf-8"
|
|
90
|
FIELD f04_4 LIKE book.clob-1250RO
|
|
91
|
FIELD f04_5 LIKE book.clob-utf8basic
|
|
92
|
FIELD f04_6 LIKE tt02.f02_1
|
|
93
|
FIELD f04_7 LIKE tt02.f02_2
|
|
94
|
FIELD f04_8 LIKE tt02.f02_3
|
|
95
|
FIELD f04_9 LIKE tt02.f02_4
|
|
96
|
FIELD f04_10 LIKE tt02.f02_5
|
|
97
|
FIELD f04_11 LIKE tt02.f02_11
|
|
98
|
FIELD f04_12 LIKE tt01.f01_6
|
|
99
|
.
|
|
100
|
printCPs(BUFFER tt04:HANDLE).
|
|
101
|
|
|
102
|
|
|
103
|
DEFINE VARIABLE dtbh AS HANDLE.
|
|
104
|
DEFINE VARIABLE dbh AS HANDLE.
|
|
105
|
DEFINE VARIABLE dfbh1 AS HANDLE.
|
|
106
|
CREATE TEMP-TABLE dtbh.
|
|
107
|
MESSAGE dtbh:ADD-LIKE-FIELD("f1", "tt02.f02_1")
|
|
108
|
dtbh:ADD-LIKE-FIELD("f2", "tt02.f02_2")
|
|
109
|
dtbh:ADD-LIKE-FIELD("f3", "tt02.f02_3")
|
|
110
|
dtbh:ADD-LIKE-FIELD("f4", "tt02.f02_4")
|
|
111
|
dtbh:ADD-LIKE-FIELD("f5", "tt02.f02_5")
|
|
112
|
dtbh:ADD-LIKE-FIELD("f6", "tt02.f02_6")
|
|
113
|
dtbh:ADD-LIKE-FIELD("f7", "tt02.f02_7")
|
|
114
|
dtbh:ADD-LIKE-FIELD("f8", "tt02.f02_8")
|
|
115
|
dtbh:ADD-LIKE-FIELD("f9", "tt02.f02_9")
|
|
116
|
dtbh:ADD-LIKE-FIELD("f10", "tt02.f02_10")
|
|
117
|
dtbh:ADD-LIKE-FIELD("f11", "tt02.f02_11")
|
|
118
|
dtbh:ADD-LIKE-FIELD("f12", "book.clob-1250RO")
|
|
119
|
dtbh:ADD-LIKE-FIELD("f13", "book.clob-utf8basic")
|
|
120
|
dtbh:ADD-LIKE-FIELD("f14", "tt02.dfsdfsdf") // Could not find source field dfsdfsdf during ADD-LIKE-FIELD. (9055)
|
|
121
|
dtbh:ADD-LIKE-FIELD("f15", "book.dfsdfsdf") // Could not find source field dfsdfsdf during ADD-LIKE-FIELD. (9055)
|
|
122
|
dtbh:ADD-LIKE-FIELD("f16", "dfsdfsdf.dfsdfsdf") // Could not find table dfsdfsdf during ADD-LIKE-FIELD. Table names must not be abbreviated. (9054)
|
|
123
|
dtbh:TEMP-TABLE-PREPARE("dtt1")
|
|
124
|
. // yes yes yes yes yes yes yes yes yes yes yes yes yes no no no yes
|
|
125
|
|
|
126
|
dbh = dtbh:DEFAULT-BUFFER-HANDLE.
|
|
127
|
dbh:BUFFER-CREATE().
|
|
128
|
printCPs(dbh).
|
|
129
|
|
|
130
|
|
|
131
|
CREATE TEMP-TABLE dtbh.
|
|
132
|
dtbh:CREATE-LIKE("tt02").
|
|
133
|
dtbh:TEMP-TABLE-PREPARE("dtt2").
|
|
134
|
dbh = dtbh:DEFAULT-BUFFER-HANDLE.
|
|
135
|
dbh:BUFFER-CREATE().
|
|
136
|
printCPs(dbh).
|
|
137
|
|
|
138
|
|
|
139
|
run ask-2.p.
|
|
140
|
|