The c89 command allocated the indicated data set, for which no data set member was specified, and discovered that it is a partitioned data set. Since c89 knows that this is a reference to a specific part, as opposed to a library, you must specify a data set member name.
For compiler objects, since the name is derived from the source data set name, the source and object data sets must have the same organization (partitioned or sequential).
In the message text:
string1 is the data definition name. string2 is the partition data set name.
c89 "//myproj.c(myprog1)"
If the source data set and object data set types are not the same, you need to delete (and optionally preallocate) the object data sets so the organizations are the same before reentering the c89 command.