Invoking and concatenating multiple application messages

You can construct calls to display multiple messages simultaneously. To do this, use multiple MESSAGE expressions separated by pipe ( | ) symbols. The pipe symbol concatenates the messages.

For example, consider these MESSAGE expressions:

MESSAGE("E=NoExistforIs5", "@serial", "@serial.ser_num", V(SerNum)
    , "@item"
    , "@serial.whse", V(Whse)
    , "@serial.item", V(Item)
    , "@serial.loc", V(Loc)
    , "@serial.lot", V(Lot)
    , "@rsvd_inv.import_doc_id", V(ImportDocId)
    )
   | MESSAGE("E=AppLockFail3")

At run time, this concatenation might evaluate to something like this message:

There exists no Serial Number where S/N is S/N1234 for Item 
that has [Whse: MAIN] and [Item: BK-27000-0007] and [Location: STOCK] and 
[Lot: LOT00012345] and [Import Doc Id: DocId000123456].