code: public static ScreenParent makeScreenFromRecord(ScreenLoc itsLocation, ComponentParent screenParent, String strRecord, int iDocMode, Map<String, Object> properties)
      {
          BaseScreen screen = null;
          Record record = null;
          if (strRecord != null)
          {
              RecordOwner recordOwner = Utility.getRecordOwner(screenParent);
              record = Record.makeRecordFromClassName(strRecord, recordOwner);
              if (record != null)
                  if (recordOwner != null)
                      recordOwner.removeRecord(record);
          }
          if (record != null)
          {
              BaseAppletReference applet = null;
              if (screenParent.getTask() instanceof BaseAppletReference)
              	applet = (BaseAppletReference)screenParent.getTask();
              Object oldCursor = null;
              if (applet != null)
              	oldCursor = applet.setStatus(Constant.WAIT, applet, null);
              screen = (BaseScreen)record.makeScreen(itsLocation, (BasePanel)screenParent, iDocMode, properties);
              if (applet != null)
                  applet.setStatus(0, applet, oldCursor);
          }
          return screen;
      }
docs: Make a screen window and put the screen with this class name into it.
  @param itsLocation The location of the new screen.
  @param screenParent The parent of the new screen.
  @param strRecord The class of the record to create.
  @param iDocMode The type of screen to create for this record.
  @return The new screen.