About User command & SET Parameter

Hi All,
What is the User Command? What it means? And how to handle in normal and ALV Report..?
What is happening when I write the statement like below.
SET PARAMETER ID 'TAB' FIELD 'ZPCA' ? What is the purpose of set parameter in the program..?
Akshitha.

Hi,
see this prog..
sy-ucomm is for doing the functions what the user wishes to do at that particular event. You use it in menus and other place . this mainly in using <pfstatus>
USER COMMAND will perform actions on radiobutton click, or wen puhbutton is cliketced
in this if the user clicks a push button, see bold letters..in the prog
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 10(15) lb1.
PARAMETERS : a(10).
SELECTION-SCREEN COMMENT 40(15) lb2.
PARAMETERS : b(10).
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN PUSHBUTTON 10(10) lb3 USER-COMMAND pb1.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN PUSHBUTTON /10(10) lb5 USER-COMMAND pb3.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN PUSHBUTTON /10(10) lb4 USER-COMMAND pb2.
*SELECTION-SCREEN BEGIN OF SCREEN 200 AS WINDOW TITLE T2.
SELECTION-SCREEN BEGIN OF BLOCK b1.
PARAMETERS : ch1 AS CHECKBOX, ch2 AS CHECKBOX, ch3 AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2.
PARAMETERS : rb1 RADIOBUTTON GROUP a,
             rb2 RADIOBUTTON GROUP a,
             rb3 RADIOBUTTON GROUP a.
SELECTION-SCREEN END OF BLOCK b2.
*SELECTION-SCREEN END OF SCREEN 200.
INITIALIZATION.
  lb1 = 'ENTER A VALUE'.
  lb2 = 'ENTER B VALUE'.
  lb3 = 'DISPLAY'.
  lb4 = 'EXIT'.
  lb5 = 'CALL NEXT'.
AT SELECTION-SCREEN.
  CASE sy-ucomm.
    WHEN 'PB1'.
      LEAVE TO LIST-PROCESSING.
      WRITE : a, b.
      IF ch1 = 'X'.
        LEAVE TO LIST-PROCESSING.
        WRITE 'FIRST CHECKBOX IS SELECTED'.
      ENDIF.
      IF ch2 = 'X'.
        WRITE :/ 'SECOND CHECKBOX IS SELECTED'.
      ENDIF.
      IF ch3 = 'X'.
        WRITE :/ 'THIRD CHECKBOX IS SELECTED'.
      ENDIF.
      IF rb1 = 'X'.
        WRITE :/ 'FIRST RADIOBUTTON'.
      ELSEIF rb2 = 'X'.
        WRITE :/ 'SECOND RADIOBUTTON'.
      ELSEIF rb3 = 'X'.
        WRITE :/ 'THIRD RADIOBUTTON'.
      ENDIF.
    WHEN 'PB2'.
      LEAVE PROGRAM.
    WHEN 'PB3'.
      CALL SELECTION-SCREEN 200.
  ENDCASE.
SET parameter :
this is used to pass a value from one report a memory n from there we can use in the same report or the other report..
SAP memory is a memory area to which all main sessions within a SAPgui have access. You can use SAP memory either to pass data from one program to another within a session, or to pass data from one session to another.  Application programs that use SAP memory must do so using SPA/GPA parameters (also known as SET/GET parameters). These parameters can be set either for a particular user or for a particular program using the SET PARAMETER statement. Other ABAP programs can then retrieve the set parameters using the GET PARAMETER statement. The most frequent use of SPA/GPA parameters is to fill input fields on screens
Hope this helps u,
Regards,
Arunsri
Edited by: Arunsri on Mar 11, 2008 11:52 AM

Similar Messages

  • How to set user command in module pool program

    hello expert,
    like in report: PARAMETERS: RB_SING RADIOBUTTON GROUP RAD3 DEFAULT 'X' USER-COMMAND C1.
    in module pool program, hw to set user-command in screen.
    srinivas

    PBO.
    Call subscreen <SUBSCREEN NAME> Including sy-repid(PROGRAM NAME) G_DYNNR(SCREEN NUMBER'.
    PAI
    module user_command.
    Call subscreen <subscreen name>
    Module user_command.
    case sy-ucomm.
    when 'BUT1'.
    g_dynnr = 200.
    when 'BUT2'.
    g_dynnr = 300.
    Endcase.
    end module
    REPORT demo_dynpro_tabstrip_server.
    CONTROLS mytabstrip TYPE TABSTRIP.
    DATA: ok_code TYPE sy-ucomm,
    save_ok TYPE sy-ucomm.
    DATA number TYPE sy-dynnr.
    mytabstrip-activetab = 'PUSH2'.
    number = '0120'.
    CALL SCREEN 100.
    MODULE status_0100 OUTPUT.
    SET PF-STATUS 'SCREEN_100'.
    ENDMODULE.
    MODULE cancel INPUT.
    LEAVE PROGRAM.
    ENDMODULE.
    MODULE user_command INPUT.
    save_ok = ok_code.
    CLEAR ok_code.
    IF save_ok = 'OK'.
    MESSAGE i888(sabapdocu) WITH 'MYTABSTRIP-ACTIVETAB ='
    mytabstrip-activetab.
    ELSE.
    mytabstrip-activetab = save_ok.
    CASE save_ok.
    WHEN 'PUSH1'.
    number = '0110'.
    WHEN 'PUSH2'.
    number = '0120'.
    WHEN 'PUSH3'.
    number = '0130'.
    ENDCASE.
    ENDIF.
    ENDMODULE.
    flow logic of the screen 100
    PROCESS BEFORE OUTPUT.
    MODULE STATUS_0100.
    CALL SUBSCREEN SUB INCLUDING SY-REPID NUMBER.
    PROCESS AFTER INPUT.
    MODULE CANCEL AT EXIT-COMMAND.
    CALL SUBSCREEN SUB.
    MODULE USER_COMMAND.
    flow logic of the screen 110
    PROCESS BEFORE OUTPUT.
    PROCESS AFTER INPUT.
    flow logic of the screen 120
    PROCESS BEFORE OUTPUT.
    PROCESS AFTER INPUT.
    flow logic of the screen 130
    PROCESS BEFORE OUTPUT.
    PROCESS AFTER INPUT.
    REGARDS
    VASU

  • How to pass value to select-option parameter using SET PARAMETER Command

    Hi,
        Am passing values to selection-screen fields in report RV13A004 ( used in VK11, VK12 and VK13). using below statement but material number is select-option in this report. am able to pass  MATERIAL FROM using SET PARAMETER ID, can i know how to pass values MATERIAL TO range in select-options fields using SET PARAMETER Command ??
    Passing values to parameter id
    set parameter id 'VKS' field kschl.
    set parameter id 'VKO' field vkorg.
    set parameter id 'VTW' field vtweg.
    set parameter id 'KDA' field erdat.
    set parameter id 'MAT' field matnr_from.
    Change condition price.
    call transaction 'VK12' and skip first screen.
    Thanks in advance.
    Regards,
    Balamurugan.

    Hi,
    instead of using set parameters and dden call transaction use this..........
    submit RV13A004  WITH SELECTION-TABLE rspar
    Effect
    If you specify this addition, parameters and selection criteria on the selection screen are supplied from an internal table rspar. You must specify an internal table with the row type RSPARAMS for rspar. The structured data type RSPARAMS is defined in the ABAP Dictionary and has the following components, all of which are data type CHAR:
    SELNAME (length 8),
    KIND (length 1),
    SIGN (length 1),
    OPTION (length 2),
    LOW (length 45),
    HIGH (length 45).
    To supply parameters and selection criteria for the selection screen with specific values, the lines in the internal table rspar must contain the following values:
    SELNAME must contain the name of a parameter or selection criterion for the selection screen in block capitals
    KIND must contain the type of selection screen component (P for parameters, S for selection criteria)
    SIGN, OPTION, LOW, and HIGH must contain the values specified for the selection table columns that have the same names as the selection criteria; in the case of parameters, the value must be specified in LOW and all other components are ignored.
    If the name of a selection criterion is repeated in rspar, this defines a selection table containing several lines and passes it on to the selection criterion. If parameter names occur several times, the last value is passed on to the parameter.
    The contents of the parameters or selection tables for the current program can be entered in the table by the function module RS_REFRESH_FROM_SELECTOPTIONS.
    Notes
    In contrast to selection tables, the data types of the components LOW and HIGH in table rspar are always of type CHAR and are converted to the type of the parameter or selection criterion during transfer, if necessary.
    When entering values, you must ensure that these are entered in the internal format of the ABAP values, and not in the output format of the screen display.
    Cheers
    Will.

  • Set PF Status and At-Line Selection & At User-Command

    Hi All
    I've used set PF status, at user command and at-line selection in my program. initially when i click on the material number it was not drilling further that is it was not taking to secondary list. i commented the PF status and tried. then it was working fine. Later, after checking on couple of doc i added F.code PICK in my PF status and uncommented the set-PF status in my program it was working fine. Now my question is why this kind of behaviour. When i uncomment the PF status  and run the program without the f.code PICK in my PF status(se41)  it was not working but after inlcuding the F.code in my PF it is working. Any good explanation?
    thks   
    Prabhu

    hi,
    generally fuction code is useful for the system to find on which button or in which area the user has clicked in. based on the function code the system executes the satatements that are in user command.  in your case i think u didnt gave any functionality in user-command. when at-user command is a event in interactive reporting which is triggered based on the button u had clicked.
    at line-selection event uses two system variables
       1. sy-lsind [ current list index number ]
       2. sy-lisel  [ contains the current area in which user ckicked ].
       3. sy-ucomm [ function code of clicked button ].
    using these 3 vars we can drill down to 21 lists [ including 1st list ]
    if helpful reward some points.
    with regards,
    suresh.

  • How to set parameter in rtf template

    Hi,
    I've created a data model query using a parameter in BI Publisher Enterprise. When I'm showing the data I'm first ask for the parameter value.
    Now I want to create a rtf template in BI Publisher Desktop. What do I have to do that the user can set the parameter and then see the result? So how to set the parameter in my query?
    Thanks
    chrissy

    Hey Chrissy... i am realy sorry, i have guided u in the wrong way...
    Above which i have explained was about Variable....
    To test passing a parameter value, ff you are using the:
    XML Publisher Runner – on the Setting tab enter a new line containing:
    Name: xslt. InvThresh
    Value: 1000
    Template Builder
    In the config file under <<TEMPLATE_BUILDER_HOME>>/config enter under the Properties section:
    <property name="xslt.InvThresh">1000</property>
    <xsl:param name="InvThresh" select="0" xdofo:ctx="begin"/>
    InvoiceNumber     Inovice Amount
    Grp: Invoice13222-2     $100.00EFE
    Grp: Invoice= <?for-each:G_INVOICE_NUM?><?if:ACCTD_AMT>$InvThresh?>
    13222-2 = <?INVOICE_NUM?>
    $100.00= <?ACCTD_AMT?>
    EFE = <?end if?><?end for-each?>
    Hope this will help u out....
    sorry for tht .....
    Thanks
    Praveen Gollu.

  • User command is not getting triggered in interactive ALV with LIST display

    Hi experts,
    I have developed an interactive ALV report with LIST display. Here, the issue is, when i double click a record in the primary ALV list, the control must go to the USER COMMAND event which i have written in my report. But the user command event is not getting triggered at all when i double click any record.
    It gives the following information instead.
    "Choose a valid function".
    (My user command name and its respective form name are same.)
    Here is my code..
    START-OF-SELECTION.
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
        EXPORTING
          i_callback_program       = sy-repid
          i_structure_name         = p_table
          i_callback_user_command  = 'TST1'
          i_callback_pf_status_set = 'SET_PF_STATUS'
        TABLES
          t_outtab                 = <dyn_table>
        EXCEPTIONS
          program_error            = 1
          OTHERS                   = 2.
      IF sy-subrc <> 0.
      ENDIF.
    FORM tst1 USING r_ucomm LIKE sy-ucomm
                    rs_selfield TYPE slis_selfield.
    * Local data declaration
      DATA: li_tab TYPE REF TO data,
            l_line TYPE REF TO data.
    * Local field-symbols
      FIELD-SYMBOLS:<l_tab> TYPE table,
                    <l_wa>  TYPE ANY.
    * Create table
      CREATE DATA li_tab TYPE STANDARD TABLE OF (p_table).
      ASSIGN li_tab->* TO <l_tab>.
    * Create workarea
      CREATE DATA l_line LIKE LINE OF <l_tab>.
      ASSIGN l_line->* TO <l_wa>.  CASE r_ucomm.
    *   When a record is selected
        WHEN '&IC1'.
    *     Read the selected record
          READ TABLE <dyn_table> ASSIGNING <dyn_wa> INDEX
          rs_selfield-tabindex.      IF sy-subrc = 0.
    *       Store the record in an internal table
            APPEND <dyn_wa> TO <l_tab>.
    *       Fetch the field catalog info
            CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
              EXPORTING
                i_program_name         = 'Z_DEMO_PDF_JG'
                i_structure_name       = p_table
              CHANGING
                ct_fieldcat            = i_fieldcat
              EXCEPTIONS
                inconsistent_interface = 1
                program_error          = 2
                OTHERS                 = 3.
    Please advice what is the msitake i have done here..

    Read the following code:
    pass the  i_callback_user_command = g_user_command to the ALV function module and write the FORM user_command USING ucomm    LIKE sy-ucomm
                            selfield TYPE slis_selfield.
    as shown below.
    thanx
    Data for ALV display
    DATA  : gt_fieldcat TYPE slis_t_fieldcat_alv,
            gt_events           TYPE slis_t_event,
            g_variant LIKE disvariant,
            g_user_command      TYPE slis_formname VALUE 'USER_COMMAND',
            g_status            TYPE slis_formname VALUE 'SET_PF_STATUS',
            gt_list_top_of_page TYPE slis_t_listheader,
            g_repid LIKE sy-repid,
            gf_pos TYPE i
    Data for ALV display
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
               EXPORTING
              i_callback_program      = g_repid
                 i_callback_program      = sy-repid
                 it_fieldcat             = gt_fieldcat[]
           it_events               = gt_events[]
              i_callback_user_command = g_user_command
                 i_save                  = 'A'
                 is_variant              = g_variant
               TABLES
                 t_outtab                = it_print.
    FORM user_command USING ucomm    LIKE sy-ucomm
                            selfield TYPE slis_selfield.
      CASE ucomm.
        WHEN '&IC1'.
          CASE selfield-sel_tab_field.
            WHEN '1-KUNNR'.
              READ TABLE it_print INTO wa_print INDEX selfield-tabindex.
              IF sy-subrc = 0.
                SET PARAMETER ID 'BPA' FIELD wa_print-kunnr.
                CALL TRANSACTION 'BP'.
              ENDIF.
            WHEN '1-MATNR'.
              READ TABLE it_print INTO wa_print INDEX selfield-tabindex.
              IF sy-subrc = 0.
                SET PARAMETER ID 'JP_ISS' FIELD wa_print-matnr.
                CALL TRANSACTION 'JP29' AND SKIP FIRST SCREEN..
               GET PARAMETER ID 'WRK' FIELD wa_zprint-werks.
               SET PARAMETER ID 'VKO' FIELD wa_zprint-vkorg.
               SET PARAMETER ID 'VTW' FIELD wa_zprint-vtweg.
               CALL TRANSACTION 'JP29' AND SKIP FIRST SCREEN.
              ENDIF.
    Endcase.
    Endform.

  • Problem with User Command in alv report

    Hi
    I have developed a ALV grid report with drill down capability to transaction code for user command. I am having a trouble with this.
    CASE ucomm.
        WHEN '&IC1'.
          CLEAR: wa_import.
          IF selfield-fieldname EQ 'ANLN1'.
            READ TABLE t_import INTO wa_import INDEX selfield-tabindex.
            SET PARAMETER ID 'BUK' FIELD wa_import-bukrs.
            SET PARAMETER ID 'ANl' FIELD wa_import-anln1.
            CALL TRANSACTION 'AW01N'.
          ENDIF.
    here my parameter ids are showing the values but when i call the transaction i am not getting the actual asset numbers.
    Can someone help me out this
    Thanks

    Hi,
    add the AND SKIP FIRST SCREEN...addition..
    CALL TRANSACTION 'AW01N' AND SKIP FIRST SCREEN.
    Thanks
    Naren

  • Trying to generate the spool from at user command...

    Hi Gurus,
    The spool is not getting created in the foreground, I think I am missing something here, the code is below.
    AT USER-COMMAND.
      CASE sy-ucomm .
        WHEN 'SEND'.
          PERFORM get_cust_emails.
          LOOP AT i_output.
            READ TABLE i_mail INTO wa_mail WITH KEY kunnr = i_output-rcvprn. " rcvprn  is customer number,
            IF sy-subrc IS INITIAL.
              IF wa_mail-smtp_addr IS NOT INITIAL.  if the customer has an email then create the entry in i_output_mail.
                i_output_mail = i_output.
                APPEND i_output_mail.
                CLEAR: i_output_mail.
                DELETE i_output.
                CLEAR: i_output.
              ENDIF.
            ENDIF.
          ENDLOOP.
    Setting the Print Parameter's for Portrait
          PERFORM f_print_report. " form is below
          SORT i_output_mail BY rcvprn belnr. "rcvprn is the customer number
          PERFORM f_prepare_mail. " form is below
          MESSAGE i307.
          LEAVE LIST-PROCESSING.
         WHEN 'BACK'.
          LEAVE TO SCREEN 0.
        WHEN 'EXIT'.
          LEAVE PROGRAM.
        WHEN 'CANCEL'.
          LEAVE PROGRAM.
      ENDCASE.
    Subroutines provided below:
    FORM f_print_report .
    *Program name
      DATA : l_prog_name TYPE sy-repid,
             i_print TYPE slis_print_alv.
    Local Constants
      CONSTANTS: lc_vline TYPE c VALUE '|'.
      l_prog_name = sy-repid.
      CLEAR: i_events[], wa_events.
      wa_events-name  = c_top. "'TOP_OF_PAGE'.
      wa_events-form  = c_top.
      APPEND wa_events TO i_events.
      CONSTANTS: lc_prtr   TYPE sypdest VALUE 'LP01',
                 lc_layout TYPE sypaart VALUE 'X_90_120',
                 lc_layout1 TYPE sypaart VALUE 'X_65_255',
                 lc_lines  TYPE sylinsz VALUE '-120',
                 lc_lines1  TYPE sylinsz VALUE '-185',
                 lc_mode   TYPE sycallr VALUE 'CURRENT'.
    Get the print paramters
      CALL FUNCTION 'GET_PRINT_PARAMETERS'
        EXPORTING
          authority              = space
          destination            = lc_prtr
          immediately            = space
          new_list_id            = c_x
          layout                 = lc_layout
          line_size              = lc_lines
          mode                   = lc_mode
          no_dialog              = c_x
          report                 = sy-repid
          user                   = sy-uname
          suppress_shading       = c_x
        IMPORTING
          out_parameters         = i_pr_param
          valid                  = l_valid
        EXCEPTIONS
          archive_info_not_found = 1
          invalid_print_params   = 2
          invalid_archive_params = 3
          OTHERS                 = 4.
      CLEAR: g_heading_completed."Indicator for print header
    ENDFORM.                    "f_print_report
    FORM f_prepare_mail .
      LOOP AT i_output_mail.
        l_flag_mail = 'X'.
        CLEAR: l_flag.
        WRITE: /08(1) c_vline, 10(09) i_output_mail-stapa1, 20(1) c_vline,21(10) i_output_mail-datum,
                31(1) c_vline, 32(10) i_output_mail-belnr,  42(1) c_vline,43(15) i_output_mail-total,
                58(1) c_vline, 59(15) i_output_mail-surcrg, 74(1) c_vline,75(05) i_output_mail-kperc,
                80(1) c_vline, 81(15) i_output_mail-betrg,  96(1) c_vline,97(19) i_output_mail-summe,
               116(1) c_vline,117(03) i_output_mail-curcy, 120(1) c_vline.
        AT END OF rcvprn.
          SUM.
          ULINE /8(113).
          WRITE:  /8(1) c_vline.
          FORMAT COLOR 3.
          WRITE: 10(09) text-064, 20(01) c_vline,             21(10)  space,
                  31(1) c_vline, 32(10) space,                42(01)  c_vline, 43(15) i_output_mail-total,
                  58(1) c_vline, 59(15) i_output_mail-surcrg, 74(1)   c_vline, 75(05) space,
                  80(1) c_vline, 81(15) i_output_mail-betrg,  96(1)   c_vline, 97(19) i_output_mail-summe,
                 116(1) c_vline,117(03) space,                120(01) c_vline.
          FORMAT COLOR OFF.
          ULINE /8(113).
          NEW-PAGE.
        ENDAT.
        AT END OF rcvprn.
          i_pr_param-linsz = 1000.
          NEW-PAGE PRINT ON PARAMETERS i_pr_param NO DIALOG.
          NEW-PAGE PRINT OFF.
        If spool number is obtained, generate PDF
          IF sy-spono IS NOT INITIAL.
            PERFORM f_generate_pdf.
    *Send the PDF as mail attachement
            PERFORM f_send_email.
          ENDIF.
        ENDAT.
      ENDLOOP.
    ENDFORM.                   " SEND_MAIL
    Please check the code and suggest some changes.
    Thanks,
    Sukumar.

    Hi,
    The data is getting printed incorrectly, I have coded as you have instructed. But the report output (not emailing) is getting printed ok. The code for that is as below.
    FORM f_list_display .
      LOOP AT i_output.
        g_flag = c_x.
        CLEAR: g_flag_mail.
        WRITE: /08(1) c_vline, 10(09) i_output-stapa1, 20(1) c_vline,21(10) i_output-datum,
                31(1) c_vline, 32(10) i_output-belnr,  42(1) c_vline,43(15) i_output-total,
                58(1) c_vline, 59(15) i_output-surcrg, 74(1) c_vline,75(05) i_output-kperc,
                80(1) c_vline, 81(15) i_output-betrg,  96(1) c_vline,97(19) i_output-summe,
               116(1) c_vline,117(03) i_output-curcy, 120(1) c_vline,121(10) i_output-rcvprn.
        AT END OF rcvprn.
          SUM.
          ULINE /8(113).
          WRITE:  /8(1) c_vline.
          FORMAT COLOR 3.
          WRITE: 10(09) text-064, 20(01) c_vline,        21(10)  space,
                  31(1) c_vline, 32(10) space,           42(01)  c_vline, 43(15) i_output-total,
                  58(1) c_vline, 59(15) i_output-surcrg, 74(1)   c_vline, 75(05) space,
                  80(1) c_vline, 81(15) i_output-betrg,  96(1)   c_vline, 97(19) i_output-summe,
                 116(1) c_vline,117(03) space,           120(01) c_vline.
          FORMAT COLOR OFF.
          ULINE /8(113).
          NEW-PAGE.
        ENDAT.
      ENDLOOP.
    ENDFORM.                    " F_LIST_DISPLAY
    The code which you gave should work as the above code. The above code is for report output and our code is for sending mails to the customers separately, thus we are creating separate spools customer-wise.
    Our code for emailing to customers seperately is below.
    FORM f_prepare_mail .
    LOOP AT i_output_mail.
    At new rcvprn.
    NEW-PAGE PRINT ON PARAMETERS i_pr_param NO DIALOG.
    endat.
    l_flag_mail = 'X'.
    CLEAR: l_flag.
    WRITE: /08(1) c_vline, 10(09) i_output_mail-stapa1, 20(1) c_vline,21(10) i_output_mail-datum,
    31(1) c_vline, 32(10) i_output_mail-belnr, 42(1) c_vline,43(15) i_output_mail-total,
    58(1) c_vline, 59(15) i_output_mail-surcrg, 74(1) c_vline,75(05) i_output_mail-kperc,
    80(1) c_vline, 81(15) i_output_mail-betrg, 96(1) c_vline,97(19) i_output_mail-summe,
    116(1) c_vline,117(03) i_output_mail-curcy, 120(1) c_vline.
    AT END OF rcvprn.
    SUM.
    ULINE /8(113).
    WRITE: /8(1) c_vline.
    FORMAT COLOR 3.
    WRITE: 10(09) text-064, 20(01) c_vline, 21(10) space,
    31(1) c_vline, 32(10) space, 42(01) c_vline, 43(15) i_output_mail-total,
    58(1) c_vline, 59(15) i_output_mail-surcrg, 74(1) c_vline, 75(05) space,
    80(1) c_vline, 81(15) i_output_mail-betrg, 96(1) c_vline, 97(19) i_output_mail-summe,
    116(1) c_vline,117(03) space, 120(01) c_vline.
    FORMAT COLOR OFF.
    ULINE /8(113).
    NEW-PAGE.
    ENDAT.
    AT END OF rcvprn.
    i_pr_param-linsz = 1000.
    NEW-PAGE PRINT OFF.
    If spool number is obtained, generate PDF
    IF sy-spono IS NOT INITIAL.
    PERFORM f_generate_pdf.
    *Send the PDF as mail attachement
    PERFORM f_send_email.
    ENDIF.
    ENDAT.
    ENDLOOP.
    ENDFORM. " SEND_MAIL
    Let me know, what could be the error in our code which generates separate spools for customers.
    Thanks in advance for the help.
    Sukumar.

  • How to find out the SET PARAMETER ID for FB02 transaction

    hi masters,
    i m working on a alv report and in that i have to make a BELNR field as a interactive field. i m using the 'user command' for this.
    FORM user_command USING ucomm TYPE sy-ucomm
                        selfield TYPE slis_selfield.
      IF selfield-value IS NOT INITIAL.
        CASE selfield-fieldname.
          WHEN 'BELNR'.
            SET PARAMETER ID 'FBAS'  FIELD selfield-value.
            CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
          WHEN OTHERS.
            MESSAGE text-000 TYPE 'W'.
        ENDCASE.
      ENDIF.
    ENDFORM.                    "user_command
    i used this code using this. using this code my program goes to FB03 tc but it don't shows the data of BELNR what i was clicked. it always shows first BELNR no. in the table. plz anyone help me for this..
    the  SET PARAMETER ID 'FBAS'  i m using is right? if not plz suggest me how to find out correct one?

    Hi Vicky,
    To know the Parameter Id of any field in a transaction ,
    you just press F1 onthe particular field then in technical settings under Field data
    you can see the PARMATER ID.
    So if you check like this you can see 'BLN' as parameter id for Document number in FB03
    transaction
    Regards,
    Manoj Kumar P

  • I have a problem with ALV Grid User Command?

    Hi Experts,
    I have a problem with ALV GRID User Command.
    I am calling TCODE IW33 (Order Display) from the ALV output at first time by selecting an order. But, User command is calling IW33 Initial screen with blank value of order. Even I checked in debugging the value what I selected is passing properly, but once that screen (IW33 Initial) displays, value doesn't appear. Then, Manually, I  created another session and gone to TCODE IW33 and displayed an order. After that I came out from that order. Then again run my ALV program and selected another order, now order is displaying, but not what I selected current order instead of displaying previous order what I just displayed manually. If I selected any other order, system will display the same order what I dislayed manually.
    Here is my code.
    FORM user_command_alv  USING u_ucomm TYPE sy-ucomm
                           us_self_field TYPE slis_selfield.
    CASE u_ucomm.
    WHEN '&IC1'.
    READ TABLE it_final INDEX us_self_field-tabindex INTO wa_final.
            WHEN 'ORDER'.
              IF NOT wa_final-order IS INITIAL.
                SET PARAMETER ID 'COK' FIELD wa_final-order.
                CALL TRANSACTION 'IW33' AND SKIP FIRST SCREEN.
              ENDIF.
    endform.
    PARAMETER ID 'COK'  also the standard one.
    Could you please help me out, Where I did wrong?
    If I select any order, that order only should display.
    Thanks in advance.
    Regards,
    Sarayu.
    Code Formatted by: Alvaro Tejada Galindo on Jan 8, 2009 2:33 PM

    hi,
    Please check it once the Paramater ID is 'ANR' for IW33 order number.
    Hope this may help.
    Regards,
    Sravanthi

  • WLC 4400 issue on "user login policies" parameter.

    Hi,
    I'm using a Cisco Wireless controller in my company.
    (the model is a AIR-WLC4402-50-K9 in 4.2.207.0 version).
    The WLAN is configured with WPAv2 AES and 802.1X (PEAP MS-CHAPv2) authentication on an external Microsoft IAS server (2003 R2).
    the authentication rely on Active Directory login and password.
    The user authentication works fine and the WLAN too.
    But it's possible for a single user to log on different laptops with the same AD login and password and use the wireless network.
    And it has to be forbiden by  "user login policies" parameter set to 1 on the WLC (in security parameters).
    Does anybody says if it's a known issue and how to solve this problem?
    thanks,
    raphael Paviot.

    Dancampb,
    Many thanks ,  you're right, I have to find the solution on IAS server side.
    In fact, I have also applied these commands on the controller and the max-user login works (in the case of an externan radius server).
    I have seen it in the "message logs".
    (Cisco Controller) config>advanced eap max-login-ignore-identity-response disable
    (Cisco Controller) config> netuser maxuserLogin 1
    But the problem still remain , because the IAS server is not case sensitive for user logins instead of the Wireless Controller.
    For exemple:
    raphaelpaviot login and RaphaelPAVIOT login are:
    -one user for the IAS server.
    -two different users on the WLC.
    cordially.

  • Pf status and user-command

    hi
    can any one explain me about pf-status and user-command?  what is the difference between this two and how to display icons in it.
    max reward points for good answer
    thanks
    alka

    Hi alka ritu  ,
    Check the following websites for good documentation o n pf status and user-command
    http://help.sap.com/saphelp_nw04/helpdata/en/9f/dba34635c111d1829f0000e829fbfe/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/9f/dba99935c111d1829f0000e829fbfe/content.htm
    1. How to set pf-status
    set pf-status ‘ZZBILSTA’.
    2. How to set pf-status excluding/including single menu items
    You can exclude menus by using exclude :
    set pf-status ‘ZZBILSTA’ excluding ‘PST’.
    Note: Can also be used with include instead of exclude
    3. How to set pf-status excluding/including several menu items
    You have to use an internal table to store the status you wan’t to ex- or include:
    DATA:BEGIN OF I_PF_STATUS_TAB OCCURS 10,
    FCODE,
    END OF I_PF_STATUS_TAB.
    FORM SET_PF_STATUS_POSTER.
    REFRESH I_PF_STATUS_TAB. MOVE ‘PST’ TO I_PF_STATUS_TAB. APPEND I_PF_STATUS_TAB. MOVE ‘ART’ TO I_PF_STATUS_TAB. APPEND I_PF_STATUS_TAB. SET PF-STATUS ‘ZZBILSTA’ EXCLUDING I_PF_STATUS_TAB.
    ENDFORM.
    4. Setting PF status to the (SAP) system default
    set pf-status ‘BASIC’.
    5. How to check for pf-status
    AT USER-COMMAND.
    CASE SY-UCOMM. WHEN ‘ART’. PERFORM STYR_ARTSKONTI. WHEN ‘PST’. PERFORM STYR_POSTER. WHEN ‘BIL’. PERFORM VIS_BILAG. ENDCASE.
    6. Use of SY-PFKEY
    You can use the system variable sy-pfkey to retrieve the name of the current pf status
    USER-COMMAND:
    If the user chooses a function code during list processing that is neither processed by the system, or PICK or PFnn, the system triggers the event AT USER-COMMAND. For this event, you must define your own GUI status for a list. To react to your own function codes in a program, you must define the following event block:
    AT USER-COMMAND.
      statements.
    In this event block, you can use an IF or CASE structure to differentiate between the function codes. They are available in the system field sy-ucomm. There are further system fields that are filled in list events, such as sy-lsind and sy-pfkey, that allow you to make further case distinctions.
    Triggering a List Event from the Program
    You can trigger a list event from the program as follows:
    SET USER-COMMAND fc.
    This statement takes effect after the current list is completed. Before the list is displayed, the event assigned to function code fc is triggered, regardless of the dialog status you are using.
    The effect is the same as when the user chooses the function. In other words, predefined list function codes are trapped and processed by the runtime environment, the function codes PICK and PFnn trigger the AT LINE-SELECTION and AT PFnnevents, and user-defined function codes trigger the AT USER-COMMAND event block.
    Function code PICK triggers an event only if the cursor is located on a list line.
    Using this statement in conjunction with the function codes reserved for system functions, you can call the system functions from the program. For example, you can use SET USER-COMMAND '%SC' to call the Find dialog box directly, or to position the list correctly before it is displayed.
    If you use several SET USER-COMMAND statements while creating a list, the system executes only the last one.
    Example of AT USER-COMMAND.
    REPORT demo_list_at_user_command NO STANDARD PAGE HEADING.
    START-OF-SELECTION.
      WRITE: 'Basic List',
           / 'sy-lsind:', sy-lsind.
    TOP-OF-PAGE.
      WRITE 'Top-of-Page'.
      ULINE.
    TOP-OF-PAGE DURING LINE-SELECTION.
      CASE sy-pfkey.
        WHEN 'TEST'.
          WRITE 'Self-defined GUI for Function Codes'.
          ULINE.
      ENDCASE.
    AT LINE-SELECTION.
      SET PF-STATUS 'TEST' EXCLUDING 'PICK'.
      PERFORM out.
      sy-lsind = sy-lsind - 1.
    AT USER-COMMAND.
      CASE sy-ucomm.
        WHEN 'FC1'.
          PERFORM out.
          WRITE / 'Button FUN 1 was pressed'.
        WHEN 'FC2'.
          PERFORM out.
          WRITE / 'Button FUN 2 was pressed'.
        WHEN 'FC3'.
          PERFORM out.
          WRITE / 'Button FUN 3 was pressed'.
        WHEN 'FC4'.
          PERFORM out.
          WRITE / 'Button FUN 4 was pressed'.
        WHEN 'FC5'.
          PERFORM out.
          WRITE / 'Button FUN 5 was pressed'.
      ENDCASE.
      sy-lsind = sy-lsind - 1.
    FORM out.
      WRITE: 'Secondary List',
           / 'sy-lsind:', sy-lsind,
           / 'sy-pfkey:', sy-pfkey.
    ENDFORM.
    Example of AT USER-COMMAND.
    REPORT demo_list_set_user_command NO STANDARD PAGE HEADING.
    START-OF-SELECTION.
      SET USER-COMMAND 'MYCO'.
      WRITE 'Basic List'.
    AT USER-COMMAND.
      CASE sy-ucomm.
        WHEN 'MYCO'.
          WRITE 'Secondary List from USER-COMMAND,'.
          WRITE: 'sy-lsind', sy-lsind.
          SET USER-COMMAND 'PF05'.
      ENDCASE.
    AT pf05.
      WRITE 'Secondary List from PF05,'.
      WRITE: 'sy-lsind', sy-lsind.
      SET CURSOR LINE 1.
      SET USER-COMMAND 'PICK'.
    AT LINE-SELECTION.
      WRITE 'Secondary List from LINE-SELECTION,'.
      WRITE: 'sy-lsind', sy-lsind.
      SET USER-COMMAND '%SC'.
    http://maxdb.sap.com/currentdoc/94/90ee41c334c717e10000000a155106/content.htm
    cheers!
    gyanaraj
    ****Pls reward points if u find this helpful

  • At User-command Problem

    Dear Friends
    i have big problem
    below i saved my program code.
    SET PF-STATUS 'SD012_MENU2'. its button also coming to the display screen, my problem is when i click on the "New Remarks" button (FUNC01) i want to call another screen
    but i unable to trigger the any kind of events i done in the screen
    i used AT USER-COMMAND  also but problem still there
    please look this and let me know how can i solve this problem.
    1. Selection Screen (Customer Menu 01) when click on the button ALV list Displaying
    2. In ALV list (Customer Menu 02)  when click on the button list Displaying (list with write statment)
    3. In list (Customer menu 03) when click on the button i want to call screen but in this part any button not working (only display)
    Thanks in advance
    Hope,
      you can understand about my problem. 
    *&      Form  CREATE_REMARKS
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM CREATE_REMARKS .
    *  BREAK ITNR.
      LOOP AT IT_ALLOCATION2 INTO WA_ALLOCATION2.
        IF WA_ALLOCATION2-FLAG = 'X' AND WA_ALLOCATION2-DOCTP = 'LP'.
          SELECT  VBELN POSNR SEQNO CNGDATE CNGTIME CNGUSER REMAK
            INTO  CORRESPONDING FIELDS OF TABLE IT_ZSD012_002
            FROM  ZSD012_002
            WHERE VBELN EQ WA_ALLOCATION2-EBELN
            AND   POSNR EQ WA_ALLOCATION2-POSNR.
          IF SY-SUBRC = 0.
            SET PF-STATUS 'SD012_MENU2'.
            PERFORM WRITE_REMARKS.
            CALL SCREEN '1012' STARTING AT 5 5 .
          ELSE.
            CALL SCREEN 1012 STARTING AT 5 5 .
          ENDIF.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " CREATE_REMARKS

    Hi,
    Try this
    Create a PF Status,say you have created 'SD012_MENU2'.
    In this PF STATUS create one button.
    Now while using call function 
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
         i_callback_program                = sy-repid
         i_callback_pf_status_set          = 'SD012_MENU2'
         i_callback_user_command           = 'C_USER_COMMAND'
         is_layout                         = er_layout
         it_fieldcat                       = t_fieldcat
        TABLES
          t_outtab                          = t_final
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    FORM SD012_MENU2 USING p_extab TYPE slis_t_extab.
      SET PF-STATUS 'SD012_MENU2'.
    ENDFORM. " STATUS
    FORM c_user_command  USING r_ucomm LIKE sy-ucomm
                                                    rs_selfield TYPE slis_selfield.
      IF  sy-ucomm EQ 'POST'.  here post is button name
      PERFORM something.     here you want to go to some other screen.
      ENDIF.
    ENDFORM.

  • AT USER COMMAND event in interactive reports

    hi experts,
    Can anyone explain me about AT USER COMMAND event with one practical ex.
    thanks in advance
    R.vijai

    Hi vijaya kumar,
        If the user chooses a function code during list processing that is neither processed by the system, or PICK or PF<nn>, the system triggers the event AT USER-COMMAND. For this event, you must define your own GUI status for a list. To react to your own function codes in a program, you must define the following event block:
    AT USER-COMMAND.
    <statements>.
    In this event block, you can use an IF or CASE structure to tell the function codes apart. They are available in the system field SY-UCOMM. There are further system fields that are filled in list events, such as SY-LSIND and SY-PFKEY, that allow you to make further case distinctions.
    REPORT Test_program.
    START-OF-SELECTION.
      SET PF-STATUS 'TEST'.
      WRITE:  'Basic list, SY-LSIND =', sy-lsind.
    AT LINE-SELECTION.
      WRITE:  'LINE-SELECTION, SY-LSIND =', sy-lsind.
    AT USER-COMMAND.
      CASE sy-ucomm.
        WHEN 'TEST'.
          WRITE:  'TEST, SY-LSIND =', sy-lsind.
      ENDCASE.
    With this code double click on 'TEST' and define your own PF status and give user command as TEST and check out this useful programe.
    All the very best to you.
    Regards,
    Mohan Vamsi Krishna.A

  • At user command in alv's

    how to handle at user commads in alv's?

    Hi Praveen
    Interactive Reports
    As the name suggests, the user can Interact with the report. We can have a drill down into the report data. For example, Column one of the report displays the material numbers, and the user feels that he needs some more specific data about the vendor for that material, he can HIDE that data under those material numbers.
    And when the user clicks the material number, another report (actually sub report/secondary list) which displays the vendor details will be displayed.
    We can have a basic list (number starts from 0) and 20 secondary lists (1 to 21).
    Events associated with Interactive Reports are:
    AT LINE-SELECTION
    AT USER-COMMAND
    AT PF<key>
    TOP-OF-PAGE DURING LINE-SELECTION.
    HIDE statement holds the data to be displayed in the secondary list.
    sy-lisel : contains data of the selected line.
    sy-lsind : contains the level of report (from 0 to 21)
    <u><b>Interactive Report Events:</b></u>
    AT LINE-SELECTION : This Event triggers when we double click a line on the list, when the event is triggered a new sublist is going to be generated. Under this event what ever the statements that are been return will be displayed on newly generated sublist.
    AT PFn: For predefined function keys...
    <u><b>AT USER-COMMAND :</b></u> It provides user functions keys.
    TOP-OF-PAGE DURING LINE-SELECTION :top of page event for secondary list.
    <b>check this sample code</b>
    TYPE-POOLS: slis.                      " ALV Global Types
    DATA :
      gt_user LIKE uinfo OCCURS 0 WITH HEADER LINE. " User info in SM04
    START-OF-SELECTION.
      PERFORM f_read_data.
      PERFORM f_display_data.
    *       Form  F_LIRE_DATA
    FORM f_read_data.
      REFRESH gt_user.
    * Get User's info
      CALL FUNCTION 'THUSRINFO'
           TABLES
                usr_tabl = gt_user.
    * Wait in a task
      PERFORM f_call_rfc_wait.
    ENDFORM.                               " F_READ_DATA
    *      Form  F_DISPLAY_DATA
    FORM f_display_data.
      DEFINE m_sort.
        add 1 to ls_sort-spos.
        ls_sort-fieldname = &1.
        append ls_sort to lt_sort.
      END-OF-DEFINITION.
      DEFINE m_event_exit.
        clear ls_event_exit.
        ls_event_exit-ucomm = &1.
        ls_event_exit-after = 'X'.
        append ls_event_exit to lt_event_exit.
      END-OF-DEFINITION.
      DATA :
        ls_layout     TYPE slis_layout_alv,
        lt_sort       TYPE slis_t_sortinfo_alv,
        ls_sort       TYPE slis_sortinfo_alv,
        lt_event_exit TYPE slis_t_event_exit,
        ls_event_exit TYPE slis_event_exit.
    * Build Sort Table
      m_sort 'ZEIT'.
    * Build Event Exit Table
      m_event_exit '&NTE'.                 " Refresh
      ls_layout-zebra = 'X'.
      ls_layout-colwidth_optimize = 'X'.
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
           EXPORTING
                i_callback_program      = sy-cprog
                i_callback_user_command = 'USER_COMMAND'
                is_layout               = ls_layout
                i_structure_name        = 'UINFO'
                it_sort                 = lt_sort
                it_event_exit           = lt_event_exit
           TABLES
                t_outtab                = gt_user.
    ENDFORM.                               " F_DISPLAY_DATA
    *       FORM USER_COMMAND                                             *
    FORM user_command USING i_ucomm     TYPE syucomm
                            is_selfield TYPE slis_selfield.     "#EC CALLED
      CASE i_ucomm.
        WHEN '&NTE'.
          PERFORM f_read_data.
          is_selfield-refresh = 'X'.
          SET USER-COMMAND '&OPT'.         " Optimize columns width
      ENDCASE.
    ENDFORM.                               " USER_COMMAND
    *      Form  F_CALL_RFC_WAIT
    FORM f_call_rfc_wait.
      DATA lv_mssg(80).                                         "#EC NEEDED
    * Wait in a task
      CALL FUNCTION 'RFC_PING_AND_WAIT' STARTING NEW TASK '001'
        PERFORMING f_task_end ON END OF TASK
        EXPORTING
          seconds               = 5        " Refresh time
          busy_waiting          = space
        EXCEPTIONS
          RESOURCE_FAILURE      = 1
          communication_failure = 2  MESSAGE lv_mssg
          system_failure        = 3  MESSAGE lv_mssg
          OTHERS                = 4.
    ENDFORM.                               " F_CALL_RFC_WAIT
    *      Form  F_TASK_END
    FORM f_task_end USING u_taskname.
      DATA lv_mssg(80).                                         "#EC NEEDED
    * Receiving task results
      RECEIVE RESULTS FROM FUNCTION 'RFC_PING_AND_WAIT'
        EXCEPTIONS
          RESOURCE_FAILURE      = 1
          communication_failure = 2  MESSAGE lv_mssg
          system_failure        = 3  MESSAGE lv_mssg
          OTHERS                = 4.
      CHECK sy-subrc EQ 0.
      SET USER-COMMAND '&NTE'.             " Refresh
    ENDFORM.                               " F_TASK_END
    *************** END OF PROGRAM Z_ALV_AUTO_REFRESH *********************
    check this link too
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/snippets/abap-AddUsercommandfunctionalitytoALVgridreport&
    Reward all helpfull answers
    Regards
    Pavan

Maybe you are looking for

  • Split PO in SRM

    Hi, Is there a badi to split the PO in EBP based on a cutom field in the shopping cart? Thanks, Kumar

  • New hard drive....how do i use my ipod now?

    My computer recently crashed and I had a new, 80 MB hard drive installed. Prior to the crash, iTunes on my computer and an iPod. My iPod battery is nearly dead and it still has songs on it. I just re-installed iTunes using the disk my iPod came with.

  • SM30 table entries not to be transported

    Hi, I am trying to maintain entires using SM30 transaction for a Z custom table. Every time I create a new entry and save it a transport request is asked for. Is it possible that the transport request not be asked? Because entries a maintained by end

  • Error in LDAP Search QPAC

    Hi.. i am trying to use LDAP search qpac.I have the provider url and i gave the username as admin and password as password.when i drag the ldap search qpac into my workflow and refreshing for the baseDN, it is giving an error saying that "cannot inst

  • How do I watch webinars on my iPad? I have no laptop.

    I am trying to watch Webinars on my IPad. The screen is saying I need to install Go To Meeting. When I try to install, screen says, "Safari cannot download this file. I have no laptop, so how do I install if it's not available for mobile devices? Tha