Using the powerGate Cmdlets

../../_images/powergate_console.png

Start the PowerShell environment

In order to get started either open any PowerShell IDE and load the powerGate Module by calling Import-Module powerGate or open the powerGate Console shortcut in the start menu, which already loads powerGate for you.

Connect with ERP system

Before you are able to work with your ERP-System you have to connect to powerGateServer or directly your ERP system (if it support’s an OData interface).
This can be done by calling Connect-Erp.

Some public accessible OData-Services for testing can be found here.

Get multiple entities from ERP

After you are connected, you want to work with entities. In order to get the entities you have to know the appropriate EntitySet.
The list of available EntitySet’s can be retrieved with the Get-ERPEntitySets Cmdlet.

Note

If you want to get the names of the EntitySet’s you can access them via $entitySet.Name

Now you know the name of the different entitiyTypes, therefore you can finally get some entities with Cmdlet Get-ErpObjects.

Note

Get-ErpObjects has many optional parameters like -Top -Filter -Expand. See detailed documentation for them.

Get a specific entity from ERP

In order to get a specific entity you have to know their key properties which identifies them.
The metadata information for the key properties of the entity can be retrieved using following:

1
2
$itemsEntityType = Get-ERPEntityTypes -EntitySet $entitySet.Name
$keyProperties = $itemsEntityType.Keys

First set up the keys for your entity as a Hashtable:

1
$keys = @{ 'Number'='100001' }

Execute Get-ErpObject with the mandatory arguments EntitySet and Keys.

1
$entity = Get-ERPObject -EntitySet $entitySet.Name -Keys $keys

Update an existing entity

In case you want to change some values of the entity you can achieve this with the Update-ErpObject Cmdlet.
First setup a Hashtable, with the values you want to update.

Note

Key properties can NOT be modified!

1
$updatedProperties = @{ 'Material'='uranium'; 'UnitOfMeasure'='Bq' }

Execute the Cmdlet with the entity-keys and properties and it returns the updated entity.

1
$updatedEntity = Update-ERPObject -EntitySet $entitySet.Name -Keys $keys -Properties $updatedProperties

Add an entity to ERP

The New-ERPObject cmdlet allows you to create a new and empty instance of the required EntityType and pre-fill it with data that can be passed to the Add-ERPObject to create a new entity in ERP.

1
2
$newEntityProperties = New-ERPObject -EntityType $itemsEntityType.Name -Properties @{'Number'='100002'; 'Material'='Einsteinium'; 'UnitOfMeasure' = "Bq"}
Add-ERPObject -EntitySet $entitySet.Name -Properties $newEntityProperties

Upload file to ERP

You may want to attach/link a Pdf file to an entity. This operation is called Add-ErpMedia.
It will create the entity on the server side and upload and link the file with the newly created entity.