New List Based On Portion Of List

Here is a fairly useful method of using formula language to pick out values
from a list of multiple values based on matching a "portion" of each element
without using a view.

Say you original list "List1" contains the following:

List1 := "Apples|Fruit|$1.25" : "Oranges|Fruit|$1.10" : "Peas|Vegatable|$0.55"
: "Bannanas|Fruit|$1.50" : "Tomatos|Debatable|$0.95"

You want to create a new list of only those elements that are fruit.
List1 := "Apples|Fruit|$1.25" : "Oranges|Fruit|$1.10" : "Peas|Vegatable|$0.55"
: "Bannanas|Fruit|$1.50" : "Tomatos|Debatable|$0.95"

List2 := @Word(List1;"|";2);
List3 := @Replace(List2; "Fruit"; "");
List4 := List1 + List3;
List5 := @Replace( List1; List4; "");
List6 := @Trim(@Replace(List1; List5; ""));

Now "List6" contains the final list and can be used like this:

@Word(List6;"|";1) + " - " + @Word(List6;"|";3)

giving you a fruit list like this -

Apples - $1.25
Oranges - $1.10
Bannana - $1.50

*********************************
Optional Description of each step:
List1 - Original List
List2 - List of the second "words" in each element (Fruit, Fruit, Vagetable,
Fruit, Debatable)
List3 - List of seconnd words in element with one we want to keep Null
(,,Vegetable,Debatable)
List4 - Original List with "word 2" appended to change the elements we don't
want
Apples|Fruit|$1.25
Oranges|Fruit|$1.10
Peas|Vegatable|$0.55Vegetable
Bannanas|Fruit|$1.50
Tomatos|Debatable|$0.95Debatable
List5 - Replaces the words that didn't change with Null to make a mask of what
to remove
,,Peas|Vegatable|$0.55,,Tomatos|Debatable|$0.95
List6 - (Final List) Use the mask to Null what we don't want and trim results
to remove Nulls from list.
This was first published in November 2000

Dig Deeper

0 comments

Oldest 

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

-ADS BY GOOGLE

SearchWindowsServer

Search400

  • iSeries tutorials

    Search400.com's tutorials provide in-depth information on the iSeries. Our iSeries tutorials address areas you need to know about...

  • V6R1 upgrade planning checklist

    When upgrading to V6R1, make sure your software will be supported, your programs will function and the correct PTFs have been ...

  • Connecting multiple iSeries systems through DDM

    Working with databases over multiple iSeries systems can be simple when remotely connecting logical partitions with distributed ...

SearchEnterpriseLinux

SearchDataCenter

SearchExchange

SearchContentManagement

Close