powerGate v17

v17.1.68 beta

10-03-2017

Features

BomWindow

  • Item Tab now also contains Item of the RootBom.

  • BomRows now have different stylings depending on their Status.

Fixed

  • Connect-ERP: Issue when connecting to service which requires authentication. Connection request was send twice.

  • Update-BomWindowEntity: Issue when updating BomRow and Item properties, like “@{‘BOM_Test’=’Test’}” was added as “BOM_BOM_Test”.

  • Update-BomWindowEntity: When the item of a bomRow was updated, the changed properties were not available on the bomRow.

  • $sapConnect: Issue when multiple cookies are required from SAP.

v17.1.60 beta

10-02-2017

Fixed

  • Fixed Issue where BOM Window was crashing when updating a bomRow property

  • Unhandled exceptions occured in the BOM Window are now handled internally. Therefore the calling application like Vault or Poweshell_ISE will not crash anymore because of unhandled exceptions occurred in the BOM Window.

v17.1.57 beta

12-01-2017

Features

BomWindow

Fixed

  • Getting response with state 403 Forbidden when using $global:SapConnect_Authentication

  • Performance issue: when running an Item/BOM check/transfer, all entities seem to be busy for a long time and suddenly all entities complete very fast at the exact same time. In the background the requests are send to the server in the meantime, but UI does not update with the results quickly.

  • Performance issue: After clicking ‘Check’ or ‘Transfer’ button, it takes very long time until first request is send to the server when a huge amount of entities becomes processed from the Window.

Breaking Changes

: Renamed Cmdlet Show-ErpBom to Show-BomWindow.

v16

v17

Convert-ToErpMaterial/Bom

removed, because the Bom-Window has no knowledge about ERP anymore

Convert-FromPsMaterial/Bom

removed, because the differences are settable via Update-BomWindowEntity Cmdlet and are not automatically detected anymore.

Get-ErpMaterial

Code moved to Check-Items function. Use Update-BomWindowEntity to change the Status of the entity to New when not existing in ERP.

Compare-Material

Code moved to Check-Items. Use Update-BomWindowEntity to change the Status of the entity to Different (set Tooltip with differences manually) or Identical when it exists in ERP.

Create-ErpMaterial

Code moved to Transfer-Items. Create entity in ERP when the Status of the entity is New.

Update-ErpMaterial

Code moved to Transfer-Items. Update entity in ERP when the Status of the entity is Different.

Get-ErpBom

Code moved to Check-Boms. Use Update-BomWindowEntity to change the Status of the BOM-Header to New when the BOM does not exist in ERP.

Compare-BomHeader

Code moved to Check-Boms. Use Update-BomWindowEntity to change the Status of the BOM-Header to Different (set Tooltip with differences manually) or Identical when the BOM does not exist in ERP.

Compare-VaultBomRow

Code moved to Check-Boms. Use Update-BomWindowEntity to change the Status of the BOM-Row to Remove (when Row does not exist in ERP-BOM) or Different (set Tooltip with differences manually).

Compare-ErpBomRow

Code moved to Check-Boms function. Use Update-BomWindowEntity to change the Status of the BOM-Row to New (when ERP-Row does not exist in Children) or Identical.

Create-ErpBom

Code moved to Transfer-Boms. Create BOM with all it’s Children in ERP when the Status of the BOM-Header is New.

Update-ErpBom

Code moved to Transfer-Boms. Update BOM-Header in ERP when the Status of the BOM-Header is Different. Additionally check for all it’s Children whether there Status is New, Remove or Different in order to create/remove/update those rows in the ERP-BOM.

Begin-GetErpMaterials

removed, because the operation can be performed at the beginning of Check-Items function.

End-GetErpMaterials

removed, because the operation can be performed at the end of Check-Items function.

Begin-Create/UpdateErpMaterials

removed, because the operation can be performed at the beginning of Transfer-Items function.

End-Create/UpdateErpMaterials

removed, because the operation can be performed at the end of Transfer-Items function.

Begin-GetErpBoms

removed, because the operation can be performed at the beginning of Check-Boms function.

End-GetErpBoms

removed, because the operation can be performed at the end of Check-Boms function.

Begin-Create/UpdateErpBoms

removed, because the operation can be performed at the beginning of Transfer-Boms function.

End-Create/UpdateErpBoms

removed, because the operation can be performed at the end of Transfer-Boms function.

v17.0.46

29-11-2016

General

  • Removed Datastandard Integration support from documentation

Features

  • Re-designed Cmdlets (see below Breaking Changes)

  • Support for OData v1 - v4 standards

  • Installed “powerGate 17.0 Logs” shortcut in start-menu section of powerGate

BomWindow

  • Changed status-icons to more meaningful icons

  • Introduced Localization for German environments

Fixed

  • Moved LogFile to %LOCALAPPDATA%/coolOrange/Logs in order that Non-Admin users have write-access to the files.

  • Crash in BOM Window when customizing the columns with the field chooser

  • BomWindow shows error “Object reference not set to an instance of an object” when following BomRow properties are $null: Bom_PositionNumber, Bom_Number, Bom_Quantity etc. .

Breaking Changes

: Connect-Erp

v16

v17

-ServiceUri <String>

renamed to Service. Additionally changed Type to <Uri>

-Username <String>

renamed to User

-Startcache

removed because Services are loaded on demand.

Login-Window

removed

When connecting to SAP servers v17 requires additional -OnConnect argument for SAP endpoint.

Disconnect-Erp

v16

v17

Return type bool

changed to void

Get-ERPServices

v16

v17

-Refresh <String>

removed because Services are loaded on demand.

Return type List<Service>

changed to ErpService[]

$service: Use ErpService instead.

v16

v17

-Path <String>

replaced with Url. Changed type to <Uri>

-Loaded <bool>

removed, use Get-ERPServices instead and check if the service is contained.

-EntityContainer <Collection<IEntityTyp>>

removed, use Get-ERPEntitySets and Get-ERPEntityTypes instead.

$entitytype: use EntitySet and EntityType instead

v16

v17

-Service <String>

Changed type to <Uri> in EntitySet

-PropertyRefs <Collection<ISapProperty>>

replaced with Keys in Get-ERPEntityTypes. Changed type to <String[]>

-Properties <Collection<ISapPropert>>

replaced with Properties in EntityType. Changed type to <String[]>

-NavigationProperties <Collection<ISapNavigationPropert>>

replaced with NavigationProperties in EntityType. Changed type to <String[]>

-PropNames Collection<String>

removed, use Properties instead

-PropRefNames Collection<String>

removed, use Keys instead

-AllProperties Collection<ISapProperty>

removed, use Keys,Properties and NavigationProperties instead

-AllPropertiesNames Collection<String>

removed, use Keys,Properties and NavigationProperties instead

-AllMandatoryErpProperties Collection<ISapProperty>

removed, use Keys,Properties and NavigationProperties instead and filter for mendatory once.

Get-ERPObject

v16

v17

-Entity <String>

renamed to EntitySet. Additionally it was possible to specify the EntitySet by giving the bundle name, separated with ‘.’. Now it is possible to specify the EntitySet by providing the full or a part of it’s whole Url.

-Key <String>

renamed to Keys. Changed to to <Hashtable> or <PSObject>

-Exists

removed

-Expand <String>

changed type to String[]. In past it was possible to specify multiple properties separated by ‘,’. Pass array now.

-File <String>

removed, use Get-ERPMedia instead.

Return type <PSObject>

Expanded navigation property lists where accessible via “.results”. Now the lists are directly accessible.

empty on error

Get-ERPObjects

v16

v17

-Entity <String>

renamed to EntitySet. Additionally it was possible to specify the EntitySet by giving the bundle name, separated with ‘.’. Now it is possible to specify the EntitySet by providing the full or a part of it’s whole Url.

-Top <String>

changed to <int>

-OrderBy <String>

changed to <String> or <hashtable> or <hashtable[]>.

-Expand <String>

changed to <String[]>. Note that it was possible to specify multiple properties separated by ‘,’.

Return type <PSObject>

Expanded navigation property lists where accessible via “.results”. Now the lists are directly accessible.

empty on error

Remove-ERPObject

v16

v17

-Entity <String>

renamed to EntitySet. Additionally it was possible to specify the EntitySet by giving the bundle name, separated with ‘.’. Now it is possible to specify the EntitySet by providing the full or a part of it’s whole Url.

-Key <String>

renamed to Keys. Changed to <Hashtable> or <PSObject>

Return type <bool>

<bool> with an additional property ‘Error’ containing the Exception/ErrorMessage.

Update-ERPObject

v16

v17

-Entity <String>”

renamed to EntitySet. Additionally it was possible to specify the EntitySet by giving the bundle name, separated with ‘.’. Now it is possible to specify the EntitySet by providing the full or a part of it’s whole Url.

-Properties <String>

Splited now to two parameters called Keys and Properties. Changed to <Hashtable> or <PSObject>

-Deep switchparameter

removed

HTTP request PUT

HTTP request MERGE

Return type <bool>

empty on error.

Add-ERPObject

v16

v17

-Entity<String>

renamed to EntitySet. Additionally it was possible to specify the EntitySet by giving the bundle name, separated with ‘.’. Now it is possible to specify the EntitySet by providing the full or a part of it’s whole Url.

-Properties <Hashtable>

Changed to <Hashtable> or <PSObject>

Return type <PSObject>

empty on error.

Removed Cmdlets

Get-ERPConnectionStatus

Use result of Connect-ERP instead, e.g.:

1
$global:connected = Connect-ERP -Service ...

When running in different runspace, or $global:connected variable is not accessible because of the scope, you can use the following:

1
2
3
if( (Get-ErpServices) | where { $_.Name -eq '...' } ) {
	#already connected
}

Resolve-ERPObject

Get-ERPEntities

Use cmdlets Get-ERPEntitySets and Get-ERPEntityTypes instead.

Add-ERPDir

Use cmdlet Add-ERPObject for creating the DirContext and Add-ERPMedia for creating the MLE entity and the Media Resource.
Note that Add-ERPDir did not transmit the Slug-Header in the specified way. This is fixed with Add-ERPMedia and could therefore cause server side fixes too.

Update-ERPDir

Use cmdlet Update-ERPMedia for updating the Media Resource, and Update-ERPObject for updating the MLE.

powerGateErrors

removed
The last server response can be retrieved by using following example instead: Accessing the last server response from your script