AccountTableCreation

Program ID

MetraPipeline.AccountTableCreation.1

Description

AccountTableCreation plug-in is responsible for creating accounts in the NetMeter database.  The MPS objects are instantiated in this plug-in.  Data is added to the different account tables, such as t_user_credentials, t_profile, t_site_user, t_account, t_account_mapper and t_av_internal.  This plug-in sets the accountID property for the other plug-ins that are dependent on it.

Note:

If you are presently using a pre-3.0 version of MetraNet, and you have implemented conditional execution for this plug-in, you must modify the plug-in's configuration file to maintain this conditional behavior following an upgrade to 3.0.

Insert the following <condition> block before the <configdata> block:

 <condition>

<![CDATA[
CREATE PROCEDURE condition @_ExecutePlugin BOOLEAN @createinstantaccountflag BOOLEAN

AS

SET @_ExecutePlugin = @createinstantaccountflag;

]]>

</condition>

Required Input Properties

Tag name

Value type

Description

payer

string

Reference to an account in the external system

actiontype

string

Indicates whether this pipeline needs to be used for an “account” operation, “contact” operation or “both” operation.

username

string

Translates to a login in the MetraTech system.

password

string

Password to used in conjunction with the username.

name_space

string

Namespace that uniquely identifies the username.  Usually, it is the identifier associated with the customer, such as MT for MetraTech.

language

string

Language that the user is associated with

dayofmonth

integer

Day of month that the user wants to be billed on

accounttype

integer

A number indicated Bill-To or Ship-To account type.

1 = Bill-To
2 = Ship-To 

tariffID

integer

Associated tariff ID of the customer.

tariffname

string

Name of the tariff.

geocode

integer

A unique number used for Rating within the pipeline.  It is unique to a city, state and ZIP.

taxexempt

string

A one character string indicating whether a user is tax-exempt or not.

timezoneID

integer

A unique identifier corresponding to a specific timezone.

timezoneoffset

decimal

Offset with respect to Greenwich Mean Time (GMT)

accountID

integer

A unique value generated for the created account.  No two users in the MetraTech system will have the same account ID.

usagecycletype

string

Usage Cycle Type that the user wishes to be billed under. 

Valid values:

On-demand
Daily
Weekly
Bi-weekly
Semi-monthly
Monthly
Quarterly
Annually

accountstartdate

string

The start date associated with the account.

accountenddate

string

The end date ssociated with the account.

paymentmethodID

paymentmethod

integer

operation

integer

A value to indicate that the operation that is going to be performed.

0 = Add
1 = Update
2 = Delete
3 = NoOp

accountcreated

string

A one character string to indicate when an “instant account” needs to be created or not.

transactioncookie

string

A base64 encoded string generated from the transaction cookie retrieved from Microsoft’s Distributed Transaction Coordinator service (MS-DTC).

Required Output Properties

None.

Additional Configuration Tags

None.

Configuration Example

  <configdata>
    <payer>payer</payer>
    <actiontype>actiontype</actiontype>
    <username>username</username>
    <password>password_</password>
    <name_space>name_space</name_space>
    <language>language</language>
    <dayofmonth>dayofmonth</dayofmonth>
    <accounttype>accounttype</accounttype>
    <tariffID>tariffID</tariffID>
    <tariffname>tariffname</tariffname>
    <geocode>geocode</geocode>
    <taxexempt>taxexempt</taxexempt>
    <timezoneID>timezoneID</timezoneID>
    <timezoneoffset>timezoneoffset</timezoneoffset>
    <accountID>_AccountID</accountID>
    <usagecycletype>usagecycletype</usagecycletype>
    <accountstartdate>accountstartdate</accountstartdate>
    <accountenddate>accountenddate</accountenddate>
    <paymentmethod>paymentmethod</paymentmethod>
    <operation>operation</operation>
    <accountcreated>accountcreated</accountcreated>
    <transactioncookie>transactioncookie</transactioncookie>
  </configdata>