private void fillProductTable() {

    int row = 0;
    try {
      String get_details =
          " SELECT XX_VMR_DiscountAppliDetail_ID FROM XX_VMR_DiscountAppliDetail "
              + " WHERE XX_VMR_DiscountRequest_ID = "
              + header.get_ID();
      PreparedStatement pstmt = DB.prepareStatement(get_details, null);
      // Setting the query parameters
      ResultSet rs = pstmt.executeQuery();
      while (rs.next()) {
        row = xProductTable.getRowCount();
        xProductTable.setRowCount(row + 1);
        MVMRDiscountAppliDetail detail =
            new MVMRDiscountAppliDetail(Env.getCtx(), rs.getInt(1), null);

        IDColumn id = new IDColumn(rs.getInt(1));
        id.setSelected(true);
        xProductTable.setValueAt(id, row, 0);

        MProduct prod = new MProduct(Env.getCtx(), detail.getM_Product_ID(), null);
        xProductTable.setValueAt(new KeyNamePair(prod.get_ID(), prod.getValue()), row, 1);
        xProductTable.setValueAt(prod.getKeyNamePair(), row, 3);

        X_XX_VMR_VendorProdRef ref_proveedor =
            new X_XX_VMR_VendorProdRef(Env.getCtx(), prod.getXX_VMR_VendorProdRef_ID(), null);
        xProductTable.setValueAt(
            new KeyNamePair(ref_proveedor.get_ID(), ref_proveedor.getValue()), row, 2);

        // Colocar el consecutivo de precio
        DecimalFormat formato = new DecimalFormat("000");
        X_XX_VMR_PriceConsecutive priceConsecutive =
            new X_XX_VMR_PriceConsecutive(Env.getCtx(), detail.getXX_PriceConsecutive_ID(), null);

        xProductTable.setValueAt(formato.format(priceConsecutive.getXX_PriceConsecutive()), row, 4);

        xProductTable.setValueAt(detail.getXX_LoweringQuantity(), row, 5);
        xProductTable.setValueAt(detail.getXX_LoweringQuantity(), row, 6);

        X_XX_VMR_Category cat =
            new X_XX_VMR_Category(Env.getCtx(), prod.getXX_VMR_Category_ID(), null);
        xProductTable.setValueAt(cat.getKeyNamePair(), row, 7);

        X_XX_VMR_Department dep =
            new X_XX_VMR_Department(Env.getCtx(), header.getXX_VMR_Department_ID(), null);
        xProductTable.setValueAt(dep.getKeyNamePair(), row, 8);

        X_XX_VMR_Line lin = new X_XX_VMR_Line(Env.getCtx(), detail.getXX_VMR_Line_ID(), null);
        xProductTable.setValueAt(lin.getKeyNamePair(), row, 9);

        X_XX_VMR_Section sec =
            new X_XX_VMR_Section(Env.getCtx(), detail.getXX_VMR_Section_ID(), null);
        xProductTable.setValueAt(sec.getKeyNamePair(), row, 10);

        if (priceConsecutive.getM_AttributeSetInstance_ID() != 0) {
          MAttributeSetInstance attins =
              new MAttributeSetInstance(
                  Env.getCtx(), priceConsecutive.getM_AttributeSetInstance_ID(), null);
          xProductTable.setValueAt(
              new KeyNamePair(attins.get_ID(), attins.getDescription()), row, 11);
        } else {
          xProductTable.setValueAt(new KeyNamePair(0, ""), row, 11);
        }
      }
      rs.close();
      pstmt.close();
    } catch (Exception E) {
      E.printStackTrace();
    }
  }