Modify existing workflow

We need to modify existing workflow in UCM but only known approach - disable step and enable it. Is any alternative way to change it UCM workflow code?

While directly writing IDOC script in the applet window is perfectly acceptable, you will experience some need to change it, thus your dilemma of having to disable the workflow in order to edit it.
It is a much better practice to put your IDOC logic in a component within a dynamichtml include, and simply reference the include in the applet.
For example, let's say your workflow is named "MyWorkflow" and you have a step called "Step1".  To create code in the entry step, in a custom component create a dynamichtml include called "my_workflow_step_1_entry"
<@dynamichtml my_workflow_step_1_entry@>
do something
<@end@>
Then in the workflow applet for "MyWorkflow" --> "Step1" entry event, simply put the following code
<$include my_workflow_step_1_entry$>
Now you can edit the code in the component resource file rather than the applet, and certainly don't have to enable/disable the workflow.
The one caveat here is that changes to the resource file code will require a server restart in order for the changes to take effect, as workflow code is cached differently as I recall.  There is another way to get around that limitation, but I'll leave that solution for a blog post.

Similar Messages

  • Problem in modifying existing records in dbtab

    Hi Experts,
    I am doing a report where I have created two dbtab's , one for data getting saved and
    other for fetching data and modifying exsiting records..
    For eg - let ZABC be the table where I need to insert or update records and ZXYZ is the table where
    I need to fetch and modify existing records.
    Now my probelm is :
    In case of inserting new records (multiple records ) into my dbtab ( ZABC ) its working ,
    but modifying existing records in another dbtab (ZXYZ ) its not wroking !! plz advice !!
    If my select querry for modifying exsiting records is:
    SELECT *  FROM ZXYZ  INTO TABLE ITAB WHERE MATNR EQ S_MATNR.
    *****then its inserting a newline along with the existing records.
    but when my querry is,
    SELECT single *  FROM ZXYZ  WHERE MATNR EQ S_MATNR.
    then its modifying the existing records, but only the first record.
    Loop at itab.
    if sy-tabix  = 1.
    zabc-matnr = matnr.
    zabc-idnrk  = idnrk.
    zabc-budat = s_budat.
    zabc-menge = menge1.
    ZXYZ-menge = ZABC-Menge + MENGE1.
    ZXYZ-BALC  = ZXYZ-Menge   -   MENGE1.
    ELSEIF sy-tabix  = 2.
    zabc-matnr = matnr.
    zabc-idnrk  = idnrk.
    zabc-budat = s_budat.
    zabc-menge = menge2.
    ZXYZ-menge = ZABC-Menge + MENGE2.
    ZXYZ-BALC  = ZXYZ-Menge  -  MENGE2.
    ELSEIF sy-tabix  = 3.
    zabc-matnr = matnr.
    zabc-idnrk  = idnrk.
    zabc-budat = s_budat.
    zabc-menge = menge3.
    ZXYZ-menge = ZABC-Menge + MENGE3.
    ZXYZ-BALC  = ZXYZ-Menge   -  MENGE3.
    ENDIF.
    INSERT ZABC.
    IF SY-SUBRC EQ 0.
    MODIFY ZXYZ.
            IF SY-SUBRC = 0.
              MESSAGE : I002 WITH 'RECORD CREATED'.
                ENDIF.
    ENDIF.
    Please advice
    Karthik
    Edited by: Karthik R on Aug 24, 2009 9:42 PM

    Hi,
    This is because in the second case you are not selecting records into an internal table.
    As a result only the first record which satisfies the where condition is fetched.
    Check if the program goes into the loop when you write second select query.
    KR Jaideep,

  • How to modify existing concurrent program

    I want to edit and modify existing pl/sql concurrent program.
    what are the steps required to do this?

    Hi,
    Pls keep in mind that modifying standard programs is not advisable. You will get SPAU (http://help.sap.com/saphelp_nw2004s/helpdata/en/c8/61ec66e33611d1954b0000e82de14a/frameset.htm) when you upgrade your SAP system. Try to make an own version and include as much as possible from the standard program.
    Eddy

  • How to modify existing code of SQVI report?

    Hi Expert,
       There is a SQVI report which has already been created but we need to change the one for new requirement.
    is there any way to modify existing code for new requirement?
    Can we edit in abap workbench?
    Thanks & Regards
    Savita

    Savita,
    You can not modify SQVI system generated code. You need to go to SAVI change mode and make modifications. If your requirement is a sort of additional fields or inserting come code into the program , then SQVI is not the choice. You need to use Infoset Queries (SQ03, SQ02, Sq01).
    KJogeswaraRao

  • How to modify existing enhancement?

    I have requirement which require to modify existing enhancement.
    What are the steps involved to modify enhancement?
    thanks

    Hi,
    Check
    https://www.sdn.sap.com/irj/sdn/nw-development?rid=/webcontent/uuid/2342e1f3-0b01-0010-a186-fdd404884050#section19
    http://help.sap.com/saphelp_nw04/helpdata/en/6b/3f6d016d0711d396a50004ac96334b/frameset.htm
    Edited by: Neenu Jose on Nov 18, 2008 7:48 AM

  • Reassign existing workflow - please help!!

    We have an existing workflow that has thrown an error. We have corrected the backend code which results in the workflow now working but we have three existing WFs that we'd like to push through. However, we are getting the dreaded no performer error.
    I've captured some screenshots here of what we have done in an attempt to reassign which may or may not be correct. Please can someone provide some pointers so that the process does not have to be completely restarted?
    http://www.2ql.net/uploads/1255023160.jpg
    http://www.2ql.net/uploads/1255058496.jpg
    http://www.2ql.net/uploads/1255017068.jpg
    http://www.2ql.net/uploads/1255000660.jpg
    http://www.2ql.net/uploads/1255057613.jpg
    Many thanks in advance,
    Phil

    Rewind the WF if you are not using Ad-hoc roles to approvals activity which will generate a notification or update the wf attribute values to required value in WF_ITEM_ATTRIBUTE_VALUES or in front end screen.

  • Matching score for new records added to existing workflow

    Hi SDNers,
    My doubt is:
    I have a 2 Workflows which are already in process. The triggering event for them is Manual, Record Import.
    Now I manually assigned 20 records  to "Workflow A" based on Condition 1
    Also, I manually assigned 20 records  to "Workflow B" based on Condition 2
    I am importing 30 new records. Based on the condition, I want to assign these records to the existing Workflow A / Workflow B.
    Note: There is a Match stencil, so the newly created records have to be matched against the existing records in the present Workflow itself.
    Is it possible to add new records o existing workflow manually?
    Also, what about the Matching score? will the records be matched?
    Thanks & Regards,
    Priti

    Hi Priti,
    I tried restricting records using Named Searhes and Masks but it includes all the records with Match step property Records Vs All. You have to perform some maunal step either by selecting records using some search criteria or you can use Named Searches i.e.
    1. Create one field say New of type boolean and by default set it to NO.
    2. Create one named search for this field value to YES.
    3. Create one assignment which sets the value for this field to YES and add this assignment in the workflow as the first step.
    4. When ever you import records, assignment will set New=YES for all the records imported. Now, when you add more records, search the previous records using Restore Named Search function which will give the list of records imported now. You can perform Matching and Merging operation.
    5. Add one more assignment to the workflow as the last step which should set New=NO so that records should not appear next time for Matching
    Regards,
    Jitesh Talreja

  • SPD 2010 won't overwrite existing workflow but creates a new version instead

    When editing then saving and publishing an existing SharePoint Designer workflow a new version of the workflow is created but the previous version is still available in the SharePoint list for a user to select and start manually.
    Example: The original workflow is named Email Notes. After editing and publishing there are now two workflows available: Email Notes and Email Notes (1). Future edits increment the number so now we have Email Notes, Email Notes (1), Email Notes (2) and so
    on. Any of these workflows can be started. It looks like SPD won’t overwrite the existing workflow. SPD only shows the original Email Notes workflow.
    The problem appeared after making the setting change: SharePoint Central Administration > Application Management > General Settings > Workflow settings > Workflow Task Notifications. I selected yes for "Allow external users to participate
    in workflow by sending them a copy of the document?"
    After noticing the effect it had on editing workflows I reverted to the default "No" but the problem persists.
    One wouldn’t think making that change would cause my current problem but I have confirmed the behavior on a test server with images from our live environment.
    Has anyone seen or heard of this before? I found one random post on a site where someone else had experienced the same thing.

    Hi,
    This is a known behaviour. When you publish the new version of the workflow, the previous version is still available because there might be some workflows executing in lists and libraries on this version. But you can remove the previous versions so that
    they are not available for the users to starts. Go to List/Library > Settings > Workflow Settings.
    You will see all the previously published versions of the workflow. Here it shows the version of the workflows with Allow, No New Instance or Remove options. By default, previous version workflow should change to "No new instance" so users cannot
    start this manually. If this does not happen then this workflow will be available for users to start as in your case. If no instances of previous version are running, then select remove, and click Ok. Hope it clarifies.
    Regards, Kapil ***Please mark answer as Helpful or Answered after consideration***

  • Starting existing workflow from web dynpro application (ABAP)

    Hi experts,
        I am working on web dynpro application from which when I click on a button an existing workflow should trigger. This will be used in portal replacing existing iview with jsp. I did lot of reading on SDN maybe too much that I am confused how to get started. Here is what I have currently.
    We have an existing workflow that sends an approval email to manager when ever some unit information changes. In current functionality, workflow is triggered by event which is linked to workflow in transaction "swetypv". We defined scenario in "qisrscenario" that contains all elements to populate workflow container. The methods to get data into workflow container, send email etc are all written in business object methods. We have a class that implements standard SAP BADI "IF_EX_QISR1"(IF_EX_QISR1~SCENARIO_PROCESS_USER_COMMAND method) that probably has all logic. In current functionality when the workflow gets created it sends notification number back to portal jsp page that triggered the workflow on button click. Users look at notification number in iqs23 for workflow log, PCR form data etc. and I need that functionality too. Now I am confused where I should start so that I can use ew web dynpro applciation instead of jsp iview but want all the functionality that we currently have. How can I start workflow and get notification number back to web dynpro so that I can display that to user? The approving manager goes to UWL to approve, reject the workitem and workflow then finishes.
    Any help will be greatly appreciated.
    Thanks.
    Mithun

    Hi.,
    Using FM  SAP_WAPI_CREATE_EVENT  You can Achieve this., try the below piece of code.,
    DATA: OBJECT_TYPE  TYPE  SWR_STRUCT-OBJECT_TYP VALUE 'ZBUS333',   " Enter Your Business Object here
    OBJECT_KEY  TYPE  SWR_STRUCT-OBJECT_KEY,
    EVENT TYPE  SWR_STRUCT-EVENT VALUE 'FIRE'.     " Enter Your Event here
       DATA: lt_cont TYPE STANDARD TABLE OF swr_cont,
             ls_cont TYPE swr_cont.
           ls_cont-element = 'NAME'.       " To Pass Values to business Object you append to container
           ls_cont-value   = lv_name.
           APPEND ls_cont to lt_cont.
           ls_cont-element = 'ID'.
           ls_cont-value   = lv_id.
           APPEND ls_cont to lt_cont.
          CALL FUNCTION 'SAP_WAPI_CREATE_EVENT'
            EXPORTING
              OBJECT_TYPE             = OBJECT_TYPE
              OBJECT_KEY              = OBJECT_KEY
              EVENT                        = EVENT
             COMMIT_WORK             = 'X'
             EVENT_LANGUAGE          = SY-LANGU
             LANGUAGE                = SY-LANGU
             USER                    = SY-UNAME
    *         IFS_XML_CONTAINER       =
    *       IMPORTING
    *         RETURN_CODE             =
    *         EVENT_ID                =
           TABLES
             INPUT_CONTAINER         = lt_cont
    *         MESSAGE_LINES           =
    *         MESSAGE_STRUCT          =
    hope this helps u.,
    Thanks & Regards,
    Kiran

  • Modify existing rebate condition and exclusion

    Hi
    We are rebate agreements for customers. Currently I want to modify rebate condition in one of rebate agreement.
    Scenario: let us June 10th 2010 onwards, the rebate % is 3% for Profit center 'xxxx' & customer 'yyyy' instead of 1%. And 3% needs to accrued on billing docs going forward. How to set up this.
    I tried to modify existing rebate condition using VBo2 as follows: went into rebate agreement using VBo2, changed rebate % for condition record with effective from 06/11/2010 and Saved.  problem when I ran VBOF program, system posted reversal accrual for old rebate condition 1%. Old condition record validity from 01/01/2009 Valid to 12/31/2011.
    I have one more question. We want to set up rebate condition for all materials exclude some of them. we have thousands of materials for which we need to calculate rebates. but we want to exclude some materials in the rebate agreement. How to set up such exclus
    any ideas really appreciated
    thnx

    The key of your condition table (the one supporting your condition record in the agreement) is evidently Profit Center / Customer.  So for any combination of profit center and customer, you can maintain a rate and validity period. 
    You are attempting to maintain two separate records having the same key.  As you have experienced, the system does not allow it.
    The simple solution is to expire that rebate agreement and start a new one with the updated validity period and conditions.
    As for excluding certain materials, you need a more detailed key in your condition table.  Something else from the material master seems appropriateu2014Commission Group for example.  Maintain commissionable materials in group 01 and non-commissionable ones in group 02.  Then a key combination of Commission Group / Profit Center / Customer  would work well for you.
    Regards,
    Ken

  • Integrating SAP BPM and existing workflows, does an interface exist?

    Hallo all
    I have to evaluate how to build a set of BPM Workflows which shold incorporate "exits" into existing workflows (basically combining BPM and Business Workflows).  Do you know if there is a referenc on how such a thing could be acomplished or have some advices for a smart way of organising the interface between the two workflow engines?
    Regards,
    Minima

    Hi Minima,
    You may want to post this in the [BPM|SAP Business Process Management; forum.
    Cheers,
    Ramki Maley.

  • Inserting Fork in existing workflow

    Hi,
    I have an existing workflow with over 60 steps in it that works well now.  A requirement came in to insert a fork step at one of the beginning steps and then an end fork close to the end.  In the middle would be approximately 40 steps.  Is there an easy way of moving those steps all at once instead of copying them one at a time?  If I have to copy each one, how can I handle the loop untils?
    TIA

    Hello,
    Yes, it is annoying, you can't easily move groups of steps around
    in the graphical editor if they haven't been defined as blocks.
    What's the particular problem with loop untils?
    There's always the option of making a new workflow and calling
    the existing one as a sub-workflow.
    regards
    Rick Bakker
    Hanabi Technology

  • How to find  the existing workflows

    Hi Gurus,
    How to find  the existing workflows, and assign a  user  to a role.
    Suitably rewarded for helpful answers.
    B S B

    Hi,
    You can find existing workflow in Transaction PFTC.
    Select Task Type as Workflow Template(WS) and either do F4 on Task
    or put some description and press enter.
    For assigning a user to a role, check transaction PPOCW. (If in an Org. Unit) or through SU01.
    Regards,
    Ashish

  • Modify existing Message

    Hi all,
    I need to change text/html part of message which I have in mail format. How to do this easily without loosing other parts of message?
    Or maybe you know some better way to create kind of simple proxy for SMTP which would add and replace some text in HTML part of email?
    So far I am reading message from plain stream of mail text representation (got it from Subethamail SMTP server) into JavaMail Message object. I had problem, when my changes to message were not reflected - I posted question on http://stackoverflow.com/questions/7674775/how-to-modify-existing-java-mail-mimemessage-body-parts/ and solved this one by calling message.saveChanges();
    The issue is that when I call message.saveChanges() headers seams to be lost - especially those around Content Type and Charset.
    My code looks like this:
    public void resend(InputStream data) throws Exception {
            Transport transport = mailSession.getTransport();
            MimeMessage message = new MimeMessage(mailSession, data);
            Object content = message.getContent();
            if (MimeMultipart.class.isAssignableFrom(content.getClass())) {
                MimeMultipart mimeMultipart = (MimeMultipart) content;
                for (int i = 0; i < mimeMultipart.getCount(); i++) {
                    MimeBodyPart bodyPart = (MimeBodyPart) mimeMultipart.getBodyPart(i);
                    if (bodyPart.getContentType().startsWith("text/plain")) {
                        String cnt = updateContent((String) bodyPart.getContent());
                        System.out.println("ContentType = " + bodyPart.getContentType());
                        System.out.println("Content = " + cnt);
                        String contentType = bodyPart.getContentType();
                        System.out.println("Updating content type to = " + contentType);
                        bodyPart.setContent(cnt, contentType);
                    } else if (bodyPart.getContentType().startsWith("text/html")) {
                        String cnt = updateContent((String) bodyPart.getContent());
                        System.out.println("ContentType = " + bodyPart.getContentType());
                        System.out.println("Content = " + cnt);
                        String contentType = bodyPart.getContentType();
                        System.out.println("Updating content type to = " + contentType);
                        bodyPart.setContent(cnt, contentType);
            } else {
                String cnt = updateContent((String) message.getContent());
                System.out.println("ContentType = " + message.getContentType());
                System.out.println("Content = " + cnt);
                String contentType = message.getContentType();
                System.out.println("Updating content type to = " + contentType);
                message.setContent(cnt, contentType);
            message.saveChanges();
    }Mark on Stackoverflow suggested that problem is in bodyPart.setContent(cnt, contentType); call...
    Hope that makes sense for you... and you will be able to help me...
    Thanks in advance
    Konrad
    Edited by: 890134 on 2011-10-07 08:29

    JavaMail wasn't really design to support "editing" of existing messages.
    That's caused some problems over the years and I've had to fix a number
    of bugs in this area. The current version (1.4.4) definitely works better
    than older versions, but I won't be surprised if there are still bugs.
    Even so, your code is making a number of invalid assumptions about the
    structure of messages. I would suggest looking at the msgshow.java
    demo program. It includes code that visits all the parts of a message.
    It should be straightforward to extend that code to detect the parts you
    want to modify and to change the content of those parts using the
    setContent (or setText) method.
    If it's still not working for you, provide more detail about what you're doing,
    including a same message. (Send the details to me at [email protected]
    if you prefer.)

  • Modify Existing infocube

    Hi all,
    In BW 3.1, How we can modify existing cube with 3 years of data?
    I need to add characterstic in the existing cube with millions of record. If i add, then what will be the impact?
    Regards,
    Rajvinder

    Hi,
    From what I understand, you wish to have field set to either 'Y' or 'N' depending on availability of date. I assume this date is part of your BEx Query. In that case:
    1. You could create local CKF and do the needful. However, you will be unable to retrieve it from your InfoCube, which means the query can undergo performance issues if data is large. Nevertheless, it is worth a try.
    2. If the above does not work and you really need to have the field at InfoCube level, then you could try to create another Infocube (IC2) with key fields of present InfoCube (IC1) and add this field. After you have populated data in IC2, you can create an Infoset and you should be there.
    Hope this works.

Maybe you are looking for

  • Safari in ios 7.1 drains battery very fast are you aware of this problem

    Today when I use safari browser for this message the battery drains so fast but if I use uc browser it is not draining  the battery so fast what is the problem in safari

  • Firmware upgrade 1.3.0.62 -- 1.3.5.58 (SG 300-28P)

    Should i be concerned doing the firmware upgrade remotely? I.e. remote to a local workstation and connecting to SG 300-28P from that workstation over LAN and doing firmware upgrade using WebGUI (Google Chrome)? I've done the multiple upgrades on thes

  • Is it possible to copy direct from hard disk to ipod ?

    I'm having a hard time here having all my music on my laptop. So therefore I have an external hard disk with my music on. So now I would like it on my new 80 Gb ipod. Is there a way of copying it onto the ipod without having to import it into itunes

  • Rebel Xsi display stopped working will not take photo

    I have had this camera for a few years.  I took it with me and left it covered in the car (hot day) and now the display will not light up and the camera will focus on an object but will not take photo.   Would heat cause the display to stop working?

  • NFSv4 and ZFS ACLs

    Hello All, Is there any specific shell command on Solaris 10, to find out if the file has NFSv4 or ZFS style ACLs set on them ?? -- I see there is a system call available for this purpose, but did not come across any specific command just to tell the