Hello All,
Recently I had a requirement wherein I was getting multiple values in inputs and had to use the values one by one in my code ,perform some calculation till all values have been read from input.
The requirement can be summarized as, suppose we are given 5 Service Request number in input and we are required to perform some operation on each of them.
The requirement can be summarized as, suppose we are given 5 Service Request number in input and we are required to perform some operation on each of them.
- We need a way to read each Service Request number individually
- We need to parse the input based on a delimiter
In my case I was getting the input in format as : 1-12345;1-34566;3-78686;9-09867
Multiple SR numbers separated by semicolon( ; ) as delimiter.
Multiple SR numbers separated by semicolon( ; ) as delimiter.
first i had to use Vanilla Business Service
BS : Inbound E-mail Manager
Method : GetTokens
to parse input text and convert input string in multiple SR numbers.
to parse input text and convert input string in multiple SR numbers.
For more information on this BS please refer bookshelf.
https://docs.oracle.com/cd/E14004_01/books/eMail/eMail_BusServMeth3.html
then, Iterate my code number of time and each time store the output in a variable, since the number of SR in input is not fixed i had to user arrays to dynamically store output.
then, Iterate my code number of time and each time store the output in a variable, since the number of SR in input is not fixed i had to user arrays to dynamically store output.
Sample code looked like.
function Service_PreInvokeMethod(MethodName, Inputs, Outputs) { if (MethodName == 'GetSRNumber') { var Result= new Array(); var Status = ""; var SRInput = Inputs.GetProperty("SRInput"); var NumberOfSR = Inputs.GetProperty("NumberOfSR"); var Token = ""; var oService = TheApplication().GetService("Inbound E-mail Manager"); var oInputs = TheApplication().NewPropertySet(); var oOutputs = TheApplication().NewPropertySet(); // call BS to parse input to separate Numbers oInputs.SetProperty("Delimiter", ";"); oInputs.SetProperty("NumTokens", NumberOfSR); oInputs.SetProperty("Text", SRInput); oService.InvokeMethod("GetTokens", oInputs, oOutputs); for(var x = 1; x <= NumberOfSR; x++) { Token = oOutputs.GetProperty('Token '+x); // Dynamically assign value in variable Result[x] = Token; Outputs.SetProperty('SR'+x,Result[x]); } } return (CancelOperation); } |
here, NumberOfSR is the count of SR's in Input which we require to separate to individual SR, Result is a array in which we are storing values of SR Number
expression Outputs.GetProperty('Token '+x) this expression iterates in the loop for each instance i.e. for x =1 it is evaluated as
Outputs.GetProperty("Token 1")
and for subsequent values of x as
Outputs.GetProperty("Token 2")
Outputs.GetProperty("Token 3")
Outputs.GetProperty("Token 4"), here we are dynamically creating the variable based in the number of times we need to run loop.
The same way we are dynamically assigning values in Array,
expression Result[x] this expression iterates in the loop for each instance i.e. for x =1 it is evaluated as
Result[1]
and for subsequent values of x as
Result[2]
Result[3]
Result[4]
.
The output of this is
expression Outputs.GetProperty('Token '+x) this expression iterates in the loop for each instance i.e. for x =1 it is evaluated as
Outputs.GetProperty("Token 1")
and for subsequent values of x as
Outputs.GetProperty("Token 2")
Outputs.GetProperty("Token 3")
Outputs.GetProperty("Token 4"), here we are dynamically creating the variable based in the number of times we need to run loop.
The same way we are dynamically assigning values in Array,
expression Result[x] this expression iterates in the loop for each instance i.e. for x =1 it is evaluated as
Result[1]
and for subsequent values of x as
Result[2]
Result[3]
Result[4]
.
The output of this is
we can then fetch the values of SR Number from output or we can use Property set to create Hierarchical outputs as well.
for Creating Hierarchical property sets refer the post http://www.siebelfoundations.com/2016/08/working-with-property-sets-in-siebel.html
I preview this blog. Most of the points are very interesting to read. its help me to study also. Thanks for your help.
ReplyDeletecore java training in chennai
core java classes
core javaTraining in Tambaram
clinical sas training in chennai
Spring Training in Chennai
QTP Training in Chennai
Manual Testing Training in Chennai
Great Article
DeleteCloud Computing Projects
Networking Projects
Final Year Projects for CSE
JavaScript Training in Chennai
JavaScript Training in Chennai
The Angular Training covers a wide range of topics including Components, Angular Directives, Angular Services, Pipes, security fundamentals, Routing, and Angular programmability. The new Angular TRaining will lay the foundation you need to specialise in Single Page Application developer. Angular Training
We have seen about 2 different instances of Reimage Plus Crack License Key incl Full Free Download.exe in different location. So far we haven't seen any License Key For Reimage
ReplyDeleteIn this article, we will show you how to activate Windows with Windows 7 Ultimate Crack. Remember that buying Windows 7 keys on Microsoft's official site. Genuine Product Key For Windows 7 Ultimate
ReplyDeleteDon't worry about the gift for me on this Christmas. My dear sweet family in good health and great mood is everything I want to get. Because that's what I need .https://wishesquotz.com/christmas-wishes-for-loved-ones/
ReplyDelete