#!/usr/local/bin/perl ### getprof.pl ### get all profile information for an operator ### assuming you've got all the software installed, as mentioned ### in the presentation, you'll also have to edit this program ### to make it work at your installation: ### the database connect statement needs editing ### .table references will have to be changed ### the .ini file location will have to be changed use DBI; printf ("Retrieve an operator's profile information.\n"); printf ("If you leave the name blank, you will be prompted for the operator ID.\n\n"); print "Enter operator name (last,first): "; $opname = $opid = $char = ''; while ($char ne "\n") { $char = getc; if ($char ne "\n") {$opname .= $char;} } if ($opname eq '') { print "Enter operator ID): "; $char = ""; while ($char ne "\n") { $char = getc; if ($char ne "\n") {$opid .= $char;} } } ### get path to desired browser $inifile = "c:\\wmuzimmer\\getprof.ini"; $fopen = sprintf("Cannot open file %s for input\n", $inifile); open(inifile, $inifile) or die $fopen; @iniline = ; close(inifile); chomp @iniline; $browserpath = ''; $j = 0; while (($j < @iniline) and ($browserpath eq '')) { if ($iniline[$j] =~ /^\#/) {$j++;} else {$browserpath = $iniline[$j];} } if ($browserpath eq '') { printf ("No browser path specified. Please edit the .ini file for this program\n"); exit(0); } ### connect to database $dbh = DBI->connect('DBI:Oracle:host=whatever.your.host.is;sid=LIBR', 'dbread', 'xxxxx') or die "connecting: $DBI::errstr"; ### if have name, must get operator id if ($opid eq '') { $opname =~ s/ //g; # remove any spaces ($oplastname, $opfirstname) = split /,/, $opname; $sqlquery = sprintf("select operator_id from wmichdb.operator where last_name = '%s' and first_name = '%s'", $oplastname, $opfirstname); $sth = $dbh->prepare($sqlquery) or die "preparing getopid query statement"; $rc = $sth->execute; $opid = $sth->fetchrow_array; $sth->finish; } else # get operator name { $sqlquery = sprintf("select last_name, first_name from wmichdb.operator where operator_id = '%s'", $opid); $sth = $dbh->prepare($sqlquery) or die "preparing getopname query statement"; $rc = $sth->execute; ($oplastname, $opfirstname) = $sth->fetchrow_array; $sth->finish; } ### provide leading caps for name substr($opfirstname, 0, 1) =~ tr/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/; substr($oplastname, 0, 1) =~ tr/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/; ### "create" today's date ($sec, $min, $hour, $day, $month, $year, $wday, $yday, $isdst) = localtime; $today = sprintf ("%2.2d/%2.2d/%2.2d", $month+1, $day, $year%100); $now = sprintf("%2.2d:%2.2d", $hour, $min); ### start creating the html file $gpfile = ">c:\\temp\\getprof.html"; $fopen = sprintf("Cannot open file %s for output\n", substr($gpfile,1)); open(gpfile, $gpfile) or die $fopen; printf gpfile ("\n\n", 34, 34); printf gpfile ("\n\n"); printf gpfile (" %s %s Profile Information as of %s %s\n", $opfirstname, $oplastname, $today, $now); printf gpfile ("\n\n\n\n"); printf gpfile ("\n", 34, 34); printf gpfile ("

%s %s Profile Information

\n", $opfirstname, $oplastname); printf gpfile ("
\n\n"); ### try for acquisitions profile $acqprofid = 0; $sqlquery = sprintf("select acq_profile_id from wmichdb.acq_operator where operator_id = '%s'", $opid); $sth = $dbh->prepare($sqlquery) or die "preparing getacqopid query statement"; $rc = $sth->execute; $acqprofid = $sth->fetchrow_array; $sth->finish; if ($acqprofid != 0) {doacq();} ### try for cataloging profile $catprofid = 0; $sqlquery = sprintf("select cat_profile_id from wmichdb.cat_operator where operator_id = '%s'", $opid); $sth = $dbh->prepare($sqlquery) or die "preparing getcatopid query statement"; $rc = $sth->execute; $catprofid = $sth->fetchrow_array; $sth->finish; if ($catprofid != 0) {docat();} ### try for circulation profile $circprofid = 0; $sqlquery = sprintf("select circ_profile_id from wmichdb.circ_operator where operator_id = '%s'", $opid); $sth = $dbh->prepare($sqlquery) or die "preparing getcircopid query statement"; $rc = $sth->execute; $circprofid = $sth->fetchrow_array; $sth->finish; if ($circprofid != 0) {docirc();} ### try for master profile $mastprofid = 0; $sqlquery = sprintf("select master_profile_id from wmichdb.master_operator where operator_id = '%s'", $opid); $sth = $dbh->prepare($sqlquery) or die "preparing getmastopid query statement"; $rc = $sth->execute; $mastprofid = $sth->fetchrow_array; $sth->finish; if ($mastprofid != 0) {domast();} ### try for media security profile $medsecprofid = 0; $sqlquery = sprintf("select media_profile_id from wmichdb.media_security_operator where operator_id = '%s'", $opid); $sth = $dbh->prepare($sqlquery) or die "preparing getmedsecopid query statement"; $rc = $sth->execute; $medsecprofid = $sth->fetchrow_array; $sth->finish; if ($medsecprofid != 0) {domedsec();} ## when done printf gpfile ("
\n"); printf gpfile ("\n\n"); close(gpfile); $command = sprintf ("%c%s%c c:\\temp\\getprof.html", 34, $browserpath, 34); system($command); sub doacq { $sqlquery = sprintf("select count(*) from wmichdb.acq_security_locs where acq_profile_id = %d", $acqprofid); $sth = $dbh->prepare($sqlquery) or die "preparing getacqloccnt query statement"; $rc = $sth->execute; $acqloccnt = $sth->fetchrow_array; $sth->finish; $sqlquery = sprintf("select acq_profile_name, change_fund_alloc, currency_maintenance, edi_incoming, edi_outgoing, fiscal_close, hold_ignore_ownership, invoice_add_update, invoice_approve, invoice_delete, invoice_view_only, item_add_update, item_delete, item_view_only, ledger_add_update, ledger_delete, ledger_view_only, modify_edi_outgoing, mono_claims, order_add_update, order_approve, order_delete, order_view_only, override_commit, override_expend, pattern_add_update, pattern_delete, pattern_view_only, problems_claims_view_only, receive, serials_view_only, serial_checkin serial_claims, vendor_add_update, vendor_delete, vendor_view_only from wmichdb.acq_profile where acq_profile_id = %d", $acqprofid); $sth = $dbh->prepare($sqlquery) or die "preparing getacqprof query statement"; $rc = $sth->execute; ($acq_profile_name, $change_fund_alloc, $currency_maintenance, $edi_incoming, $edi_outgoing, $fiscal_close, $hold_ignore_ownership, $invoice_add_update, $invoice_approve, $invoice_delete, $invoice_view_only, $item_add_update, $item_delete, $item_view_only, $ledger_add_update, $ledger_delete, $ledger_view_only, $modify_edi_outgoing, $mono_claims, $order_add_update, $order_approve, $order_delete, $order_view_only, $override_commit, $override_expend, $pattern_add_update, $pattern_delete, $pattern_view_only, $problems_claims_view_only, $receive, $serials_view_only, $serial_checkin, $serial_claims, $vendor_add_update, $vendor_delete, $vendor_view_only) = $sth->fetchrow_array; $sth->finish; #--why do I need to do this so I get correct results? bug in DBI/DBD? $sqlquery = sprintf("select vendor_delete, vendor_view_only from wmichdb.acq_profile where acq_profile_id = %d", $acqprofid); $sth = $dbh->prepare($sqlquery) or die "preparing getacqprof query statement"; $rc = $sth->execute; ($vendor_delete, $vendor_view_only) = $sth->fetchrow_array; $sth->finish; ### convert N values to n $change_fund_alloc =~ tr/N/n/; $currency_maintenance =~ tr/N/n/; $edi_incoming =~ tr/N/n/; $edi_outgoing =~ tr/N/n/; $fiscal_close =~ tr/N/n/; $hold_ignore_ownership =~ tr/N/n/; $invoice_add_update =~ tr/N/n/; $invoice_approve =~ tr/N/n/; $invoice_delete =~ tr/N/n/; $invoice_view_only =~ tr/N/n/; $item_add_update =~ tr/N/n/; $item_delete =~ tr/N/n/; $item_view_only =~ tr/N/n/; $ledger_add_update =~ tr/N/n/; $ledger_delete =~ tr/N/n/; $ledger_view_only =~ tr/N/n/; $modify_edi_outgoing =~ tr/N/n/; $mono_claims =~ tr/N/n/; $order_add_update =~ tr/N/n/; $order_approve =~ tr/N/n/; $order_delete =~ tr/N/n/; $order_view_only =~ tr/N/n/; $override_commit =~ tr/N/n/; $override_expend =~ tr/N/n/; $pattern_add_update =~ tr/N/n/; $pattern_delete =~ tr/N/n/; $pattern_view_only =~ tr/N/n/; $problems_claims_view_only =~ tr/N/n/; $receive =~ tr/N/n/; $serials_view_only =~ tr/N/n/; $serial_checkin =~ tr/N/n/; $serial_claims =~ tr/N/n/; $vendor_add_update =~ tr/N/n/; $vendor_delete =~ tr/N/n/; $vendor_view_only =~ tr/N/n/; printf gpfile ("\n", 34, 34); printf gpfile ("\n", 34, 34, 34, 34, 34, 34, 34, 34); printf gpfile ("\n"); printf gpfile (" \n", 34, 34, 34, 34, $acq_profile_name); printf gpfile ("\n"); printf gpfile ("\n"); printf gpfile (" \n", 34, 34, 34, 34, $acqloccnt); printf gpfile ("\n"); printf gpfile ("\n"); printf gpfile (" \n"); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $mono_claims); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $invoice_add_update); printf gpfile (" \n", 34, 34, $invoice_delete); printf gpfile (" \n", 34, 34, $invoice_approve); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $invoice_view_only); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $item_add_update); printf gpfile (" \n", 34, 34, $item_delete); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $item_view_only); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $ledger_add_update); printf gpfile (" \n", 34, 34, $ledger_delete); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $ledger_view_only); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $change_fund_alloc); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $order_add_update); printf gpfile (" \n", 34, 34, $order_delete); printf gpfile (" \n", 34, 34, $order_approve); printf gpfile (" \n", 34, 34, $receive); printf gpfile (" \n", 34, 34, $order_view_only); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $pattern_add_update); printf gpfile (" \n", 34, 34, $pattern_delete); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $pattern_view_only); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $problems_claims_view_only); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $serials_view_only); printf gpfile (" \n", 34, 34, $serial_checkin); printf gpfile (" \n", 34, 34, $serial_claims); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $vendor_add_update); printf gpfile (" \n", 34, 34, $vendor_delete); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $vendor_view_only); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n"); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", $hold_ignore_ownership); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", $override_expend); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", $modify_edi_outgoing); printf gpfile ("\n"); printf gpfile ("

Acquisitions Profile is %s

Locations Affected: %d

Add & UpdateDeleteApproveReceiveView OnlyCheck InClaimsChange Fund Alloc
Acq       %s  
Invoice %s %s %s   %s    
Item %s %s    %s    
Ledger/Fund %s %s    %s    %s
Purchase Order %s %s %s %s %s    
Serial Pattern %s %s    %s    
Problem Claims     %s    
Serials     %s %s %s  
Vendor %s %s    %s    
 
", 34, 34, 34, 34); printf gpfile ("Fiscal Close:   %s      ", $fiscal_close); printf gpfile ("Currency Maintenance:   %s      \n", $currency_maintenance); printf gpfile ("Holdings Any Bib:   %s
", 34, 34, 34, 34); printf gpfile ("Override Commit:   %s      ", $override_commit); printf gpfile ("Override Expend:   %s
", 34, 34, 34, 34); printf gpfile ("EDI Incoming:   %s      ", $edi_incoming); printf gpfile ("EDI Outgoing:   %s      ", $edi_outgoing); printf gpfile ("Modify EDI Outgoing:   %s
\n\n"); printf gpfile ("


\n\n"); } sub docat { $sqlquery = sprintf("select count(*) from wmichdb.cat_security_locs where cat_profile_id = %d", $catprofid); $sth = $dbh->prepare($sqlquery) or die "preparing getcatloccnt query statement"; $rc = $sth->execute; $catloccnt = $sth->fetchrow_array; $sth->finish; $sqlquery = sprintf("select cat_profile_name, auth_add, auth_delete, auth_export_ok, auth_update, auth_view_only, bib_add, bib_delete, bib_export_ok, bib_update, bib_view_only, change_ownership, global_replace, hold_add, hold_delete, hold_ignore_ownership, hold_update, hold_view_only, item_add, item_delete, item_update, item_view_only, marcauth_add_update, marcauth_view_only, marcbib_add_update, marcbib_view_only, marchold_add_update, marchold_view_only, mfhd_export_ok, use_template from wmichdb.cat_profile where cat_profile_id = %d", $catprofid); $sth = $dbh->prepare($sqlquery) or die "preparing getcatprof query statement"; $rc = $sth->execute; ($cat_profile_name, $auth_add, $auth_delete, $auth_export_ok, $auth_update, $auth_view_only, $bib_add, $bib_delete, $bib_export_ok, $bib_update, $bib_view_only, $change_ownership, $global_replace, $hold_add, $hold_delete, $hold_ignore_ownership, $hold_update, $hold_view_only, $item_add, $item_delete, $item_update, $item_view_only, $marcauth_add_update, $marcauth_view_only, $marcbib_add_update, $marcbib_view_only, $marchold_add_update, $marchold_view_only, $mfhd_export_ok, $use_template) = $sth->fetchrow_array; $sth->finish; ### convert N values to n $change_fund_alloc =~ tr/N/n/; $cat_profile_name =~ tr/N/n/; $auth_add =~ tr/N/n/; $auth_delete =~ tr/N/n/; $auth_export_ok =~ tr/N/n/; $auth_update =~ tr/N/n/; $auth_view_only =~ tr/N/n/; $bib_add =~ tr/N/n/; $bib_delete =~ tr/N/n/; $bib_export_ok =~ tr/N/n/; $bib_update =~ tr/N/n/; $bib_view_only =~ tr/N/n/; $change_ownership =~ tr/N/n/; $global_replace =~ tr/N/n/; $hold_add =~ tr/N/n/; $hold_delete =~ tr/N/n/; $hold_ignore_ownership =~ tr/N/n/; $hold_update =~ tr/N/n/; $hold_view_only =~ tr/N/n/; $item_add =~ tr/N/n/; $item_delete =~ tr/N/n/; $item_update =~ tr/N/n/; $item_view_only =~ tr/N/n/; $marcauth_add_update =~ tr/N/n/; $marcauth_view_only =~ tr/N/n/; $marcbib_add_update =~ tr/N/n/; $marcbib_view_only =~ tr/N/n/; $marchold_add_update =~ tr/N/n/; $marchold_view_only =~ tr/N/n/; $mfhd_export_ok =~ tr/N/n/; $use_template =~ tr/N/n/; printf gpfile ("\n", 34, 34); printf gpfile ("\n", 34, 34, 34, 34, 34, 34, 34, 34); printf gpfile ("\n"); printf gpfile (" \n", 34, 34, 34, 34, $cat_profile_name); printf gpfile ("\n"); printf gpfile ("\n"); printf gpfile (" \n", 34, 34, 34, 34, $catloccnt); printf gpfile ("\n"); printf gpfile ("\n"); printf gpfile (" \n"); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $auth_add); printf gpfile (" \n", 34, 34, $auth_update); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $auth_delete); printf gpfile (" \n", 34, 34, $auth_view_only); printf gpfile (" \n", 34, 34, $auth_export_ok); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $bib_add); printf gpfile (" \n", 34, 34, $bib_update); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $bib_delete); printf gpfile (" \n", 34, 34, $bib_view_only); printf gpfile (" \n", 34, 34, $bib_export_ok); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $hold_add); printf gpfile (" \n", 34, 34, $hold_update); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $hold_delete); printf gpfile (" \n", 34, 34, $hold_view_only); printf gpfile (" \n", 34, 34, $mfhd_export_ok); printf gpfile (" \n", 34, 34, $hold_ignore_ownership); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $item_add); printf gpfile (" \n", 34, 34, $item_update); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $item_delete); printf gpfile (" \n", 34, 34, $item_view_only); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $marcauth_add_update); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $marcauth_view_only); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $marcbib_add_update); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $marcbib_view_only); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $marchold_add_update); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $marchold_view_only); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n"); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", $change_ownership); printf gpfile ("\n"); printf gpfile ("

Cataloging Profile is %s

Locations Affected: %d

AddUpdateAdd & UpdateDeleteView OnlyExport OKFor any Bib
Authority%s%s %s%s%s 
Bibliographic%s%s %s%s%s 
Holdings%s%s %s%s%s%s
Item%s%s %s%s  
Auth Tag Table  %s %s  
Bib Tag Table  %s %s  
Hold Tag Table  %s %s  
 
Global Replace:   %s      ", 34, 34, 34, 34, $global_replace); printf gpfile ("Use Template:   %s      ", $use_template); printf gpfile ("Bib Change Ownership:   %s
\n\n"); printf gpfile ("


\n\n"); } sub docirc { $sqlquery = sprintf("select count(*) from wmichdb.circ_security_locs where circ_profile_id = %d", $circprofid); $sth = $dbh->prepare($sqlquery) or die "preparing getcircloccnt query statement"; $rc = $sth->execute; $circloccnt = $sth->fetchrow_array; $sth->finish; $sqlquery = sprintf("select circ_profile_name, add_fines, change_discharge_date, change_due_date, charge_renew, discharge, distribution_item_create, distribution_item_delete, distribution_item_distribute, distribution_item_order, distribution_item_receive, distribution_item_update, distribution_item_view, forgive_fines, hold_ignore_ownership, item_add_update, item_delete, item_status, override_exp_barcode, override_item_block, override_patron_block, patron_add_update, patron_counters, patron_delete, patron_proxy_maintain, patron_view_only, pay_fines, pg_restrict_circ, pg_restrict_maint, pg_restrict_view, recahold_add_update, recahold_resequence, reserve_add_update from wmichdb.circ_profile where circ_profile_id = %d", $circprofid); $sth = $dbh->prepare($sqlquery) or die "preparing getcircprof query statement"; $rc = $sth->execute; ($circ_profile_name, $add_fines, $change_discharge_date, $change_due_date, $charge_renew, $discharge, $distribution_item_create, $distribution_item_delete, $distribution_item_distribute, $distribution_item_order, $distribution_item_receive, $distribution_item_update, $distribution_item_view, $forgive_fines, $hold_ignore_ownership, $item_add_update, $item_delete, $item_status, $override_exp_barcode, $override_item_block, $override_patron_block, $patron_add_update, $patron_counters, $patron_delete, $patron_proxy_maintain, $patron_view_only, $pay_fines, $pg_restrict_circ, $pg_restrict_maint, $pg_restrict_view, $recahold_add_update, $recahold_resequence, $reserve_add_update) = $sth->fetchrow_array; $sth->finish; ### convert N values to n $add_fines =~ tr/N/n/; $change_discharge_date =~ tr/N/n/; $change_due_date =~ tr/N/n/; $charge_renew =~ tr/N/n/; $discharge =~ tr/N/n/; $distribution_item_create =~ tr/N/n/; $distribution_item_delete =~ tr/N/n/; $distribution_item_distribute =~ tr/N/n/; $distribution_item_order =~ tr/N/n/; $distribution_item_receive =~ tr/N/n/; $distribution_item_update =~ tr/N/n/; $distribution_item_view =~ tr/N/n/; $forgive_fines =~ tr/N/n/; $hold_ignore_ownership =~ tr/N/n/; $item_add_update =~ tr/N/n/; $item_delete =~ tr/N/n/; $item_status =~ tr/N/n/; $override_exp_barcode =~ tr/N/n/; $override_item_block =~ tr/N/n/; $override_patron_block =~ tr/N/n/; $patron_add_update =~ tr/N/n/; $patron_counters =~ tr/N/n/; $patron_delete =~ tr/N/n/; $patron_proxy_maintain =~ tr/N/n/; $patron_view_only =~ tr/N/n/; $pay_fines =~ tr/N/n/; $pg_restrict_circ =~ tr/N/n/; $pg_restrict_maint =~ tr/N/n/; $pg_restrict_view =~ tr/N/n/; $recahold_add_update =~ tr/N/n/; $recahold_resequence =~ tr/N/n/; $reserve_add_update =~ tr/N/n/; printf gpfile ("\n", 34, 34); printf gpfile ("\n", 34, 34, 34, 34, 34, 34, 34, 34); printf gpfile ("\n"); printf gpfile (" \n", 34, 34, 34, 34, $circ_profile_name); printf gpfile ("\n"); printf gpfile ("\n"); printf gpfile (" \n", 34, 34, 34, 34, $circloccnt); printf gpfile ("\n"); printf gpfile ("\n"); printf gpfile (" \n"); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $item_add_update); printf gpfile (" \n", 34, 34, $item_delete); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $item_status); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $patron_add_update); printf gpfile (" \n", 34, 34, $patron_delete); printf gpfile (" \n", 34, 34, $patron_view_only); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $patron_counters); printf gpfile (" \n", 34, 34, $patron_proxy_maintain); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $recahold_add_update); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $recahold_resequence); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $reserve_add_update); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n"); printf gpfile (" \n", 34, 34); printf gpfile ("\n\n"); printf gpfile ("\n"); printf gpfile (" \n"); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $distribution_item_create); printf gpfile (" \n", 34, 34, $distribution_item_delete); printf gpfile (" \n", 34, 34, $distribution_item_distribute); printf gpfile (" \n", 34, 34, $distribution_item_order); printf gpfile (" \n", 34, 34, $distribution_item_receive); printf gpfile (" \n", 34, 34, $distribution_item_update); printf gpfile (" \n", 34, 34, $distribution_item_view); printf gpfile ("\n"); printf gpfile ("\n"); printf gpfile (" \n", 34, 34); printf gpfile ("\n\n"); printf gpfile ("\n"); printf gpfile (" \n"); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $pg_restrict_circ); printf gpfile (" \n", 34, 34, $pg_restrict_maint); printf gpfile (" \n", 34, 34, $pg_restrict_view); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n"); printf gpfile (" \n", 34, 34); printf gpfile ("\n\n"); printf gpfile ("\n"); printf gpfile (" \n"); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $override_exp_barcode); printf gpfile (" \n", 34, 34, $override_item_block); printf gpfile (" \n", 34, 34, $override_patron_block); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n"); printf gpfile (" \n", 34, 34); printf gpfile ("\n\n"); printf gpfile ("\n"); printf gpfile (" \n"); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $add_fines); printf gpfile (" \n", 34, 34, $forgive_fines); printf gpfile (" \n", 34, 34, $pay_fines); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n"); printf gpfile (" \n", 34, 34); printf gpfile ("\n\n"); printf gpfile ("\n"); printf gpfile (" \n"); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $change_discharge_date); printf gpfile (" \n", 34, 34, $change_due_date); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n"); printf gpfile (" \n", 34, 34); printf gpfile ("\n\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", $hold_ignore_ownership); printf gpfile ("\n"); printf gpfile ("

Circulation Profile is %s

Locations Affected: %d

Add & UpdateDeleteView OnlyStatusCountersProxy MaintainResequence
Item %s %s   %s    
Patron %s %s %s   %s %s  
Recall Hold %s       %s
Reserve %s       
 
CreateDeleteDistributeOrderReceiveUpdateView
Distribution Item %s %s %s %s %s %s %s
 
CirculationMaintenanceView    
Patron Group Restrict %s %s %s  
 
Expired BarcodeItem BlockPatron Block    
Override %s %s %s  
 
AddForgivePay    
Fines %s %s %s  
 
DischargeDue Date     
Change Date %s %s  
 
Charge Renew:  %s     ", 34, 34, 34, 34, $charge_renew); printf gpfile ("Discharge:  %s%s     ", $discharge); printf gpfile ("Holdings Any Bib:  %s
\n\n"); printf gpfile ("


\n\n"); } sub domast { $sqlquery = sprintf("select count(*) from wmichdb.master_security_locs where master_profile_id = %d", $mastprofid); $sth = $dbh->prepare($sqlquery) or die "preparing getmastloccnt query statement"; $rc = $sth->execute; $mastloccnt = $sth->fetchrow_array; $sth->finish; $sqlquery = sprintf("select master_profile_name, acq_policies, cat_policies, circ_policies, currency_tables, media_policies, security, system_definitions from wmichdb.master_profile where master_profile_id = %d", $mastprofid); $sth = $dbh->prepare($sqlquery) or die "preparing getmastprof query statement"; $rc = $sth->execute; ($master_profile_name, $acq_policies, $cat_policies, $circ_policies, $currency_tables, $media_policies, $security, $system_definitions) = $sth->fetchrow_array; $sth->finish; ### convert N values to n $master_profile_name =~ tr/N/n/; $acq_policies =~ tr/N/n/; $cat_policies =~ tr/N/n/; $circ_policies =~ tr/N/n/; $currency_tables =~ tr/N/n/; $media_policies =~ tr/N/n/; $security =~ tr/N/n/; $system_definitions =~ tr/N/n/; printf gpfile ("\n", 34, 34); printf gpfile ("\n", 34, 34, 34, 34, 34, 34, 34, 34); printf gpfile ("\n"); printf gpfile (" \n", 34, 34, 34, 34, $master_profile_name); printf gpfile ("\n"); printf gpfile ("\n"); printf gpfile (" \n", 34, 34, 34, 34, $mastloccnt); printf gpfile ("\n"); printf gpfile ("\n"); printf gpfile (" \n"); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $acq_policies); printf gpfile (" \n", 34, 34, $cat_policies); printf gpfile (" \n", 34, 34, $circ_policies); printf gpfile (" \n", 34, 34, $media_policies); printf gpfile ("\n"); printf gpfile ("\n"); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", $system_definitions); printf gpfile ("\n\n"); printf gpfile ("

Master Profile is %s

Locations Affected: %d

AcquisitionsCatalogingCirculationMedia
Policies%s%s%s%s
 
Currency Tables:  %s     ", 34, 34, 34, 34, $currency_tables); printf gpfile ("Security:  %s     ", $security); printf gpfile ("System Wide:  %s
\n\n"); printf gpfile ("


\n\n"); } sub domedsec { $sqlquery = sprintf("select count(*) from wmichdb.media_security_location where media_profile_id = %d", $medsecprofid); $sth = $dbh->prepare($sqlquery) or die "preparing getmedsecloccnt query statement"; $rc = $sth->execute; $medsecloccnt = $sth->fetchrow_array; $sth->finish; $sqlquery = sprintf("select media_profile_name, booking_add, booking_cancel, booking_charge, booking_discharge, booking_renew, booking_update, booking_view, booking_view_historical, change_discharge_date, equip_add, equip_delete, equip_maint_add, equip_maint_delete, equip_maint_update, equip_maint_view, equip_update, equip_view, fees_add, fees_adjust, fees_pay, item_add, item_delete, item_update, item_view, override_item_block, override_other_block, override_patron_block, patron_add, patron_counters, patron_delete, patron_update, patron_view, room_add, room_delete, room_update, room_view from wmichdb.media_security_profile where media_profile_id = %d", $medsecprofid); $sth = $dbh->prepare($sqlquery) or die "preparing getmedsecprof query statement"; $rc = $sth->execute; ($media_profile_name, $booking_add, $booking_cancel, $booking_charge, $booking_discharge, $booking_renew, $booking_update, $booking_view, $booking_view_historical, $change_discharge_date, $equip_add, $equip_delete, $equip_maint_add, $equip_maint_delete, $equip_maint_update, $equip_maint_view, $equip_update, $equip_view, $fees_add, $fees_adjust, $fees_pay, $item_add, $item_delete, $item_update, $item_view, $override_item_block, $override_other_block, $override_patron_block, $patron_add, $patron_counters, $patron_delete, $patron_update, $patron_view, $room_add, $room_delete, $room_update, $room_view) = $sth->fetchrow_array; $sth->finish; ### convert N values to n $master_profile_name =~ tr/N/n/; $booking_add =~ tr/N/n/; $booking_cancel =~ tr/N/n/; $booking_charge =~ tr/N/n/; $booking_discharge =~ tr/N/n/; $booking_renew =~ tr/N/n/; $booking_update =~ tr/N/n/; $booking_view =~ tr/N/n/; $booking_view_historical =~ tr/N/n/; $change_discharge_date =~ tr/N/n/; $equip_add =~ tr/N/n/; $equip_delete =~ tr/N/n/; $equip_maint_add =~ tr/N/n/; $equip_maint_delete =~ tr/N/n/; $equip_maint_update =~ tr/N/n/; $equip_maint_view =~ tr/N/n/; $equip_update =~ tr/N/n/; $equip_view =~ tr/N/n/; $fees_add =~ tr/N/n/; $fees_adjust =~ tr/N/n/; $fees_pay =~ tr/N/n/; $item_add =~ tr/N/n/; $item_delete =~ tr/N/n/; $item_update =~ tr/N/n/; $item_view =~ tr/N/n/; $override_item_block =~ tr/N/n/; $override_other_block =~ tr/N/n/; $override_patron_block =~ tr/N/n/; $patron_add =~ tr/N/n/; $patron_counters =~ tr/N/n/; $patron_delete =~ tr/N/n/; $patron_update =~ tr/N/n/; $patron_view =~ tr/N/n/; $room_add =~ tr/N/n/; $room_delete =~ tr/N/n/; $room_update =~ tr/N/n/; $room_view =~ tr/N/n/; if ($fees_add eq '') {$fees_add = 'n';} if ($fees_adjust eq '') {$fees_adjust = 'n';} if ($fees_pay eq '') {$fees_pay = 'n';} printf gpfile ("\n", 34, 34); printf gpfile ("\n", 34, 34, 34, 34, 34, 34, 34, 34); printf gpfile ("\n"); printf gpfile (" \n", 34, 34, 34, 34, $media_profile_name); printf gpfile ("\n"); printf gpfile ("\n"); printf gpfile (" \n", 34, 34, 34, 34, $medsecloccnt); printf gpfile ("\n"); printf gpfile ("\n"); printf gpfile (" \n"); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $booking_add); printf gpfile (" \n", 34, 34, $booking_update); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $booking_view); printf gpfile (" \n", 34, 34, $booking_view_historical); printf gpfile (" \n", 34, 34, $booking_cancel); printf gpfile (" \n", 34, 34, $booking_charge); printf gpfile (" \n", 34, 34, $booking_discharge); printf gpfile (" \n", 34, 34, $booking_renew); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $equip_add); printf gpfile (" \n", 34, 34, $equip_update); printf gpfile (" \n", 34, 34, $equip_delete); printf gpfile (" \n", 34, 34, $equip_view); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $equip_maint_add); printf gpfile (" \n", 34, 34, $equip_maint_update); printf gpfile (" \n", 34, 34, $equip_maint_delete); printf gpfile (" \n", 34, 34, $equip_maint_view); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $item_add); printf gpfile (" \n", 34, 34, $item_update); printf gpfile (" \n", 34, 34, $item_delete); printf gpfile (" \n", 34, 34, $item_view); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $room_add); printf gpfile (" \n", 34, 34, $room_update); printf gpfile (" \n", 34, 34, $room_delete); printf gpfile (" \n", 34, 34, $room_view); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n"); printf gpfile (" \n", 34, 34); printf gpfile ("\n\n"); printf gpfile ("\n"); printf gpfile (" \n"); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $fees_add); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $fees_adjust); printf gpfile (" \n", 34, 34, $fees_pay); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $patron_add); printf gpfile (" \n", 34, 34, $patron_update); printf gpfile (" \n", 34, 34, $patron_delete); printf gpfile (" \n", 34, 34, $patron_view); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $patron_counters); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n"); printf gpfile (" \n", 34, 34); printf gpfile ("\n\n"); printf gpfile ("\n"); printf gpfile (" \n"); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34); printf gpfile (" \n", 34, 34, $override_item_block); printf gpfile (" \n", 34, 34, $override_patron_block); printf gpfile (" \n", 34, 34, $override_other_block); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n"); printf gpfile (" \n", 34, 34); printf gpfile ("\n"); printf gpfile ("\n", 34, 34); printf gpfile (" \n", 34, 34, 34, 34, $change_discharge_date); printf gpfile ("\n"); printf gpfile ("

Media Security Profile is %s

Locations Affected: %d

AddUpdateDeleteView OnlyView HistoricalCancelChargeDischargeRenew
Booking %s %s   %s %s %s %s %s %s
Equipment %s %s %s %s      
Equip Maint %s %s %s %s      
Item %s %s %s %s      
Room %s %s %s %s      
 
AddUpdateDeleteViewAdjustPayCounters  
Fees %s     %s %s    
Patron %s %s %s %s    %s   
 
Item BlockPatron BlockOther Block      
Override %s %s %s  
 
Change Discharge Date:   X
\n\n"); printf gpfile ("


\n\n"); }