Dynamic Button Processing in Macro

Hello Gurus,
            I have created macro's with the button option.
The button is getting displayed in the planning book.
When I load the value in the planning book I have to check whether the product memo text is availble.
If the text is available Button text should be "YES" else text should be "NO".
Please let me know is it possible to do? If not is there any way ( Changing the color of the button) to indicate the user that the product holds the text or not?
Thanks in advance.
Regards,
Siva.

Hi Siva,
                 Are you talking about the text associated with the material? This text is actually loaded through BW and I don't think there is any way to create a macro to check this...atleast out of box. But you can try using a program or a user exit in the macro definition and check whether the BW object has text loaded or not and then may be chnage the icon based on it....but I guess that's quite complex and not worth the effort just for checking the text is loaded to the material or not.
Please let me know if I got this right.

Similar Messages

  • Creation of satic and dynamic buttons in a view

    Hi,
    I have created a dynamic button using the code..
    DATA: lr_container TYPE REF TO cl_wd_uielement_container,
            lr_button TYPE REF TO cl_wd_button.
      CHECK first_time = abap_true.
      lr_container ?= view->get_element( id = 'ROOTUIELEMENTCONTAINER' ).
      cl_wd_matrix_layout=>new_matrix_layout( container = lr_container ).
      lr_button = cl_wd_button=>new_button( id         = 'BUTTON'
                                            text       = 'My Button'
                                            on_action  = 'ACTION' ).
      cl_wd_matrix_head_data=>new_matrix_head_data( element = lr_button ).
      lr_container->add_child( the_child = lr_button ).
    its working fine and iam able to see the button .....but when i create another button thorugh layout design its going for dump....whats the reason .?
    Cant we create static and dynamic buttons at a time?
    Thanks,.
    Shailaja Ainala.

    Hi Shailaja,
    Yes you can add static and dynamic ui elements together in the same view.
    The possible problem here could be the way in which the ui elements are added.
    You have created the dynamic button under the root container uielement.
    What about you static button ? Check your layout and layout data property.
    Thank You,
    Radhika.

  • APEX:How to put dynamic buttons in a Report.

    Hello all,
    I am creating one application in which i want two buttons in every record. I can't put it manually because it should change according to records in a table So Can anyone tell me how to put dynamic buttons in a report.
    Thanks & Regards,
    Jiten Pansara

    Hi Jiten,
    you cannot create buttons in the report, but you can always create link columns with some css class to show it as button.
    So in the both link column report attributes you will have class="button1" and class="button2"
    And in dynamic actions you need to bind the events based on your link column's jquery selector like:
    .button1
    .button2Thanks

  • Make the Dynamic button to be invisible in srm

    Hi Guys,
    Am working in the current requirement where i need to delete the dynamic buttons in the shopping cart screen in SRM 7,i have mentioned the button names below ...Please help me out.
    Buttons;
    1)System info
    2)Export
    3)Memory snapshot
    Thanks,
    Vignesh.

    Hi Vignesh ,
    go to tcode 80 in webdynpro /component : FPM_OIF_COMPONENT expand thei webdynpro component go to component  configuration folder -->go this configuration  : /SAPSRM/WDCC_FPM_OIF_PO_PURCH
    click on the start configurator
    on screen will open in browser
    in this screen
    click on  other function button
    click on this and create the enhancement , after creating enhancement then click on change  button
    in the screen you can find the export button click onit
    here you cab set the visibility as  invisible .
    Thanks & Regards
    Pradeep Kumar Dondeti

  • Defining index in Dynamic parallel processing of workflow

    Hi all,
    I am using dynamic parallel processing feature in workflow for a particular multi-line element. But I am not able to define the index in that particular task.
    Consider that i have a multi-line element "Material". For this element, I need to loop that task for that n number of records. so i am using dynamic parallel processing. Now for each workitem generated, i need to show that particular material in the workitem. I remember that we need to use index, but i couldn't recollect how it is defined.
    Could anyone help me in this regard?
    Thanks in advance

    Nikhil,
    When you use dynamic parallel processing the index is available in <b>_Wf_ParForEach_Index</b>. A reference for the line of the multi line element is automatically generated for each work item created. You can see this in the Binding Editor for the step. In your case this will be "Material()". When you drag this element to the WF to Step binding window, it will be resolved as "&Material[&_Wf_ParForEach_Index&]&. Therefore you can get the material for each WI by defining "Material" in your task container (not as multiline) and doing the appropriate binding. If you in fact need the Index in your method, you can define a container element your task with reference to Type SWC_INDEX and bind to ]_Wf_ParForEach_Index.
    Cheers,
    Ramki Maley.
    Please reward points if the answer is helpful.
    For info on awarding points click on this link: https://www.sdn.sap.com/sdn/index.sdn?page=crp_help.htm

  • Problem in Dynamic Parallel processing using Blocks

    Hi All,
    My requirement is to have parallel approvals so I am trying to use the dynamic parallel processing through Blocks. I cant use Forks since the agents are being determined at runtime.
    I am using the ParForEach block. I am sending the &agents& as a multiline container in 'Parallel Processing' tab. I have user decision in the block. Right now i am hardcoding 2 agents in the 'agents' multiline element. It is working fine..but i am getting 2 instances of the block.I understand that is because I am sending &AGENTS& in the parallel processing tab.. I just need one instance of the block going to all the users in the &AGENTS& multiline element.
    Please let me  know how to achieve the same. I have already searched the forum but i couldnt find anything that suits my req.
    Pls help!
    Regards,
    Soumya

    Yes that's true when ever you try to use  ParForEach block then for each value entry in the table a separate workitem ID is created, i.e. a separate instance is created that paralle processing is not possible like that
    Instead of that what you can do is create a fork with 3 branches and define a End Condition such that until all 3 branches are executed .
    Before to the fork step determine all the agents and store them in a internal table , you can access the one internal table entry by using the index value check this [wiki|https://www.sdn.sap.com/irj/scn/wiki?path=/display/abap/accessingSingleEntryfromMulti-line+Element] to access single entry from a internal table.
    For each task in the fork assgin a agent
    So, as we have defined the condition that until all the three branches are executed you don't want to come out of the fork step so, it will wait until all the stpes are completed.

  • Dynamic parallel processing using a multiline container element

    Hi All ,
      I just wanted to how things work when we use "Dynamic parallel processing" for a decision step . I came across a situation wherein a Rule gets the approving user(s) and the work item should be sent to all those users . After getting an approval from all the users , the workflow should proceed or else it should terminate .
       I was just wondering whether "Dynamic parallel processing" will do this job or not . I had also thought of using forks but as the number of approvers are  decided at runtime , i dont think it is possible .
       Any inputs ?
      Edit : We are working on CRM 5.0
    Thanks ,
    Shounak M.
    Message was edited by: Shounak  M

    Hi Shounak,
    Just do as Mike says:
    use the multiline element for a subflow.
    The subflow consists of your user decision, if someone rejects it, remember it (could be done by updating a small table using a method, or use an event, or what mike suggested, updating appending a table )
    In the top flow, after the multiline element step determine if someone rejected it (wait for event, or reading the table).
    Kind regards, Rob Dielemans
    Message was edited by: Rob Dielemans

  • Multilevel dynamic approval process using precondition loop block

    HI,
    I am trying to create a multivel dynamic approval process using a precondition loop block. The structure of my process is,
    Process->1)Sequential Block containing requestor action->processor of requestor action is initiator
                2)Precondition Loop Block containing
                        i)Loop Decision action containing a business logic callable object
                        ii)Loop Body Block containing Approver action-processor of approver action is filled from context parameter
    The loop decision action implements the logic for loop decision. Can anybody help me by suggesting the proper target of each of these actions, and the processor for loop decision action?
    Whenever I am initiating the process, the requestor action is getting executed,  On completion of this action I am getting a message "No activity is currently selected", that is, it is not entering the precondition loop block.
    Please guide me with the proper process flow of this and how to adjust the roles and parameters
    Thanks,
    Swaralipi

    Posted another thread on the same issue

  • Dynamic parallel processing of the same object using asynchronous method

    Hi,
    Please can anyone help me?
    I have to send the same DMS document to several agents for parallel processing. The number of agents is not known until runtime. Each of them should process the document and at least change the status of it. In next step I check if he has changed it.
    I use dynamic parallel processing of subworkflows. Key task of this subworkflow uses standard method of object DRAW - DOCUMENT.EDIT  (standard transaction CV02N) which is asynchronous. The task is finished by event DOCUMENT.CHANGED. 
    During the parallel processing the appropriate number of workitems is generated. However, when the agent who processes the document as first completes his workitem the event DOCUMENT.CHANGED is generated and all parallel workitems are completed, even those of other agents that were not processed yet.
    Any help would be appreciated.
    Thanks.
    Eva Vahalova

    Hi all,
    The process is used to approve incoming invoices. Each scanned invoice is attached to a DMS document and than sent to one or several agents in parallel. People from several departments can approve the same invoice for instance energy or mobile phone costs. We have no HR module fully implemented. Each agent may write some remarks and has to sets the document status to either approved or rejected. This status is temporary therefore the others see the original status for approving.
    The process of incoming invoices was implemented by SAP consultants in 2003 on 4.6B and now runs on our 4.7 system.  Now new company was established running on a new SAP system ECC 6.0 and our accountant department and some agents will deal with invoices in both systems. Therefore, the process should appear the same or at least very similar. The majority of the old process was realized by programming while I would like to use workflow features that are available now and reduce the programming part.
    As I see, I will have to choose one of the solutions that Arghadip suggested.
    I wonder if there is a possibility to use asynchronous method and control the end of each work item by means of u201CComplete Work Itemu201D or u201CComplete executionu201D Conditions. I have never used them and I do not know how they work and what condition to use. Maybe program exit might be used as well. While controlling the agents I think I will have to do some programming anyway because the work item can be finished by a substitute too.
    Thanks for your help.
    Eva

  • Invoce. N-step dynamic approval process

    Hello,
    I have a question.
    According documentation we have BADI ONLY for SC workflow
    and PO workflow.(BBP_WFL_APPROV_BADI)
    I need  N-step dynamic approval process  for Invoice.
    The question is : do i need to develop my own workflow or is there other functionality or BADI which i can use for INVOICE?
    Thank you.
    Tania

    Hi Hari,
    The total value of the shopping cart changes because Manager 1 deletes an item from the shopping cart. So the new value of the shopping cart is 10.000,- euro. In this example all managers must approve up to and including the first one who has an limit higher than the shopping cart value.
    Regards,
    Martin

  • Create Dynamic button

    can anyone guide me to create dynamic button? Thank you,

    Hi Pankaj,
    This is what you need:
      public static void wdDoModifyView(IPrivateStamappView wdThis, IPrivateStamappView.IContextNode wdContext, com.sap.tc.webdynpro.progmodel.api.IWDView view, boolean firstTime)
        //@@begin wdDoModifyView
        if (firstTime){
             IWDButton button = (IWDButton) view.createElement(IWDButton.class,"myButtomid");
                 IWDTransparentContainer myCont = (IWDTransparentContainer) view.getRootElement();      
             myCont.createLayout(IWDMatrixLayout.class);
             myCont.addChild(button,0);
        //@@end
    Regards
    Nir

  • Dynamic Button Creation in list toolbar

    Hi all,
    I have a requirement to add dynamic button in list guibb.
    I have a ovp floorplan in which I used tabbed uibb. In tabbed uibb I used list uibb.
    Now I want dynamic button in list toolbar.
    Please give some suggestion which help me in achieving this.
    Thanks & Regards,
    Jitendra Sahu

    Hi Julia,
    Thanks alot for the reply.Currently the toolbar is configured in the configuration and i'm generating the buttons from the method. Is there any way possible in case i want to over write the toolbar from the configuration and create a static toolbar with necessary grouping? Please let me know in case there is any work around i can try.
    Thanks again.
    Regards,
    Ravi.

  • In EPM10, how do you call/reference a dynamic range from a macro.

    Hi Gurus
    In EPM10, [we are using SP16,P1], how do you call/reference a dynamic range from a macro.
    EG, in the BPC input sheet below, we have BPC reports ‘000’,’001’,’002’. For report ‘001’,users are able to select from diffent versions which each have different number of months. In the forecast version below, there are 7 months. We require a macro to select & delete f'cast data content of report ‘002’, there after we will manipulate it via the macro and return it. However, standard excel named ranges don’t work per BPC7.x and don’t dynamically expand.
    The macro code in 7.x was:
    Range(“REPORT1_RANGE”).Select >> Does any oneknow the replacement in EPM10 please?

    The following macro which accesses API's looks like it would help to define the report range:
    Sub TopLeftCell()
    Range("c26").Select
    Application.Run "EPMExecuteAPI", "GetDataTopLeftCell", "", "Sales Planning", "001"
    End Sub
    Anybody able to assist with the syntax of this macro..it currently runs without error, however does not return any result?? Note:
    * the parameter ''" relates to the text which i believe can be left if using macros
    *the parameter "Sales Planning" is my worksheet name
    *the parameter "001" is my report definition.
    I was hoping to return the result back to cell C26. Thanks All

  • Dynamic data processing (concerning radio buttons)

    hello again. first of all, whoever you are in my last topic,
    thank you for helping me solve that checkbox problem. (forgot your
    username)
    here's a new puzzle:
    this puzzle involved 2 pages,
    editMODS.cfm and editMODS2.cfm. in editMODS.cfm, there are 2
    rows of radio buttons, one row for edit, one row for delete. but
    only one out of all can be checked at a time. once the user has
    selected whether he want to edit/delete that module, he will submit
    the value for editMODS2.cfm to process. editMODS2.cfm's
    responsibility is to check what the value submitted by editMODS.cfm
    is, then choose which page to redirect to. when the page is chosen,
    editMODS2.cfm should then pass the value passed by editMODS.cfm to
    that chosen page so that the chosen page can work its magic.
    editMODS.cfm
    ===========
    <cfquery datasource="fypdatabase" name="listMODS">
    SELECT *
    FROM moduleTABLE
    ORDER BY courseID
    </cfquery>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
    Transitional//EN" "
    http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="
    http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html;
    charset=utf-8" />
    <title>Untitled Document</title>
    </head>
    <body>
    <form id="form1" name="form1" method="post"
    action="editMODS2.cfm">
    <table width="318" border="0" cellpadding="4"
    cellspacing="3">
    <tr>
    <td colspan="3" align="center"><strong>Edit /
    Delete Modules</strong></td>
    </tr>
    <tr>
    <td align="left" valign="top"> </td>
    <td align="center"
    valign="top"><strong>Edit</strong></td>
    <td align="center"
    valign="top"><strong>Delete</strong></td>
    </tr>
    <cfloop query="listMODS">
    <tr>
    <td width="192" align="left" valign="top">
    <cfoutput>#listMODS.moduleNAME#
    (#listMODS.moduleCODE#)</cfoutput> </td>
    <td width="45" align="center" valign="top">
    <cfoutput><input type="radio" name="radio"
    id="radio" value="E#listMODS.moduleID#" /></cfoutput>
    </td>
    <td width="45" align="center" valign="top">
    <cfoutput><input type="radio" name="radio"
    id="radio" value="D#listMODS.moduleID#" /></cfoutput>
    </td>
    </tr></cfloop>
    <tr>
    <td height="3" colspan="3" align="center"
    valign="middle"></td>
    </tr>
    <tr>
    <td colspan="3" align="center"
    valign="middle"><input type="submit" name="button"
    id="button" value="Submit" /></td>
    </tr>
    </table>
    </form>
    </body>
    </html>
    +++++++++++++++++++++
    editMODS2.cfm (all those cfoutputs are there for faster
    testing of the checking function)
    ============
    <cfquery datasource="fypdatabase" name="listMODS">
    SELECT *
    FROM moduleTABLE
    ORDER BY courseID
    </cfquery>
    <cfif #form.radio# is "E#listMODS.moduleID#">
    <cfoutput>rw</cfoutput>
    <cfelseif #form.radio# is "D#listMODS.moduleID#">
    <cfoutput>sd</cfoutput>
    <cfelse>
    <cfoutput>ec</cfoutput>
    </cfif>
    as a bonus, it will be greatly appreciated if anyone can
    enlighten me on value passing too.

    hi. this post is to inform that the first part of the puzzle
    has been solved using CONTAIN instead of IS in editMODS2.cfm.
    the second part about value passing is still open.

  • Dynamic buttons and itemlisteners????

    I'm trying to do something that might not be possible. I would like to create some buttons and actions for those buttons on the fly. For example:
    1) read some files from a directory (these file store settings)
    2) Create buttons using the filenames as the button labels
    3) Create associated actionPerformed section related to those buttons
    I want to do this because the amount of files and there names could change all the time. Basically I want to create a button for each file, and essentially launch an application using the settings file as part of a process.
    So far I've read a filename into a string. The first problem, how do I use that filename as the name of a button?
    JButton "string value" = new JButton();
    Then, subsequently, how to you set up the action? See code snipet below.
    Hope that made some sense. Can anything like this be done?
    Thanks,
    James
    //this loads the buttons
    for (int i=0; i < main.size(); i++)
         Vector temp = new Vector();
         temp = (Vector)main.elementAt(i);
         JButton buttonName = new JButton((String)temp.elementAt(0));
         buttonName.addActionListener(this);
         northFlow.add(buttonName);
    //this is in the actionPerformed section
    for (int i=0; i < main.size(); i++)
         Vector temp = new Vector();
         temp = (Vector)main.elementAt(i);
         if (source == (String)temp.elementAt(0))
                loadProgram((String)temp.elementAt(0));

    There is a way to give a button a variable name equal to the file name but it involves extremely advanced Java programming involving creating dynamic class instances. I would strongly discourage this approach because debugging it when it doesn't work, can be a nightmare.
    There is a much easier way to do this however. Create an array of JButtons. Call it, oh say, "MyButtons". Then at the appropriate places, you can do:
    JButton[] MyButtons;
    MyButtons = new JButton[ main.size ];
    for ( int i = 0; i < main.size(); i++ ) {
       Vector temp = new Vector();
       temp = (Vector)main.elementAt(i);
       MyButtons[i] = new JButton( (String)temp.elementAt(0) );
       MyButtons.addAction...
    Incidently, you may also want to re-think your data structure. From what I understand, you have an array where each element is a vector (another array of zero or more elements). This results in code that is difficult to read and write. Consider making your own objects instead of using vectors, then you could write something like...
    for ( int i = 0; i < main.size(); i++ ) {
       if ( source == main.getProgramName() ) {
    loadProgram( main[i].getProgramName() );
    The nice thing about this approach is that you can mix and match objects within the array, or add elements to each object in any particular order and it won't break the rest of your code.
    P.S., use the square brackets to indicate arrays. For some reason, this board is converting them into angle brackets.

Maybe you are looking for

  • Passing data from jsp/servlet to a Tuxedo Service thru VIEW

    Hi.. We are using Tuxedo10g R3 on AIX 5.3.. We have a Tuxedo Service running which takes values from the VIEW and converts that to upper case.. From the jsp page v r passing values to the VIEW fields which will be accepted by the service.. For testin

  • Cant open adobe photoshop CS6 because aparently I dont have the GetLogicalProcessorInformation

    what should I do? These message appears every time I try to open photoshop: The procedure entry point GetLogicalProcessorInformation could not be located in the dynamic link library KERNEL 32.dll.

  • Problems sending texts.....

    Hi Everyone Bit of strange one, it's got me a bit confuddled, wondered if anyone could help please? I've got an iPhone 4s, and I've a problem sending texts/imessages... It sends fine when I'm replying to a thread of messages but if I start a 'new' te

  • BAPI to create Purchase Requisition for selective BOM Material

    Dear Experts, I need ur help, Actually I am developing a module Pool prg to create Purchase Requisition for selective Bom Material . Actually, standard T.Code (ME21N) create PR for a multiple BOM Materia lwhich are used to create a prepared material.

  • Windows 8 exceptions on a6407c ssd

    I have an HP Pavilion a6407, which originally came with 32-bit Windows Vista.  I upgraded to 32-bit Windows 7 Professional and it ran fine for years.  I recently installed a Crucial MX100 500 gigabyte solid state drive and installed 64-bit Windows 8.