public void create_idx( String idxFileName, String indexOnKeyString )
	{
		if(isReadOnly()) return;
		
		if(canIfNoCdx())
		{
		order = "[idx]";
		Idx = new idx();
		try { Idx.fidx =  new RandomAccessFile( new File( g_idxname(idxFileName) ), fmode()); }
		catch (FileNotFoundException e1) { e1.printStackTrace(); }
		try { Idx.fidx.setLength(0); } catch (IOException e) { e.printStackTrace(); }
		
		Idx.keyString = indexOnKeyString.toUpperCase().trim();
		Idx.forString = "";
		
		// to obtain key length
		// be careful if self written
		PREPARE_KEY_FROM_DATA( Idx );
				
		int keyLen = Idx.searchKey.length;
				
		Idx.writeHeaderToEmptyFile( keyLen );
		
		try { Idx.fidx.close(); } catch (IOException e) { e.printStackTrace(); }
		
		set_order_to_idx( idxFileName );
		}
	}