Capture *"UNCHANGED"*screen values to EXIT.

Hi all...
I want all the screen values changed+unchanged to my exit.
PA30-0008-BSGRD field.
In exit PBAS0001-EXIT0002.
When I change the bsgrd field, i can get the value in exit.
But when I dont change the field, I am getting the previous value.
Ex, intitially 100 is defaulted to BSGRD field.
Then I amm giving a value to it say 60 using exit.
Then when I again come to exit, I am getting the 100, not 60..
Now i cahnge the value to 50, and came to exit, I am getting 50...
Without changing can i get the 60 ??? instead of 100???
Regards,
Veeranji Reddy P.

Thanku

Similar Messages

  • How to capture selection-screen values

    Hi,
      How to capture selection-screen values when user pressing F3 or Back button after the display of report.
    Regards,
    Bujji.

    Hi Bujji,
    select-option are actually ranges or more general internal tables with the structure:
    SIGN:    'I'nclusive or 'E'xclusive
    OPTION:  'EQ', 'BT', 'NE', 'GE', 'CP', ....
    LOW:     low value of type of the curresponding "FOR table-field"
    HIGH:     high value of type of the curresponding "FOR table-field"
    You may just code:
    TABLES: mara.
    SELECT-OPTIONS s_matnr FOR mara-matnr.
    LOOP AT s_matnr.
      WRITE: / s_matnr-sign,
               s_matnr-option,
               s_matnr-low,
               s_matnr-high.
    ENDLOOP.
    If you find my answer useful, please don't forget the reward.
    Regards,
    Juergen

  • Screen value not being captured in Report

    Hi,
          I have a designed a report program with multiple tabs. When i enter data into the selection fields, its not storing the values during the start of selection event. When i save the values as variant and then use it, the program works perfectly.
    Can some one tel me what peice of code can be added to read the screen values during start of selection?
    Regards,
    Niyaz

    Hi Masood,
    Thanks for your reply.
    Any ways thats solved by reading the value from the form_fields table in the
    DO_HANDLE_DATA event of the view.
    Masood,
    I have a different question as
    I have a requirement wherein I have to
    get a field similar to NOTES field we see in the Web UI , I tried using the textbox but i dont think  we can process data inside the textbox.Is there any other way by which I can achieve this requirement.
    Any suggestions will be highly apprecited.
    Regards,
    Sijo

  • How to capture the selected values from module pool dialog list box !

    Hi experts,
    Can anyone help me out in capturing the values from the list box.
    i am able to set the values in the list box.But i am not able to capture the selected value from the list box. Always the list box name is getting as "space"
    I also tried in using the FM "VRM_GET_VALUES" but it is retireving all the values. Is there is any flag for filttering out the selected value.
    Your inputs are appreciated.
    Thanks,
    Vijay.

    Along with the PBO and PAI event, add a POV event in the flow logic of the screen
    DEMO_DROPDOWN_LIST_BOX -is a good demo example.
    PROCESS ON VALUE-REQUEST.
    FIELD structure_name-field_name MODULE create_dropdown_box.
    In the report :
    MODULE create_dropdown_box INPUT.
      SELECT carrid carrname
                    FROM scarr
                    INTO CORRESPONDING FIELDS OF TABLE itab_carrid.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
           EXPORTING
                retfield        = 'CARRID'
                value_org       = 'S'
           TABLES
                value_tab       = itab_carrid
           EXCEPTIONS
                parameter_error = 1
                no_values_found = 2
                OTHERS          = 3.
      IF sy-subrc <> 0.
      ENDIF.
    ENDMODULE.
    In the layout, assign a Function Code , for eg : 'SELECTED' to the listbox and lets say name of the field is SDYN_CONN-CARRID. So in the PAI module,
    MODULE user_command_0100 INPUT.
      CASE ok_code.
        WHEN 'SELECTED'.
          MESSAGE i888(sabapdocu) WITH sdyn_conn-carrid.
      ENDCASE.
    ENDMODULE.
    sdyb_conn-carrid will contain your selected field

  • JOB_SUBMIT   with Selection Screen Value

    I have a requirement :
    with other select-options and parameters, i have two radio button, Foreground and Background:
    when Background radio button will be selected program should be scheduled as a background job.
    How i will pass selection screen value in JOB_SUBMIT ??
    Cheers.
    Srikanta

    Hi ,
    Try This
    *& Report  ZMMVB_PG_SL_CHANGE_BDC
    REPORT  zmmvb_pg_sl_change_bdc.
    TABLES : mara,t133a,marc.
    DATA i_t133a LIKE t133a OCCURS 0 WITH HEADER LINE.
    DATA : BEGIN OF itab OCCURS 0,
            matnr LIKE marc-matnr,
            werks LIKE marc-werks,
            ekgrp LIKE marc-ekgrp,
           END OF itab.
    DATA : BEGIN OF itab1 OCCURS 0,
             matnr LIKE marc-matnr,
             werks LIKE marc-werks,
             dispo LIKE marc-dispo,
    END OF itab1.
    DATA : fname LIKE ibipparms-path ,
           ename TYPE string,
           mode.
    DATA: BEGIN OF it_t133a OCCURS   0,
            bilds LIKE t133a-bilds,
            pstat LIKE t133a-pstat,
            guifu LIKE t133a-guifu,
            auswg LIKE t133a-auswg,
          END OF it_t133a.
    DATA:  ctr TYPE i,
           ctr_s(2) TYPE n,
           wrk(35),
           ch(1),
           viewno(2) TYPE n,
           guifu LIKE t133a-guifu.
    DATA: BEGIN OF it_views OCCURS 30.
            INCLUDE STRUCTURE mbildtab.   " Selection Views
    DATA: END OF it_views.
    DATA bdc_data LIKE bdcdata OCCURS 0 WITH HEADER LINE.
    SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE text-000.
    PARAMETERS : ek RADIOBUTTON GROUP rg1 ,
                 sl RADIOBUTTON GROUP rg1
    SELECTION-SCREEN END OF BLOCK b.
    SELECTION-SCREEN BEGIN OF BLOCK c WITH FRAME TITLE text-001.
    PARAMETERS : fg RADIOBUTTON GROUP rg2 DEFAULT 'X',
                 bg RADIOBUTTON GROUP rg2.
    SELECTION-SCREEN END OF BLOCK c.
    START-OF-SELECTION.
      IF fg = 'X'.
        mode = 'A'.
      ELSEIF bg = 'X'.
        mode = 'E'.
      ENDIF.
      IF ek = 'X'.
        guifu = 'SP09'.
        PERFORM bdc_ekgrp_change.
      ELSEIF sl = 'X'.
        guifu = 'SP12'.
        PERFORM bdc_mrpcontroller_change.
      ENDIF.
    *&      Form  BDC_EKGRP_CHANGE
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM bdc_ekgrp_change .
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          program_name  = sy-repid
          dynpro_number = sy-dynnr
          field_name    = ' '
        IMPORTING
          file_name     = fname.
      IF NOT ( fname IS INITIAL ) .
        ename = fname .
      ENDIF.
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename                = ename
          filetype                = 'DAT'
        TABLES
          data_tab                = itab
        EXCEPTIONS
          file_open_error         = 1
          file_read_error         = 2
          no_batch                = 3
          gui_refuse_filetransfer = 4
          invalid_type            = 5
          no_authority            = 6
          unknown_error           = 7
          bad_data_format         = 8
          header_not_allowed      = 9
          separator_not_allowed   = 10
          header_too_long         = 11
          unknown_dp_error        = 12
          access_denied           = 13
          dp_out_of_memory        = 14
          disk_full               = 15
          dp_timeout              = 16
          OTHERS                  = 17.
      IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      IF itab[] IS NOT INITIAL.
        LOOP AT itab.
          REFRESH bdc_data.
          IF itab-matnr NA sy-abcde AND itab-matnr NA '/*-_.'.
            UNPACK itab-matnr TO itab-matnr.
          ELSE.
            TRANSLATE itab-matnr TO UPPER CASE.
          ENDIF.
          SELECT SINGLE * FROM mara WHERE matnr = itab-matnr.
          IF sy-subrc NE 0.
            CONTINUE.
          ENDIF.
          PERFORM view_routine.
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '0060'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'RMMG1-MATNR'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       USING 'RMMG1-MATNR'
                                        itab-matnr.
          CONCATENATE 'MSICHTAUSW-DYTXT(' viewno ')' INTO wrk.
          CONDENSE wrk NO-GAPS.
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '0070'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                          wrk.   "'MSICHTAUSW-DYTXT(08)'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '=ENTR'.
          CONCATENATE 'MSICHTAUSW-KZSEL(' viewno ')' INTO wrk.
          CONDENSE wrk NO-GAPS.
          PERFORM bdc_field       USING   wrk  "'MSICHTAUSW-KZSEL(08)'
                                          'X'.
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '0080'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'RMMG1-WERKS'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '=ENTR'.
          PERFORM bdc_field       USING 'RMMG1-WERKS'
                                        itab-werks.
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '4000'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '=BU'.
    *  PERFORM bdc_field       USING 'MAKT-MAKTX'
    *                                '"HEX BOLT M16X1.5X100,B8.8,BP"'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'MARC-EKGRP'.
    *  PERFORM bdc_field       USING 'MARA-MEINS'
    *                                'NOS'.
          PERFORM bdc_field       USING 'MARC-EKGRP'
                                        itab-ekgrp.
    *  PERFORM bdc_field       USING 'MARA-MATKL'
    *                                '1702'.
    *  PERFORM bdc_field       USING 'MARC-USEQU'
    *                                '3'.
    *  PERFORM bdc_field       USING 'MARC-KORDB'
    *                                'X'.
          CALL TRANSACTION 'MM02' USING bdc_data MODE mode UPDATE 'S'.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " BDC_EKGRP_CHANGE
    *&      Form  BDC_MRPCONTROLLER_CHANGE
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM bdc_mrpcontroller_change .
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          program_name  = sy-repid
          dynpro_number = sy-dynnr
          field_name    = ' '
        IMPORTING
          file_name     = fname.
      IF NOT ( fname IS INITIAL ) .
        ename = fname .
      ENDIF.
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename                = ename
          filetype                = 'DAT'
        TABLES
          data_tab                = itab1
        EXCEPTIONS
          file_open_error         = 1
          file_read_error         = 2
          no_batch                = 3
          gui_refuse_filetransfer = 4
          invalid_type            = 5
          no_authority            = 6
          unknown_error           = 7
          bad_data_format         = 8
          header_not_allowed      = 9
          separator_not_allowed   = 10
          header_too_long         = 11
          unknown_dp_error        = 12
          access_denied           = 13
          dp_out_of_memory        = 14
          disk_full               = 15
          dp_timeout              = 16
          OTHERS                  = 17.
      IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      IF itab1[] IS NOT INITIAL.
        LOOP AT itab1.
          REFRESH bdc_data.
          IF itab1-matnr NA sy-abcde AND itab1-matnr NA '/*-_.'.
            UNPACK itab1-matnr TO itab1-matnr.
          ELSE.
            TRANSLATE itab1-matnr TO UPPER CASE.
          ENDIF.
          SELECT SINGLE * FROM mara WHERE matnr = itab1-matnr.
          IF sy-subrc NE 0.
            CONTINUE.
          ENDIF.
          PERFORM view_routine.
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '0060'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'RMMG1-MATNR'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       USING 'RMMG1-MATNR'
                                        itab1-matnr.
          CONCATENATE 'MSICHTAUSW-DYTXT(' viewno ')' INTO wrk.
          CONDENSE wrk NO-GAPS.
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '0070'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                           wrk.         "'MSICHTAUSW-DYTXT(11)'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '=ENTR'.
          CONCATENATE 'MSICHTAUSW-KZSEL(' viewno ')' INTO wrk.
          CONDENSE wrk NO-GAPS.
          PERFORM bdc_field       USING   wrk          "'MSICHTAUSW-KZSEL(11)'
                                        'X'.
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '0080'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'RMMG1-WERKS'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '=ENTR'.
          PERFORM bdc_field       USING 'RMMG1-WERKS'
                                        itab1-werks.
          PERFORM bdc_dynpro      USING 'SAPLMGMM' '4000'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '=BU'.
    *      PERFORM bdc_field       USING 'MAKT-MAKTX'
    *                                    '"HEX BOLT M16X1.5X100,B8.8,BP"'.
    *      PERFORM bdc_field       USING 'MARA-MEINS'
    *                                    'NOS'.
    *      PERFORM bdc_field       USING 'MARC-DISGR'
    *                                    '701'.
    *      PERFORM bdc_field       USING 'MARC-EKGRP'
    *                                    'A00'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'MARC-DISPO'.
    *      PERFORM bdc_field       USING 'MARC-DISMM'
    *                                    'PD'.
          PERFORM bdc_field       USING 'MARC-DISPO'
                                        itab1-dispo.
    *      PERFORM bdc_field       USING 'MARC-DISLS'
    *                                    'MB'.
          CALL TRANSACTION 'MM02' USING bdc_data MODE mode UPDATE 'S'.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " BDC_MRPCONTROLLER_CHANGE
    *&      Form  bdc_dynpro
    *       text
    *      -->PROGRAM    text
    *      -->DYNPRO     text
    FORM bdc_dynpro USING program dynpro.
      CLEAR bdc_data.
      bdc_data-program  = program.
      bdc_data-dynpro   = dynpro.
      bdc_data-dynbegin = 'X'.
      APPEND bdc_data.
    ENDFORM.                        "BDC_DYNPRO
    *        Insert field                                                  *
    FORM bdc_field USING fnam fval.
      CLEAR bdc_data.
      bdc_data-fnam = fnam.
      bdc_data-fval = fval.
      APPEND bdc_data.
    ENDFORM.                    "BDC_FIELD
    *&      Form  VIEW_ROUTINE
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM view_routine .
      CLEAR viewno.
      SELECT * FROM t133a INTO CORRESPONDING FIELDS OF TABLE i_t133a
                    WHERE bilds = '21' AND guifu LIKE 'SP%'  .
      LOOP AT i_t133a .
        ch = i_t133a-pstat.
        IF mara-vpsta NA ch .
          DELETE i_t133a     .
          CONTINUE .
        ENDIF .
      ENDLOOP.
      SORT i_t133a BY guifu ASCENDING .
      LOOP AT i_t133a .
        viewno = viewno + 1 .
        IF i_t133a-guifu = guifu .
          EXIT .
        ENDIF .
      ENDLOOP .
    ENDFORM.                    " VIEW_ROUTINE
    Regards,

  • How to capture the parameter value of Concurrent Program submited

    Hi,
    I would like to capture the Parameter value of Concurrent Program submitted through Submit Request screen based on that i want to return value.
    When Conc prog "Payroll Run" along with parameter like "Pay Period" which has LOV attached to it, which has one coulumn named "End Date", this value selected needs to be captured. Can you please tell the Table name where the value is stored or Captured.
    I want this value to be used in Fast Formula which will return the desired value to Input Value.
    Actually in one of the Element I have Input Value as "Monthly Days" which should be populated with the "Number of days" in the period in which Payroll is being processed.
    Thanks in advance.
    Ram

    Hi,
    fnd_concurrent_requests.argument_text stores the argument values in comma separated form. But check the prior response from thierry first - fnd_concurrent _requests is not the place you want to be getting things from as it can be purged and so you source data is gone!
    Gareth
    http://garethroberts.blogspot.com

  • Selection screen value

    can any one suggest, how to capture the selection screen value on the selection screen itself.
    ex : i have parameter (plant) on the selection screen, based on the plant entered by user i need to display the F4 help for the another parameter(MRP controller).
    if the user enters plant 3218 then when requests for F4 help for the parameter MRP controller, then controller values related to that plant need to be displayed as F4 help.
    i had done everything explaned above, but one problem i am facing.
    after entering the plant on the selection screen i need to press the enter key, then if i request for F4 for MRP controller then i am getting the apprpriate values.
    after entering plant if i didnot use enter key and request for F4 help for MRP controller then it is displaying no values.

    Hello Sippy
    The ENTER causes the program flow to pass PAI followed by PBO of the selection-screen. This way the entered value becomes "known" to the report.
    If you enter your plant, do NOT push ENTER and then call the next search help you have to read the entered value from the selection-screen yourself using fm DYNP_VALUES_READ.
    For more details search the forums for this function module, e.g.:
    [Regarding Custom F4 help|Regarding Custom F4 help;
    Regards
      Uwe

  • How to pass selection screen value to LDB dynamic field.

    Hello everybody,
    In my program, I am using standard LDB(PSJ) for getting data. And there is a requirement that I have to display some dynamic fields on my selection screen like plant , person responsible ( which are mandatory also ) etc. and inside the program I have to fill those dynamic fields for which the user has entered the value in selection screen.
    Could you please tell me how to pass some of selection screen values to ldb dynamic fields before GET statement.
    Thanks !!!
    Regards,
    Mitra

    >
    Pavan Bhamidipati wrote:
    > Hi,
    >
    >
    I have to fill those dynamic fields for which the user has entered the value in selection screen.
    >
    >
    > This means that the user is going to enter the values in the selection screen for the dynamic field values so
    >
    > SET PARAMETERID 'XYZ' FIELD p_field.
    >
    > where p_field is a parameter on the selection screen
    >
    > Regards
    > Pavan
    You can capture the values selected through the dynamic selections using some of the functions modules below, just search the forum for the below FM's, perhaps you can find some sample code
    FREE_SELECTIONS_EX_2_RANGE
    FREE_SELECTIONS_EX_2_WHERE
    FREE_SELECTIONS_RANGE_2_EX
    FREE_SELECTIONS_RANGE_2_WHERE
    FREE_SELECTIONS_WHERE_2_EX
    FREE_SELECTIONS_WHERE_2_RANGE

  • At selection-screen value- help

    Hi All,
    I have a requirement that based on a radio button one at selection-screen value-help is triggered and on based on a different radio button another at selection-screen value-help should be triggered.
    can it be achieved.
    Regards,
    Jeetu

    AT SELECTION-SCREEN - selscreen_event
    Syntax
      | { ON {para|selcrit} }
      | { ON END OF selcrit }
      | { ON BLOCK block }
      | { ON RADIOBUTTON GROUP radi }
      | { }
      | { ON {HELP-REQUEST|VALUE-REQUEST}
      |   FOR {para|selcrit-low|selcrit-high} }
      | { ON EXIT-COMMAND }.
    Alternatives:
    1. ... OUTPUT
    2. ... ON {para|selcrit}
    3. ... ON END OF selcrit
    4. ... ON BLOCK block
    5. ... ON RADIOBUTTON GROUP radi
    6. ... { }
    7. ... ON {HELP-REQUEST|VALUE-REQUEST} FOR
          {para|selcrit-low|selcrit-high} }
    8. ... ON EXIT-COMMAND
    Effect
    These additions allow individual evaluation of specific elements of the selection screens of the program. The information as to which selection has triggered the event is contained in the system field sy-dynnr.
    Alternative 1
    ... OUTPUT
    Effect
    This event is triggered at the screen event PBO of a selection screen. In the event block, the selection screen can be prepared through assignments to the data objects of parameters and selection criteria and through dynamic screen modifications.
    Note
    The assignments to input fields in the event block AT SELECTION-SCREEN OUTPUT always affect the selection screen and overwrite the user inputs from previous displays of the same selection screen. Assignments in the event blocks LOAD-OF-PROGRAM oder INITIALIZATION, on the other hand, only have an effect at first program start.
    Alternative 2
    ... ON {para|selcrit}
    Effect
    This event is triggered at the screen event PAI of a selection screen if the content of the input field of a parameter para or a line of a selection criterion selcrit was passed to the ABAP program. In the event block, the user input can be checked. Sending a warning or an error message in the event block makes the fields para and selcrit ready for input again.
    No parameter that is defined as a radio button can be specified. For this purpose, the addition ON RADIOBUTTON GROUP is provided.
    Note
    If a user action takes place in the dialog box for the multiple selection of a selection criterion selcrit, the entries of the selection table are passed to the program, line by line. For each line, the event AT SELECTION-SCREEN ON selcrit is triggered.
    Alternative 3
    ... ON END OF selcrit
    Effect
    This event is triggered after the selection table selcrit has been fully passed to the program after a user action in the dialog box for the multiple selection has taken place. In the event block, the entire selection table can be checked.
    Alternative 4
    ... ON BLOCK block
    Effect
    This event is triggered at the screen event PAI of a selection screen if all the input fields of a block block of the selection screen were passed to the ABAP program. In the event block, the user inputs can be checked. Sending a warning or an error message in the event block makes all the fields of the block block ready for input again.
    Alternative 5
    ... ON RADIOBUTTON GROUP radi
    Effect
    This event is triggered at the screen event PAI of a selection screen if all the fields of a radio button group radi of the selection screen were passed to the ABAP program. In the event block, the user input can be checked. Sending a warning or error message in the event block makes all the radion buttons of the block radi ready for input again.
    Note
    The individual fields of a radio button group are not passed individually and do not trigger the event AT SELECTION-SCREEN ON par.
    Alternative 6
    Effect
    The event AT SELECTION-SCREEN itself is triggered as the last event of selection screen processing if all the input values were passed to the program. In this event block, all the user inputs can be checked. Sending a warning or an error message in the event block makes all the screen fields ready for input once again.
    Alternative 7
    ... ON { HELP-REQUEST | VALUE-REQUEST } FOR
        {para|selcrit-low|selcrit-high} }
    Effect
    The two events ON HELP-REQUEST and ON VALUE-REQUEST are triggered at the screen events POH and POV of a selection screen if - for the input field of a parameter para or one of the input fields of a selection criterion selcrit - the field help F1 or the input help F4 was called. Other selection events are not triggered.
    In the event blocks, a self-defined field or input field can be programmed, which overrides any helps possibly defined in the ABAP Dictionary.
    Notes
    These event blocks can only be implemented for fields of the selection screen that are defined in the same ABAP program and not in a possibly linked logical database.
    With the events for the field and input help, no data is transported between the selection screen and the ABAP program. As with general screens, suitable function modules must be used for these. The parameters and selection criteria changed for the input help are transported to the selection screen.
    Alternative 8
    ... ON EXIT-COMMAND
    Effect
    This event is triggered if the user has called one of the functions Back, Exit or Cancel. In the event block, possible clean-up actions can be executed.
    Example
    In these executable programs, a standard selection screen and a further selection screen are defined. In the event blocks AT SELECTION-SCREEN, the inputs in the selection screens can be specially handled using the name p_carrid and the screen number in sy-dynnr.
    REPORT demo_at_selection_screen.
    Global data
    DATA: sflight_tab TYPE TABLE OF sflight,
          sflight_wa  LIKE LINE  OF sflight_tab.
    Selection screens
    PARAMETERS p_carrid TYPE spfli-carrid.
    SELECTION-SCREEN BEGIN OF SCREEN 500.
      SELECT-OPTIONS s_conn FOR sflight_wa-connid.
      DATA s_conn_wa LIKE LINE OF s_conn.
    SELECTION-SCREEN END OF SCREEN 500.
    Handling selection screen events
    AT SELECTION-SCREEN ON p_carrid.
      IF p_carrid IS INITIAL.
        MESSAGE 'Please enter a value' TYPE 'E'.
      ENDIF.
      AUTHORITY-CHECK OBJECT 'S_CARRID'
                          ID 'CARRID' FIELD p_carrid
                          ID 'ACTVT'  FIELD '03'.
      IF sy-subrc = 4.
        MESSAGE 'No authorization for carrier' TYPE 'E'.
      ELSEIF sy-subrc <> 0.
        MESSAGE 'Error in authority check' TYPE 'A'.
      ELSE.
        IF sy-ucomm = 'ONLI'.
          CALL SELECTION-SCREEN '0500'.
        ENDIF.
      ENDIF.
    AT SELECTION-SCREEN.
      IF sy-dynnr = '0500'.
        IF s_conn IS INITIAL.
          MESSAGE 'Please enter values' TYPE 'W'.
        ELSE.
          SELECT *
                 FROM sflight
                 INTO TABLE sflight_tab
                 WHERE carrid = p_carrid AND
                       connid IN s_conn.
          IF sy-subrc <> 0.
            MESSAGE 'No flights found' TYPE 'E'.
          ENDIF.
        ENDIF.
      ENDIF.
    Main program
    START-OF-SELECTION.

  • How to capture Linux Screen

    Hi,
    I would like to know if is possible capture Linux screens, in
    order to produce Linux screencasts using Captivate 3.
    I'm thinking about it. Are there ways to do it?
    Thanks in advice.

    Hi again,
    I don't actually use Linux. I was just suggesting an
    alternate method that would work across operating systems.
    Captivate works primarily by showing still images (individual
    screen captures), which when viewed as a series of slides,
    simulates the behavior of an application.
    We take our still images as .PNG files using SnagIt on
    Windows, but there are numerous alternatives for pretty much every
    operating system.
    I can't offer any recommendations for Linux, so I would
    suggest doing a web search for "screen capture utility <linux
    distribution>", where <linux distribution> is the name the
    distribution you're looking to take screenshots in (i.e. Ubuntu,
    Red Hat, etc.).
    Since, as you noted, Captivate only works in Windows, the
    basic idea would be this:
    1) In Linux, launch the application you wish to capture.
    2) Launch your screen capture utility in Linux (some
    utilities are built into various Linux distributions, others
    aren't... you'll need to decide which one you want to use).
    3) In your Linux application, carry out the desired workflow,
    taking a screen capture after EVERY change in your application
    (every moust click, every text entry, every menu being selected,
    screen data changing, etc.). This series of screenshots will be
    used to recreate the process in Captivate.
    4) Save each screen capture in .PNG format using a name that
    reflects what the capture shows (such as
    "main_screen__before_filemenu_clicked.png",
    "main_screen_after_filemenu_clicked.png", and so on).
    Depending on the process(es) you are documenting, you may end
    up with a lot of images, so be consistent with your naming
    convention and it will be easier to find the right image later.
    I've found that I can pretty much rely on the creation date to
    determine the order of screenshots, but every once in awhile I have
    to go back and take one that I missed, at which point having a
    detailed filename is very helpful.
    5) After capturing all your screenshots, copy them to your
    Windows machine. This can be done via a USB drive, burning them to
    a CD, copying to a shared network location... whatever.
    6) On the Windows machine, launch Captivate and create a new
    project at the same size as the application you captured in Linux.
    7) Insert each image as a background in Captivate (or, if
    you're technically advanced, crop only the changed elements out of
    the image and insert it as an image over an unchanged common
    background).
    8) Add a caption as needed to provide instructions to the
    user.
    9) Add any interactions needed to recreate the functionality
    in the Linux application (buttons, click boxes etc.).
    10) Insert a new slide and repeat steps 7-9 until you have
    recreated the functionality of the original application using all
    your static screenshots.
    The process seems laborious at first, but you can really
    start banging out the slides once you get the process down.
    You don't get the automatic captions and automatic creation
    of interactive objects that would come from capturing directly from
    Captivate, but in our case, Captivate's built-in screen capture
    tool does such a poor job with our particular applications that
    we're better off doing everything ourselves.
    Best of luck,
    John

  • System error on reading screen values

    Hi ABAP'ers!!
    When I try to unblock the vendor account in FK05 (unblock in all company codes) I get an error :
    System error on reading screen values
    Message no. F2 109
    Would appreciate your suggestions/inputs!!
    Thanks for your time!

    Hi VR,
    in FK05 you cannot unlock vendor.through functionality only u can unblock the vendor.
    It display error message.
    For these changes ( for blocking / unblocking ) user exit will be triggerd.
    Regards,
    Narasimha

  • Capture Selection-screen events

    Dear SAP friends,
    I have created OOP report.
    At the runtime the program creates toolbar and adds pushbuttons to it.
    Every button has fcode assigned.
    On button click the below method is called.
    The below statement "CALL SELECTION-SCREEN 1200 STARTING AT 10 10" calls selection screen as popup.
    I need to capture when User closes the selection popup and when he clicks Cancel button located in the selection popup.
    Please advise.
    Regards
    Tatyana.
    METHOD  handle_pushbutton_click.
    CASE fcode.
          WHEN 'CHECKS_EXP'.
            CALL SELECTION-SCREEN 1200 STARTING AT 10 10.
            PERFORM at_selection_1200.
            CHECK w_continue = abap_true.
            PERFORM build_options_range.
            PERFORM build_options_norange.
            PERFORM start_selection_1200.
            PERFORM fcat_init_1200.
            w_title = 'Checks -> Expenditures'.
            PERFORM set_layout USING w_title.
            PERFORM getdata_1200.
            DESCRIBE TABLE lt_rpt LINES w_count.      " Get number of records.
            PERFORM populate_selection USING w_count.
    ENDDCASE.

    Hello Tatyana
    The following sample report ZUS_SDN_OO_REPORT_SELSCREEN should simulate your scenario.
    If you push the EXECUTE button you will find ok-code='CRET'.
    If you close the popup or push the CANCEL button ok-code=' ' (space; empty). This way you know that the popup was closed by the user.
    *& Report  ZUS_SDN_OO_REPORT_SELSCREEN
    *& Thread: Capture Selection-screen events
    *& <a class="jive_macro jive_macro_thread" href="" __jive_macro_name="thread" modifiedtitle="true" __default_attr="1205127"></a>
    REPORT  zus_sdn_oo_report_selscreen.
    *       CLASS lcl_myclass DEFINITION
    CLASS lcl_myclass DEFINITION.
      PUBLIC SECTION.
        CLASS-DATA:
          md_okcode   TYPE ui_func.
        CLASS-METHODS:
          handle_pushbutton_click.
    ENDCLASS.                    "lcl_myclass DEFINITION
    *       CLASS lcl_myclass IMPLEMENTATION
    CLASS lcl_myclass IMPLEMENTATION.
      METHOD handle_pushbutton_click.
        DATA: ld_msg    TYPE bapi_msg.
        BREAK-POINT.
        CLEAR: lcl_myclass=>md_okcode.
        DO.
          CALL SELECTION-SCREEN 1200 STARTING AT 10 10.
          EXIT.
        ENDDO.
        CONCATENATE 'ok-code =' md_okcode INTO ld_msg
          SEPARATED BY space.
        MESSAGE ld_msg TYPE 'I'.
        MESSAGE 'Continue after SelScreen' TYPE 'S'.
      ENDMETHOD.                    "handle_pushbutton_click
    ENDCLASS.                    "lcl_myclass IMPLEMENTATION
    SELECTION-SCREEN BEGIN OF SCREEN 1200.
    PARAMETERS:
      p_bukrs   TYPE bukrs.
    SELECTION-SCREEN END OF SCREEN 1200.
    AT SELECTION-SCREEN OUTPUT.
      BREAK-POINT.
      CLEAR: syst-ucomm.
    AT SELECTION-SCREEN.
      BREAK-POINT.
      lcl_myclass=>md_okcode = syst-ucomm.
    START-OF-SELECTION.
      lcl_myclass=>handle_pushbutton_click( ).
    END-OF-SELECTION.
    Regards
      Uwe

  • Unable to capture the parameter values from a PL/SQL procedure

    hi.
    i'm trying to capture the parameter values of a PL/SQL procedure by calling inside a anonymous block but i'm getting a "reference to uninitialized collection error" ORA-06531.
    Please help me regarding.
    i'm using following block for calling the procedure.
    declare
    err_cd varchar2(1000);
    err_txt VARCHAR2(5000);
    no_of_recs number;
    out_sign_tab search_sign_tab_type:=search_sign_tab_type(search_sign_type(NULL,NULL,NULL,NULL,NULL));
    cntr_var number:=0;
    begin
         rt843pq('DWS','3000552485',out_sign_tab,no_of_recs,err_cd,err_txt);
         dbms_output.put_line('The error is ' ||err_cd);
         dbms_output.put_line('The error is ' ||err_txt);
         dbms_output.put_line('The cntr is ' ||cntr_var);
         for incr in 1 .. OUT_SIGN_TAB.count
         loop
         cntr_var := cntr_var + 1 ;
    Dbms_output.put_line(OUT_SIGN_TAB(incr).ref_no||','||OUT_SIGN_TAB(incr).ciref_no||','||OUT_SIGN_TAB(incr).ac_no||','||OUT_SIGN_TAB(incr).txn_type||','||OUT_SIGN_TAB(incr).objid);
    end loop;
    end;
    Error is thrown on "for incr in 1 .. OUT_SIGN_TAB.count" this line
    Following is some related information.
    the 3rd parameter of the procedure is a out parameter. it is a type of a PL/SQL table (SEARCH_SIGN_TAB_TYPE) which is available in database as follows.
    TYPE "SEARCH_SIGN_TAB_TYPE" IS TABLE OF SEARCH_SIGN_TYPE
    TYPE "SEARCH_SIGN_TYPE" AS OBJECT
    (ref_no VARCHAR2(22),
    ciref_no VARCHAR2(352),
    ac_no VARCHAR2(22),
    txn_type VARCHAR2(301),
    objid VARCHAR2(1024))............

    We don't have your rt843pq procedure, but when commenting that line out, everything works:
    SQL> create TYPE "SEARCH_SIGN_TYPE" AS OBJECT
      2  (ref_no VARCHAR2(22),
      3  ciref_no VARCHAR2(352),
      4  ac_no VARCHAR2(22),
      5  txn_type VARCHAR2(301),
      6  objid VARCHAR2(1024))
      7  /
    Type is aangemaakt.
    SQL> create type "SEARCH_SIGN_TAB_TYPE" IS TABLE OF SEARCH_SIGN_TYPE
      2  /
    Type is aangemaakt.
    SQL> declare
      2    err_cd varchar2(1000);
      3    err_txt VARCHAR2(5000);
      4    no_of_recs number;
      5    out_sign_tab search_sign_tab_type:=search_sign_tab_type(search_sign_type(NULL,NULL,NULL,NULL,NULL));
      6    cntr_var number:=0;
      7  begin
      8    -- rt843pq('DWS','3000552485',out_sign_tab,no_of_recs,err_cd,err_txt);
      9    dbms_output.put_line('The error is ' ||err_cd);
    10    dbms_output.put_line('The error is ' ||err_txt);
    11    dbms_output.put_line('The cntr is ' ||cntr_var);
    12    for incr in 1 .. OUT_SIGN_TAB.count
    13    loop
    14      cntr_var := cntr_var + 1 ;
    15      Dbms_output.put_line(OUT_SIGN_TAB(incr).ref_no||','||OUT_SIGN_TAB(incr).ciref_no||','||OUT_SIGN_TAB(incr).ac_no||','||OUT_SIGN
    TAB(incr).txntype||','||OUT_SIGN_TAB(incr).objid);
    16    end loop;
    17  end;
    18  /
    The error is
    The error is
    The cntr is 0
    PL/SQL-procedure is geslaagd.Regards,
    Rob.

  • How To Capture A Column Value In A Report And Store It In A Variable?

    Portal Version: 3.0.6.6.5
    RDBMS Versjion: 8.1.7.0.0
    OS/Vers. Where Portal is Installed:: SunOS 5.8
    I have a Portal report where I added a checkbox for each row of data that is being displayed. The user can select checkbox for as many rows as he/she wants. The user can then click a button, which iteratively passes the value of a column as a parameter to a procedure.
    I am using the Portal field that ends with a ".FIELD#>" For example, if my report is based on the following SQL statement:
    SELECT EMP_UNID FROM EMPLOYEES WHERE STATUS = 'E'
    Then the field I am using to capture the value is <#EMP_UNID.FIELD#>
    So the <INPUT> looks like:
    <TD>
    <INPUT TYPE="checkbox" NAME="checkboxSelect" value="<#EMP_UNID.FIELD#>">
    </TD>
    And the Javascript code looks like:
    htp.p('<SCRIPT LANGUAGE="JavaScript1.1">');
    htp.p('<!--');
    htp.p('function runAccept() {');
    htp.p('for (var i=0; i<20; i++)');
    htp.p('if (document.formSelect.checkboxSelect.checked == true)');
    htp.p('{');
    htp.p('myRegExp = /"/gi;');
    htp.p('parameter = document.formSelect.checkboxSelect[i].value.replace(myRegExp, "z");');
    htp.p('parameter = parameter.substring(parameter,parameter.indexOf(">")+1,parameter.lastIndexOf("<")-1)');
    htp.p('alert(parameter);');
    -- htp.p('CallableStatement cstmt = null;');
    -- htp.p('cstmt = conn.prepareCall("{call --runAcceptRecord(parameter)}")');
    -- htp.p('cstmt.execute ();');
    htp.p('}');
    htp.p('}');
    htp.p('//-->');
    htp.p('</SCRIPT>');
    The problem, however, is that Portal stores not only the actual value in <#EMP_UNID.FIELD#>, but also some HTML tags, most of which can be removed via the Display Options page. There are some tags that cannot be removed in this fashion, because Portal does not allow nulls in those. So we are stuck with an HTML tag (i.e. <FONT SIZE>) that is stuffed in that variable along with the value. The problem is further complicated by the existence of double quotes within that tag that undesirably terminates the VALUE assignment.
    So for instance, what you might get from Portal is this:
    <TD><INPUT TYPE="checkbox" NAME="checkboxSelect" value="<FONT SIZE="+0">219</FONT>"> </TD><TD ALIGN="RIGHT"><FONT SIZE="+0">219</FONT></TD>
    <TD ALIGN="LEFT"><FONT SIZE="+0">E</FONT></TD>
    It is in the value="<FONT SIZE="+0">219</FONT>" part of the code where the extra double quote is terminating the Javascript code. I have tried escape() and replace() to remove the extra double quotes, but have not got it to work. The problem is happening too early at this point, and what I have tried is after the fact.
    Obviously, the problem is that I shouldn't be using <#EMP_UNID.FIELD#> since the intent of this is to add html tags for display purposes. That is done by Portal, and I thus have no control over it unless I take drastic means and modify Portal's innerworkings, which I don't care to do.
    My question therefore is, what other variable can I use in Reports to capture just the value? I am hoping that there is a variable in Reports like the ones for Forms which has a prefix of A_. Or is there another method for doing this?
    Thanks in advance
    Fred

    I found htf.formcheckbox function which was what I needed. With that, my javascript code was cut down to just a few lines. Didn't need to strip away the html tags. This function will just return the value.
    Refer to:
    http://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=116534.1 for specific example of this function.
    http://technet.oracle.com/doc/appsrvr4082/guides/plsql_r.pdf for a reference list of all htp's.

  • How can I get selection screen values from outside of program?

    Hi. all.
    Now. I'm developing moritoring systems and I have problems. for getting selection screen values in runtime. Is there any function, methods or structure to know this?
    I'd like to get selection screen values while several programs working in runtime and update these values to table to show current system's status and input values for users in real time.
    For example.
    Now. 3 PGMs are working on systems.
    each PGM is ZAAA01, ZAAA02, ZAAA03.
    and ZAAA01 needs input parameter P01, ZAAA02 needs input parameter P02, ZAAA03 needs input parameter P03.
    In this case, I have to know values of P01, P02 and P03.
    The mornitoring systems will show current working status of PGMs(ZAAA01~03)' and these PGMs' input values.
    As fas as I know, the structure 'SCREEN' can be used in each PGM for runtime. Is there any SAP system structure or something else for this purpose?
    I hope your hopeful repsponse.
    Thanks.

    Umm..I need to explain more about this.
    of course I know  SET, GET PARAMETERS.
    But I'd like to minimize coding for each PGM level.
    I have over hundreds PGMs and I have to develop the PGM(including tables and structures) that mornitor
    all of those PGMs on a report in real-time.
    This PGM is kind of  Process Manager.
    First I should know dialogue job PGM and background job that pass parameters using SAP(ABAP) Memory.
    And then I have to update those PGMs' input values via screens into tables in real-time.
    So, I couldn't use SET,GET PARAMETERS for this PGM.
    I want to know methods that can be used for getting information about runtime PGMs' selection screen field values in SAP systems wide.
    Please help me some one knows this.

Maybe you are looking for