Article ID: 49495


Updated On:


CA Datacom - DB CA Datacom CA Datacom - AD CA Datacom - Server CA Ideal CA CIS CA Common Services for z/OS CA 90s Services CA Database Management Solutions for DB2 for z/OS CA Common Product Services Component CA Common Services CA Datacom/AD CA ecoMeter Server Component FOC CA Easytrieve Report Generator for Common Services CA Infocai Maintenance CA IPC Unicenter CA-JCLCheck Common Component CA Mainframe VM Product Manager CA Chorus Software Manager CA On Demand Portal CA Service Desk Manager - Unified Self Service CA PAM Client for Linux for zSeries CA Mainframe Connector for Linux on System z CA Graphical Management Interface CA Web Administrator for Top Secret CA CA- Xpertware



We have a CA MetaCOBOL+ application program that does a "LOCATE PHYSICAL" on three tables in a CA Datacom/DB Database that has six Areas. It does an "OBTAIN PHYSICAL" on only the table with the largest record length of the three tables because it uses that record length as a template to put the other two tables in and then writes out any one of the three tables once it finds the record it wants.

My first question is:

We added a 4th table to this program but are unable to select/find any records on this new table, even though we know we have thousands of records.

My real question is:

Do all tables have to be in the same physical "Area" of a Database to do a "Locate/Obtain Physical?


LOCATE PHYSICAL and OBTAIN PHYSICAL are Metacobol statements.

Their related Datacom/DB commands are respectively GSETP and GETPS.

LOCATE and OBTAIN PHYSICAL as well as other Metacobol statements can be found in CA-MetaCOBOL+ Program Development Reference CA-DATACOM/DB.
Their corresponding Datacom/DB commands can be found in the Appendix A for same manual.

GETPS and GSETP commands can be found in CA Datacom/DB Programming Guide.

"GETPS is a physical sequential command which retrieves the next physical record in an Area. Before using GETPS, issue a GSETP command to establish the table name and the associated elements that you want to retrieve."

"GSETP is a physical sequential command which you use to establish the table name and element list to set the start of a data area for physical block reads. Multiple tables in one area may participate in the record selection."

So the answer to your real question is:

YES, all the tables have to be in the same physical Area of a Database to do a "Locate/Obtain Physical".


Component: DB