Customizing seeded workflow steps

Hi Gurus,
While trying to open View Additional Invoice Details in Approver worklist getting error
"You have encountered an unexpected error. Please contact the System Administrator for assistance"
What can be the possible reasons.
Parasuraman
[email protected]

Please see if these docs help.
How to create a custom copy of the seeded Purchasing PO Approval Workflow POAPPRV [ID 1270010.1]
How do you create a custom Workflow and get it to appear under the 'Identifier' column in Define Approval Style Form? [ID 338758.1]
Thanks,
Hussein

Similar Messages

  • Custom pages at each workflow step in UCM

    How can I link custom pages (say JSP pages) with a workflow step in UCM? Suppose I've a workflow with a reviewer and approver and I want to get some field values at each step, how can I do so? Currently, the only option I get is Approve/Reject links at each step.

    so suppose you create an HCST page (see Bex's book if any of you reading aren't sure what those are) and check it into the content server.
    You will need to reference it from the workflow in queue page or the emails that get sent out to the step reviewers (or both).
    I suspect that in addition to calling the page (via URL) you would also pass some information on the URL like the content ID of the item being reviewed in workflow, the workflow step, etc. That information will be available already on the page you are navigating from.
    Then your hcst looks and functions like any other template page. It has the information from the URL params that it can use as inputs for additional queries or services that you're executing. There are some examples of basic HCSTs in the book and in the Dynamic Server Pages guide here:
    http://download-west.oracle.com/docs/cd/E10316_01/cs/cs_doc_10/documentation/developer/dynamic_server_pages_10en.pdf

  • Custom workflow steps in BCC / Prepending hostnames to images in media text

    We need to be able to prepend hostnames to image paths that are inside media internal text (MIT) items.
    We have MITs that contain raw HTML from a 3rd party that get imported into Merchandizer.
    Some of this HTML have <img> tags or reference images in inline <style> blocks, in the form of <img src="/foo/bar/xyz.png" alt="my image" /> or <style> .img { background-image: url(/foo/bar/xyz.png) } </style> respectively.
    We need to be able to programmatically append imgX.mydomain.com to the image paths (where X is calculated by an existing component depending on some custom logic to point the relevant images to the correct web server cluster). Also, the 'img' portion may be 'imgprev' or 'imgstg' depending on the environment. eg: img1.mydomain.com/foo/bar/xyz.png for production & imgstg1.mydomain.com/foo/bar/xyz.png for staging.
    We also need to be able to strip out the domains when the MITs are exported from Merchandizer.
    My initial thoughts were to create a servlet filter with a custom response wrapper to do this, but this is additional overhead at request time we'd rather not have.
    Is there some way we can create a custom workflow step to do this task, where the step would know which environment it was publishing to and programically append the necessary image path?
    Any other suggested approaches welcome.
    We are on 9.4.

    http://www.adobe.com/cfusion/mmform/index.cfm?name=wishform

  • How can I get my custom PS workflows to run correctly when I Retry them after a failure?

    I have some custom PowerShell workflows in place that monitor for status changes to various work items and add Action Log entries as required. As an example one of these workflows monitors for newly created Service Requests and creates an Action Log entry
    of the type "Record Opened" (script below).
    param ( [string]$SRIDInput )
    function Using-Culture
    [CmdletBinding()]
    Param([Parameter(Mandatory = $true, HelpMessage = 'The culture (language) to run the script in.')]
    [ValidateNotNull()]
    [System.Globalization.CultureInfo]
    $Culture,
    [Parameter(Mandatory = $true, HelpMessage = 'The scriptblock or wrapped script to run.')]
    [ValidateNotNull()]
    [ScriptBlock]
    $Script
    $OldCulture = [System.Threading.Thread]::CurrentThread.CurrentCulture
    $OldUICulture = [System.Threading.Thread]::CurrentThread.CurrentUICulture
    try
    [System.Threading.Thread]::CurrentThread.CurrentCulture = $culture
    [System.Threading.Thread]::CurrentThread.CurrentUICulture = $culture
    Invoke-Command $script
    finally
    [System.Threading.Thread]::CurrentThread.CurrentCulture = $OldCulture
    [System.Threading.Thread]::CurrentThread.CurrentUICulture = $OldUICulture
    try {
    if (!(Get-Module SMlets)){Import-Module smlets -Force -ErrorAction Stop}
    $Server = "#######"
    $EnteredDate = (Get-Date).ToUniversalTime()
    $NewGUID = ([guid]::NewGuid()).ToString()
    $ServiceRequest = Get-SCSMObject -Class (Get-SCSMClass -Name System.WorkItem.ServiceRequest$ -ComputerName $Server -ErrorAction Stop) -Filter "DisplayName -like '*$SRIDInput*'" -ComputerName $Server -ErrorAction Stop
    $SRTitle = $ServiceRequest.Title
    $Projection = @{__CLASS = "System.WorkItem.ServiceRequest";
    __SEED = $ServiceRequest;
    ActionLog = @{__CLASS = "System.WorkItem.TroubleTicket.ActionLog";
    __OBJECT = @{Id = $NewGUID; EnteredBy = "Workflow"; EnteredDate = $EnteredDate; ActionType = "System.WorkItem.ActionLogEnum.RecordOpened"; Title = "Record Opened - Notify Users"; Description = $SRTitle;}
    Using-Culture "en-US" {
    New-SCSMObjectProjection -Type MYOB.WorkItem.TypeProjections.HasActionLog -Projection $Projection -ComputerName $Server -ErrorAction Stop
    } catch {
    ($_ | ConvertTo-XML).Save("D:\WorkflowLogs\$SRIDInput-RecordOpened-Exception.xml")
    throw $_
    We currently are experiencing the bug (#5) noted
    here which prompted me to take a look at re-running any failed workflows to continue other tasks.
    The problem is though that hitting Retry for the workflow doesn't actually submit the workflow request correctly. As far as I can tell it
    is running again (it pops in a new entry in the Workflow status list), but no changes are made to the Action Log and nothing is associated with the Work Item.
    I think what is happening is the $SRIDInput variable is not populated on the Retry or perhaps has odd data, which would let the script run but not actually do anything (the filter would return no results), I'm going to add a step into the
    script to check if $SRIDInput is empty and fail if that's the case, I'll also write the variable to a log file before anything else happens, that should tell me pretty quick.
    I wanted to know if anyone else has had trouble using Retry on custom PS workflows? Any tips? Anything obvious I am missing?
    Update: After writing this I'm not sure it would actually fail silently with no valid input as theoretically the New-SCSMObjectProjection cmdlet wouldn't have anything to apply to, I'll update the script anyway and see what happens.

    What does the error details show? Retrying a workflow that fails rarely works the second time around.
    http://codebeaver.blogspot.dk/

  • Workflow step not executed...

    Hi,
    In my workflow requirement (for VA01), I want to record the status in a custom table as follows;
    Approver id     date   time    status
    ABC                                     Submitted for approval
    ABC                                     Approved (or) Rejected
    So I have created a step called 'update custom status' after the step that sends email to the approver agent whose details stored in another custom table. Then I associated a task with this step which is bound to a custom class / method which has the logic to write the status to the custom table.
    The issue is I do not see this step excuted. I checked in the log.
    What can be wrong ?
    Workflow steps are as follows;
    1. Read the document's net value and store in a variable.
    2. Read the custom table for agents list to whom the doc has to be sent for approval.
    3. Send email for approval.
    4. update custom status.
    In the graphical view, I can see the update custom status step being called (Green link from previous step to this step) but after that no progress.
    Am I missing passing some values ? Or is this step not giving any results ? Whats happening ?
    Details on this update custom status step are as follows;
    A custom task with terminating event set as _WORKITEM defined. (not synchronous)
    A step of type activity defined and bound to the above task with binding done.. (what values should I pass to record the above needed details.)
    In other words, how can I record the status in my custom table ?
    thnks

    Hi
    I think its a background step. If yes, then make it foreground and debug and see what is the problem. Also check for short dumps and turn on the event trace and see the terminating event is getting triggered.
    Vinoth

  • Ucm: displaying some fields on a profile based on a workflow step

    Hi,
    Is it possible to hide/display some standard/custom metadata fields on a profile based on a workflow step/
    e.g. I am having a workflow with 3 steps
    1. manager step
    2. specialist step
    3. reviewer step
    On the 3 step, a reviewer can decide calling an adhoc workflow if he updates some custom metadata fields(adhoc rev1, adhoc rev2). My requirement: Is it possible to show the custom metadata fields only to reviewer on updating the content item. It should not get displayed while checkin the content item or any other step users update the content item.
    thanks

    I had a similar question some times ago - see this thread: Value of dpAction
    Yes, you can do it, but you will have to define rule activation conditions properly - using dpAction and dWfCurrentStepID.

  • Workflow step - Add record to mask

    Hi,
    Is there a workflow step that can add a record to a mask? Any ideas on how we can achieve that?
    Thanks.

    TS is correct,
    this may be another solution, but a quite complex and I'm not sure that it works fine for your requirements. Besides, probabily enrichment is not in your MDM package because needs another license. In any case this solution required java customizing.
    Regards,
    Vito

  • Can I edit seeded workflow process

    I have created a new notification for PO approval notification. I want the PO approval workflow to use it.
    So, I tried to modify the seeded "Notify Approver Subprocess" to use my new notification. But, it is read
    only in workflow builder.
    Can I not modify a seeded process?

    Please see the following docs.
    Customization In Seeded Workflows [ID 467113.1]
    Oracle Workflow Customization Policy Clarification [ID 578466.1]
    Oracle Workflow Developer’s Guide - Appendix C (Oracle Workflow Support Policy - Customization Guidelines)
    http://download-uk.oracle.com/docs/cd/B25516_14/current/acrobat/115wfdg.zip
    How to create a custom copy of the seeded Purchasing PO Approval Workflow POAPPRV [ID 1270010.1]
    How do you create a custom Workflow and get it to appear under the 'Identifier' column in Define Approval Style Form? [ID 338758.1]
    Workflow customization
    Workflow customization
    Customizing a standard/seeded workflow
    Thanks,
    Hussein

  • Oracle UCM custom Criteria Workflow

    I am looking for some help.
    I am trying to create a criteria workflow based on a document type. I have used the command wfrelease to commit all metadata to the repository in the entry step.
    The user in the workflow will either approve the workflow or select from a custom metadata field option list called "status". Once a user sets the value to "rescan" in the "status" option list I want the user to reject the workflow. Once rejected we want the workflow to be sent to an alias and not the original author.
    If the user sets the value of the "status" option list to either "return", "reroute", or "invalid" value and rejects the workflow then I want the workflow to be routed to a different alias.
    Is this very difficult to accomplish? What steps would I need to create? I am pretty sure somehow I need to create tokens for the 2 different aliases and call them on reject but I am having trouble putting all of this together.
    Thanks in advance for your help!

    Hey Data Bitz
    The good news is that yes, all this can be done with some configuration and a bit of workflow scripting.
    Several items:
    1) I'm not seeing a reason why you need to use WfRelease in the entry step. Workflow users can still access and alter the metadata for routing as you describe. Do you want the item to be indexed (to appear in the search results lists)?
    2) While there are several ways to do this I would envision a two step workflow. Step one is your "rejection handler" step 2 is your user review step.
    first time through content passes through step one with a criteria based jump in the entry event of that step. The criteria is along the lines of if step entry count <= 1 then jump .
    Make sure that step one is an edit and review step. Step two is where the user either approves or sets the status metadata field to some other value. If s/he approves, the content is released (or goes on to subsequent steps).
    If the status is changed then you want to trigger a rejection. This brings me to point 3...
    3) Do you want "rejection" or do you just want to rout the content to another set of users for review. The reason is that rejection is logged as a "rejection" Workflow Action in the database. If you are tracking or reporting against this then you'll want a "real" rejection. If you just want the item to be routed to an alias that is based on the value of the status field then this is different and can be achieved without a full blown rejection action. The choice is yours and the impact is really just on reporting and the routing behavior of the content object.
    4) so lets say the user sets the status to "rescan". Remember we're in step 2 here. Use the update event of step 2 to look for the Metadata Update action. Because the update event of the workflow step acts like a loop it is able to pick up the metadata updates that the user executes. Configure a jump in the step event to say +if there has been a metadata update action then check the value of the status metadata field.  if the value of the status metadata field is "rescan" then perform this action, if the value of the metadata field says some other value (either "not rescan" or "return", "reroute" etc) then perform this other action+
    5) So if you really want a true rejection then the this action from above will be a bit of IDOC to execute with WFREJECT service. You'll need to pass along the appropriate parameters for the service (see pp 348/349 of the services reference guide for the WF_REJECT service and required parameters. The guide is here: http://download.oracle.com/docs/cd/E10316_01/cs/cs_doc_10/documentation/developer/services_reference_10gr3en.pdf). If you just want to route the content to another set of users then the this action and this other action are actually the same and you can jump back to step 1 with a jump script. While the actions are the same, the users will be different and we can handle this with some basic workflow configuration scripting as well. Now here is where the fun begins.
    6) So you're back in step 1 either because the WF_REJECT action happened or because you jumped here. The status field set to "rescan" or some other value like "return", "reroute" etc. Go back int the entry event of step 1. This is where the pass through code from item 2 above was written. The cool thing about the entry event is that it gets evaluated BEFORE step users are set and email notifications go out. This means that you can set any kind of user decision logic right in the event. So beneath the pass through code I would create another block of workflow scripting that does the following: gets the value of the status field - you can do this simply by referencing the metadata field name - e.g. myVar=xStatus. If myVar="rescan" then set a companion file variable to the name of the alias you want - e.g. +<$if myVar="rescan"$><$wfSet("reviewerAlias","YOUR_ALIAS_NAME")$><$endif$>+ If you're unfamiliar with the companion file, see pp 18 of the workflow implementation guide (link below). Think of it as a temporary memory cache for each item in workflow. It is a place where any key value pairs can be set and retrieved for any document as long as it is in workflow. Keep setting the value of "reviewerAlias" to the different alias names based on your IF condition. for example:
    +<$if myVar="rescan"$><$wfSet("reviewerAlias","YOUR_ALIAS_NAME")$><$elseif myVar="return"$><$wfSet("reviewerAlias","YOUR_OTHERL_ALIAS_NAME")$><$endif$>+
    7) Finally you have the content in the right step, you have evaluated the metadata and have set a variable in the companion file with the correct alias name you want to be the users for the step. The last thing is to retrieve that alias name and set that alias as the step user. Remember that workflow is able to set either individual user names (singly or CSV) or ALIAS names as step users. Remember that an alias in UCM is a list of user names. You will use a token in step 1 to retrieve the value of the companion file key and set the alias to be that user. The token code is straight forward but if you want a walk through then check out the adding ad hoc step users section in chapter 9 of the workflow implementation guide here:
    http://download.oracle.com/docs/cd/E10316_01/cs/cs_doc_10/documentation/admin/workflow_guide_10gr3en.pdf
    Your token code will look something like this:
    <$wfAddUser(wfGet("reviewerAlias"), "alias")$>
    The wfAddUser function is the token code. It is what adds the step user and it take two parameters - parameter 1 is the name or names of a user or alias. parameter 2 is the type either "user" or "alias".
    So this give you a fully dynamic workflow that allows the routing of the items to be fully dynamic and driven off of metadata - something that is very easy for end users. It also allows the reviewers to be dynamically set using tokens and a bit of idoc. No coding outside of the workflow admin applet has to happen at all.
    Of course, my company, Fishbowl would love to talk with you more about what you're doing and see if we can provide any additional service to you. Please let me know!
    Warmly,
    Billy Cripe
    Fishbowl Solutions

  • WS20000050 - Custom rule in step 372 - Error during execution

    I have attached a custom rule in Step 372 of workflow WS20000050
    WS20000050 works fine with standard rule (168)
    Custom rule is tested and simulated and it returns the Person 'P' and User 'US'
    WS20000050 genarates fine with no errors (4 information only)
    Errors after execution in SWIA is
    Error when processing node '0000000372' (ParForEach index 000000)
    Error when creating a component of type 'Step'
    Error when creating a work item
    Agent determination for step '0000000372' failed
    Error in resolution of rule 'AC92000002' for step '0000000372'
    Element OBJID is not available in the container
    next node in error
    Work item 000000426198: Object FLOWITEM method EXECUTE cannot be executed
    Error when processing node '0000000372' (ParForEach index 000000)
    I tried to delete OBJID from the binding for the rule but the same error repeats
    Any help is appreciated

    Element OBJID is not available in the container
    Make proper binding from workflow to rule, the value OBJID is not reaching the rule conatiner.
    Error in resolution of rule 'AC92000002' for step '0000000372'
    Rule is not returning any agent chek that?

  • Has anyone customized Invoice workflow in SRM

    Hi Gurus,
    I understood from the reply to my previous question that N step dynamic badi approvals is not possible for invoice document by standard SRM.
    I would like to know whether has anyone customized invoice workflows in SRM to make them N step and dynamic. Please let me know.
    Regards,
    Sam K

    I don't hink so, check the sap help on N-level validation and check out the badi examples on validation.
    Kind regards, Rob Dielemans
    <a href="http://help.sap.com/saphelp_srm50/helpdata/en/8b/4fa9585db211d2b404006094b92d37/frameset.htm">http://help.sap.com/saphelp_srm50/helpdata/en/8b/4fa9585db211d2b404006094b92d37/frameset.htm</a>
    Message was edited by:
            Rob Dielemans

  • Customer master workflow - email

    Hi WF Consultants,
    I am New to WF, I did Practice on Examples which  is available on net.
    Now i am going to do my Objects....
    I have requirement like ..
    1)  USER's are informed by de way of e-mail (MS-OUTLOOK) to other users  whenever customer/vendor masters are created.
    Please help me  there are any standard T-code is there  OR what are the <b>steps</b> i have to follow in this Object...
    Points will be rewarded.
    Thanks in advance...
    Naresh Kumar

    Hi Naresh,
    Check  this info.
    Developing a simple application using steps "User Decision" and "Mail"
    Basic terminology used in the workflow:
    The workflow definition is the set of rules that determine the path that the process takes. For example, how a purchase requisition is processed, from the initial request to the creation of the purchase order
    A Workflow Instance, which is often simply referred to as the workflow, is a single workflow run. For example, the processing of a single purchase requisition for computers.
    The Tasks are the steps in the process, which have to be performed either by people or automatically by the software. For example, to check for the availability of the spare computers in the company.
    A Work item is the task instance that is performed as a single workflow step. For example, check that there are no spare computers available in the company.
    Agents are the people who process the tasks (via the work items). For example, requisitioner and a member of the purchasing department.
    Container is the place where all the data used in the workflow is collected.
    Binding is the set of rules that define which data is passed to which part of the process.
    Building a simple workflow application
    The central tool for creating, displaying and processing a workflow is the workflow builder (Transaction SWDD). Within the workflow builder you can create all components of a workflow, including all the containers you need for getting the data from one step to another.
    Generally, most of the workflows are started by an event (for example, when a material is created or when a new purchase requisition arrives). You define which data from this event needs to be passed to the workflow via binding.
    However you can also start any workflow directly. Let us create a simple workflow and start the workflow directly, using the testing tools.
    Call transaction SWDD. When the workflow builder is called for the first time, a newly created initial workflow definition appears or else last created workflow appears. In such cases you can opt to create a new workflow by pressing “Create New Workflow”(ctrl + shft + F5). The following screen appears.
    The initial workflow screen has the following parts:
    a. The start of the workflow definition, indicated by .
    b. The end of the workflow definition, indicated by .
    c. The area in which you insert the new workflow definition is indicated by .
    Now select the undefined step and select Create step or double click the undefined step. Now among the different steps chose the User Decision by double clicking on it.
    Developing a simple application using steps "User Decision" and "Mail"
    Previous
    Now enter the title for the user decision “ Please make a decision”. Also enter the decision texts as Approve and Reject. On pressing enter, the outcome values default to the Decision texts but you can specify your own names, if desired. Now we need to select the agent. Agent is the person to whom the work item needs to be sent.. Since this is just a beginning, we would hardcode the user name. Select the User from the drop down list and enter the user name to whom the work item needs to be sent. In general, this type of agent assignment is not done. Agents are generally assigned using the expression, agent assignment rule or organization object (job, position etc.).
    Now select Transfer and to graphic button. Following screen appears:
    Now we need to include a mail step to be sent to the requestor. Now select the line “Approve” and do a right click. Different options on shown on the context menu. Select Create.
    Now select the step “Send Mail” from the list.
    Developing a simple application using steps "User Decision" and "Mail"
    ...Previous
    Now enter the subject and the body of the message for the mail to be sent.
    Do not change the recipients. Our mail is intended for the persons who triggered this workflow. &_WF_INITIATOR& contains the value who executed the workflow. Since this is a test object, we are using &_WF_INITIATOR&. But we wouldn’t be using this variable in real time scenarios. We would discuss about this in the coming documents.
    Now select Transfer and to graphic button.
    A popup appears requesting for the abbreviation and the name for this task. Enter the same and press enter.
    Now enter the package as local object and press enter.
    Follow the steps 5 through 9 for the step “Reject”. The following screen appears:
    Press SAVE to save the workflow application. You need to enter an abbreviation and name for your workflow as shown below. You can change any of these at any later point. After saving, a number is assigned to your workflow starting with WS, as shown below.
    Developing a simple application using steps "User Decision" and "Mail"
    ...Previous
    To execute the workflow, activate it by choosing the activate button.
    Test the workflow by choosing Test. The following screen appears.
    Now choose Execute to start the workflow.
    Now the recipient would receive a work item in his SAP® inbox (Transaction SBWP).
    Now execute the work item by pressing “Execute”. The following screen appears:
    Choose one among Approve or Reject as part of the user decision. He can select the third option to retain the work item in his inbox and make the decision later. Now suppose that the recipient has chosen one of the first options. Now a mail would be sent to the requestor with the status of his request.
    Creating a Container element
    This document details about creation of a container element in workflow and using it in the step "Mail".
    Pre-requisites:
    It is assumed that the reader of this Tutorial is aware of creating a workflow definition with the step “Mail”. If not, please go through the document on creating the same available, by clicking here.
    Steps:
    1. Create a workflow definition using the transaction SWDD.
    2. Let’s create a container element for Carrier id. Click on the “Workflow Container” on the left side of the screen (as shown in the screenshot below):
    3. Now double-click on “Double-Click to Create”
    4. Enter the details pertaining to CARRID here.
    5. Click on tab “Properties” and select “Import”.
    6. Click on “Confirm (Enter)”.
    7. Now the element created could be seen on the left side, below the “Workflow Container”.
    Creating a Container element
    Previous
    1. Create a “Mail” step by double-clicking on “Undefined” step in the workflow.
    2. Enter the recipient details in the “Recipients” box.
    3. In the subject line, enter “Carrid value entered is:” and click on “Insert Expression”.
    4. Select the element “Carrid” from the list.
    5. Similarly enter the content in the “Body” area.
    6. Save and activate the application.
    Testing the Workflow application:
    7. Test the workflow by clicking F8.
    8. Enter the value of the Carrid as shown above and press execute.
    9. A mail would be sent to the recipient mentioned earlier with the carrid value entered.
    Condition Step
    Agenda:
    This document details about the steps “Condition”.
    Pre-requisites: It is assumed that the reader of this document has a preliminary understanding of workflow and has worked with the container elements earlier. If not, please go through the first two Tutorials of workflow available in this site. (More details)
    Procedure:
    1. Create a new workflow definition.
    2. Create a container element, CARRID (as demonstrated in tutorial 2).
    3. Now click on undefined step and create the step “Condition”.
    4. Enter the step name of your choice.
    5. We would have the following condition here:
    If carrid = ‘AA’.
    Do this.
    Else.
    Do this.
    Click on “Click here to create a new condition”. Following screen appears.
    Double click on “Carrid”. Next click on “=” and enter the value “AA” in the constant field and press ENTER.
    Enter the outcome names of your choice as shown above.
    Click on “Transfer and go to graphic”.
    As shown above, there are two branches here. One navigates to true, if CARRID = ‘AA’ else the control takes the branch “False”.
    Test the above scenario by inserting mail steps in the above 2 branches and by passing different CARRID values.
    Condition Step
    Agenda:
    This document details about the steps “Multiple Condition”.
    Pre-requisites: It is assumed that the reader of this document has a preliminary understanding of workflow and has worked with the container elements earlier. If not, please go through the first two Tutorials of workflow available in this site. (More details)
    Procedure:
    1. Create a new workflow definition.
    2. Create a container element, CARRID (as demonstrated in tutorial 2).
    3. Now click on undefined step and create the step “Multiple Condition”.
    4. Enter the step name of your choice.
    5. We would have the following condition here:
    If carrid = ‘AA’.
    Do this.
    Elseif carrid = ‘AH’
    DO this.
    Elseif carrid = ‘SQ’
    Do this.
    Else.
    Do this.
    Select the “CARRID” using the F4 help for the comparison basis field.
    Enter the values of the carrid under the Comparison values with the corresponding outcome name (of your choice)
    Double click on “Carrid”. Next click on “=” and enter the value “AA” in the constant field and press ENTER.
    Click on “Transfer and go to graphic”.
    As observed above, there are different branches for each value of CARRID mentioned above.
    Test the above scenario by inserting mail steps in all the branches and by passing different CARRID values.
    Using "Container Operation" step
    Agenda: Usage of step “Container Operation”.
    Pre-requisites: It is assumed that the reader of this tutorial has worked in the concepts that are dealt in earlier tutorials. (click here for more details)
    Scenario: In this tutorial, we would deal about how to work with the step “Container Operation” with an example of calculating the available seats by subtracting occupied seats from the maximum seats at the workflow level.
    Procedure:
    1. Create a new workflow definition using the transaction SWDD.
    2. Create two container elements MaxSeats, Occ_Seats with the “import” property set. You can use the reference fields sflight-seatsmax, sflight-seatsocc for this.
    3. Create another container element AvailableSeats without setting either import or export property as this is calculated within the workflow and used within the workflow. You might use any of the above reference fields as data types.
    4. Define a new step “Container Operation” in the workflow definition by double-clicking on the “Undefined step”.
    5. In this step, we would calculate the available seats from the max seats and seats occupied.
    I would recommend entering all the container elements from the F4 help instead of typing them manually.
    6. Return to the main screen.
    7. Create a mail step after this to send the available seats information.
    8. Test the above functionality by passing some values to the maximum and the seats occupied.
    9. Result would be as follows:
    Triggering Events Programmatically
    Purpose: This document details the procedure in triggering the business object events programmatically.
    Pre-requisites: It is assumed that the reader of this document is aware of the business object concepts and good in ABAP.
    Procedure:
    In this document, we would take an example of the business object BUS1001006 (Material) and the event CREATED. In general, this event is triggered whenever a material is created using a standard procedure like MM01 or any others. Now we would trigger this event from our own programs.
    Following are the screenshots of the business object BUS1001006 and the event CREATED. Go to transaction SWO1 for more information of the business object.
    Double-clicking on the key field parameter gives you technical information of the field.
    In order to trigger an event programmatically, we would use the function module SWE_EVENT_CREATE.
    Following is the sample code to trigger the events programmatically:
    REPORT ZDEMO_TRIGGER_EVENT.
    DATA: KEY LIKE SWEINSTCOU-OBJKEY.
    KEY = '1163'. “ Material Number (hard-coded)
    CALL FUNCTION 'SWE_EVENT_CREATE'
    EXPORTING
    objtype = 'BUS1001006'
    objkey = KEY
    event = 'CREATED'
    CREATOR = ' '
    TAKE_WORKITEM_REQUESTER = ' '
    START_WITH_DELAY = ' '
    START_RECFB_SYNCHRON = ' '
    NO_COMMIT_FOR_QUEUE = ' '
    DEBUG_FLAG = ' '
    NO_LOGGING = ' '
    IDENT =
    IMPORTING
    EVENT_ID =
    TABLES
    EVENT_CONTAINER =
    EXCEPTIONS
    OBJTYPE_NOT_FOUND = 1
    OTHERS = 2
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ELSE.
    WRITE 'Event Triggered'.
    ENDIF.
    COMMIT WORK.
    In order to test whether the event is getting triggered or not, we can make use of Event Trace. Switch on the event trace using the transaction SWELS.
    Press ‘Switch On”.
    Now execute the program developed earlier. Now switch-off the event trace using the same transaction SWELS.
    Now go to transaction SWEL. Here you can list out the events triggered in the particular period of time. Here is the event-trace list:
    Deadline Monitoring in SAP Workflow
    A major advantage of workflow is the ability to monitor the workflow steps according to a predefined schedule. Following are different deadlines that can be monitored against each workflow step:
    • Requested Start
    • Latest Start
    • Requested End
    • Latest End
    In this example, we will define a deadline to the User Decision example created earlier (click here). Following is the screenshot of the application developed using the User Decision example:
    We would extend this example to the deadline monitoring.
    In the User Decision step, click on the “latest end” tab.
    By default, No deadline monitoring is active (as seen in the above screenshot).
    Choose the “Work Item Creation” from the list box.
    After selecting “Work Item Creation”, chose an offset of 5 minutes. This means that the work item must be executed within 5 minutes of the creation, if not this would trigger.
    Deadline Monitoring in SAP Workflow
    Enter recipient details to whom the message to be escalated, if the work item is not executed with in 5 minutes after work item creation.
    Save and activate the workflow definition.
    Testing the workflow application:
    • Execute your workflow.
    • Check for the work item in the SAP Inbox. This time do NOT execute the work item.
    • Wait for the deadline to be triggered. After that, a deadline message is delivered to the recipient mentioned in the “Latest End” tab. See the screenshot below.
    Don’t worry if the deadline message doesn’t appear immediately after 5 minutes. This depends on various factors including how the deadline monitoring program is scheduled and also on the availability of the background processors.
    Use SWWA to check how the deadline monitoring program is scheduled in program.
    For example, assume that our work item has been created at 09:10 hrs and the deadline message is expected to trigger at 09:15 hrs. From the above screenshot, it is understood that the background program is scheduled to execute for every 3 minutes. Assume that the last run of the program is at 09:14hrs and the next run is expected at 09:17hrs. So even our deadline expires at 09:15, the deadline message would appear only at 09:17hrs after execution of the background program.
    Some more points
    In our above example, we have used the deadline on the “Work Item” creation time. i.e., 5 minutes after creation time, the deadline message would be sent. Now we would check the other option “Expression”. Here we can mention the date and time, when the deadline message should appear irrespective of the work item creation date/time.
    As seen in the above screenshot, we can provide the target date and time by which the task should be finished. Container elements could be used in this case. Please refer to our example on creation of container elements (click here).
    Personal Substitute in Workflow
    Requirement: Need to have at least one substitute who can act upon work items in your absence.
    Important: The appointed substitute would be able to see all your work items. A substitute cannot be assigned for only particular area of organization or any other item. So need to ensure that the substitute have the necessary authorizations to act upon the work items.
    Procedure:
    1. Go to SAP Business Work Place (TCode: SBWP)
    2. Now from the menu bar, select Settings à Workflow settings à Maintain Substitute
    3. Highlight/Select the name on the window, in this case SAPDEV02 and click on “Create Substitute”.
    4. List of users available in the system are displayed.
    5. Select the required substitute user name. Following screen appears.
    Validity field describes about the period in which the setting would be active. Note that the dates on the screen would range from the current date to 31st Dec 9999.
    Regarding the checkbox “Substitution active”, it is advised to leave this checkbox unchecked for system performance reasons. A check in this box indicates that the substitution is “permanent” and if left unchecked it is treated as “as-needed”. A permanent substitute will automatically receive the primary users work items in their own box. In the case of “as-needed”, substitute must manually adopt the work items from the primary user’s inbox.
    6. Save the entries
    7. Click Enter to leave the screen.
    Adopting a Substitute in Workflow
    If you have been designated as an “as-needed” substitute, you must manually adopt the substitution. If you are designated as a “permanent” substitute, the work items would automatically appear in the inbox.
    Before adopting a substitution, there are 19 work items in the inbox. See the screenshot below:
    To adopt a substitution, select Settings à Workflow settings à adopt substitution.
    Select the corresponding User-id (if you have been assigned as a substitute for multiple people, then this option would allow you to select the user name of whom you would to check the work items)
    The corresponding user’s work items would appear in our inbox now.
    You can end the substitution, by selecting settings à Workflow settings à End substitution.
    Note: Substitutes can only adopt work items that are directly routed to the person for whom they are a substitute. If you are a substitute for a user (SAPDEV02) who has been made a substitute for another user (SAPDEV01), you will only see work items for user SAPDEV02 and not of the user SAPDEV01.
    Notification of Work Items via e-Mail
    SAP provides us with a facility of notifying the user via the email address of your choice when there are any pending work items in the SAP Inbox..
    1. Go to Transaction SO13.
    2. Click on Automatic Forwarding tab.
    3. Click on Create icon .
    4. Enter the details in the above screen.
    5. Click ENTER to complete the entries.
    6. Now the notification would be received at the provided email address if there are any pending work items in the inbox.
    Filtering the Work Items in the SAP Inbox using BADI
    This document details about the procedure in filtering some of the work items from the SAP inbox using a BADi.
    Following is the screenshot of the SAP inbox, before implementing BADi:
    The BADi that is used in filtering the work items is WF_BWP_SELECT_FILTER. To implement the BADi, go to transaction SE18. From the menu, select Implementation à Create. (See the screenshot below)
    Enter the implementation name and press ENTER
    Enter any meaningful short text for the implementation and click on the tab “Interface”
    The implementing class, ZCL_IM_BWP_SELECT_FILTER, is automatically proposed. Double click on the implementing class name.
    You are now navigated to the class builder. Now double-click on the method name shown on the screen (see the snapshot below)
    Now let us filter out the work items belonging to the task TS2000066. See the code below:
    Activate the method and also the implementation. In the state of active, you wouldn’t be able to make any changes. To make any changes, we need to deactivate it and then make the changes.
    Now check the inbox and would notice that the work items related to that task are no more appearing.
    To notice the differences, try activating and deactivating the BADi implementation.
    Hope this resolves your query.
    Reward all the helpful answers.
    Regards

  • Pass values between two workflow steps.

    Hi,
    I have requirement to pass values from one workflow step to another workflow step .
    1. In workflow step 1 , we have created dynamic user group.
    2. I need to get user group name in another workflow step.
    Thanks
    Ravindra

    First of all if you want to pass custom property to next step then you have to customize the current and next step (if you can it as process step). As of now i can think of one approach by setting up value in meatdata of next route as below in your execute method (if there is only one next step not with "and" or "or" condition otherwise you have to use id or name to find out next step).
    first step
    List<Route> routes = session.getRoutes(item)
    Route route=routes.get(0);
    route.getDestinations().get(0).getMetaDataMap().put("key", value)
    session.complete(item,route);
    destination step
    MetaDataMap map=item.getWorkflowData().getMetaDataMap();
    map.get("key");
    You can try once to check if it works else check through session. Let me know if it doesnt' work for you.

  • How does someone get invited into Apple's customer seeding program?

    I would just like to know how can I get invited to join the  Apple’s customer seeding program.

    Read https://appleseed.apple.com/cgi-bin/WebObjects/SeedPortal.woa/

  • Calling Adobe form in a Workflow Step for approval

    Hello,
       There are some ISR forms and workflows in MSS which use Workflow tasks configured as JavaWebDynpro to call Adobe form from the Workflow Step.
    Is it possible to achieve the same using ABAP Web Dynpro and creating a new task and configuring to use it as an ABAP Web Dynpro (which can in turn call the Adobe form from the WD)?
    Thanks.

    Hi Anjali,
    1)You can develop an<b> RFC</b> that collects required basic data from R/3 and display them in <i>ABAP WD - Adobe Form</i>. The End user can change/fill the remaining contents of the Adobe Form and submits it for approval. The <b>RFC</b> again handles the triggering part of the <b>Workflow</b> and passes the form data to the workflow containers.And for approvals, you can use the <i><b>SWFVISU</b></i> to call a <b>ABAP WD</b> application from Workflow. And in turn the control again goes back to RFC and so...
    2)I dont have much idea in ECC 60 if there is a similar ABAP WD application like Standard Java WD <b>IsrFormApprove</b>.
    3)No idea.
    Regards,
    <i><b>Raja Sekhar</b></i>

Maybe you are looking for

  • How do I use magnets for a phone/ipad cover?

    Hi, Can anyone point me in the right direction for some information on using magnets to close a cover for an iPhone or iPad? Thanks Mark

  • More than 1000 record in IN clause

    RDBMS : Oracle 10.2 OS : CentOS 5 Hi, I have a situation where I have to compare more than 1000 ids in my IN clause. I have used something like slect col,col2.... from tble ...... where ..... and id in (--first 1000 ids ---) or id in (--next 1000 ids

  • In outlook 2010 can you change the meeting organizer?

    I need to subsitute a co-worker as the organizer of a meeting setup in Outlook 2010.  Can/How do I do that?

  • Mail message list and preview pane no longer in sync?

    I'm having a strange problem with Mail. When I select certain messages in the message list, a completely different message is shown in the preview pane. It seems to be a problem with specific message, perhaps they all arrived with in a few days of ea

  • Stop iTunes from downloading apps as I purchase them

    Hi everyone, So this is a bit of a weird question, but at the moment (for at least another 2 or 3 weeks anyway), I am on a massively restricted bandwidth, which means I cannot afford to download anything more than a few web pages a week. One of the p