Routines (alphabetical) > Routines: G > GRIB Routines > GRIB_KEYS_ITERATOR_NEW

# GRIB_KEYS_ITERATOR_NEW

The GRIB_KEYS_ITERATOR_NEW function creates a new iterator from a valid and initialized handle.

## Examples

See GRIB_GET_VALUES for a general example using the GRIB routines.

## Syntax

Result = GRIB_KEYS_ITERATOR_NEW(Ghandle [, /ALL][, /CODED][ ,/COMPUTED][, /DUPLICATES][, /EDITION_SPECIFIC][, /FUNCTION][, NAMESPACE=String][, /OPTIONAL][, /READ_ONLY ])

## Return Value

Returns a key iterator handle.

## Arguments

### Ghandle

A GRIB handle.

## Keywords

Set to one of the following keyword that describes what type of key iterator should be returned. If no keyword is specified, iteration is carried out on all keys by default.

### ALL

Iteration is carried out on all the keys available in the message.

### CODED

Coded keys are skipped by keys iterator.

### COMPUTED

Computed keys are skipped by keys iterator.

### DUPLICATES

Duplicates of a key are skipped by keys iterator.

### EDITION_SPECIFIC

Edition specific keys are skipped by keys iterator.

### FUNCTION

Function keys are skipped by keys iterator.

### NAMESPACE

Set this keyword to iterate only on keys belonging to the namespace. If this keyword is not specified, the function will iterate on all keys.

The valid strings are:

NAMESPACE String
LS
MARS
ALL

### OPTIONAL

Optional keys are skipped by keys iterator.

### READ_ONLY

Read only keys are skipped by keys iterator.

## Version History

8.1 | Introduced

## See Also

GRIB_KEYS_ITERATOR_DELETE, GRIB_KEYS_ITERATOR_GET_NAME, GRIB_KEYS_ITERATOR_NEXT, GRIB_KEYS_ITERATOR_REWIND