I am assuming that EOC is listed in Layout Setup | "Show Records From" and that "Service Activity" is what is listed in Portal Setup | "Show Related Records From".
If so, you script should be:
If [not ( IsEmpty ( Service Activity::EOCID ) )]
Go to related record [Show only related records; from table: "Service Activity"; using layout; "Service Activity" (Service Activity)
Show / Hide Status Area [Lock; Hide]
Pause / Resume Script [ Indefinitely]
Show / Hide Status Are [Show]
Go To Layout [original layout]
Show Custom Dialog ["Create a new Service Activity Record?"]
If [ Get ( LastMessageChoice ) = 1 // Button 1, OK, was clicked]
Set Variable [$EOCID ; value: EOC::EOCID]
Go to Layout [ "Service Activity" ( Service Activity ) ]
Set Field [Service Activity::EOCID ; $EOCID]
Go To Layout [Original Layout]
If you need to remain on the Service Activity layout in order to enter data in other fields in the new record, remove the red script step.