Azure PowerShell :: Set-AzureSqlDatabase :: "Service Objective Assignment" in progress
When I run the Set-AzureSqlDatabase command to update the SQL Edition, using the
-Edition parameter, and try to change it back to the previously configured edition, I receive a message saying:
Set-AzureSqlDatabase : A service objective assignment on server 'cvhgaeh2v0' and database 'Trevor01DB' is already in progress. Please wait until the service objective assignment state for the database is marked as 'Completed'.
Can someone please help me understand what this means? What exactly is a
service objective assignment?
I am using Windows PowerShell 5.0 September Preview on Windows
8.1 Professional with Update, and the Azure PowerShell module version
0.8.8.
Cheers,
Trevor Sullivan
Microsoft MVP: PowerShell
If this post was helpful, please click the little "Vote as Helpful" button :)
Trevor Sullivan
Trevor Sullivan's Tech Room
Twitter Profile
Hi,
You can Specify the service tier, the performance level, and the maximum size for the database by using Set-AzureSqlDatabase –ServiceObjective.
More information :
http://msdn.microsoft.com/en-us/library/azure/dn369872.aspx
-ServiceObjective<ServiceObjective>
If specified, an object representing the new service objective for this database.
http://msdn.microsoft.com/library/azure/dn546732.aspx
Regards,
Mekh.
Similar Messages
-
Hi Andrew...
Service Objects, are, in essence, the central concept of any Forte
application, so I think that every participant in this forum can
probably offer some type of insight on using Forte Service Objects in
their application :).
Any type of shared application functionality is a candidate for
inclusion in a service object. The definition given on page 156 of the
Forte Programming Guide states that "[a] service object is a named
object that represents an existing external resource, a Forte shared
business service that is shared by multiple users, or a service that is
replicated to provide failover or load-balancing. The service object
contains information needed by the service as well as operations that
the service can perform."
Service objects are, imho, the most important concept for building a
successful Forte application, and by far the least well understood. I
suggest spending a good amount of time familiarizing yourself with the
Service Object concept, and then understanding the Service Object
properties (dialog duration, visibility, replication, search paths,
etc.) so that you can build a scalable, robust, and fault-tolerant
system to meet your user requirements. Forte is an incredibly powerful
tool when you understand all of the possibilities you have, especially
those related to Service Objects.
In order to get a better understanding of Forte Service objects and how
they relate to the design and development of your particular system, I
highly suggest participating in the Forte Object-Oriented Analysis and
Design (OOAD) course. You can get more information on the course and
register on-line by visiting the Forte Education website:
http://www.forte.com/Educate/index.htm. Additionally, you can take a
look at the Forte manuals, especially Chapter 8 of the Forte Programming
Guide and throughout the Guide to the Forte Workshops manual.
To answer one of your other questions... You can pass references to
objects from a service object back to a client in Forte (you can also,
for that matter, pass copies of objects - it depends upon your needs).
Again, to get a better understanding of these concepts, I suggest taking
the Forte OOAD class.
I hope this helps! Please let me know if you have any further questions
- I'd be happy to help.
-Katie
Andrew Lowther wrote:
>
We are currently in the process of rearchitecting our software systems
around Forte.
Could anyone tell me what experiences they have had with building a
system using Forte Service objects in a multi-tiered system?
It seems to us that these are intended to be used as high-value
facade-like interfaces which serve as an entry point to the underlying
business object model. Is this correct?
Can we pass a remote object reference back to a client for its
subsequent use? If not, does this mean that we have to build a local,
client-based object model to hold the data returned from the service
object methods?
Any other assistance you can give will be very much appreciated.
Thanks
Andrew Lowther--
Katie Carty
Senior Consultant
Forte Software, Inc.
http://www.forte.com
4801 Woodway Drive, Suite 300E
Houston, Texas 77056
vmail: (510) 986-3802
email: [email protected]
**************************************************Andrew,
We at Per-Se Technologies have developed an approach to alleviate many
"pains" with using service objects. Some things you will soon discover is
that although service objects provide fail-over, load balancing, etc., they
also,
1. Eat up valuable developer time because it takes time to repartition and
start partitions in development mode. In development mode (i.e., running
from the workshops), each developer gets their own copy of all partitions!
2. Limit the use of compiled libraries due to service object references in
TOOL code.
3. Consume valuable server resources because each developer has their own
copy of the partitions.
We have several alternatives to address all of the above problems. I am
currently working on converting a large application so that:
1. All developers share a single set of service objects/partitions. Each
developer doesn't have to wait while their copies of the partitions come
up. Therefore, development time is more fully utilized and server
resources are dramatically freed up.
2. Service objects are completely decoupled from an application.
Therefore, we can compile as much as possible.
You asked some other questions as well: You should always isolate SO
references as much as possible. We do this by using a facade. You can
pass a remote obj. reference to a client for future use.
Take care!
Dustin Breese
Supervising Technical Specialist
Per-Se Technologies
From: Andrew Lowther <[email protected]>
Date: Tue, 24 Feb 1998 16:24:31 -0000
Subject: Service Objects
We are currently in the process of rearchitecting our software systems
around Forte.
Could anyone tell me what experiences they have had with building a
system using Forte Service objects in a multi-tiered system?
It seems to us that these are intended to be used as high-value
facade-like interfaces which serve as an entry point to the underlying
business object model. Is this correct?
Can we pass a remote object reference back to a client for its
subsequent use? If not, does this mean that we have to build a local,
client-based object model to hold the data returned from the service
object methods?
Any other assistance you can give will be very much appreciated.
Thanks
Andrew Lowther -
Azure Powershell - Calling Set-AzureServiceDiagnosticsExtension results in BadRequest error
I'm trying to set Azure diagnostics on a deployed cloud service using v0.8.11 Azure Powershell cmdlets and the Set-AzureServiceDiagnosticsExtension command:
Set-AzureServiceDiagnosticsExtension -StorageContext $storageContext -DiagnosticsConfigurationPath $diagnosticsConfiguration.FullName -ServiceName $serviceName -Slot Production -Role "MyService.Web"-Verbose
Doing so I get the following error
Exception: Microsoft.WindowsAzure.CloudException: BadRequest: The extension ID
MyService.Web-PaaSDiagnostics-Production-Ext-0 is invalid.
at Microsoft.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task
task)
at Microsoft.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(Task
task)
at Microsoft.WindowsAzure.HostedServiceOperationsExtensions.AddExtension(IHo
stedServiceOperations operations, String serviceName,
HostedServiceAddExtensionParameters parameters)
at Microsoft.WindowsAzure.Commands.ServiceManagement.Extensions.ExtensionMan
ager.AddExtension(HostedServiceAddExtensionParameters extensionInput)
at Microsoft.WindowsAzure.Commands.ServiceManagement.Extensions.ExtensionMan
ager.InstallExtension(ExtensionConfigurationInput context, String slot,
ExtensionConfiguration extConfig)
at Microsoft.WindowsAzure.Commands.ServiceManagement.Extensions.SetAzureServ
iceDiagnosticsExtensionCommand.ExecuteCommand()
at Microsoft.WindowsAzure.Commands.ServiceManagement.Extensions.SetAzureServ
iceDiagnosticsExtensionCommand.OnProcessRecord()
at Microsoft.WindowsAzure.Commands.Utilities.Common.CloudBaseCmdlet`1.Proces
sRecord()
at System.Management.Automation.Cmdlet.DoProcessRecord()
at System.Management.Automation.CommandProcessor.ProcessRecord()
+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorExcep
tion
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorExceptio
n,UpdateDiagnosticsBuildStep.ps1
It works when I don't use the "-Role" parameter but then I have to call Remove-AzureServiceDiagnosticsExtension for each role prior to calling the Set command which adds 2-3 minutes per role to the script execution time.
The Role parameter matches my role name in the Azure Cloud Service. Am I doing something wrong or is this a bug?Hi dontijee,
Please look at this article:
http://blogs.msdn.com/b/kwill/archive/2014/12/02/windows-azure-diagnostics-upgrading-from-azure-sdk-2-4-to-azure-sdk-2-5.aspx, there is one person who encounter the same issue in the comments part of this article, please pay attention to this article. If
any update, I will post here.
[update]
Please have a look at the kevin's reply, it seems like a powershell bug, here is a snippet.
The problem has been identified as an issue with the extension name code in the Powershell cmdlet. The REST API that Powershell calls doesn't support dots in the extension name. Visual Studio will correctly remove the dots from the role name,
but Powershell preserves the full role name including dots. We will fix the Powershell code, but in the meantime the workarounds are:
1) Remove the '.' from your role name.
2) Use Visual Studio to enable diagnostics.
3) Instead of using Set-AzureServiceDiagnosticsExtension, use the generic New-AzureServiceExtensionConfig / Set-AzureServiceExtension methods.
Best Regards,
Jambor
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
Azure Powershell Get Public IP of Staging Cloud Service
I also posted my question here..
http://stackoverflow.com/questions/20690307/azure-powershell-get-public-ip-of-staging-cloud-service
I am using this answer to look up our cloud service's public ip via azure powershell.
Azure
Powershell: Get public virtual IP of service
This only returns the endpoints for the production cloud services. We also need to easily look up our staging cloud service endpoints.
Does anyone know how to look these up with Azure Powershell?
Thanks!hi TWilly,
Thanks for psoting!
You could use "Slot" in your powershell.
Please see the description about "Slot":
-Slot<String>
Specifies the Windows Azure deployment environment. Choices are "Production" or "Staging".
You could use it to specify the emviroment.Like this sample :
C:\PS>Get-AzureRole –ServiceName "MySvc1" –Slot Staging –RoleName "MyTestVM3"
You could refer to this document:
http://msdn.microsoft.com/en-us/library/jj152869.aspx
Please try it.
Regards,
Will
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
How to set same domain name for Azure Storage and Hosted Service
I have a web application running on azure and using azure storage with blob. My application allows to edit html files that are in the azure storage to save with another name and publish them later. I am using javascript to edit the html content that
I display in an Iframe but as the domain of my web application and the html that I try to edit are not the same, I got and this error "Unsafe JavaScript
attempt to access frame with URL "URL1" from frame with URL "URL2". Domains, protocols and ports must match".
I have been doing some research about it and the only way to make it work is to have the web application and the html that I want to access using javascript under the same domain.
So my question is: is it possible to have the same domain name in azure for the hosted service and the storage.
Like this:
hosted service: example.com
storage: example.com
By the way I already customize the domain names so they looks like this:
hosted service <mydomainname>.com
storage <blob.mydomainname>.com
Actually I have my application running in another hosting and I have no problem there since I have a folder where I am storing the files that I am editing so they are in the same domain as the application. I have been thinking in to do the same with Azure,
at least to have a folder where I can store the html file meanwhile I am editing it but I am not sure how much space I have in the hosted service to store temporary files.
let me know if you have a good tip or idea about how to solve this issue.Hi Rodrigo,
Though both Azure Blob and Azure applications support custom domain, one domain could have only one DNS record (in this case is CNAME record) at one time. For Steve's case, he has 3 domains, blog.smarx.com, files.blog.smarx.com and cdn.blog.smarx.com.
> I would like to find a way to storage my html page that I need to edit under the same domain.
For this case, a workaround will be adding a http handler in your Azure application to serve file requests. That means we do not use the actual blob url to access blob content but send the request to a http handler then the http handler gets the content
from blob storage and returns it.
Please check
Accessing blobs in private container without Shared Access Secret key for a code sample.
Thanks.
Wengchao Zeng
Please mark the replies as answers if they help or unmark if not.
If you have any feedback about my replies, please contact
[email protected]
Microsoft One Code Framework -
RE: (forte-users) User-visible service object
This solution will cause network traffic for all method calls on the
environment visible SO. This overhead is not incurred when calling methods
on a user visible SO in the same partition. Depending on the frequency of
calls and the volume of data being passed in and out, this could be
significant overhead.
We have successfully implemented the following.
Create a second User Visible SO based on the same class. Then you will be
able to partition the one SO into the client partition and the second into
the server partition.
For example, assume the underlying class is named MessageService then define
your SO's as
ClientMessageService -> MessageService
ServerMessageService -> MessageService
Andy
-----Original Message-----
From: Amin, Kamran [mailto:kamran.aminlendware.com]
Sent: Wednesday, August 23, 2000 10:17 PM
To: 'Duncan Kinnear'; kamranaminyahoo.com
Subject: RE: (forte-users) User-visible service
object
Duncan,
Make the user visible service object to an
environment visible
service object. This way the client and any service object
on the server
can access it.
ka
-----Original Message-----
From: Duncan Kinnear [mailto:duncanmccarthy.co.nz]
Sent: Wednesday, August 23, 2000 7:47 PM
To: kamranaminyahoo.com
Subject: (forte-users) User-visible service object
Hi folks!
We've got a user-visible service object that handles
initialisation of and
access to the message catalog.
This works well on the client, but we would like to use the
same
mechanism (and even the same service object) on the server
so that
service objects on the server have access to their message
catalog on
the
server.
I was hoping that if we referenced this user-visible service
object in
both the client and the server code, that it would partition
a copy in
each of the client and server partitions. However, we
cannot get this
user-visible service object duplicated on the server. If we
drag and drop
it onto the server partition in the partition workshop, it
disappears from
the client partition!
Anybody got any idea how we could do this?
Cheers,
Duncan Kinnear,
McCarthy and Associates, Email:
duncanMcCarthy.co.nz
PO Box 764, McLean Towers, Phone: +64
6 834 3360
Shakespeare Road, Napier, New Zealand. Fax: +64
6 834 3369
Providing Integrated Software to the Meat Processing
Industry for over 10
years
For the archives, go to:
http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe,
send in a new
email the word: 'Unsubscribe' to:
forte-users-requestlists.xpedior.com
For the archives, go to:
http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe,
send in a new
email the word: 'Unsubscribe' to:
forte-users-requestlists.xpedior.comI would try going to the "lowest common denominator" between WindowsNT and
Windows95 - DOS. Both windowing OS's sort of have their roots in DOS, or at
least both are capable of opening a DOS session.
Therefore, from a DOS prompt type "set" to view the environment variables for
both OS types. Look for a common variable between the two that stores the
userID. If you can find one of these your application will be that much more
portable between these two Windows mutations.
I used "set" on my NT and found my userID assigned to a few variables. I haven't
done this on a Windows95 machine in quite some time, but if the machine is on
the network it should have at least one environment variable with the userID.
I'm just guessing that DOS has a variable to store the userID that will be
common to both machines.
Good luck....
Kelsey PetrychynSaskTel Technical Analyst
ITM - Technology Solutions - Distributed Computing
Tel (306) 777 - 4906, Fax (306) 359 - 0857
Internet:kelsey.petrychynSasktel.sk.ca
Quality is not job 1. It is the only job!
"Olivier Andrieux" <oandrieuxaxialog.fr> on 07/19/2000 09:12:41 AM
To: forte-userslists.xpedior.com
cc: (bcc: Kelsey Petrychyn/SaskTel/CA)
Subject: (forte-users) user name
Hi
I use this command to catch the username:
task.part.operatingsystem.getenv('username')
with NT, there is no problem
but with windows95 or 98 the command doesn't find the username.
Thanks in advance.
Olivier Andrieux
Axialog
Lille
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com -
EWS Powershell: Set HomePageURL
I'm so close its frustrating
Building a powershell app to add a folder to a mailbox and set it with a homepage. I can create the folder and my code below sets the PR_FOLDER_WEBVIEWINFO property, but its not setting the correct value. If looking at MFCMapi the value I'm setting appears
under "Value (alternative text)" rather than "Value"....
Here's the code, the $Encoded URL value is valid as if I input this directly into MFCMapi then the 'homepage' appears...
$EncodedURL = "020000000100000001000000000000000000000000000000000000000000000000000000000000002000000068007400740070003A002F002F00620069006E0067002E0063006F006D000000"
$bqByteArray = [System.Text.Encoding]::ASCII.GetBytes($EncodedURL)
$PR_FOLDER_WEBVIEWINFO = new-object Microsoft.Exchange.WebServices.Data.ExtendedPropertyDefinition(14047,[Microsoft.Exchange.WebServices.Data.MapiPropertyType]::Binary)
$NewFolder.SetExtendedProperty($PR_FOLDER_WEBVIEWINFO,$bqByteArray)
$NewFolder.update()
It's almost as if my $EncodedURL should be the byte array, but if I try to use
$NewFolder.SetExtendedProperty($PR_FOLDER_WEBVIEWINFO,$EncodedURL) it just fails.... A little guidance pleaseHmm, Get errors with your code. Here's something I've put together. Very similar and wished I had seen yours a bit earlier. Would have made the task easier. Working on adding Get-Mailbox for all mailbox users.
Open to suggestions.
# Script is designed to create a new folder in Outlook and add a homepage URL
# Tested using Exchange Server 2007SP1/2010SP1
# Works for a single user only. Future designs to apply to Get-Mailbox users.
# This file should be named with a *.ps1 extension to run. If need be, rename the file.
# It is assumed this file and the associated dll are located in C:\Temp\, else
# Update the $LogFile and $dllpath accordingly
# User Settings
$newFolderName = "Google"
$CustomURL = "http://google.co.nz"
$MailboxName = "[email protected]"
$MailboxPwd = "pwd"
$Domain = "" #Not Used yet
$MbAdmin = "" #Not Used yet
$MbAdminPwd = "" #Not Used yet
$dllpath = "c:\temp\Microsoft.Exchange.WebServices.dll"
[string]$LogFile = "C:\Temp\Log.txt" # Path of the Log File
Import-Module $dllpath
[string]$info = "White" # Color for informational messages
[string]$warning = "Yellow" # Color for warning messages
[string]$error = "Red" # Color for error messages
#Setup the service for the appropriate version of Exchange
#$Service = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService([Microsoft.Exchange.WebServices.Data.ExchangeVersion]::Exchange2007_SP1)
$Service = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService([Microsoft.Exchange.WebServices.Data.ExchangeVersion]::Exchange2010_SP1)
#$Service = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService([Microsoft.Exchange.WebServices.Data.ExchangeVersion]::Exchange2010_SP2)
#$Service = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService([Microsoft.Exchange.WebServices.Data.ExchangeVersion]::Exchange2013)
#Set login credentials
#$Service.Credentials = New-Object System.Net.NetworkCredential($MailboxName,$MailboxPwd,$Domain)
$Service.Credentials = New-Object Microsoft.Exchange.WebServices.Data.WebCredentials($MailboxName,$MailboxPwd)
#Use hardcoded CAS Server URL or use Autodiscover
#$service.Url= new-object Uri(http://CAS-Server/EWS/Exchange.asmx)
$Service.AutodiscoverUrl($MailboxName,{$true})
Write-host "EWS URL set to :" $Service.Url -foregroundcolor $info
#Connect to users MsgFolderRoot and search for $newFolderName
$RootFolderID = new-object Microsoft.Exchange.WebServices.Data.FolderId([Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::MsgFolderRoot,$MailboxName)
$RootFolder = [Microsoft.Exchange.WebServices.Data.Folder]::Bind($Service,$RootFolderID)
$FolderView = New-Object Microsoft.Exchange.WebServices.Data.FolderView(1) #Custom value. Enable the following line for +10
#$FolderView.Traversal = [Microsoft.Exchange.WebServices.Data.FolderTraversal]::Deep
$SfSearchFilter = new-object Microsoft.Exchange.WebServices.Data.SearchFilter+IsEqualTo([Microsoft.Exchange.WebServices.Data.FolderSchema]::DisplayName,$newFolderName)
$findFolderResults = $service.FindFolders($RootFolderID,$SfSearchFilter,$FolderView)
# If $newFolderName found, say so.
if ($findFolderResults.TotalCount -ne 0){
Write-host "Folder already exists for" $MailboxName -foregroundcolor $info
#Delete the folder ? ?
#$newFolderName.delete([Microsoft.Exchange.WebServices.Data.DeleteMode]::SoftDelete) #DeletedItems
#$newFolderName.delete([Microsoft.Exchange.WebServices.Data.DeleteMode]::HardDelete)
# DON'T CHANGE BELOW THIS LINE
# If $newFolderName not found create it and set homepage URL
if ($findFolderResults.TotalCount -eq 0){
Write-host $MailboxName ": Folder not found... Creating" -foregroundcolor $warning >> $Logfile
# Create the folder
$NewFolder = new-object Microsoft.Exchange.WebServices.Data.Folder($service)
$NewFolder.DisplayName = $newFolderName
$NewFolder.Save($RootFolderID)
# Do the real work!
# Generate HEX of URL
$CharArray = $CustomURL.ToCharArray();
$homepagebytes = $null
Foreach ($Char in $CharArray) {$homepagebytes = $homepagebytes + [System.String]::Format("{0:X}", [System.Convert]::ToUInt32($Char))+"00"}
# String together the value for PR_FOLDER_WEBVIEWINFO
$dwversion = "02"
$dwType = "00000001"
$dwFlags = "00000001"
$dwUnused = "00000000000000000000000000000000000000000000000000000000"
$cbDataSizePadding = "000000"
$cbDataSize = (($homepagebytes.length / 2)+2).ToString($x)
$cbDataSizePadding2 = "000000"
$homepagebytesPadding = "0000"
$HexURL = $dwversion + $dwType + $dwFlags + $dwUnused + $cbDataSizePadding + $cbDataSize + $cbDataSizePadding2 + $homepagebytes + $homepagebytesPadding
# $HexURL = "020000000100000001000000000000000000000000000000000000000000000000000000000000002000000068007400740070003A002F002F00620069006E0067002E0063006F006D000000"
# Convert $HexURL to a Bytearray then Base64
$bytes2 = @($HexURL -split '([a-f0-9]{2})' | foreach-object { if ($_) {[System.Convert]::ToByte($_,16)}})
$Base64URL = [System.Convert]::ToBase64String($bytes2);
# $Base64URL = "AgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABoAHQAdABwADoALwAvAGIAaQBuAGcALgBjAG8AbQAAAA=="
# read/write the URL into $PR_FOLDER_WEBVIEWINFO
$bytes = [System.Convert]::FromBase64String($Base64URL);
$PR_FOLDER_WEBVIEWINFO = new-object Microsoft.Exchange.WebServices.Data.ExtendedPropertyDefinition(14047,[Microsoft.Exchange.WebServices.Data.MapiPropertyType]::Binary)
$NewFolder.SetExtendedProperty($PR_FOLDER_WEBVIEWINFO,$bytes)
#Save
$NewFolder.update()
Write-host "Created for" $MailboxName -foregroundcolor $info >> $Logfile
Write-host "Finished" -foregroundcolor $info
# Credits to the following in no particular order:
# Plus many many more. Thanks to you all. -
Query on Service Order Assignment Type in CRM Service Manager
Hi All,
This query is regarding the Service Order Assignment type in CRM Service Manager.
While fetching the service orders from SAP, the ServiceOrderFetchBAPI calls the ServiceOrderAssignmentTypeDelegateFactory class
ServiceOrderAssignmentTypeDelegateFactory class contains {
1. public static String ASSIGNMENT_TYPE_GLOBAL = "ServiceOrder.AssignmentType";
public static String SECTION = "APPLICATION_CONFIG";
Question 1: Please explain about both the String values, Are these two values being fetched from the sap config panel ? If yes then please elaborate where can I check their respective values in SAP.
2. The method getAssignmentTypeDelegate compares each values and returns the respective assignmentTypes
public static ServiceOrderAssignmentTypeDelegate getAssignmentTypeDelegate(User user, SAPObject sapObject, BAPI bapi)
throws Exception
String assigmentType = user.getPropertyValue(SECTION, ASSIGNMENT_TYPE_GLOBAL);
if (assigmentType.equalsIgnoreCase("1"))
ServiceOrderAssignmentTypeDelegate assignmentTypeBAPI = new ServiceOrderByResourcePlanning(user, sapObject, bapi);
return assignmentTypeBAPI;
if (assigmentType.equalsIgnoreCase("2"))
ServiceOrderAssignmentTypeDelegate assignmentTypeBAPI = new ServiceOrderByPartnerResponsible(user, sapObject, bapi);
return assignmentTypeBAPI;
if (assigmentType.equalsIgnoreCase("3"))
ServiceOrderAssignmentTypeDelegate assignmentTypeBAPI = new ServiceOrderByMultiResourceScheduling(user, sapObject, bapi);
return assignmentTypeBAPI;
if (assigmentType.equalsIgnoreCase("4"))
ServiceOrderAssignmentTypeDelegate assignmentTypeBAPI = new ServiceOrderByAccount(user, sapObject, bapi);
return assignmentTypeBAPI;
Based on the values a new class is instantiated and it mentions their filter range to be set in BAPI
For ServiceOrderByResourcePlanning -
public void setParameters(SAPObject obj)
throws Exception
String partnerGUID = this._serviceOrderComponentManager.getPartnerGUID();
this._bapi.setFilterRange("IT_LRP_RESOURCE_GUID_RA", "I", "EQ", partnerGUID, "");
For ServiceOrderByPartnerResponsible -
public void setParameters(SAPObject obj)
throws Exception
String partnerGUID = this._serviceOrderComponentManager.getPartnerGUID();
this._bapi.setFilterRange("IT_PARTNER_GUID_RA", "I", "EQ", partnerGUID, "");
For ServiceOrderByMultiResourceScheduling -
public void setParameters(SAPObject obj)
throws Exception
String partnerGUID = this._serviceOrderComponentManager.getPartnerGUID();
this._bapi.setFilterRange("IT_LRP_RESOURCE_GUID_RA", "I", "EQ", partnerGUID, "");
For ServiceOrderByAccount -
public void setParameters(SAPObject obj)
throws Exception
for (GUID object : this._accounts)
String guid = object.getGUID();
this._bapi.setFilterRange("IT_ACCOUNT_GUID_RA", "I", "EQ", guid, "");
Question 2 : Why the filter range in ServiceOrderByMultiResourceScheduling (MRS Scheduling engine ) is set as - this._bapi.setFilterRange("IT_LRP_RESOURCE_GUID_RA", "I", "EQ", partnerGUID, ""); ? If we see the ServiceOrderByResourcePlanning also has the same filter range - this._bapi.setFilterRange("IT_LRP_RESOURCE_GUID_RA", "I", "EQ", partnerGUID, "");
If these are two different scheduling engines then the table names should be different both in case of MRS and LRP ? Please clarify and explain
Please Explain
Thanks and Regards
Neha MahantyNeha,
Got these answers back from the programmer:
Answer 1: Yes, this is being
fetched from the Mobile application configuration parameters as shown below.
The value is configured by a rule to look up to the Service Order MDO
Assignment type filter.
Answer 2: Yes, MRS and LRP are
different scheduling engines, but since the client does not have all the user
information regarding MRS (i.e the resource information), we set the partner
GUID for both. SAP backend ABAP code will determine resource based on the
partner GUID and will call the respective handler for MRS and LRP to retrieve
the service order assignments. Currently Service Manager 4.0 code does not
support MRS with the provided add on.
Jason Latko - Senior Product Developer at SAP -
Re: Service Object events and LockMgr
On the option that you have considered, I have implemented the same model
in my previous project (using Java/RMI), but I felt that it is more than
what is normally needed for concurrency protection.
I can suggest another option that is worth considering which is in place in
our app for concurrency.
Almost every table in our db has created By, created On, modifed By,
modified On columns. The parent class of all business objects has
attributes that correspond to these four columns. In addition to these
four, there is a fifth attribute (introduced when concurrency was built)
called originalModifiedOn. Upon retrieval from the db, it is set to
modifiedOn value (from the db), during UPDATE, the value in this column is
added part of the WHERE clause. So when the second user tried to do save
the same object, the underlying db update will get a 'zero rows updated'
which is translated into an application error 'possible concurrency
error'. The user re-retreives the now 'stale' object before applying their
edits.
A lot of these things are and can be built into the framework imposing very
little work that each Object needs to do to have concurrency protection.
I am not sure if there is a mention in the Patterns paper of this model,
but it is very easy to implement and supports what is needed.
Kishore Puvvada's Mail
[email protected] on 07/28/99 01:47:00 AM
To: [email protected]@INTERNET
cc: (bcc: Kishore Puvvada/HQ-IS/TAL)
Subject: Service Object events and LockMgr
Hi folks,
We're currently looking at strategies for dealing with the simultaneous
updates to the database from multiple clients (concurrency
management). That is when two (or more) clients load the same object to
edit it, then make different changes and save them to the database.
We have a copy of a Forté document (from the "Patterns" course, I
think) which describes three methods of dealing with this:
1) Lock the database table row as soon as a client select it for editing
and hold the lock until it is saved.
2) Immediately before 'saving' check that the database hasn't changed
(either by reading what's there before updating, or by using a huge
'where' clause that contains all unchanged fields)
3) The Forté "LockMgr" pattern, which uses a service object with notifier
proxies to allow locking and updating notification between the clients.
Option 3 is obviously the most robust method, but it requires a fair
amount of coding and could also be a bottleneck for database reads and
writes.
But I have another option for which I was looking for opinions. What if
we had a "Change Event manager" which broadcast an event every time
a change is made to the database. Each business class would have its
own event. If the event had the object's primary key as a parameter, then
clients editing that particular object type could check to see if the object
currently on screen is the one that changed. That way you could disable
the 'save' until they had refreshed their on-screen data.
It's not particularily elegant, but it's reasonably simple to implement. It
also deals with changes sent across our WAN from other database
servers.
But this option is only worthwhile if you can replicate the "Change Event
manager" SO and still register for an event on the client. Can clients
register for SO events and receive an event generated by any of the SO's
replicates? Or when you register for an SO's event do you register for
only one instance of the SO?
Thanks in advance for any answers.
Cheers,
Duncan Kinnear,
McCarthy and Associates, Email:
[email protected]
PO Box 764, McLean Towers, Phone: +64 6 834 3360
Shakespeare Road, Napier, New Zealand. Fax: +64 6 834 3369
Providing Integrated Software to the Meat Processing Industry for over 10
years
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:
http://pinehurst.sageit.com/listarchive/forte>
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/forte>On the option that you have considered, I have implemented the same model
in my previous project (using Java/RMI), but I felt that it is more than
what is normally needed for concurrency protection.
I can suggest another option that is worth considering which is in place in
our app for concurrency.
Almost every table in our db has created By, created On, modifed By,
modified On columns. The parent class of all business objects has
attributes that correspond to these four columns. In addition to these
four, there is a fifth attribute (introduced when concurrency was built)
called originalModifiedOn. Upon retrieval from the db, it is set to
modifiedOn value (from the db), during UPDATE, the value in this column is
added part of the WHERE clause. So when the second user tried to do save
the same object, the underlying db update will get a 'zero rows updated'
which is translated into an application error 'possible concurrency
error'. The user re-retreives the now 'stale' object before applying their
edits.
A lot of these things are and can be built into the framework imposing very
little work that each Object needs to do to have concurrency protection.
I am not sure if there is a mention in the Patterns paper of this model,
but it is very easy to implement and supports what is needed.
Kishore Puvvada's Mail
[email protected] on 07/28/99 01:47:00 AM
To: [email protected]@INTERNET
cc: (bcc: Kishore Puvvada/HQ-IS/TAL)
Subject: Service Object events and LockMgr
Hi folks,
We're currently looking at strategies for dealing with the simultaneous
updates to the database from multiple clients (concurrency
management). That is when two (or more) clients load the same object to
edit it, then make different changes and save them to the database.
We have a copy of a Forté document (from the "Patterns" course, I
think) which describes three methods of dealing with this:
1) Lock the database table row as soon as a client select it for editing
and hold the lock until it is saved.
2) Immediately before 'saving' check that the database hasn't changed
(either by reading what's there before updating, or by using a huge
'where' clause that contains all unchanged fields)
3) The Forté "LockMgr" pattern, which uses a service object with notifier
proxies to allow locking and updating notification between the clients.
Option 3 is obviously the most robust method, but it requires a fair
amount of coding and could also be a bottleneck for database reads and
writes.
But I have another option for which I was looking for opinions. What if
we had a "Change Event manager" which broadcast an event every time
a change is made to the database. Each business class would have its
own event. If the event had the object's primary key as a parameter, then
clients editing that particular object type could check to see if the object
currently on screen is the one that changed. That way you could disable
the 'save' until they had refreshed their on-screen data.
It's not particularily elegant, but it's reasonably simple to implement. It
also deals with changes sent across our WAN from other database
servers.
But this option is only worthwhile if you can replicate the "Change Event
manager" SO and still register for an event on the client. Can clients
register for SO events and receive an event generated by any of the SO's
replicates? Or when you register for an SO's event do you register for
only one instance of the SO?
Thanks in advance for any answers.
Cheers,
Duncan Kinnear,
McCarthy and Associates, Email:
[email protected]
PO Box 764, McLean Towers, Phone: +64 6 834 3360
Shakespeare Road, Napier, New Zealand. Fax: +64 6 834 3369
Providing Integrated Software to the Meat Processing Industry for over 10
years
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:
http://pinehurst.sageit.com/listarchive/forte>
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/forte> -
Is service object comes default in purchase order
Hi Abapers,
I am a Fucntional consultant. I would like to know whether the service object comes in the Purchase order defauly or any setting is ther behind.
Reg,
AshokHi,
Have you read my question properly. I was asking about Service Object key in Purchase Orders & Purchase Requisitions where we can attach External Documents.
Hope your doubt is clear.
Reg,
Ashok -
How to get Windows Azure Powershell on a HDInsight VM?
I've already searched MSDN and Bing and didn't find an answer to my question below -> So how do I install Windows Azure Powershell on my HDInsight cluster?
Overall, I'm trying to execute the tutorial here:
http://azure.microsoft.com/en-us/documentation/articles/hdinsight-analyze-twitter-data/
1) I provisioned a single HDInsight cluster. I have a pre-existing storage account. I can use Azure Storage Explorer to browse around so I know it's ok.
2) I am able to open a remote desktop connection to my cluster.
3) To run any of the PowerShell scripts in the tutorial linked above I need "Windows Azure Powershell". Regular "Windows Powershell" doesn't seem to have some cmdlets.
4) After I remote into my cluster I go to this page
http://azure.microsoft.com/en-us/documentation/articles/install-configure-powershell/ and launch the link that says "You can download and install the Azure PowerShell modules by running the
Microsoft Web Platform Installer...".
5) I choose that installer link.
6) I choose "Run"
7) It says "The system administrator has set policies to prevent this installation."
So how do I install Windows Azure Powershell on my HDInsight cluster?
Thanks in advance.Hi CraigGu,
User won't get admin access on HDInsight cluster so that's the reason you were getting the error.
It's not recommended to install any software/do any customization(via rdp) on headnode of HDInsight cluster. The reason is that changes will not be preserved due to cluster reimage process.
To answer your question please install and configure PowerShell on your desktop/laptop and submit jobs.
Thank you for choosing Microsoft HDInsight
Thanks and Regards,
Please marked it as answered if it answer your question.
Sudhir Rawat -
Service objects inside libraries (WAS: Interfaces in Forte -has anyon
The following message is actually not about interfaces, but libraries:
> From: Jeanne Hesler <[email protected]>
> To: [email protected] <[email protected]>
> Date: Thursday, July 30, 1998 11:12 AM
> Subject: RE: Interfaces in Forte - has anyone used them?
>>
> Just to clarify a few things:
>>
1) Just to be 100% correct -- it is actually Libraries that areloaded and
not Interfaces. The distinction is important because a librarycould
potentially implement many interfaces (or provide manyimplementations for a
single interface).
2) The code in a Library may reference a service object, but itmay not
define a service object. Of course any SO's referenced by thelibrary
must already be known to the loading partition. It is OK to havecode like
this in a library:
MySO.doSomething();
The documentation is a little vague on this point, but I haveconfirmed that
this is true through Tech Support and by experimentation.
Actually you CAN define and use service objects inside libraries
(compiled or interpreted) with two restrictions:
1) You can not define two service objects inside library in different
projects and call one of them from another. If you need that, both
service objects must be in the same project.
2) If service object is defined and used only by library (if it never
referenced directly by application code), than in order to be able to
partition application, you will need to create dummy method inside
application, which will reference this service object (you do not need
to execute this method - just have in the code).
WBR,
Nickolay Sakharov.
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>The way stateful Web services are currently handled is through the use of cookies ... once your stub invokes a stateful Web service a cookie is created which routes subseqent requests back to the Web service.
In your scenario, the problem is given one client has creates Web service 1 and now Web service 2 would like to be able to use that state it really isn't possible unless you engineer a solution yourself ... you would need so somehow set the cookie on your Web service 2 client to that of the original client to Web service 1. State tends to be based around an individual client versus multiple clients for that state.
There are numerous ways around this but you would be engineering around the issue ... the easiest is to write the state out somewhere so that it can be shared.
This section of the doc gives a brief overview:
http://download-west.oracle.com/docs/cd/A97688_06/generic.903/b10004/javaservices.htm
Lastly be aware there is a bug with timeouts in stateful Web services in Oracle9iAS 9.0.3 that has been fixed in 9.0.4. I can't find the thread here that documents it but when I track it down I will post the link so you can see the workaround.
Mike. -
I'm trying to install Windows Azure PowerShell on my Windows 7 SP1 Enterprise laptop. As a prerequisite, it needs to install Microsoft SQL Server 2012 Express LocalDB, I but keep receiving an error:
Service 'SQL Server VSS Writer' (SQLWriter) failed to start. Verify that you have
sufficient privileges to start system services.
The service that it tries to use by default is the Local Service. I verified that it has log on as a service privileges and even did a restart. Same error.
any ideas?
Cross posted in Windows
AzureHi ,
According to your description, when you install SQL Server 2012 Local DB , it encounter the error about SQLWriter. We need to verify if you invoke SQLLOcalDB.msi directly, and check
MSSQL service is running and other service’s status.In addition, you can go to event viewer and check the error logs for analysis.
There is a similar issue about Service SQL Server VSS Writer and troubleshooting SQL Server 2012 Express LocalDB, you can review the following article.
http://blog.andreloker.de/post/2008/07/17/SQL-Server-hotfix-KB948109-fails-with-error-1920.aspx#!
http://social.technet.microsoft.com/wiki/contents/articles/4609.troubleshoot-sql-server-2012-express-localdb.aspx
Thanks,
Sofiya Li
Your Name
TechNet Community Support -
RE: log trace on Service Object
I haven't tried myself; but got a copy from someone of part of technote
10398 which says (the minimum you need is:)
trc:in:1 Prints out information about interpreter state object.
10 - Print method entry/exit
trc:in:2 Trace the interpretation of method invocations and exception
handling
2 - Prints entry/exit and exceptions
trc:in:51:1 Traces method entry/exit by task
trc:in:54:1 Traces method entry/exit by application
Try it.
-----Original Message-----
From: Eric Abécassis [mailto:[email protected]]
Sent: Tuesday, April 13, 1999 10:24 AM
To: Forte User List
Subject: log trace on Service Object
Hi Everybody,
I would like to set log trace on each call (method entry and exit) on a
Service Object, but I didn't find any log flag which helps me.
Does someone have any ideas on how to do that ?
Thank you for your help !
Eric Abécassis <[email protected]>
Senior Architect
Sema Group DTS
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>Hi Eric,
You can find on http://perso.club-internet.fr/dnguyen/ a little tool called CodeAdd which adds Entry and Return trace. I fact, you
can use it to add any kind of code at the beginning and the end of your methods.
It also allows you to add a pre-formated comments header in you code.
In a further version, It may be possible to replace a code sequence from your methods. For instance, you may add a trace class and
change a task.Part.LogMgr.Putline by a call to your own class, or need to suppress some lines.
Just be carefull to use the tool on a local backupo of your repository : CodeAdd updates your methods directly in the repository.
Hope this helps,
Daniel Nguyen
Freelance Forte Consultant
Url : http://perso.club-internet.fr/dnguyen/
Eric =?iso-8859-1?Q?Ab=E9cassis?= a écrit:
Hi Everybody,
I would like to set log trace on each call (method entry and exit) on a
Service Object, but I didn't find any log flag which helps me.
Does someone have any ideas on how to do that ?
Thank you for your help !
Eric Abécassis <[email protected]>
Senior Architect
Sema Group DTS
Eric Abécassis <[email protected]>
Senior Architect
Sema Group DTS
Eric Abécassis
Senior Architect <[email protected]>
Sema Group DTS Courrier HTML
les Algorithmes - Pythagore A route des Lucioles, BP 279;Sophia Antipolis;;06905;France Tél. cellulaire: +33 (0) 6 62 36 68 83
Télécopie: +33 (0) 4 93 95 xx xx
Bureau: +33 (0) 4 93 95 46 50
Informations supplémentaires:
le nom ABECASSIS
Prénom Eric
Version 2.1-
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/> -
How to download a service object attachment to app server?
I found some postings / blogs to download an attachment (service objects).
This tells to download to local drive or to a mapped network drive .
How do I download to an applications erver?
Thanks,
VenI know OPEN DATE SET and all that stuff.
and it seems we are moving in another tangent.
I need to download Service Object Attachments to the app server. aR's reply is some what relevant but is not exactly relevant.
I am able to download to presentations erver by using the code:
This function module creates a file in the PC
CALL FUNCTION 'SO_DOCUMENT_REPOSITORY_MANAGER'
EXPORTING
method = 'PUTCONTENTTOFILE'
office_user = sy-uname
TABLES
files = i_files
CHANGING
document = sw_document.
READ TABLE i_files INDEX 1.
MOVE:
i_files TO sw_document1.
However this does not seem to work to download on the app server.
Maybe you are looking for
-
How do i unlock my iPod when i connect it to the computer it docent unlock
My brother locked it and it says "iPod is disabled connect to iTunes" and i did but iTunes says it needs to be unlocked before i can use it ?!? how do i unlock it from iTunes or what do i do?!
-
Partial clearing for noted item
Hi I have created a bank guarantee (BG) given to customers as a noted item. When receiving payaments from customer (after invoicing is done to customer), i need to clear this BG (noted item). This clearing of noted item needs to be done for partial
-
Photoshop free trial download help!
When the download in the Adobe Download Assistant gets to 1,117 MB it says that there are about 4 minutes left, but the download will not continue past this point. Please Help!! What do I do? I need to use this software for a school project.
-
Error -50 when syncing photos to 2nd Gen Nano 4gig
Receiving an error message -50 when trying to load photos onto a new iPod Nano 4gig. Music loads fine. Photo tab will not allow me to select prefered photo albums and when forced to sync, I get the above error message. Any ideas how to correct? Thank
-
Country from ship to in the PA
Hi I need to defined a characteristics: Country from ship to in the PA. Can you guide me how to do it (step by step please...)