Appendix A. The Extended Attribute System Tables

About this appendix

This appendix describes each column in the extended attribute system tables.

About the extended attribute system tables

PowerBuilder stores application-based information you provide for a database table (such as the text to use for labels and headings for the columns, validation rules, display formats, and edit styles) in system tables in your database. These system tables are called the extended attribute system tables. The tables contain all the information related to the extended attributes for the tables and columns in the database. The extended attributes are used in DataWindow objects.

The system tables

There are five extended attribute system tables.

Table

Contains information about

PBCatTbl

Tables in the database

PBCatCol

Columns in the database

PBCatFmt

Display formats

PBCatVld

Validation rules

PBCatEdt

Edit styles


What to do with the tables

You can open and look at these tables in the Database painter just like other tables. You might want to create a report of the extended attribute information used in your database by building a DataWindow object whose data source is the extended attribute system tables.

Caution

You should not change the values in the extended attribute system tables. PowerBuilder maintains this information automatically whenever you change information for a table or column in the Database painter.

The extended attribute system tables

This section lists and describes all of the columns in each of the extended attribute system tables.

Column

Column name

Description

1

pbt_tnam

Table name

2

pbt_tid

Adaptive Server Enterprise Object ID of table (used for Adaptive Server Enterprise only)

3

pbt_ownr

Table owner

4

pbd_fhgt

Data font height, PowerBuilder units

5

pbd_fwgt

Data font stroke weight (400=Normal, 700=Bold)

6

pbd_fitl

Data font Italic (Y=Yes, N=No)

7

pbd_funl

Data font Underline (Y=Yes, N=No)

8

pbd_fchr

Data font character set (0=ANSI, 2=Symbol, 255=OEM)

9

pbd_fptc

Data font pitch and family (see note)

10

pbd_ffce

Data font typeface

11

pbh_fhgt

Headings font height, PowerBuilder units

12

pbh_fwgt

Headings font stroke weight (400=Normal, 700=Bold)

13

pbh_fitl

Headings font Italic (Y=Yes, N=No)

14

pbh_funl

Headings font Underline (Y=Yes, N=No)

15

pbh_fchr

Headings font character set (0=ANSI, 2=Symbol, 255=OEM)

16

pbh_fptc

Headings font pitch and family (see note)

17

pbh_ffce

Headings font typeface

18

pbl_fhgt

Labels font height, PowerBuilder units

19

pbl_fwgt

Labels font stroke weight (400=Normal, 700=Bold)

20

pbl_fitl

Labels font Italic (Y=Yes, N=No)

21

pbl_funl

Labels font Underline (Y=Yes, N=No)

22

pbl_fchr

Labels font character set (0=ANSI, 2=Symbol, 255=OEM)

23

pbl_fptc

Labels font pitch and family (see note)

24

pbl_ffce

Labels font typeface

25

pbt_cmnt

Table comments


About font pitch and family

Font pitch and family is a number obtained by adding together two constants:

  • Pitch: 0=Default, 1=Fixed, 2=Variable

  • Family: 0=No Preference, 16=Roman, 32=Swiss, 48=Modern, 64=Script, 80=Decorative

Column

Column name

Description

1

pbc_tnam

Table name

2

pbc_tid

Adaptive Server Enterprise Object ID of table (used for Adaptive Server Enterprise only)

3

pbc_ownr

Table owner

4

pbc_cnam

Column name

5

pbc_cid

Adaptive Server Enterprise Column ID (used for Adaptive Server Enterprise only)

6

pbc_labl

Label

7

pbc_lpos

Label position (23=Left, 24=Right)

8

pbc_hdr

Heading

9

pbc_hpos

Heading position (23=Left, 24=Right, 25=Center)

10

pbc_jtfy

Justification (23=Left, 24=Right)

11

pbc_mask

Display format name

12

pbc_case

Case (26=Actual, 27=UPPER, 28=lower)

13

pbc_hght

Column height, PowerBuilder units

14

pbc_wdth

Column width, PowerBuilder units

15

pbc_ptrn

Validation rule name

16

pbc_bmap

Bitmap/picture (Y=Yes, N=No)

17

pbc_init

Initial value

18

pbc_cmnt

Column comments

19

pbc_edit

Edit style name

20

pbc_tag

(Reserved)


Column

Column name

Description

1

pbf_name

Display format name

2

pbf_frmt

Display format

3

pbf_type

Datatype to which format applies

4

pbf_cntr

Concurrent-usage flag


Column

Column name

Description

1

pbv_name

Validation rule name

2

pbv_vald

Validation rule

3

pbv_type

Datatype to which validation rule applies

4

pbv_cntr

Concurrent-usage flag

5

pbv_msg

Validation error message


Column

Column name

Description

1

pbe_name

Edit style name

2

pbe_edit

Format string (edit style type dependent; see Edit style types for the PBCatEdt table)

3

pbe_type

Edit style type (see the following table)

4

pbe_cntr

Revision counter (increments each time edit style is altered)

5

pbe_seqn

Row sequence number for edit types requiring more than one row in PBCatEdt table

6

pbe_flag

Edit style flag (edit style type dependent)

7

pbe_work

Extra field (edit style type dependent)


Edit style types for the PBCatEdt table

The following table shows the edit style types available for the PBCatEdt table.

Edit style type

pbe_type value (column 3)

CheckBox

85

RadioButton

86

DropDownListBox

87

DropDownDataWindow

88

Edit

89

Edit Mask

90


CheckBox edit style (code 85)

The following tables shows a sample row in the PBCatEdt table for a CheckBox edit style and the meaning of the values.

Name

Edit

Type

Cntr

Seqn

Flag

Work

MyEdit

Text

85

1

1

Flag

 

MyEdit

OnValue

85

1

2

0

 

MyEdit

OffValue

85

1

3

0

 

MyEdit

ThirdValue

85

1

4

0

 

Value

Meaning

Text

CheckBox text

OnValue

Data value for On state

OffValue

Data value for Off state

ThirdValue

Data value for Third state (this row exists only if 3 State is checked for the edit style—bit 30 of Flag is 1)

Flag

32-bit flag. Low-order four hex digits are generic edit type; high-order four are styles within the type. A 1 in any bit indicates the corresponding style is checked. A 0 in any bit indicates the corresponding style is unchecked.

Bit 31: Left Text

Bit 30: 3 State

Bit 29: 3D

Bit 28: Scale Box

Bits 27 – 16 (3 hex digits): Not used (set to 0)

Bits 15 – 4 (3 hex digits): Always 0 for CheckBox edit style

Bit 3: Always 0 for CheckBox edit style

Bit 2: Always 1 for CheckBox edit style

Bit 1: Always 0 for CheckBox edit style

Bit 0: Always 0 for CheckBox edit style


RadioButton edit style (code 86)

The following tables show a sample row in the PBCatEdt table for a RadioButton edit style and the meaning of the values.

Name

Edit

Type

Cntr

Seqn

Flag

Work

MyEdit

Columns

86

1

1

Flag

 

MyEdit

Display1

86

1

2

0

 

MyEdit

Data1

86

1

3

0

 

MyEdit

Display2

86

1

4

0

 

MyEdit

Data2

86

1

5

0

 

Value

Meaning

Columns

Character representation (in decimal) of number of columns (buttons) across.

Display1

Display value for first button.

Data1

Data value for first button.

Display2

Display value for second button.

Data2

Data value for second button.

Display and data values are repeated in pairs for each radio button defined in the edit style.

Flag

32-bit flag. Low-order four hex digits are generic edit type; high-order four are styles within the type. A 1 in any bit indicates the corresponding style is checked. A 0 in any bit indicates the corresponding style is unchecked.

Bit 31: Left Text

Bit 30: 3D

Bit 29: Scale Circles

Bit 38: Not used (set to 0)

Bits 27 – 16 (3 hex digits): Not used (set to 0)

Bits 15 – 4 (3 hex digits): Always 0 for RadioButton edit style

Bit 3: Always 1 for RadioButton edit style

Bit 2: Always 0 for RadioButton edit style

Bit 1: Always 0 for RadioButton edit style

Bit 0: Always 0 for RadioButton edit style


DropDownListBox edit style (code 87)

The following tables show a sample row in the PBCatEdt table for a DropDownListBox edit style and the meaning of the values.

Name

Edit

Type

Cntr

Seqn

Flag

Work

MyEdit

Limit

87

1

1

Flag

Key

MyEdit

Display1

87

1

2

0

 

MyEdit

Data1

87

1

3

0

 

MyEdit

Display2

87

1

4

0

 

MyEdit

Data2

87

1

5

0

 

Value

Meaning

Limit

Character representation (in decimal) of the Limit value.

Key

One-character accelerator key.

Display1

Display value for first entry in code table.

Data1

Data value for first entry in code table.

Display2

Display value for second entry in code table.

Data2

Data value for second entry in code table.

Display and data values are repeated in pairs for each entry in the code table.

Flag

32-bit flag. Low-order four hex digits are generic edit type; high-order four are styles within the type. A 1 in any bit indicates the corresponding style is checked. A 0 in any bit indicates the corresponding style is unchecked.

Bit 31: Sorted

Bit 30: Allow editing

Bit 29: Auto HScroll

Bit 28: VScroll bar

Bit 27: Always show list

Bit 26: Always show arrow

Bit 25: Uppercase

Bit 24: Lowercase (if bits 25 and 24 are both 0, then case is Any)

Bit 23: Empty string is NULL

Bit 22: Required field

Bit 21: Not used (set to 0)

Bit 20: Not used (set to 0)

Bits 19 – 16 (1 hex digit): Not used (set to 0)

Bits 15 – 4 (3 hex digits): Always 0 for DropDownListBox edit style

Bit 3: Always 0 for DropDownListBox edit style

Bit 2: Always 0 for DropDownListBox edit style

Bit 1: Always 1 for DropDownListBox edit style

Bit 0: Always 0 for DropDownListBox edit style


DropDownDataWindow edit style (code 88)

The following tables show a sample row in the PBCatEdt table for a DropDownDataWindow edit style and the meaning of the values.

Name

Edit

Type

Cntr

Seqn

Flag

Work

MyEdit

DataWin

88

1

1

Flag

Limit

MyEdit

DataCol

88

1

2

0

Key

MyEdit

DisplayCol

88

1

3

0

Width%


Value

Meaning

DataWin

Name of DataWindow object to use.

DataCol

Data column from DataWindow object.

DisplayCol

Display column from DataWindow object.

Limit

Character representation (in decimal) of Limit value.

Key

One-character accelerator key.

Width%

Width of the dropdown part of the DropDownDataWindow in %.

Flag

32-bit flag. Low-order four hex digits are generic edit type; high-order four are styles within the type. A 1 in any bit indicates the corresponding style is checked. A 0 in any bit indicates the corresponding style is unchecked.

Bit 31: Allow editing

Bit 30: Auto HScroll

Bit 29: VScroll bar

Bit 28: Always show list

Bit 27: Uppercase

Bit 26: Lowercase (if bits 27 and 26 are both 0, then case is Any)

Bit 25: HScroll bar

Bit 24: Split horizontal scroll bar

Bit 23: Empty string is NULL

Bit 22: Required field

Bit 21: Always show arrow

Bit 20: Not used (set to 0)

Bits 19 – 16 (1 hex digit): Not used (set to 0)

Bits 15 – 8 (2 hex digits): Always 0 for DropDownDataWindow edit style

Bit 7: Always 0 for DropDownDataWindow edit style

Bit 6: Always 0 for DropDownDataWindow edit style

Bit 5: Always 0 for DropDownDataWindow edit style

Bit 4: Always 1 for DropDownDataWindow edit style

Bit 3 – 0 (1 hex digit): Always 0 for DropDownDataWindow edit style


Edit edit style (code 89)

The following tables show a sample row in the PBCatEdt table for an Edit edit style and the meaning of the values.

About the example

This example shows an Edit edit style using a code table of display and data values. There is a pair of rows in PBCatEdt for each entry in the code table only if bit 23 of Flag is 1.

For information about code tables in edit styles, see Displaying and Validating Data.

Name

Edit

Type

Cntr

Seqn

Flag

Work

MyEdit

Limit

89

1

1

Flag

Key

MyEdit

Format

89

1

2

0

Focus

MyEdit

Display1

89

1

3

0

 

MyEdit

Data1

89

1

4

0

 

MyEdit

Display2

89

1

5

0

 

MyEdit

Data2

89

1

6

0

 

Value

Meaning

Limit

Character representation (in decimal) of Limit value.

Key

One-character accelerator key.

Format

Display format mask.

Focus

Character "1" if Show Focus Rectangle is checked. NULL otherwise.

Flag

32-bit flag. Low-order four hex digits are generic edit type; high-order four are styles within the type. A 1 in any bit indicates the corresponding style is checked. A 0 in any bit indicates the corresponding style is unchecked.

Bit 31: Uppercase

Bit 30: Lowercase (if Bits 31 and 30 are both 0, then case is Any)

Bit 29: Auto selection

Bit 28: Password

Bit 27: Auto HScroll

Bit 26: Auto VScroll

Bit 25: HScroll bar

Bit 24: VScroll bar

Bit 23: Use code table

Bit 22: Validate using code table

Bit 21: Display only

Bit 20: Empty string is NULL

Bit 19: Required field

Bit 18: Not used (set to 0)

Bit 17: Not used (set to 0)

Bit 16: Not used (set to 0)

Bits 15 – 4 (3 hex digits): Always 0 for Edit edit style

Bit 3: Always 0 for Edit edit style

Bit 2: Always 0 for Edit edit style

Bit 1: Always 0 for Edit edit style

Bit 0: Always 1 for Edit edit style


Edit Mask edit style (code 90)

The following tables show a sample row in the PBCatEdt table for an EditMask edit style and the meaning of the values.

About the example

This example shows an Edit Mask edit style using a code table of display and data values as part of a spin control. Rows 2 and beyond exist in PBCatEdt only if the edit mask is defined as a spin control (bit 29 of Flag is 1). Rows 3 and beyond exist only if the optional code table is populated.

For information about using an edit mask as a spin control, see Displaying and Validating Data.

Name

Edit

Type

Cntr

Seqn

Flag

Work

MyEdit

Format

90

1

1

Flag

DtFcKy

MyEdit

Range

90

1

2

0

SpinInc

MyEdit

Display1

90

1

3

0

 

MyEdit

Data1

90

1

4

0

 

MyEdit

Display2

90

1

5

0

 

MyEdit

Data2

90

1

6

0

 

Value

Meaning

Format

Display format mask.

DtFcKy

Concatenated string with 1-character data-type code, 1-character focus-rectangle code (0 or 1), and 1-character accelerator key.

Data type codes:

  • Format String = "0"

  • Format Number = "1"

  • Format Date = "2"

  • Format Time = "3"

  • Format DataTime= "4"

Examples:

  • "10x" means format is Number type, focus rectangle option is unchecked, accelerator key is "x"

  • "31z" means format is Time type, focus rectangle option is checked, accelerator key is "z"

Range

Character representation (in decimal) of spin control range. The min value and max value are tab-delimited.

Example:

"1[tab]13" means min = 1, max = 13

SpinInc

Character representation (in decimal) of spin increment.

Display1

Display value for first entry in code table.

Data1

Data value for first entry in code table.

Display2

Display value for second entry in code table.

Data2

Data value for second entry in code table.

Display and data values are repeated in pairs for each entry in the code table.

Flag

32-bit flag. Low-order four hex digits are generic edit type; high-order four are styles within the type. A 1 in any bit indicates the corresponding style is checked. A 0 in any bit indicates the corresponding style is unchecked.

Bit 31: Required

Bit 30: Autoskip

Bit 29: Spin control

Bit 28: Read only (code table option)

Bit 27: Use code table

Bit 26: Not used (set to 0)

Bit 25: Not used (set to 0)

Bit 24: Not used (set to 0)

Bit 23 – 16 (2 hex digits): Not used (set to 0)

Bit 15 – 8 (2 hex digits): Always 0 for Edit Mask edit style

Bit 7: Always 0 for Edit Mask edit style

Bit 6: Always 0 for Edit Mask edit style

Bit 5: Always 1 for Edit Mask edit style

Bit 4: Always 0 for Edit Mask edit style

Bits 3 – 0 (1 hex digit): Always 0 for Edit Mask edit style


About this appendix

This appendix describes the OrcaScript scripting language. OrcaScript allows you to perform source control operations and build PowerBuilder workspaces and executables without operator intervention. The full ORCA tool kit is available to Appeon partners only, but OrcaScript can be used by any PowerBuilder customer.