<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://greggsmith.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mikelm</id>
		<title>SDU - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://greggsmith.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mikelm"/>
		<link rel="alternate" type="text/html" href="http://greggsmith.net/wiki/index.php?title=Special:Contributions/Mikelm"/>
		<updated>2026-04-17T20:17:29Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.26.1</generator>

	<entry>
		<id>http://greggsmith.net/wiki/index.php?title=Pdm_load&amp;diff=2125</id>
		<title>Pdm load</title>
		<link rel="alternate" type="text/html" href="http://greggsmith.net/wiki/index.php?title=Pdm_load&amp;diff=2125"/>
				<updated>2008-07-03T15:28:28Z</updated>
		
		<summary type="html">&lt;p&gt;Mikelm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Use pdm_load to insert, update or remove data into the database and bypass the GUIs.&amp;lt;br&amp;gt;&lt;br /&gt;
pdm_load uses the SeviceDesk virtual DB Schema layer to access the physical database.&amp;lt;br&amp;gt;&lt;br /&gt;
Contrary to direct Database access by ODBC for example, each data change is directly propagated to all ServiceDesk processes.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
pdm_load -f [filename] [-a] [-c] [-e] [-h] [-i] [-m] [-v] [-r] [-u] [-x]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! Command&lt;br /&gt;
! Description&lt;br /&gt;
! Remarks&lt;br /&gt;
|-&lt;br /&gt;
| -a&lt;br /&gt;
| update all matching data&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| -c&lt;br /&gt;
| check only, no change to data&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| -e&lt;br /&gt;
| treat escapes literally&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| -h&lt;br /&gt;
| help&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| -i&lt;br /&gt;
| insert only&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| -m&lt;br /&gt;
| notify domsrvr of mass update&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| -v&lt;br /&gt;
| verbose&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| -r&lt;br /&gt;
| remove&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| -u&lt;br /&gt;
| update only&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| -x&lt;br /&gt;
| use locale sensitive numeric input formats&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
* A standard load. This load assumes that the file contains ids or uuids for all entries.&lt;br /&gt;
 pdm_load -f extract.txt -v&lt;br /&gt;
&lt;br /&gt;
* Using the -i to load data will force the creation of new ids and uuids. The file being loaded should be void of any id and uuid data.&lt;br /&gt;
 pdm_load -f cnt_data.csv -i -v&lt;br /&gt;
&lt;br /&gt;
* Removing some info (not shared by another application) from a file. Use the -r&lt;br /&gt;
 pdm_load -f InfoToRemove.dat -r -v 2&amp;gt;load.err&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
When doing a pdm_load of a ca_xxxxxx table that contains references to another ca_xxxxxx table, the reference must be valid or the entry will not be loaded and an error generated. For example, if loading the ca_contact table, if the ca_location_uuid field contains references to the ca_location table, then the record that is being reference MUST exist in the ca_location table or that particular entry will not be loaded. A common scenario is to perform an extract of the production contact data and then load it into development. However if the contact tables has references to the ca_location table you will first need to do a load of the ca_location table to ensure that all the references from the ca_contact load are valid. And if the ca_location table has references to the ca_site table, you will need to do a load of ca_site to ensure all the references from the ca_location load are valid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;div align='center'&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;To make corrections or additions to this article, select the ''edit'' tab above.&amp;lt;br&amp;gt;&lt;br /&gt;
To discuss or ask questions about this article, select the ''discussion'' tab above.&amp;lt;/font&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Commands]]&lt;/div&gt;</summary>
		<author><name>Mikelm</name></author>	</entry>

	<entry>
		<id>http://greggsmith.net/wiki/index.php?title=Object&amp;diff=1247</id>
		<title>Object</title>
		<link rel="alternate" type="text/html" href="http://greggsmith.net/wiki/index.php?title=Object&amp;diff=1247"/>
				<updated>2008-02-20T22:53:31Z</updated>
		
		<summary type="html">&lt;p&gt;Mikelm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mainly, an Object in ServiceDesk is an object oriented representation of a single database record.&lt;br /&gt;
&lt;br /&gt;
An Object belongs to a so called [[Factory]], which is somehow a mapping to one (or two) database table(s).&lt;br /&gt;
&lt;br /&gt;
Normaly, each field in a table is mapped to an attribute in its object representation.&lt;br /&gt;
----&lt;br /&gt;
Changes to attributes of an object are always done in a three step process: First you have to checkout the object. That means, you tell the system, that you want to change this specific object. &lt;br /&gt;
If nobody else is actualy changeing this object, you get a writable version of this object. Then you are able to change the values of the attributes of the object. At the end, you have to do a checkin to this object. &lt;br /&gt;
The checkin will write the changed attributes to the database and makes the changes persistent.&lt;br /&gt;
----&lt;br /&gt;
In addtion to the data representation, objects can also implement application behavior in form of tirggers an methods.&lt;br /&gt;
There are two different kind of triggeres:&lt;br /&gt;
&lt;br /&gt;
'''1)''' [[Attribute trigger]]: These triggers are fired, when an attribute is written or initiated (while the object is checked out).&lt;br /&gt;
&lt;br /&gt;
'''2)''' [[Object trigger]]: These triggers are fired, when the whole object is checked in(saved).&lt;br /&gt;
&lt;br /&gt;
Both kink of triggers are executing so called [[Spell]] code. [[Spell]] code is a proproitary script language, which can interact with each process of ServiceDesk and is able to do addtional changes to other objects or call other object methods&lt;br /&gt;
----&lt;br /&gt;
Addtionaly, an object may have addtional runtime attributes, like [[QREL]], [[BREL]], [[LREL]] and so called LOCAL attributes.&lt;br /&gt;
&lt;br /&gt;
QREL, BREL and LREL Attributes can hold a list of other objects, while a LOCAL attribute is like a normal value (tablefield) attribute, but is not persistent, which means, it will not be stored in the db.&lt;/div&gt;</summary>
		<author><name>Mikelm</name></author>	</entry>

	<entry>
		<id>http://greggsmith.net/wiki/index.php?title=Object&amp;diff=1246</id>
		<title>Object</title>
		<link rel="alternate" type="text/html" href="http://greggsmith.net/wiki/index.php?title=Object&amp;diff=1246"/>
				<updated>2008-02-20T22:53:02Z</updated>
		
		<summary type="html">&lt;p&gt;Mikelm: New page: Mainly, an Object in ServicDesk is an object oriented representation of a single database record.  An Object belongs to a so called Factory, which is somehow a mapping to one (or two) ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mainly, an Object in ServicDesk is an object oriented representation of a single database record.&lt;br /&gt;
&lt;br /&gt;
An Object belongs to a so called [[Factory]], which is somehow a mapping to one (or two) database table(s).&lt;br /&gt;
&lt;br /&gt;
Normaly, each field in a table is mapped to an attribute in its object representation.&lt;br /&gt;
----&lt;br /&gt;
Changes to attributes of an object are always done in a three step process: First you have to checkout the object. That means, you tell the system, that you want to change this specific object. &lt;br /&gt;
If nobody else is actualy changeing this object, you get a writable version of this object. Then you are able to change the values of the attributes of the object. At the end, you have to do a checkin to this object. &lt;br /&gt;
The checkin will write the changed attributes to the database and makes the changes persistent.&lt;br /&gt;
----&lt;br /&gt;
In addtion to the data representation, objects can also implement application behavior in form of tirggers an methods.&lt;br /&gt;
There are two different kind of triggeres:&lt;br /&gt;
&lt;br /&gt;
'''1)''' [[Attribute trigger]]: These triggers are fired, when an attribute is written or initiated (while the object is checked out).&lt;br /&gt;
&lt;br /&gt;
'''2)''' [[Object trigger]]: These triggers are fired, when the whole object is checked in(saved).&lt;br /&gt;
&lt;br /&gt;
Both kink of triggers are executing so called [[Spell]] code. [[Spell]] code is a proproitary script language, which can interact with each process of ServiceDesk and is able to do addtional changes to other objects or call other object methods&lt;br /&gt;
----&lt;br /&gt;
Addtionaly, an object may have addtional runtime attributes, like [[QREL]], [[BREL]], [[LREL]] and so called LOCAL attributes.&lt;br /&gt;
&lt;br /&gt;
QREL, BREL and LREL Attributes can hold a list of other objects, while a LOCAL attribute is like a normal value (tablefield) attribute, but is not persistent, which means, it will not be stored in the db.&lt;/div&gt;</summary>
		<author><name>Mikelm</name></author>	</entry>

	</feed>