简体   繁体   中英

How to get updated HTML radio button in Workflow Inbox?

Since I'm so new for workflow, now I'm stuck at on how to get updated radio button of HTML table in Workflow inbox when click decision button.

STEP 1: ln HTML table, the user can approve or reject WBS by checked radio

STEP 2: When user click confirm, then the workflow will update status for each WBS that shown in the table.

Question: On STEP 2 - how can I get the HTML text which updated by user action.

For now I've enhanced SAPEVENTS and using 'SAP_WAPI_READ_CONTAINER' to get HTML container.

However, after check the HTML code, the HTML table is not update to user action.

Here's a minimal program which demonstrates how to get the values of the radio buttons. If the user presses Approve on the first line and Reject on the second line, and presses the button Confirm, the method on_sapevent gets group[1]=approve&group[2]=reject .

(works in something like ABAP 7.40 SP8)

REPORT zdemo.
CLASS lcl_app DEFINITION.
  PUBLIC SECTION.
    METHODS at_selection_screen_output.
    METHODS on_sapevent FOR EVENT sapevent OF cl_gui_html_viewer
          IMPORTING action frame getdata postdata query_table.
  PRIVATE SECTION.
    DATA o_html TYPE REF TO cl_gui_html_viewer.
ENDCLASS.
CLASS lcl_app IMPLEMENTATION.
  METHOD at_selection_screen_output.
    DATA: l_url  TYPE cndp_url,
          l_text TYPE string.
    IF o_html IS NOT BOUND.
      l_text = '<body><form id="form" method="POST" action="SAPEVENT:submit">'
          && REDUCE string( INIT t = `` FOR I = 1 WHILE i <= 2
             NEXT t = t && |<div><fieldset id="group{ i }">|
                        && |<input type="radio" value="approve" name="group[{ i }]"> Approve |
                        && |<input type="radio" value="reject" name="group[{ i }]"> Reject|
                        && |</fieldset></div>| )
          && '<p><button type= "submit">Confirm</button></p>'
          && '</form></body>'.
      o_html = NEW #( parent = cl_gui_container=>screen0 ).
      SET HANDLER on_sapevent FOR o_html.
      o_html->set_registered_events( events = value #( ( eventid = o_html->m_id_sapevent ) ) ).
      DATA(lt_text) = cl_bcs_convert=>string_to_soli( l_text ).
      o_html->load_data(
        EXPORTING type = 'text' subtype = 'html' size = strlen( l_text )
        IMPORTING assigned_url = l_url
        CHANGING  data_table = lt_text ).
      o_html->show_url( EXPORTING url = l_url ).
    ENDIF.
  ENDMETHOD.
  METHOD on_sapevent.
    CONCATENATE LINES OF postdata INTO data(l_post_data) RESPECTING BLANKS.
    MESSAGE l_post_data TYPE 'I'.
  ENDMETHOD.
ENDCLASS.

PARAMETERS dummy.
DATA go_app TYPE REF TO lcl_app.

LOAD-OF-PROGRAM.
  CREATE OBJECT go_app.

AT SELECTION-SCREEN OUTPUT.
  go_app->at_selection_screen_output( ).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM