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
Show-BomWindow can be called also in other PowerShell IDE’s
Merged all required functions to single Check/Transfer functions
Required functions are called a single time by passing all the entities as list (except Get-BomRows)
New cmdlet: Add-BomWindowEntity
New cmdlet: Remove-BomWindowEntity
New cmdlet: Update-BomWindowEntity
Introduced status and Tooltip. Those are also available arguments for required functions
extended UI to show in MessageBox the thrown errors from PowerShell functions
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