5 use FS::UID qw(adminsuidsetup);
6 use FS::Record qw(qsearch);
10 { 'header' => 'pkgnum',
11 'callback' => sub { shift->cust_svc->pkgnum; },
13 { 'header' => 'svcpart',
14 'callback' => sub { shift->cust_svc->svcpart; },
16 { 'header' => 'Service',
17 'callback' => sub { shift->cust_svc->part_svc->svc; },
26 my $user = shift or die &usage;
29 my $agentnum = shift or die &usage;
31 my $csv = new Text::CSV_XS;
33 $csv->combine( map { ref($_) ? $_->{'header'} : $_ } @fields ) or die;
34 print $csv->string."\n";
36 my @svc_acct = qsearch({
37 'table' => 'svc_acct',
38 'addl_from' => 'LEFT JOIN cust_svc USING (svcnum)
39 LEFT JOIN cust_pkg USING (pkgnum)
40 LEFT JOIN cust_main USING ( custnum )',
42 'extra_sql' => "WHERE cust_main.agentnum = $agentnum",
45 foreach my $svc_acct ( @svc_acct ) {
46 $csv->combine( map { ref($_) ? &{$_->{'callback'}}($svc_acct)
51 print $csv->string."\n";