[freeside] Quick Example of Cust_main updates

Lucas Heuman lucas at dandy.net
Tue Nov 11 16:27:37 PST 2003


Ok, Here was my unsuccessful attempt, code worked great for using other
methods like credit but replace isn't working.

-----------

use FS::UID qw(adminsuidsetup);
use FS::Record qw(qsearchs);
use FS::cust_main;

adminsuidsetup 'lucas';

$acct = 1003;

my $old = qsearchs('cust_main',{'custnum' => $acct })
  or die "Can't lucking do this!";

if ($old)
{
$dacomments = $old->comment;

$dacomments .= "owes Aug & Sept $35.90 BMC 9/27";

my $new = new FS::cust_main({ $old->hash });

#print "\n\nMESA REPLACESA $dacomments\n\n";
$new->comment($dacomments);

$o=$old->comment();
$n=$new->comment();
print "old: $o\n";
print "new: $n\n";

my $error = $new->replace($old);

if ($error)
{ print "$acct $error\n"; }
}






                                                         [ Wrote 38 lines ]

freeside at Freeside:/home/lucas/freeside$ ./thed
old:
new: owes Aug & Sept .90 BMC 9/27
[warning][FS::Record] FS::cust_main=HASH(0x82ac138) -> replace
FS::cust_main=HASH(0x89b048c): records identical at ./thed line 34



-----Original Message-----
From: ivan at 420.am [mailto:ivan at 420.am]
Sent: Monday, November 10, 2003 7:53 AM
To: ivan-freeside at sisd.com
Subject: Re: [freeside] Quick Example of Cust_main updates


On Mon, Nov 10, 2003 at 10:20:12AM -0800, Lucas Heuman wrote:
> 	Hello, I'm new to perl and this is a perl related questions regarding
> freeside-1.4.1 perl API.
>
> I wrote a script that uses customer numbers to make changes to Cust_main.
I
> don't understand how to use perl to referance a customer number then
modify
> the comment field (or any other field) then save the change. Could some
one
> please give a example.

  use FS::UID qw(adminsuidsetup);
  use FS::Record qw(qsearchs);
  use FS::cust_main;

  adminsuidsetup 'freeside-username';

  my $old = qsearchs( 'cust_main', { 'custnum' => $custnum } )
    or die "can't find customer number $custnum";

  my $new = new FS::cust_main( { $old->hash } );

  $new->comment( 'modified comment' );

  my $error = $new->replace($old);

  if ( $error ) {
    #handle error
  } else {
    #update successful
  }

--
_ivan




More information about the freeside-users mailing list