docs: public void updateMessageDetail(MessageProcessInfo recMessageProcessInfo, Map<String,Object> map)
      {
          MessageDetail recMessageDetail = (MessageDetail)this.getRecord(MessageDetail.MESSAGE_DETAIL_FILE);
          MessageTransport recMessageTransport = (MessageTransport)this.getRecord(MessageTransport.MESSAGE_TRANSPORT_FILE);
          
          try {
              recMessageDetail.addNew();
              
              recMessageDetail.getField(MessageDetail.MESSAGE_PROCESS_INFO_ID).moveFieldToThis((BaseField)recMessageProcessInfo.getCounterField());
              recMessageDetail.getField(MessageDetail.MESSAGE_TRANSPORT_ID).moveFieldToThis((BaseField)recMessageTransport.getCounterField());
              if (recMessageDetail.seek(null))
                  recMessageDetail.edit();
              else
                  recMessageDetail.addNew();
              
              recMessageDetail.getField(MessageDetail.MESSAGE_PROCESS_INFO_ID).moveFieldToThis((BaseField)recMessageProcessInfo.getCounterField());
              recMessageDetail.getField(MessageDetail.MESSAGE_TRANSPORT_ID).moveFieldToThis((BaseField)recMessageTransport.getCounterField());
              String site = (map == null) ? null : (String)map.get(TrxMessageHeader.DESTINATION_PARAM);
              ((PropertiesField)recMessageDetail.getField(MessageDetail.PROPERTIES)).setProperty(TrxMessageHeader.DESTINATION_PARAM, site);
              String wspath = (map == null) ? null : (String)map.get(TrxMessageHeader.DESTINATION_MESSAGE_PARAM);
              ((PropertiesField)recMessageDetail.getField(MessageDetail.PROPERTIES)).setProperty(TrxMessageHeader.DESTINATION_MESSAGE_PARAM, wspath);
              
              if (recMessageDetail.getEditMode() == DBConstants.EDIT_ADD)
                  recMessageDetail.add();
              else
                  recMessageDetail.set();
          } catch (DBException e) {
              e.printStackTrace();
          }
      }