The SET command is used for two distinct operations. Use the DIR keyword to set the current working directory or alternatively use the LIST or FRAGMENT keywords to populate the outbound document object.
Fragments use only fields, so the SET FRAGMENT command requires the SERVICE_EXCHANGE(*FIELD) keyword.
Lists use only a working list, so the SET LIST command requires a working list argument.
Once you have completed your SET commands your next command would invariably be the WRITE command.
SET LIST(ORDERS) #WRKLST
SET FRAGMENT(DETAIL) SERVICE_EXCHANGE(*FIELD)
Note: List and Fragment keywords
There are two possible ways to add a list of data when creating an JSON document.
1. The most obvious way is to use the SET command described here with the LIST keyword, then specifying the array in a working list. With this approach the section of JSON would need to be defined as a list in the JSON Binding Wizard.
2. Alternatively, the same could be achieved by using the FRAGMENT keyword inside some looping code. Each loop would add a new row to the list. JSON documents and readers will automatically pick up this repeating sequence as a list. With this approach the section of JSON would need to be defined as a fragment in the JSON Binding Wizard.
Whichever way you choose, you will need to carefully decide whether the relevant section of JSON is defined as a List or a Fragment.