Hi i am just giving my knowledge on this. Hope this will help. An access path is the way the records are retrieved from a file and is created when a logical file or a openquery is built on a PF.
A open data path is the way a program recieves the records from the file and is created when a file is used in a program for normal read or maintenance purpose. An open data path can be shared by using Share(*yes) option while creating the file or thru the OVRDBF command.Then multiple programs can use the same data path for accessing the records in the file.
An open data path is created once the data has been called by a called program or some other programs. The order in which the data’s are retrieved to the called program is known as access path. According to my knowledge a PF can have only one open data path and they are shared by all the called programs.
The above is not quite correct – a physical (or logical) file can have multiple open data paths. Each job on the system accessing that file would typically have its own open data path so that they can run independently of the others (except for record locking during updates). And usually, each program in a job has its own open data path as well, unless a shared open data path is specified.
An access path is created and maintained by the system and is more like an index, so that the database manager can retrieve the records in the requested sequence.