9 105 GET_FIELD_LIST

LANSA Technical

9.105 GET_FIELD_LIST

Þ Note: Built-In Function Rules.

Retrieves a list of fields and their descriptions from the Repository and returns them to the calling RDML function in a variable length working list.

Þ This is a Specialized Built-In Function for use in a Development Environment only.

For use with

LANSA for i

YES

Visual LANSA for Windows

YES

Visual LANSA for Linux

NO

 

 

Arguments

No

Type

Req/ Opt

Description

Min Len

Max Len

Min Dec

Max Dec

1

A

Req

Positioning field value. The returned list starts with the first field from the dictionary whose name is greater than the value passed in this argument.

1

10

 

 

2

A

Opt

Omit Visual LANSA Components From list Y/N.

Default is N

1

1

 

 

 

 

Return Values

No

Type

Req/ Opt

Description

Min Len

Max Len

Min Dec

Max Dec

1

L

Req

Working list to contain Field information.

The calling function must provide a working list with:
- an aggregate entry length of exactly 60 bytes
- no more than 9999 entries.

Each returned list entry is formatted as follows:

From-To   Description

1 - 10   Field Name
11 - 50   Field Description
51 - 51   RDMLX Field (Y or N)
52-60    <<future expansion>>

60

60

 

 

2

A

Opt

Last field in returned list. Typically this value is used as the positioning argument on subsequent calls to this Built-In Function.

1

10

 

 

3

A

Opt

Return code.

OK = list returned partially or completely filled with field details. No more fields exist beyond those returned in the list.

OV = list returned completely filled, but more fields than could fit in the list exist. Typically used to indicate "more" fields in page at a time style list displays.

NR = list was returned empty. Last field in the list is returned as blanks.

2

2

 

 

 

 

Example

A user wants to customize some field definitions by changing labels, and column headings.

FUNCTION OPTIONS(*DIRECT)
GROUP_BY      NAME(#FLDDTL) FIELDS((#FLDNAM *NC) (#FLDDES *NC) #FLDLBL #FLDCH1 #FLDCH2 #FLDCH3)
DEF_LIST      NAME(#FLDLST) FIELDS(#FLDNAM #FLDDES #SPARE) TYPE(WORKING) ENTRYS(1000)
**********    -Request field-
REQUEST       FIELDS(#STRFLD) TEXT(('Field to start from' 5 5))
**********    -Get list of fields-
USE           BUILTIN(GET_FIELD_LIST) WITH_ARGS(#STRFLD) TO_GET(#FLDLST #LAST #RETCOD)
**********    -Process lists-
SELECTLIST    NAMED(#FLDLST)
USE           BUILTIN(GET_FIELD) WITH_ARGS(#FLDNAM) TO_GET(#RETCOD #FLDTYP #FLDLEN #FLDDEC #FLDREF #FLDDES #FLDLBL #FLDCOL)
**********    < break column headings into FLDCH1, FLDCH2, FLDCH3 >
**********    -Change field definition-
REQUEST       FIELDS(#FLDDTL)
USE           BUILTIN(PUT_FIELD) WITH_ARGS('NNN' #FLDNAM #FLDTYP #FLDLEN #FLDDEC #FLDREF #FLDDES #FLDLBL #FLDCOL) TO_GET(#STD_CMPAR)
ENDSELECT