Project

General

Profile

buffer-copy-pair-list.p

Vadim Nebogatov, 08/03/2014 06:17 PM

Download (2.22 KB)

 
1
def var bool as logical no-undo.
2

    
3
/* aa */
4
def temp-table aa
5
field a1 as character extent 5
6
field a2 as character extent 3
7
field a3 as character extent 3
8
field a4 as character.
9

    
10
def buffer bufa for aa.
11
def var hba as handle.
12
hba = buffer bufa:handle.
13

    
14
create bufa.
15
assign a1[1] = "a11"
16
       a1[2] = "a12"
17
       a1[3] = "a13"
18
       a1[4] = "a14"
19
       a1[5] = "a15"
20
       a2[1] = "a21"
21
       a2[2] = "a22"
22
       a2[3] = "a23"
23
       a3[1] = "a31"
24
       a3[2] = "a32"
25
       a3[3] = "a33"
26
       a4 = "a2".
27

    
28
/* bb */
29
def temp-table bb
30
field b1 as character extent 3
31
field b2 as character
32
field b3 as character.
33

    
34
def buffer bufb for bb.
35
def var hbb as handle.
36
hbb = buffer bufb:handle.
37

    
38
create bufb.
39
assign b1[1] = "b11"
40
       b1[2] = "b12"
41
       b1[3] = "b13"
42
       b2 = "b2"
43
       b3 = "b3".
44

    
45
DO TRANSACTION ON ERROR UNDO, LEAVE:
46
  message "Test 1".
47
  bool = hba:buffer-copy(hbb, "", "a2,b1").
48
  message "Result 1: " string(bool).
49
END.
50

    
51
DO TRANSACTION ON ERROR UNDO, LEAVE:
52
  message "Test 2".
53
  bool = hba:buffer-copy(hbb, "", "a1,b1").
54
  message "Result 2: " string(bool).
55
END.
56

    
57
DO TRANSACTION ON ERROR UNDO, LEAVE:
58
  message "Test 3".
59
  bool = hba:buffer-copy(hbb, "", "a2,b1,a2,b1,a2,b1,a2,b1,a2,b1,a2,b1,a2,b1,a2,b1,a2,b1,a2,b1,a2,b1,a2,b1").
60
  message "Result 3: " string(bool).
61
END.
62

    
63
DO TRANSACTION ON ERROR UNDO, LEAVE:
64
  message "Test 4".
65
  bool = hba:buffer-copy(hbb, "", "a2,b1,a2,b1,a2,b1,a2,b1,a2,b1,a2,b1,a2,b1,a2,b1,a2,b1,a2,b1,a2,b1,a2").
66
  message "Result 4: " string(bool).
67
END.
68

    
69
DO TRANSACTION ON ERROR UNDO, LEAVE:
70
  message "Test 5".
71
  bool = hba:buffer-copy(hbb, "", "a2,b1,a2,b1,a2,b1,a2,b1,a2,b1,a2,b1,a2,b1,a2,b1,a2,b1,a2,b1,a2,b1,a1,b1").
72
  message "Result 5: " string(bool).
73
END.
74

    
75
DO TRANSACTION ON ERROR UNDO, LEAVE:
76
  message "Test 6".
77
  bool = hba:buffer-copy(hbb, "", "a2,b1,a3,b1,a2,b1,a3,b1,a2,b1,a3,b1,a2,b1,a3,b1,a2,b1,a3,b1").
78
  message "Result 6: " string(bool).
79
END.
80

    
81
DO TRANSACTION ON ERROR UNDO, LEAVE:
82
  message "Test 7".
83
  bool = hba:buffer-copy(hbb, "", "a2[1],b1[2],a2[2],b1[2],a2[3],b1[2],a2[1],b1[2],a2[1],b1[1]").
84
  message "Result 7: " string(bool).
85
END.
86

    
87
DO TRANSACTION ON ERROR UNDO, LEAVE:
88
  message "Test 8".
89
  bool = hba:buffer-copy(hbb, "", "a4,b2,a4,b3,a4,b3,a4,b3").
90
  message "Result 8: " string(bool).
91
END.
92