Use Custom Button to go to another portal form

Hi,
I created a custom button, and in the PL/SQL handle, I put in the code to redirect the url to another portal form/report. When I run the form and press the custom button, it does not go to the other form, it remains on the same form that I started with. Why?
I can put the same piece of code in advance PL/SQL => After displaying the page, draw a html button to do the same task. It will work for me when I press the button (i.e. go to another form). So, how come I cannot do the same thing using Custom button?
Thanks;
Kelly.

Kelly,
The reason you don't see the next form because our module subsystem has a set of rules when to redirect and when not. However, there is an "internal" function which you can call from your custom button code to get this effect:
PORTAL30.wwa_app_module.set_target('http://www.yahoo.com','CALL');
Please note this is an internal function and may change at any time.
Thanks,
Dmitry
null

Similar Messages

  • How to Calculate sum for the selected rows in ALV gird using custom button

    Hi I am trying to implement an ALV Grid display where the user can select few rows in the output and if he click on some custom button he should get the sum for only those rows.
    Can anyone give me some idea regarding this.
    Thanks in advance

    While building the fieldcatalog for amount field use gt_fieldcat-do_sum = 'X'. And use the below for doc type sorting and subtotal.
    *  ALV data declarations
      data: it_sortcat   type slis_sortinfo_alv occurs 1,
            wa_sort like line of it_sortcat.
    perform build_sortcat.
    *&      Form  build_sortcat
    *       Build Sort catalog
    FORM build_sortcat .
      wa_sort-spos      = 1.
      wa_sort-fieldname = 'EBELN'.
      wa_sort-SUBTOT    = 'X'. "subtotals any totals column by this field
    *  gd_sortcat-tabname
      APPEND wa_sort TO it_sortcat.
      wa_sort-spos      = 2.
      wa_sort-fieldname = 'EBELP'.
    *  gd_sortcat-tabname
      APPEND wa_sort TO it_sortcat.
    ENDFORM.                    " build_sortcat
    call function 'REUSE_ALV_LIST_DISPLAY'
           exporting
                i_callback_program      = gd_repid
                i_callback_top_of_page   = 'TOP-OF-PAGE'
                is_layout               = gd_layout
                it_fieldcat             = fieldcatalog[]
                it_sort                 = it_sortcat
                i_save                  = 'X'
           tables
                t_outtab                = it_ekko
           exceptions
                program_error           = 1
                others                  = 2.
    Regards,
    Chandru

  • ALV  issue - capturing user changes in editable fields using custom button?

    Hi,
    I created a custom button in ALV tool bar.   And also in my ALV grid I have couple of fields Editable option. User can change values for these 2 fields.
    My question is -
    After changing values for these editable fields(more than 1 record)  , user will click on custom button and then I have to update all the user changed values in to my internal table(lt_tab)  and then I have to process logic.
    Problem is when user click on Custom button in ALV tool bar it is not having the changed values in lt_tab table.
    Only when user clicks  some thing on ALV grid records or fields then it is getting all the changed values in to lt_tab.
    Can any one tell me how I can get changed values when user clicks on custom button?
    1. Can we place custom button in ALV Grid? instead of ALV tool bar? 
    or
    How I can capture user changes when they click on custom button?
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    TABLES
          T_OUTTAB                          = lt_tab
    Please check this logic-
    CASE r_ucomm.
        WHEN '&IC1'.
    - It_tab  having all changed field values
      WHEN 'custom button'.
          lt_tab  - not having any changed values - showing all initial lt_tab values.
    I highly appreciate your answers on this.
    Thanks.
    Rajesh.

    Hi,
    Use this code, its working:-
    *&      Form  ALV_DISPLAY
    *       SUB-ROUTINE ALV_DISPLAY IS USED TO SET THE PARAMETERS
    *       FOR THE FUNCTION MODULE REUSE_ALV_GRID_DISPLAY
    *       AND PASS THE INTERNAL TABLE EXISTING THE RECORDS TO BE
    *       DISPLAYED IN THE GRID FORMAT
    FORM alv_display .
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
    *     I_INTERFACE_CHECK                 = ' '
    *     I_BYPASSING_BUFFER                = ' '
    *     I_BUFFER_ACTIVE                   = ' '
         i_callback_program                = v_rep_id       " report id
         i_callback_pf_status_set          = 'PF'           " for PF-STATUS
         i_callback_user_command           = 'USER_COMMAND' " for User-Command
    *     I_CALLBACK_TOP_OF_PAGE            = ' '
    *     I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
    *     I_CALLBACK_HTML_END_OF_LIST       = ' '
    *     I_STRUCTURE_NAME                  =
    *     I_BACKGROUND_ID                   = ' '
    *     I_GRID_TITLE                      =
    *     I_GRID_SETTINGS                   =
         is_layout                         = wa_layout      " for layout
         it_fieldcat                       = it_field       " field catalog
    *     IT_EXCLUDING                      =
    *     IT_SPECIAL_GROUPS                 =
         it_sort                           = it_sort        " sort info
    *     IT_FILTER                         =
    *     IS_SEL_HIDE                       =
    *     I_DEFAULT                         = 'X'
         i_save                            = 'A'
         is_variant                        = wa_variant     " variant name
    *     IT_EVENTS                         =
    *     IT_EVENT_EXIT                     =
    *     IS_PRINT                          =
    *     IS_REPREP_ID                      =
    *     I_SCREEN_START_COLUMN             = 0
    *     I_SCREEN_START_LINE               = 0
    *     I_SCREEN_END_COLUMN               = 0
    *     I_SCREEN_END_LINE                 = 0
    *     I_HTML_HEIGHT_TOP                 = 0
    *     I_HTML_HEIGHT_END                 = 0
    *     IT_ALV_GRAPHICS                   =
    *     IT_HYPERLINK                      =
    *     IT_ADD_FIELDCAT                   =
    *     IT_EXCEPT_QINFO                   =
    *     IR_SALV_FULLSCREEN_ADAPTER        =
    *   IMPORTING
    *     E_EXIT_CAUSED_BY_CALLER           =
    *     ES_EXIT_CAUSED_BY_USER            =
        TABLES
          t_outtab                          = it_final      " internal table
       EXCEPTIONS
         program_error                     = 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.
      ENDIF.
    ENDFORM.                    " ALV_DISPLAY
    *&      Form  USER_COMMAND
    *       SUB-ROUTINE USER_COMMAND IS USED TO HANDLE THE USER ACTION
    *       AND EXECUTE THE APPROPIATE CODE
    *      -->LV_OKCODE   used to capture the function code
    *                     of the user-defined push-buttons
    *      -->L_SELFIELD   text
    FORM user_command USING lv_okcode LIKE sy-ucomm l_selfield TYPE slis_selfield.
    * assign the function code to variable v_okcode
      lv_okcode = sy-ucomm.
    * handle the code execution based on the function code encountered
      CASE lv_okcode.
    * when the function code is EXECUTE then process the selected records
        WHEN 'EXECUTE'. "user-defined button
    * to reflect the data changed into internal table
          DATA : ref_grid TYPE REF TO cl_gui_alv_grid. "new
          IF ref_grid IS INITIAL.
            CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
              IMPORTING
                e_grid = ref_grid.
          ENDIF.
          IF NOT ref_grid IS INITIAL.
            CALL METHOD ref_grid->check_changed_data.
          ENDIF.
    * refresh the ALV Grid output from internal table
          l_selfield-refresh = c_check.
      ENDCASE.
    ENDFORM.
    This will reflect all the changes in the internal table. Now you can include your logic as per your requirement.
    Hope this solves your problem.
    Thanks & Regards,
    Tarun Gambhir

  • Where do I find inbuilt library function for calling workflows using custom button

    Hi,
    I was trying this link. 
    I have doubt in the step 9, where do we get this script from /_static/_common/scripts/RibbonActions.js
    Kindly share your thoughts,
    Regards,
    Rekha.J
    Regards, Rekha.J

    Hi Rekha,
    If you are using MS CRM on premise version you can have access to that location. This is a system file.
    Assume your CRM is installed on C drive then the location will be.
    C:\Program Files\Microsoft Dynamics CRM\CRMWeb\_static\_common\scripts
    Note:making any change in CRM system files comes under unsupported customization.
    Hope this helps,
    Yusuf
    If you find this post helpful then please "Vote as Helpful" and "Mark As Answer". Thanks and Regards, Mohammad Yusuf Ansari
    http://microxrm.blogspot.in

  • Using a Button to extract pages and submit form.

    I have a five page document.   The last page is a letter that gets emailed by itself.  Also want the account name and number to flood into the subject line.
    I can get this to work if I don't extract the other four pages,  and use the built in submit form function in the button.  But can flood the value from the account name and number fields.
    Function needed for Adobe Pro X and would probably use with Live Cycle in the near future.
    Thanks!

    OK. In that case you can use something like this as the submit button's MouseUp script:
    var newDoc = this.extractPages(this.numPages-1);
    newDoc.mailDoc({cTo: "[email protected]", cSubject: "Subject line"});
    This code will extract the last page of the document and then attach it to a new email message with the specified address and subject line, which you can change of course.

  • Using social media share codes with custom buttons

    Is there a way to use custom buttons/icons for social media share, like, etc..? I have tried inserting the html with no luck. The canned social widgets don't really match the look of the site I am designing.

    Facebook doesn't allow changing that. Refer to their Guidelines with Do's and Don'ts here - https://www.facebookbrand.com/guidelines?asset=5&media=1,2,3&platform=
    Thanks,
    Vinayak

  • Cp6 - How do I save custom button images?

    Hello all,
    I have a project which uses custom buttons. When I click on the button, from the stage, I see the button and other custom buttons in the Properties/General section (as Image buttons).
    The problem is that these buttons are embedded in the project. How do I save them to the hard drive so that I may edit them? I see no option to save them in their 3 states (over, up, down).
    BTW, as I mentioned, they are currently embedded in the project and they are not located in: Adobe Captivate 6 x64\Gallery\Buttons
    Anyone?
    Thank you,
    Doug

    Hi Charles,
    last week Kirby Krieger and me did a little investigation in vanishing button sets; you may wish to have a look at this thread: Control Bar Button Sets Drop-down shows non-existing Sets "Wedding", "Sports", "Animals". I wonder, if your button sets vanish for the same reason, switching between libraries.
    When you close Aperture and restart (a regular "quit", not "force quit", I assume, otherwise all will be discarded ) then the button sets will be stored in your Aperture Library, and in the System Preferences file
         ~/Library/Preferences/com.apple.Aperture.plist Aperture stores the name of the button group last selected.
    So the button sets are bound to your library. If you switch between Aperture Libraries, and the other Library does not have a button group by the name you last selected, then Aperture will fall back on the default button set. By clicking the "Edit button" in the keyword controls and selecting one of your previously defined set in the left columm of the button editor, usually your button sets should reappear. Does that apply to your case? Do you switch between multiple Aperture Libraries? Then make sure to select a button set group that is defined in all libraries before quitting and switching to another library. Also your Aperture Preference file might be locked or corrupted. Then it might help to remove the preference file as described in Aperture 3 Trouble Shooting Basics http://support.apple.com/kb/HT3805
    The import/export buttons:
    You can save your button set to a file, and when you switch to another library, you can import the saved file to use the same button sets with that library. Export and Import should not be necessary, if you are only quitting and reopening the same library.
    Regards
    Léonie

  • Approve quotation on action of custom button

    Hello experts,
    For some requirement, standard approve/reject button is to be hidden and based on certain zfield status, and custom button action, quotation should be approved. I am able to add the button. The quotation is created in an external system and is transferred to SRM. In SRM system, the quotation is created using BBP_PD_QUOT_CREATE. The quotation is visible in approver's UWL. Now when approver opens the quotation, custom button should be displayed instead of standard buttons 'Approve' or 'Reject'. Upto this, it is done.
    On the action of the button, I am creating instance of class /SAPSRM/CL_PDO_BO_QTE_ADV in approval mode and using the method /sapsrm/if_pdo_bo_qte~approve or /sapsrm/if_pdo_bo_qte~action_approve etc.. none of them is working. For all the methods above, i am getting error - 'A PDO layer update method was called in display mode'.
    Could you please guide me how can I approve the document using custom button action?
    Regards,
    Yayati Ekbote

    Hello experts,
    For some requirement, standard approve/reject button is to be hidden and based on certain zfield status, and custom button action, quotation should be approved. I am able to add the button. The quotation is created in an external system and is transferred to SRM. In SRM system, the quotation is created using BBP_PD_QUOT_CREATE. The quotation is visible in approver's UWL. Now when approver opens the quotation, custom button should be displayed instead of standard buttons 'Approve' or 'Reject'. Upto this, it is done.
    On the action of the button, I am creating instance of class /SAPSRM/CL_PDO_BO_QTE_ADV in approval mode and using the method /sapsrm/if_pdo_bo_qte~approve or /sapsrm/if_pdo_bo_qte~action_approve etc.. none of them is working. For all the methods above, i am getting error - 'A PDO layer update method was called in display mode'.
    Could you please guide me how can I approve the document using custom button action?
    Regards,
    Yayati Ekbote

  • How to handle CLOB in Portal Forms

    I want to generate a simple form in Portal using CLOB.
    Here is a simple example of what i want to do.
    I have a table :person_details having columns
    name varchar2(30), resume_details clob, picture blob).
    Using the wizard if i create the portal form it
    shows only 2 columns name and picture. It just doesnt
    show resume_details -clob on the screen.
    I tried to manually create a field on the form - but then
    how do I link it to the database so that i can insert/update
    stuff in the database.
    Your help is appreciated.

    Hi,
    CLOB are not supported as sharmila has already told in the previous reply.
    what you can do is that create a table with following details.
    desc person_details
    Name Null? Type
    NAME VARCHAR2(30)
    RESUME_DETAILS BLOB
    PICTURE BLOB
    MIME_TYPE VARCHAR2(2000)
    And then instead of RESUME_DETAILS bein CLOB make it BLOB.Associate a mime_type field with it.
    by doing so you can upload not only text based resumes but also word document,rtf format, and text aswell (can try more combinations).
    The mime types for the above types can be as follwing.
    Application/msword => for word document.
    Text/plain => for text documents.
    Text/richtext => for .rtf files.
    I have tried all of the above combinations and you can try more combinations.
    Hope it helps.
    rahul

  • Conditional display of "Custom" Buttons in Portal Forms

    Could someone tell me if the following is possible, and briefly explain the steps to a beginner in Portal (but reasonably familiar with PL/SQL):
    Problem - How to display "Custom Buttons" conditionally
    Example -
    a) Assume you have a certain record ("patient_address"). The hospital requires that every patient address be authorized before submitting records to health insurance. However, authorized records should not be authorized again.
    b) Also assume that the "patient_address" table has a column "authorized" (which can contain Y or N)
    * The requirement is to show an "Authorize" button whenever the record being viewed has the "authorized" column as "N" only
    * If possible, this can be further improved by obtaining whether the person viewing the information has permission to authorize, but this can be taken as a next step
    Approaches -
    1. If possible, achieve this in Portal Forms
    2. (worst case) - show the button, but show a message if it is pressed and the action does not apply
    Somehow, it seems as though Portal Forms is not suitable (or does not have the documentation readily accessible) of how to do specific, custom, real world forms design as in this example - could someone please elaborate
    Also, would this be better done by using one of the following in combination with Portal:
    - HTT (will this be supported, given that it is an Oracle internal technology)
    - PHP (is this even compatible with Portal?)
    null

    Hi,
    Conditional display/hide of custom buttons is not yet supported in Portal.
    However, if you are willing to modify the generated form package this could be done.
    Each form has a procedure called row_function which conditionally hides Insert/Update buttons depending on the mode. By default all elements of a form are visible, then row_function modifies the "visibility" property to hide that element.
    for example, this is a fragment of row_function code which hides the Insert button in update mode:
    "_form_state" := p_session.get_value_as_varchar2(
    p_block_name => "_block",
    p_attribute_name => '_FORM_STATE');
    if "_form_state" = 'UPDATE_AND_DELETE' then
    "_idx" := get_index('INSERT_TOP');
    p_form.items("_idx").visible := 'N';
    end if;
    You can add any additional code to check form's session storage/custom package variable/function whatever is more suitable in your case.
    Then you just set visible to 'N'.
    "_idx" := get_index('MY_CUSTOM_BUTTON');
    p_form.items("_idx").visible := 'N';
    Of course the biggest drawback of this is every time you edit your form you will loose your change and must edit the package manually. To minimize the effect you can create a custom package/procedure with type signature matching that of row_function and place your code there, so you will need to add only one line of code to the row_function.
    Hope this will help to resolve the problem, I don't know the status/plans for HTT/PHP support in Portal.
    Thanks,
    Dmitry

  • Tin Can Statements using Javascript on Custom Buttons

    Has anyone got custom Tin Can Statements working using Javascript Actions on custom buttons using advanced actions in Adobe Captivate?

    Thanks for the reply.  So just to be sure, there is no way to approach doing what is mentioned below: 
    Captivate may be using TinCanJS (http://rusticisoftware.github.io/TinCanJS/) under the hood. If it is, then it might be exposing a global `TinCan` variable and potentially another global that is an instance of that constructor that has the configured LRSs. If that is the case, then it should be trivial to add a call to the 'sendStatement' method of that interface and it should Just Work (tm). You should be able to launch the course and use browser developer tools to inspect the global namespace to see what objects are available.
    If the TinCan global is there but you don't see anything representing an instance of it, then you can always create your own instance and use the 'url' property of the constructor to get one configured with an LRS instance from the launch parameters. Then follow the same procedure as above.
    If the TinCan global isn't there then you can load TinCanJS yourself which will give you that global and then follow the procedures in both of the above. The Tin Can Prototypes (http://tincanapi.com/prototypes/) include examples of working with the TinCanJS library both in launch and non-launch scenarios. From a developer purist perspective loading the lib as your own dependency is really more proper anyways so that you control the dependency and its version, but TinCanJS doesn't currently support a "no conflict" type of feature without special build, so if it is already present you are best off using the version loaded on the page so as not to risk breaking other parts of the course.

  • Portal form custom button to call new portal page

    Portal 3.0.9
    I can create a portal form componment which sets session variables appropriately based on a custom button. I can get a 2nd component such as a report to read this session variable ok as long as it on the SAME portal page.
    However, how do I get the form (exposed as a portlet on a page) to call A DIFFERENT Portal page which contains a number of application components reading the previously set session variable? I do not want to call the module directly as it will appear in a popup window.
    I've tried using owa_util.redirect_url('page url'); but this gets ignored and the same page is refreshed.
    Any ideas?
    John

    Hi,
    You can call the new page in the success procedure of the form
    example
    declare
    l_url varchar2(2000);
    begin
    l_url := 'cut and paste the page link from the navigator';
    go(l_url);
    end;
    Thanks,
    Sharmila

  • How to use one button to drive another button click

    I'm trying to figure out a way to fix a bug in my application.  The simple fix would be to have a single button that drives a MouseCLICK event on another button everytime the PlayBar in my application reaches the end of the screen and returns to its origin.
    How would I achieve this?  I have made a lot of headway since I last posted a question in the ActionScript 3 forum, which was only yesterday evening.
    Thanks in advance,
    markerline

    The application is an audio application.  It is like a drum machine sort of.
    Currently there is a grid and whenever active cells get hitTest'ed by the PlayBar they become deactivated, the PlayBar returns to the origin, and when you relaunch the Play functionality the deactivated cells no longer play a sound.
    I have a button which reactivates the sounds.
    I also have a button which has a bug in it that loops the sounds. 
    To go around the looper button that has a bug in it I would like to use a Button "Z" which automatically clicks the "reactivate the sounds" button every time the PlayBar returns to the origin and the PlayBar will then continue to play and return to the origin in a looping fashion.  If the Button Z is in an active state this looping will continue.  To stop looping, click the Button Z until it is no longer in an active state and the PlayBar will then remain at the origin.

  • Cant use Export to Excel functionality for ALV if I add a custom button

    Hi,
      I have added a custom button the the ALV toolbar by creating a GUI status and using the USER_COMMAND event. However. Now I dont the get the standard ALV toolbar with all the options for sorting, exporting to excel etc.
      Can someone show me how I can do both, add my own button to the toolbar as well as use ALV Grid toolbar. Currently the ALV grid standard toolbar has disappeared
    Thanks for reading

    Hello,
    I am not sure how you are creating your ALV report.  If you are using FM REUSE_ALV_GRID_DISPLAY there is a parameter callled I_CALLBACK_PF_STATUS .  Read the documentation for this field from the doc for the FM.  It tells you to copy a standard PF status from fucn group SLVC_FULLSCREEN and then add your new button to that staus.
    If you are using class CL_SALV_MODEL_BASE there is a method called set_screen_status that lets you do a similar thing - copy an existing PF status and add your button.
    Hope that helps
    Regards
    Greg Kern

  • If I get a user to enter their name as a variable and I am linking one movie to another using a button, is there a way to carry the user name forward into the second movie?

    If I get a user to enter their name as a variable and I am linking one movie to another using a button, is there a way to carry the user name forward into the second movie?

    Hi there
    See if the link below helps
    Click here
    Cheers... Rick
    Helpful and Handy Links
    Captivate Wish Form/Bug Reporting Form
    Adobe Certified Captivate Training
    SorcerStone Blog
    Captivate eBooks

Maybe you are looking for