-  if ($form->{"$form->{vc}_id"}) {
-    $query .= qq| AND a.$form->{vc}_id = $form->{"$form->{vc}_id"}|;
-  } else {
-    if ($form->{ $form->{vc} }) {
-      my $name = $form->like(lc $form->{ $form->{vc} });
-      $query .= " AND lower(vc.name) LIKE '$name'";
+    $query =
+      qq|SELECT a.id, a.$invnumber AS invnumber, a.ordnumber, $quonumber, | .
+      qq|  a.transdate, $invoice AS invoice, '$arap' AS module, vc.name, | .
+      qq|  s.spoolfile | .
+      qq|FROM $arap a, ${vc} vc, status s | .
+      qq|WHERE s.trans_id = a.id | .
+      qq|  AND s.spoolfile IS NOT NULL | .
+    ($form->{type} eq 'packing_list'
+    ? qq|  AND s.formname IN (?, ?) |
+    : qq|  AND s.formname = ? |) .
+      qq|  AND a.${vc}_id = vc.id|;
+    @values = ($form->{type});
+
+    if ($form->{type} eq 'packing_list') {
+      @values = qw(sales_delivery_order purchase_delivery_order);