code: public String getScreenURL()
      {
          String strURL = super.getScreenURL();
          try   {
              if ((this.getHeaderRecord() != null)
                  && (this.getHeaderRecord() != this.getMainRecord())
                  && ((this.getHeaderRecord().getEditMode() == Constants.EDIT_IN_PROGRESS) || (this.getHeaderRecord().getEditMode() == Constants.EDIT_CURRENT)))
                      strURL = this.addURLParam(strURL, DBParams.HEADER_OBJECT_ID, this.getHeaderRecord().getHandle(DBConstants.BOOKMARK_HANDLE).toString());
  //x            else if (this.getProperty(DBParams.HEADEROBJECTID) != null)
  //x                    strURL = this.addURLParam(strURL, DBParams.HEADER_OBJECT_ID, this.getProperty(DBParams.HEADER_OBJECT_ID));
          } catch (DBException ex)    {
              ex.printStackTrace();
          }
          Map<String,Object> properties = this.getTask().getApplication().getProperties();
          if (properties != null)
          {   // Add any database properties to the url, so the created tables use this alternate db.
          	for (String key : properties.keySet())
          	{
          		if (key.endsWith(BaseDatabase.DBSHARED_PARAM_SUFFIX))
                      if (strURL.indexOf(key) == -1)
                          strURL = Utility.addURLParam(strURL, key, properties.get(key).toString());
          		if (key.endsWith(BaseDatabase.DBUSER_PARAM_SUFFIX))
                      if (strURL.indexOf(key) == -1)
                          strURL = Utility.addURLParam(strURL, key, properties.get(key).toString());
          	}
          }
          return strURL;
      }
docs: Get the command string to restore screen.
  @return The URL of this screen.