| **Navigation:**  [[introduction.htm|Language Reference]] > 4 - Entity Declarations > View Structures >====== PROJECT (set view fields) ====== | [[view declare a virtual file .htm|{{btn_prev_n.gif|Previous page}}]][[introduction.htm|{{btn_home_n.gif|Return to chapter overview}}]][[join declare a join operation .htm|{{btn_next_n.gif|Next page}}]] | | || **PROJECT(** //fields// **)** {{blk2blue.jpg|blk2blue.jpg}} | **PROJECT** | Declares the fields retrieved for the VIEW. | | //fields// | A comma delimited list of fields (including prefixes) from the primary file of the VIEW, or the secondary related file named in the JOIN structure, containing the PROJECT declaration. | The **PROJECT** statement declares //fields //retrieved for a relational "Project" operation. A relational "Project" operation retrieves only the specified //fields// from the file, not the entire record structure. A PROJECT statement may be declared in the VIEW, or within one of its component JOIN structures. If there is no PROJECT declaration in the VIEW or JOIN structure, all fields in the relevant file are retrieved. If a PROJECT statement is present in the VIEW or JOIN structure, only the fields explicitly declared in the PROJECT are guaranteed to be retrieved. The contents of any fields that are not contained in PROJECT statements are undefined. Depending on the abilites of the particular database engine you are using, other fields may be retrieved. However, you should not rely on this as future changes or changes in the database driver may preclude these fields from being retrieved. **Example:** **Detail   FILE,DRIVER('Clarion'),PRE(Dtl) !Declare detail file layout** **OrderKey   KEY(Dtl:OrderNumber)** **Record      RECORD** **OrderNumber  LONG** **Item         LONG** **Quantity     SHORT** **Description  STRING(20)  !Line item comment** **            END** **         END** **Product  FILE,DRIVER('Clarion'),PRE(Pro) !Declare product file layout** **ItemKey   KEY(Pro:Item)** **Record    RECORD** **Item        LONG** **Description STRING(20)  !Product description** **Price       DECIMAL(9,2)** **          END** **        END** **ViewOrder VIEW(Detail)** **     ****PROJECT****(Det:OrderNumber,Det:Item,Det:Description)** **      JOIN(Pro:ItemKey,Det:Item)** **       ****PROJECT****(Pro:Description,Pro:Price)** **      END** **     END**