Project

General

Profile

ask-2.p

source code #1 - Ovidiu Maxiniuc, 10/13/2026 07:13 PM

Download (3.36 KB)

 
1
FUNCTION printCPs RETURNS CHAR (INPUT buf AS HANDLE):
2
   DEFINE VARIABLE ret AS CHAR.
3
   DEFINE VARIABLE cp AS CHAR.
4
   DEFINE VARIABLE i AS INT.
5

    
6
   buf:BUFFER-CREATE().
7
   ret = buf:NAME + ":". 
8
   
9
   DO WHILE TRUE:
10
      DEFINE VARIABLE fbh AS HANDLE.
11
      
12
      i = i + 1.
13
      fbh = buf:BUFFER-FIELD(i) NO-ERROR.
14
      IF fbh EQ ? THEN
15
         LEAVE.
16

    
17
      cp = GET-CODEPAGE(fbh:BUFFER-VALUE()) NO-ERROR.
18
      ret = ret + " " + (IF cp EQ ? THEN '?' ELSE cp).  
19
   END.
20
      
21
   MESSAGE ret.
22
END.
23

    
24
DEFINE SHARED TEMP-TABLE tt01 NO-UNDO
25
   FIELD f01_0 AS   CHAR
26
   FIELD f01_1 AS   CLOB
27
   FIELD f01_2 AS   CLOB TTCODEPAGE
28
   FIELD f01_3 AS   CLOB COLUMN-CODEPAGE "utf-32LE"
29
   FIELD f01_4 LIKE book.clob-1250RO
30
   FIELD f01_5 LIKE book.clob-utf8basic
31
   FIELD f01_6 AS   CLOB COLUMN-CODEPAGE "utf-32BE".
32
.
33
printCPs(BUFFER tt01:HANDLE).
34

    
35
DEFINE SHARED TEMP-TABLE tt02 NO-UNDO
36
   FIELD f02_0  AS   CHAR
37
   FIELD f02_1  AS   CLOB
38
   FIELD f02_2  AS   CLOB TTCODEPAGE
39
   FIELD f02_3  AS   CLOB COLUMN-CODEPAGE "utf-8"
40
   FIELD f02_4  LIKE book.clob-1250RO
41
   FIELD f02_5  LIKE book.clob-utf8basic
42
   FIELD f02_6  LIKE tt01.f01_1
43
   FIELD f02_7  LIKE tt01.f01_2
44
   FIELD f02_8  LIKE tt01.f01_3
45
   FIELD f02_9  LIKE tt01.f01_4
46
   FIELD f02_10 LIKE tt01.f01_5
47
   FIELD f02_11 LIKE tt01.f01_6
48
.
49
printCPs(BUFFER tt02:HANDLE).
50

    
51
DEFINE SHARED TEMP-TABLE tt03 LIKE tt02.
52
printCPs(BUFFER tt03:HANDLE).
53

    
54
DEFINE SHARED TEMP-TABLE tt04 NO-UNDO
55
   FIELD f04_0  AS   CHAR
56
   FIELD f04_1  AS   CLOB
57
   FIELD f04_2  AS   CLOB TTCODEPAGE
58
   FIELD f04_3  AS   CLOB COLUMN-CODEPAGE "utf-8"
59
   FIELD f04_4  LIKE book.clob-1250RO
60
   FIELD f04_5  LIKE book.clob-utf8basic
61
   FIELD f04_6  LIKE tt02.f02_1
62
   FIELD f04_7  LIKE tt02.f02_2
63
   FIELD f04_8  LIKE tt02.f02_3
64
   FIELD f04_9  LIKE tt02.f02_4
65
   FIELD f04_10 LIKE tt02.f02_5
66
   FIELD f04_11 LIKE tt02.f02_11
67
   FIELD f04_12 LIKE tt01.f01_6
68
.
69
printCPs(BUFFER tt04:HANDLE).
70

    
71
DEFINE VARIABLE dtbh AS HANDLE.
72
DEFINE VARIABLE dbh AS HANDLE.
73
DEFINE VARIABLE dfbh1 AS HANDLE.
74
CREATE TEMP-TABLE dtbh.
75
MESSAGE dtbh:ADD-LIKE-FIELD("f1",  "tt02.f02_1")
76
        dtbh:ADD-LIKE-FIELD("f2",  "tt02.f02_2")
77
        dtbh:ADD-LIKE-FIELD("f3",  "tt02.f02_3")
78
        dtbh:ADD-LIKE-FIELD("f4",  "tt02.f02_4")
79
        dtbh:ADD-LIKE-FIELD("f5",  "tt02.f02_5")
80
        dtbh:ADD-LIKE-FIELD("f6",  "tt02.f02_6")
81
        dtbh:ADD-LIKE-FIELD("f7",  "tt02.f02_7")
82
        dtbh:ADD-LIKE-FIELD("f8",  "tt02.f02_8")
83
        dtbh:ADD-LIKE-FIELD("f9",  "tt02.f02_9")
84
        dtbh:ADD-LIKE-FIELD("f10", "tt02.f02_10")
85
        dtbh:ADD-LIKE-FIELD("f11", "tt02.f02_11")
86
        dtbh:ADD-LIKE-FIELD("f12", "book.clob-1250RO")
87
        dtbh:ADD-LIKE-FIELD("f13", "book.clob-utf8basic")
88
        dtbh:ADD-LIKE-FIELD("f14", "tt02.dfsdfsdf")     // Could not find source field dfsdfsdf during ADD-LIKE-FIELD. (9055)
89
        dtbh:ADD-LIKE-FIELD("f15", "book.dfsdfsdf")     // Could not find source field dfsdfsdf during ADD-LIKE-FIELD. (9055)
90
        dtbh:ADD-LIKE-FIELD("f16", "dfsdfsdf.dfsdfsdf") // Could not find table dfsdfsdf during ADD-LIKE-FIELD.  Table names must not be abbreviated. (9054)
91
        dtbh:TEMP-TABLE-PREPARE("dtt1")
92
     . // yes yes yes yes yes yes yes yes yes yes yes yes yes no no no yes
93

    
94
dbh = dtbh:DEFAULT-BUFFER-HANDLE.
95
dbh:BUFFER-CREATE().
96
printCPs(dbh).
97

    
98

    
99
CREATE TEMP-TABLE dtbh.
100
dtbh:CREATE-LIKE("tt02").
101
dtbh:TEMP-TABLE-PREPARE("dtt2").
102
dbh = dtbh:DEFAULT-BUFFER-HANDLE.
103
dbh:BUFFER-CREATE().
104
printCPs(dbh).