Selection-screen design

Hi everyone,
I am working on a project for which I have to design a selection-screen.
The requirement is such that there are 3 obligatory fields to be filled by the user, which are as follows:
P_LAUFD(parameter,obligatory-date),
P_LAUFI(parameter,obligatory-id),
P_FILENM(parameter,obligatory-filename),
P_LOKAAL(checkbox).
The requirement is such that when the user does not check the checkbox the search help for P_FILENM should show the files from the application server,and when it is checked the files from the presentation server should be shown.
The code that I have written is listed below, but there is  a problem with it.
When I don't enter  anything in the first 2 fields, the search field for the 3rd field functions as required, but if I first enter something in the first 2 fields and then click on the checkbox, the search help for P_FILENM does not function as reaquired.
Please advise.
Also if possible could you'll  kindly   explain the sequence of events that is getting triggered?
*&  Include           Z6890_PROJINCLUDE_SEL_SCREEN                     *
TABLES : SSCRFIELDS.
DATA: FILE LIKE DXFIELDS-LONGPATH.
DATA V_FILENAME LIKE IBIPPARMS-PATH.
DATA: TMP TYPE SSCRFIELDS-UCOMM.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS: P_LAUFD TYPE  D OBLIGATORY,
            P_LAUFI(6) TYPE C OBLIGATORY.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
PARAMETERS: P_FILENM(128) TYPE C OBLIGATORY.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 33.
PARAMETER: P_LOKAAL AS CHECKBOX USER-COMMAND SRC.
SELECTION-SCREEN COMMENT 35(6) TEXT-003.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK B2.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-004.
PARAMETERS: P_DEL(2) TYPE C .
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(12) TEXT-005 FOR FIELD P_APPL.
SELECTION-SCREEN POSITION 33.
PARAMETERS:  P_APPL(3) TYPE C.
SELECTION-SCREEN POSITION 37.
PARAMETERS: P_APDESC(40) TYPE C.
SELECTION-SCREEN END OF LINE.
PARAMETERS: P_MKDT(8) TYPE N,
            P_NOINV(6) TYPE N.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(12) TEXT-006 FOR FIELD P_TOAMNT.
SELECTION-SCREEN POSITION 33.
PARAMETERS: P_TOAMNT(13) TYPE N.
SELECTION-SCREEN POSITION 47.
PARAMETERS: P_TEKEN(1) TYPE C.
SELECTION-SCREEN END OF LINE.
PARAMETERS: P_DESC(60) TYPE C.
SELECTION-SCREEN END OF BLOCK B3.
***********************************************************************************************REPORT  Z6890_PROJ_REPORT_DRAFT                 .
DATA: BEGIN OF GW_LINE,
      TEXT(700) TYPE C,
      END OF GW_LINE.
DATA: GIN_FILE LIKE TABLE OF GW_LINE.
INCLUDE Z6890_PROJINCLUDE_SEL_SCREEN.
AT SELECTION-SCREEN.
  CASE SY-UCOMM.
    WHEN  'EXEC'.
      IF P_LOKAAL = 'X'.
        PERFORM MV_DATA_FRM_PRES_INT .
      ELSE.
        PERFORM OPEN_FILE_ONAPP_SERVER.
      ENDIF.
      LOOP AT SCREEN.
        IF SCREEN-NAME = 'P_DEL'.
          SCREEN-INPUT = 0.
          SCREEN-OUTPUT = 1.
          P_DEL = 'HI'.
        ENDIF.
        IF SCREEN-NAME = 'P_APPL'.
          SCREEN-INPUT = 0.
          SCREEN-OUTPUT = 1.
          P_APPL = 'CHF'.
        ENDIF.
        MODIFY SCREEN.
      ENDLOOP.
    WHEN 'BACK'.
      LEAVE PROGRAM.
    WHEN 'EXIT'.
      LEAVE PROGRAM.
    WHEN 'CANCEL'.
      LEAVE PROGRAM.
  ENDCASE.
AT SELECTION-SCREEN  OUTPUT.
  SET PF-STATUS 'PROJ'.
  LOOP AT SCREEN.
    IF SCREEN-NAME = 'P_DEL'.
      SCREEN-INPUT = 0.
      SCREEN-OUTPUT = 1.
    ENDIF.
    IF SCREEN-NAME = 'P_APPL'.
      SCREEN-INPUT = 0.
      SCREEN-OUTPUT = 1.
    ENDIF.
    IF SCREEN-NAME = 'P_APDESC'.
      SCREEN-INPUT = 0.
      SCREEN-OUTPUT = 1.
    ENDIF.
    IF SCREEN-NAME = 'P_MKDT'.
      SCREEN-INPUT = 0.
      SCREEN-OUTPUT = 1.
    ENDIF.
    IF SCREEN-NAME = 'P_NOINV'.
      SCREEN-INPUT = 0.
      SCREEN-OUTPUT = 1.
    ENDIF.
    IF SCREEN-NAME = 'P_TOAMNT'.
      SCREEN-INPUT = 0.
      SCREEN-OUTPUT = 1.
    ENDIF.
    IF SCREEN-NAME = 'P_TEKEN'.
      SCREEN-INPUT = 0.
      SCREEN-OUTPUT = 1.
    ENDIF.
    IF SCREEN-NAME = 'P_DESC'.
      SCREEN-INPUT = 0.
      SCREEN-OUTPUT = 1.
    ENDIF.
    MODIFY SCREEN.
  ENDLOOP.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_LAUFD.
  CALL FUNCTION 'F4_DATE'
   EXPORTING
     DATE_FOR_FIRST_MONTH               = SY-DATUM
     DISPLAY                            = ' '
    FACTORY_CALENDAR_ID                = ' '
    GREGORIAN_CALENDAR_FLAG            = ' '
    HOLIDAY_CALENDAR_ID                = ' '
    PROGNAME_FOR_FIRST_MONTH           = ' '
   IMPORTING
     SELECT_DATE                        = P_LAUFD
    SELECT_WEEK                        =
    SELECT_WEEK_BEGIN                  =
    SELECT_WEEK_END                    =
  EXCEPTIONS
    CALENDAR_BUFFER_NOT_LOADABLE       = 1
    DATE_AFTER_RANGE                   = 2
    DATE_BEFORE_RANGE                  = 3
    DATE_INVALID                       = 4
    FACTORY_CALENDAR_NOT_FOUND         = 5
    HOLIDAY_CALENDAR_NOT_FOUND         = 6
    PARAMETER_CONFLICT                 = 7
    OTHERS                             = 8
  IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILENM.
  IF TMP = SSCRFIELDS-UCOMM.
    CLEAR SSCRFIELDS-UCOMM.
    CLEAR TMP.
  ELSE.
    SSCRFIELDS-UCOMM = 'SRC'.
  ENDIF.
  CASE SSCRFIELDS-UCOMM.
    WHEN 'SRC'.
      TMP = SSCRFIELDS-UCOMM.
      CALL FUNCTION '/SAPDMC/LSM_F4_FRONTEND_FILE'
EXPORTING
   PATHNAME               =
           CHANGING
             PATHFILE               = V_FILENAME
         EXCEPTIONS
           CANCELED_BY_USER       = 1
   SYSTEM_ERROR           = 2
   OTHERS                 = 3
      IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        IF SY-SUBRC = 1.
          MESSAGE I000(Z6890_PROJ) .
        ENDIF.
      ENDIF.
      P_FILENM = V_FILENAME.
      CLEAR SSCRFIELDS-UCOMM.
    WHEN OTHERS.
      CALL FUNCTION 'F4_DXFILENAME_TOPRECURSION'
           EXPORTING
             I_LOCATION_FLAG       = 'A'
             I_SERVER              = 'ides47_i47_00'
             I_PATH                = 'D:\usr\sap\'
             FILEMASK              = '.'
             FILEOPERATION         = 'R'
           IMPORTING
      O_LOCATION_FLAG       =
      O_SERVER              =
             O_PATH                = FILE
      ABEND_FLAG            =
    EXCEPTIONS
      RFC_ERROR             = 1
      ERROR_WITH_GUI        = 2
      OTHERS                = 3
      IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      P_FILENM = FILE.
     CLEAR SSCRFIELDS-UCOMM.
  ENDCASE.
*&      Form  MV_DATA_FRM_PRES_INT
      text
-->  p1        text
<--  p2        text
FORM MV_DATA_FRM_PRES_INT .
  DATA: F_NAME TYPE STRING.
  F_NAME = P_FILENM.
  CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
      FILENAME                      = F_NAME
     FILETYPE                      = 'ASC'
  HAS_FIELD_SEPARATOR           = ' '
  HEADER_LENGTH                 = 0
  READ_BY_LINE                  = 'X'
  DAT_MODE                      = ' '
  CODEPAGE                      = ' '
  IGNORE_CERR                   = ABAP_TRUE
  REPLACEMENT                   = '#'
IMPORTING
  FILELENGTH                    =
  HEADER                        =
    TABLES
      DATA_TAB                      = GIN_FILE
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 SY-SUBRC = 1.
   LEAVE TO LIST-PROCESSING.
   WRITE: / 'Error: File could not be opened!'.
    MESSAGE I001(Z6890_PROJ) WITH P_FILENM.
  ENDIF.
  BREAK-POINT.
ENDFORM.                    " MV_DATA_FRM_PRES_INT
*&      Form  OPEN_FILE_ONAPP_SERVER
      text
-->  p1        text
<--  p2        text
FORM OPEN_FILE_ONAPP_SERVER  .
ENDFORM.

Hi Piyush,
Add the below code in your program.
*Note: you have to take two parameters for files.
If you select check box then p_pc parameter is visible.
if you dont select check box then p_app parameter is visible.
PARAMETERS: p_chk1 AS CHECKBOX USER-COMMAND rusr.
SELECTION-SCREEN: BEGIN OF BLOCK blk1 WITH FRAME.
PARAMETERS: p_pc  LIKE rlgrap-filename MODIF ID abc.
PARAMETERS: p_app LIKE rlgrap-filename MODIF ID def.
SELECTION-SCREEN: END OF BLOCK blk1.
AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    IF screen-group1 = 'ABC'.
      CLEAR: p_pc, p_app.
      IF p_chk1 = 'X'.
        screen-active = 1.
      ELSE.
        screen-active = 0.
      ENDIF.
      MODIFY SCREEN.
    ENDIF.
    IF screen-group1 = 'DEF'.
      CLEAR: p_pc, p_app.
      IF p_chk1 <> 'X'.
        screen-active = 1.
      ELSE.
        screen-active = 0.
      ENDIF.
      MODIFY SCREEN.
    ENDIF.
  ENDLOOP.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_app.
  PERFORM get_fname_app.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_pc.
  CALL FUNCTION 'F4_FILENAME'
    IMPORTING
      file_name = p_pc.
*&      Form  get_fname_app
      text
FORM get_fname_app.
  DATA: c_fnh_mask TYPE dxfields-filemask VALUE '.',
  search_dir TYPE dxfields-longpath VALUE '/sapglobal/users',
  file_path LIKE dxfields-longpath.
  CALL FUNCTION 'F4_DXFILENAME_TOPRECURSION'
    EXPORTING
      i_location_flag = 'A'
      i_server        = ' '
      i_path          = search_dir
      filemask        = c_fnh_mask
      fileoperation   = 'R'
    IMPORTING
      o_path          = file_path
    EXCEPTIONS
      rfc_error       = 1
      OTHERS          = 2.
  IF sy-subrc EQ 0.
    p_app = file_path.
  ENDIF.
ENDFORM.                    "get_fname_app

Similar Messages

  • Using NAST info for selection screen design

    Hi
    I am doing customization for RFQ printing ( TCODE ME9A)
    I want to know can I get the same selection screen as of ME9A using NAST info for my z driver program.
    Which function module can be used?
    Kindly provide sample code
    Regards
    Harshada

    Hi Piyush,
    Add the below code in your program.
    *Note: you have to take two parameters for files.
    If you select check box then p_pc parameter is visible.
    if you dont select check box then p_app parameter is visible.
    PARAMETERS: p_chk1 AS CHECKBOX USER-COMMAND rusr.
    SELECTION-SCREEN: BEGIN OF BLOCK blk1 WITH FRAME.
    PARAMETERS: p_pc  LIKE rlgrap-filename MODIF ID abc.
    PARAMETERS: p_app LIKE rlgrap-filename MODIF ID def.
    SELECTION-SCREEN: END OF BLOCK blk1.
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF screen-group1 = 'ABC'.
          CLEAR: p_pc, p_app.
          IF p_chk1 = 'X'.
            screen-active = 1.
          ELSE.
            screen-active = 0.
          ENDIF.
          MODIFY SCREEN.
        ENDIF.
        IF screen-group1 = 'DEF'.
          CLEAR: p_pc, p_app.
          IF p_chk1 <> 'X'.
            screen-active = 1.
          ELSE.
            screen-active = 0.
          ENDIF.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_app.
      PERFORM get_fname_app.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_pc.
      CALL FUNCTION 'F4_FILENAME'
        IMPORTING
          file_name = p_pc.
    *&      Form  get_fname_app
          text
    FORM get_fname_app.
      DATA: c_fnh_mask TYPE dxfields-filemask VALUE '.',
      search_dir TYPE dxfields-longpath VALUE '/sapglobal/users',
      file_path LIKE dxfields-longpath.
      CALL FUNCTION 'F4_DXFILENAME_TOPRECURSION'
        EXPORTING
          i_location_flag = 'A'
          i_server        = ' '
          i_path          = search_dir
          filemask        = c_fnh_mask
          fileoperation   = 'R'
        IMPORTING
          o_path          = file_path
        EXCEPTIONS
          rfc_error       = 1
          OTHERS          = 2.
      IF sy-subrc EQ 0.
        p_app = file_path.
      ENDIF.
    ENDFORM.                    "get_fname_app

  • Date problem in selection screen

    hi all,
    in my selection screen i have two select options as follows
    select-options: s_budat for anek-budat obligatory,  (report date)
    s_budat1 for anek-budat. (posting date)
    means first date i have taken as report date and second as posting date.
    my requirement is that whenever i should input some date i should get data
    between those dates.
    so how to do this bcoz i have done it and it is woking fine for the first but not working for the second.
    so plz guide me and bfor answering keep in mind that my both dates refers to same field.
    i have given logic like this
    IF s_budat-high IS INITIAL.                                            
    v_year = s_budat-low+0(4).                                             
    v_mon = s_budat-low+4(2).                                              
    IF v_mon LT '04'.                                                      
    v_year = v_year - 1.                                                   
    CONCATENATE v_year '0401' INTO v_low.                                  
    v_high = s_budat-low.                                                  
    ELSE.                                                                  
    CONCATENATE v_year '0401' INTO v_low.                                  
    v_high = s_budat-low.                                                  
    ENDIF.                                                                 
    ELSE.                                                                  
    v_low = s_budat-low.                                                   
    v_high = s_budat-high.                                                 
    ENDIF.                                                                 
      i want in the same way s_budat1 should also work ie if we give some range of date in it then it should show data in between those dates only but it is now showing full data irrespective of date entered in second select option.
    Message was edited by:
            sanjeev singh

    hi dinesh as u told me i have already done like this but i am not getting the output
    when i am entering data in second selectoption s_budat1 it is still considering the
    date entered according to date entered in s_budat select option.
    i have debuged it also in which i found that after taking date from s_budat
    it is not going to s_budat it is simply jumping out.
    so here i am sending my code if u can solve it then i will be gratefull to u.
    REPORT Z_FA_ACQ  NO STANDARD PAGE HEADING
                     LINE-SIZE 400
                     LINE-COUNT 65(3).
    TYPE-POOLS : SLIS.
    TABLES : ANLA,               "ASSET MASTER RECORD-SEGMENT
             ANLZ,               "time dependent asset allocations
             ANLC,               "Asset-value fields
             ANEP,               "Asset line item
             ANEK.               "Document header asset posting
    *Internal Table Declaration
    DATA : BEGIN OF T_ANLA OCCURS 0,
           BUKRS LIKE ANLA-BUKRS,  "Company code
           ANLN1 LIKE ANLA-ANLN1,  "Main asset number
           ANLN2 LIKE ANLA-ANLN2,  "Asset sub-number
           AKTIV LIKE ANLA-AKTIV,  "Asset capitalization date
           TXT50 LIKE ANLA-TXT50,  "Name of asset
           ZUGDT LIKE ANLA-ZUGDT,  "Asset value date of the first posting
           MENGE LIKE ANLA-MENGE,  "Quantity
           MEINS LIKE ANLA-MEINS,  "Base unit of measure
           ANLKL LIKE ANLA-ANLKL,  "Asset class
           END OF T_ANLA.
    DATA : BEGIN OF T_ANLZ OCCURS 0,
           BUKRS LIKE ANLZ-BUKRS,
           ANLN1 LIKE ANLZ-ANLN1,
           ANLN2 LIKE ANLZ-ANLN2,
           GSBER LIKE ANLZ-GSBER,   "Business area
           KOSTL LIKE ANLZ-KOSTL,   "Cost center
           STORT LIKE ANLZ-STORT,   "Asset location
           RAUMN LIKE ANLZ-RAUMN,   "Room
           KFZKZ LIKE ANLZ-KFZKZ,   "License plate no. of vehichle
           WERKS LIKE ANLZ-WERKS,   "Plant
           END OF T_ANLZ.
    DATA : BEGIN OF T_ANEK OCCURS 0,
           BUKRS LIKE ANEK-BUKRS,
           ANLN1 LIKE ANEK-ANLN1,
           ANLN2 LIKE ANEK-ANLN2,
           BELNR LIKE ANEK-BELNR,
           BUDAT LIKE ANEK-BUDAT,   "Posting date in document
           BZDAT LIKE ANEK-BZDAT,   "Asset value date
           BLDAT LIKE ANEK-BLDAT,   "Document date in document
           BUZEI LIKE ANEK-BUZEI,   "Line item number within the accounting
           XBLNR LIKE ANEK-XBLNR,   "Reference document number
           SGTXT LIKE ANEK-SGTXT,    "Item text
           GJAHR LIKE ANEK-GJAHR,    "Fiscal year
           LNRAN LIKE ANEK-LNRAN,"Sequence number of asset line items in fis
           END OF T_ANEK.
    DATA : BEGIN OF T_ANLC OCCURS 0,
           BUKRS LIKE ANLC-BUKRS,
           ANLN1 LIKE ANLC-ANLN1,
           ANLN2 LIKE ANLC-ANLN2,
           ANSWL LIKE ANLC-ANSWL, "Acquisition value reducing transactions f
           NAFAP LIKE ANLC-NAFAP, "Planned ordinary depreciation for the yea
           AAFAP LIKE ANLC-AAFAP,"Planned unplanned depreciation for the yea
           AFABE LIKE ANLC-AFABE, "Real depreciation area
           GJAHR LIKE ANLC-GJAHR, "Fiscal year
           END OF T_ANLC.
    DATA : BEGIN OF T_ANEP OCCURS 0,
           BUKRS LIKE ANEP-BUKRS,
           ANLN1 LIKE ANEP-ANLN1,
           ANLN2 LIKE ANEP-ANLN2,
           ANBTR LIKE ANEP-ANBTR,  "Amount posted
           NAFAB LIKE ANEP-NAFAB, "Ordinary depreciation on transactions
           GJAHR LIKE ANEP-GJAHR, "Fiscal year
           AFABE LIKE ANEP-AFABE, "Real depreciation area (01)
           BELNR LIKE ANEP-BELNR, "Accounting document number
            BUZEI LIKE ANEP-BUZEI,"Line item number within the accounting do
            LNRAN LIKE ANEP-LNRAN,"Sequence number of asset line items in fi
           END OF T_ANEP.
    DATA : BEGIN OF IT_FINAL OCCURS 0,
            ANLN1 LIKE ANLA-ANLN1,
            ANLN2 LIKE ANLA-ANLN2,
            AKTIV LIKE ANLA-AKTIV,
            TXT50 LIKE ANLA-TXT50,
            ZUGDT LIKE ANLA-ZUGDT,
            MENGE LIKE ANLA-MENGE,
            MEINS LIKE ANLA-MEINS,
            GSBER LIKE ANLZ-GSBER,
            KOSTL LIKE ANLZ-KOSTL,
            STORT LIKE ANLZ-STORT,
            RAUMN LIKE ANLZ-RAUMN,
            KFZKZ LIKE ANLZ-KFZKZ,
            BELNR LIKE ANEK-BELNR,
            BUDAT LIKE ANEK-BUDAT,
            BZDAT LIKE ANEK-BZDAT,
            BLDAT LIKE ANEK-BLDAT,
            XBLNR LIKE ANEK-XBLNR,
            SGTXT LIKE ANEK-SGTXT,
            ANBTR LIKE ANEP-ANBTR,
            NAFAB LIKE ANEP-NAFAB,
            AAFAP LIKE ANLC-AAFAP,
            ANLKL LIKE ANLA-ANLKL,
            GJAHR LIKE ANEK-GJAHR,
            END OF IT_FINAL.
    End of Internal table Declaration
    *added for date logic by sanjeev
    DATA:V_LOW LIKE SY-DATUM,
        V_HIGH LIKE SY-DATUM,
        V_MON(02) TYPE N,
        V_YEAR(04) TYPE N.
    *end of date logic
    *Declaration for Field Catalog
    DATA : LINE_COLOR(4) TYPE C.
    DATA : FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
           GD_LAYOUT TYPE SLIS_LAYOUT_ALV.
    DATA: EVENT  TYPE SLIS_ALV_EVENT OCCURS 0 WITH HEADER LINE.
    End of field catalog Declaration
    *Selection Screen Desing
    SELECTION-SCREEN : BEGIN OF BLOCK B_FA WITH FRAME TITLE TEXT-001.
    SELECT-OPTIONS : S_BUKRS FOR ANLA-BUKRS DEFAULT 'ML',
                     S_ANLN1 FOR ANLA-ANLN1,
                     S_ANLN2 FOR ANLA-ANLN2 VISIBLE LENGTH 2.
    SELECTION-SCREEN : END OF BLOCK B_FA.
    *SKIP 2.
    SELECTION-SCREEN : BEGIN OF BLOCK B_FA1 WITH FRAME TITLE TEXT-002.
    SELECT-OPTIONS : S_ANLKL FOR ANLA-ANLKL VISIBLE LENGTH 4,
                     S_AKTIV FOR ANLA-AKTIV,
                     S_GSBER FOR ANLZ-GSBER VISIBLE LENGTH 4,
                     S_KOSTL FOR ANLZ-KOSTL VISIBLE LENGTH 8,
                     S_WERKS FOR ANLZ-WERKS VISIBLE LENGTH 3,
                     S_STORT FOR ANLZ-STORT,
                     S_BUDAT FOR ANEK-BUDAT DEFAULT SY-DATUM.
    SELECTION-SCREEN : END OF BLOCK B_FA1.
    *SKIP 2.
    SELECTION-SCREEN : BEGIN OF BLOCK B_FA2 WITH FRAME TITLE TEXT-003.
    SELECT-OPTIONS : S_BUDAT1 FOR ANEK-BUDAT.
    SELECTION-SCREEN : END OF BLOCK B_FA2.
    *End of Selection screen design
    Logic for date
    IF S_BUDAT-HIGH IS INITIAL.
    V_YEAR = S_BUDAT-LOW+0(4).
    V_MON = S_BUDAT-LOW+4(2).
    IF V_MON LT '04'.
    V_YEAR = V_YEAR - 1.
    CONCATENATE V_YEAR '0401' INTO V_LOW.
    V_HIGH = S_BUDAT-LOW.
    ELSE.
    CONCATENATE V_YEAR '0401' INTO V_LOW.
    V_HIGH = S_BUDAT-LOW.
    ENDIF.
    *ELSE.
    *v_low = s_budat-low.
    *v_high = s_budat-high.
    ELSEIF S_BUDAT1-HIGH IS INITIAL.
    V_YEAR = S_BUDAT1-LOW+0(4).
    V_MON = S_BUDAT1-LOW+4(2).
    IF V_MON LT '04'.
    V_YEAR = V_YEAR - 1.
    CONCATENATE V_YEAR '0401' INTO V_LOW.
    V_HIGH = S_BUDAT1-LOW.
    ELSE.
    CONCATENATE V_YEAR '0401' INTO V_LOW.
    V_HIGH = S_BUDAT1-LOW.
    ENDIF.
    ELSE.
    V_LOW = S_BUDAT1-LOW.
    V_HIGH = S_BUDAT1-HIGH.
    ENDIF.
    end of logic
    *Start-of-selection
    SELECT BUKRS ANLN1 ANLN2 AKTIV TXT50 ZUGDT MENGE MEINS ANLKL
           FROM ANLA
           INTO CORRESPONDING FIELDS OF TABLE T_ANLA
           WHERE ANLN1 IN S_ANLN1
           AND   ANLN2 IN S_ANLN2
           AND   BUKRS IN S_BUKRS
           AND   ANLKL IN S_ANLKL
           AND   AKTIV IN S_AKTIV
          AND   ZUGDT >= V_LOW  " added to get the date logic work
          AND   ZUGDT <= V_HIGH. " added to get the date logic work
    CHECK : NOT T_ANLA[] IS INITIAL.
    SELECT BUKRS ANLN1 ANLN2 GSBER KOSTL STORT RAUMN KFZKZ
           FROM ANLZ
           INTO CORRESPONDING FIELDS OF TABLE T_ANLZ
           FOR ALL ENTRIES IN T_ANLA
           WHERE ANLN1 = T_ANLA-ANLN1
           AND   ANLN2 = T_ANLA-ANLN2
           AND   BUKRS = T_ANLA-BUKRS
           AND   GSBER IN S_GSBER
           AND   KOSTL IN S_KOSTL
           AND   WERKS IN S_WERKS.
    SELECT BUKRS ANLN1 ANLN2 BELNR BUDAT XBLNR SGTXT GJAHR BZDAT BLDAT BUZEI
            LNRAN FROM ANEK
           INTO CORRESPONDING FIELDS OF TABLE T_ANEK
           FOR ALL ENTRIES IN T_ANLA
           WHERE ANLN1 = T_ANLA-ANLN1
           AND   ANLN2 = T_ANLA-ANLN2
           AND   BUKRS = T_ANLA-BUKRS
           AND   BUDAT >= V_LOW    " added to get the date logic work
          AND   BUDAT <= V_HIGH  " added to get the date logic work
    AND BZDAT >= V_LOW AND BZDAT <= V_HIGH
    AND BLDAT >= V_LOW AND BLDAT <= V_HIGH.
    SELECT BUKRS ANLN1 ANLN2 ANSWL NAFAP AAFAP AFABE GJAHR
           FROM ANLC
           INTO CORRESPONDING FIELDS OF TABLE T_ANLC
           FOR ALL ENTRIES IN T_ANLA
           WHERE ANLN1 = T_ANLA-ANLN1
           AND   ANLN2 = T_ANLA-ANLN2
           AND   BUKRS = T_ANLA-BUKRS
           AND   AFABE = '01'.
    SELECT BUKRS ANLN1 ANLN2 ANBTR NAFAB GJAHR AFABE BELNR BUZEI LNRAN
           FROM ANEP
           INTO CORRESPONDING FIELDS OF TABLE T_ANEP
           FOR ALL ENTRIES IN T_ANLA
           WHERE ANLN1 = T_ANLA-ANLN1
           AND   ANLN2 = T_ANLA-ANLN2
           AND   BUKRS = T_ANLA-BUKRS
           AND   AFABE = '01'
    AND BZDAT >= V_LOW AND BZDAT <= V_HIGH.
    SORT T_ANLC BY BUKRS ANLN1 ANLN2.
    SORT T_ANLZ BY BUKRS ANLN1 ANLN2 GSBER.
    SORT T_ANEP BY BUKRS ANLN1 ANLN2 BELNR BUZEI LNRAN.
    LOOP AT T_ANLA.
      MOVE : T_ANLA-ANLN1 TO IT_FINAL-ANLN1,
             T_ANLA-ANLN2 TO IT_FINAL-ANLN2,
             T_ANLA-AKTIV TO IT_FINAL-AKTIV,
             T_ANLA-TXT50 TO IT_FINAL-TXT50,
             T_ANLA-MENGE TO IT_FINAL-MENGE,
             T_ANLA-MEINS TO IT_FINAL-MEINS.
      READ TABLE T_ANLZ WITH KEY BUKRS = T_ANLA-BUKRS
                                 ANLN1 = T_ANLA-ANLN1
                                gsber = t_anlz-gsber
                                 ANLN2 = T_ANLA-ANLN2 BINARY SEARCH.
      IF SY-SUBRC EQ 0.
        MOVE : T_ANLZ-GSBER TO IT_FINAL-GSBER,
               T_ANLZ-KOSTL TO IT_FINAL-KOSTL,
               T_ANLZ-STORT TO IT_FINAL-STORT,
               T_ANLZ-RAUMN TO IT_FINAL-RAUMN,
               T_ANLZ-KFZKZ TO IT_FINAL-KFZKZ.
      ENDIF.
      READ TABLE T_ANLC WITH KEY BUKRS = T_ANLA-BUKRS
                                 ANLN1 = T_ANLA-ANLN1
                                 ANLN2 = T_ANLA-ANLN2 BINARY SEARCH.
      IF SY-SUBRC EQ 0.
        MOVE : T_ANLC-AAFAP TO IT_FINAL-AAFAP.
      ENDIF.
    added to get the date logic work
    LOOP AT T_ANEK WHERE BUKRS = T_ANLA-BUKRS AND ANLN1 = T_ANLA-ANLN1 AND
        ANLN2 = T_ANLA-ANLN2 AND BZDAT >= V_LOW AND BZDAT <= V_HIGH
    AND BLDAT >= V_LOW AND BLDAT <= V_HIGH
    AND BUDAT >= V_LOW AND BUDAT <= V_HIGH.
        MOVE : T_ANEK-BELNR TO IT_FINAL-BELNR,
               T_ANEK-BUDAT TO IT_FINAL-BUDAT,
               T_ANEK-BZDAT TO IT_FINAL-BZDAT,
               T_ANEK-GJAHR TO IT_FINAL-GJAHR,
               T_ANEK-XBLNR TO IT_FINAL-XBLNR,
               T_ANEK-SGTXT TO IT_FINAL-SGTXT.
    READ TABLE T_ANEP WITH KEY BUKRS = T_ANEK-BUKRS
                               ANLN1 = T_ANLA-ANLN1
                               BELNR = T_ANEK-BELNR
                               LNRAN = T_ANEK-LNRAN
                               ANLN2 = T_ANLA-ANLN2.
    MOVE : T_ANEP-ANBTR TO IT_FINAL-ANBTR,
            T_ANEP-NAFAB TO IT_FINAL-NAFAB.
        APPEND IT_FINAL.
      ENDLOOP.
    ENDLOOP.
    PERFORM BUILD_FIELDCATALOG.
    PERFORM DISPLAY_ALV_REPORT.
    PERFORM BUILD_LAYOUT.
          FORM BUILD_FIELDCATALOG                                       *
    FORM BUILD_FIELDCATALOG.
      FIELDCATALOG-FIELDNAME = 'ANLN1'.
      FIELDCATALOG-SELTEXT_M = 'ASSET MAIN NO'.
      FIELDCATALOG-COL_POS   = 0.
      FIELDCATALOG-OUTPUTLEN = 14.
      FIELDCATALOG-EMPHASIZE = 'X'.
      FIELDCATALOG-KEY       = 'X'.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR FIELDCATALOG.
      FIELDCATALOG-FIELDNAME = 'ANLN2'.
      FIELDCATALOG-SELTEXT_M = 'SUB NO'.
      FIELDCATALOG-COL_POS   = 1.
      FIELDCATALOG-OUTPUTLEN = 7.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR FIELDCATALOG.
      FIELDCATALOG-FIELDNAME = 'AKTIV'.
      FIELDCATALOG-SELTEXT_M = 'CAP.DATE'.
      FIELDCATALOG-COL_POS   = 2.
      FIELDCATALOG-OUTPUTLEN = 10.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR FIELDCATALOG.
      FIELDCATALOG-FIELDNAME = 'TXT50'.
      FIELDCATALOG-SELTEXT_M = 'NAME'.
      FIELDCATALOG-COL_POS   = 3.
      FIELDCATALOG-OUTPUTLEN = 50.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR FIELDCATALOG.
      FIELDCATALOG-FIELDNAME = 'BZDAT'.
      FIELDCATALOG-SELTEXT_M = 'ASSET VALUE DATE'.
      FIELDCATALOG-COL_POS   = 4.
      FIELDCATALOG-OUTPUTLEN = 17.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR FIELDCATALOG.
      FIELDCATALOG-FIELDNAME = 'MENGE'.
      FIELDCATALOG-SELTEXT_M = 'QTY'.
      FIELDCATALOG-COL_POS   = 5.
      FIELDCATALOG-OUTPUTLEN = 13.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR FIELDCATALOG.
      FIELDCATALOG-FIELDNAME = 'MEINS'.
      FIELDCATALOG-SELTEXT_M = 'UNITS'.
      FIELDCATALOG-COL_POS   = 6.
      FIELDCATALOG-OUTPUTLEN = 3.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR FIELDCATALOG.
      FIELDCATALOG-FIELDNAME = 'GSBER'.
      FIELDCATALOG-SELTEXT_M = 'BA'.
      FIELDCATALOG-COL_POS   = 7.
      FIELDCATALOG-OUTPUTLEN = 4.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR FIELDCATALOG.
      FIELDCATALOG-FIELDNAME = 'KOSTL'.
      FIELDCATALOG-SELTEXT_M = 'COST CENTER'.
      FIELDCATALOG-COL_POS   = 8.
      FIELDCATALOG-OUTPUTLEN = 13.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR FIELDCATALOG.
      FIELDCATALOG-FIELDNAME = 'STORT'.
      FIELDCATALOG-SELTEXT_M = 'LOCATION'.
      FIELDCATALOG-COL_POS   = 9.
      FIELDCATALOG-OUTPUTLEN = 10.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR FIELDCATALOG.
      FIELDCATALOG-FIELDNAME = 'RAUMN'.
      FIELDCATALOG-SELTEXT_M = 'ROOM'.
      FIELDCATALOG-COL_POS   = 10.
      FIELDCATALOG-OUTPUTLEN = 10.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR FIELDCATALOG.
      FIELDCATALOG-FIELDNAME = 'KFZKZ'.
      FIELDCATALOG-SELTEXT_M = 'LICENSE PLATE NO'.
      FIELDCATALOG-COL_POS   = 11.
      FIELDCATALOG-OUTPUTLEN = 20.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR FIELDCATALOG.
      FIELDCATALOG-FIELDNAME = 'BELNR'.
      FIELDCATALOG-SELTEXT_M = 'DOC NO'.
      FIELDCATALOG-COL_POS   = 12.
      FIELDCATALOG-OUTPUTLEN = 13.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR FIELDCATALOG.
      FIELDCATALOG-FIELDNAME = 'BUDAT'.
      FIELDCATALOG-SELTEXT_M = 'POSTING DATE'.
      FIELDCATALOG-COL_POS   = 13.
      FIELDCATALOG-OUTPUTLEN = 15.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR FIELDCATALOG.
      FIELDCATALOG-FIELDNAME = 'XBLNR'.
      FIELDCATALOG-SELTEXT_M = 'REF NO'.
      FIELDCATALOG-COL_POS   = 14.
      FIELDCATALOG-OUTPUTLEN = 25.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR FIELDCATALOG.
      FIELDCATALOG-FIELDNAME = 'SGTXT'.
      FIELDCATALOG-SELTEXT_M = 'TEXT'.
      FIELDCATALOG-COL_POS   = 15.
      FIELDCATALOG-OUTPUTLEN = 50.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR FIELDCATALOG.
      FIELDCATALOG-FIELDNAME = 'ANBTR'.
      FIELDCATALOG-SELTEXT_M = 'ACQ VAL'.
      FIELDCATALOG-DATATYPE     = 'CURR'.
      FIELDCATALOG-DO_SUM = 'X'.
      FIELDCATALOG-COL_POS   = 16.
      FIELDCATALOG-OUTPUTLEN = 13.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR FIELDCATALOG.
      FIELDCATALOG-FIELDNAME = 'NAFAB'.
      FIELDCATALOG-SELTEXT_M = 'ORD.DEP'.
      FIELDCATALOG-DO_SUM = 'X'.
    FIELDCATALOG-DATATYPE     = 'CURR'.
      FIELDCATALOG-COL_POS   = 17.
      FIELDCATALOG-OUTPUTLEN = 13.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR FIELDCATALOG.
      FIELDCATALOG-FIELDNAME = 'AAFAP'.
      FIELDCATALOG-SELTEXT_M = 'UNPLAN DEP'.
      FIELDCATALOG-COL_POS   = 18.
      FIELDCATALOG-OUTPUTLEN = 13.
      APPEND FIELDCATALOG TO FIELDCATALOG.
      CLEAR FIELDCATALOG.
    ENDFORM.
          FORM BUILD_LAYOUT                                             *
    FORM BUILD_LAYOUT.
      GD_LAYOUT-ZEBRA = 'X'.
      GD_LAYOUT-INFO_FIELDNAME = 'LINE_COLOR'.
    ENDFORM.
          FORM DISPLAY_ALV_REPORT                                       *
    FORM DISPLAY_ALV_REPORT.
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
          EXPORTING
            I_INTERFACE_CHECK        = ' '
             I_CALLBACK_PROGRAM       = SY-REPID
            i_callback_pf_status_set = '100'
            i_callback_user_command  = sy-ucomm
            I_STRUCTURE_NAME         =
             IS_LAYOUT                = GD_LAYOUT
               IT_FIELDCAT              = FIELDCATALOG[]
            IT_EXCLUDING             =
            IT_SPECIAL_GROUPS        =
            IT_SORT                  =
            IT_FILTER                =
            IS_SEL_HIDE              =
            I_DEFAULT                = 'X'
            I_SAVE                   = ' '
            IS_VARIANT               = ' '
            IT_EVENTS                =
            IT_EVENT_EXIT            = EVENT[]
            IS_PRINT                 =
            I_SCREEN_START_COLUMN    = 0
            I_SCREEN_START_LINE      = 0
            I_SCREEN_END_COLUMN      = 0
            I_SCREEN_END_LINE        = 0
       IMPORTING
            E_EXIT_CAUSED_BY_CALLER  =
            ES_EXIT_CAUSED_BY_USER   =
           TABLES
                T_OUTTAB                 = IT_FINAL
           EXCEPTIONS
                PROGRAM_ERROR            = 1
                OTHERS                   = 2.
    ENDFORM.

  • RAR5.3 not able to cut and paste list of users to Multiple Selection screen

    CC V4.0 on ABAP system has a feature where you can cut and paste a list of many users from the clipboard to Single Values column in the Multiple Selection screen, so you can run SOD Analysis Report for all those users.  The Multiply Selection screen is a standard SAP supplied pop up screen.
    With RAR 5.3 the Multiply Selection screen design is different.  There is no longer feature to cut and paste from clipboard.  We have to input each user one at a time.  So if you have many users (20, 30, etc.) it is a time consuming task.  It is not acceptable to our business power users.
    We can import the list of users to a Custom User Group (in the Configuration Tab).  First of all, there is no mass delete on Custom User Group.  You have to delete each user one at a time which is time consuming.  The alternative is to create a new Custom User Group each time, then it becomes a maintenance nightmare.  Secondly, it is in the Configuration Tab which is only available to Administrators (fear of users changing configuation data), so the Administrator (or whomever has access to the Configuration Tab) has to maintain the Custom User Groups which is a lot of work for him or her or them.
    We talk to SAP every week.  But they are looking at this as a long time project.  Does any one of you (or your company) has the same requirements?  How do you get around it?  Did you setup some other procedures so users can cut and paste the users list and run the Risk Analysis report themselves?
    Thanks,
    John.

    This is probably a JVM issue. Are you using JInitiator or the IE native JVM?
    I suggest you turn on the JVM console, set the trace level to maximum, and then watch what happens when you attempt the copy.
    Also, check the key mapping (usually ctrl-k) that the forms applet is implementing. Perhaps ctrl-c means something else...

  • If I do NOT use any event, except AT SELECTION SCREEN, Do I get any issues?

    Hi Experts,
    Pls. let me know that, If I do NOT use any event, except AT SELECTION SCREEN, Do I/prog. get any issues? (am also using AT SELECTION SCREEN OUTPUT for list box preperation).
    For some reason(execution of the report prog. with ENTER button), am using ONLY these 2 events.
    For full detials, pls. see my other thread with title,
    Is it possible to execute a REPORT prog. with pressing of ENTER button?
    thanq

    Hi
    srinivas see this program
    i am executing this program with out any event it is not showing any error but not giving output
    when i put start-of-selection then it is showing output
    *& Report  ZNNR_REPORT33
    REPORT  ZNNR_REPORT33 NO STANDARD PAGE HEADING MESSAGE-ID ZNNR LINE-SIZE 100 LINE-COUNT 65(4).
    ******DATA DECLARATIONS**********
    DATA : BEGIN OF IT_PLANT OCCURS 0,
            MATNR LIKE MARA-MATNR,
            WERKS LIKE MARC-WERKS,
            PSTAT LIKE MARC-PSTAT,
            EKGRP LIKE MARC-EKGRP,
           END OF IT_PLANT.
    DATA : BEGIN OF IT_PONO OCCURS 0,
            EBELN LIKE EKKO-EBELN,
            EBELP LIKE EKPO-EBELP,
            MATNR LIKE EKPO-MATNR,
            WERKS LIKE EKPO-WERKS,
            LGORT LIKE EKPO-LGORT,
           END OF IT_PONO.
    TABLES EKKO.
    ********END OF DATA DECLARATIONS*********
    ********SELECTION SCREEN DESIGN ***********
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    PARAMETER : P_WERKS LIKE MARC-WERKS MODIF ID S1.
    SELECT-OPTIONS : S_EBELN FOR EKKO-EBELN NO INTERVALS MODIF ID S2.
    SELECTION-SCREEN END OF BLOCK B1.
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-004.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS : R1 RADIOBUTTON GROUP G1 DEFAULT 'X' user-command uc1.
    SELECTION-SCREEN COMMENT 5(20) TEXT-002 FOR FIELD R1.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS : R2 RADIOBUTTON GROUP G1.
    SELECTION-SCREEN COMMENT 5(20) TEXT-003 FOR FIELD R2.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK B2.
    ******END OF SELECTION SCREEN DESIGN****************
    ***********SCREEN MODIFICATIONS*******************
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF R1 EQ 'X' AND SCREEN-GROUP1 EQ 'S2'.
          SCREEN-INPUT = 0.
          MODIFY SCREEN.
        ENDIF.
        IF R2 EQ 'X' AND SCREEN-GROUP1 EQ 'S1'.
          SCREEN-INPUT = 0.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
    ********END OF SCREEN MODIFICATIONS*****************
    ***************SCREEN VALIDATIONS *****************
    at selection-screen.
      SELECT SINGLE *
               FROM EKKO
               INTO EKKO
               WHERE EBELN IN S_EBELN.
      IF SY-SUBRC <> 0.
        SET CURSOR FIELD 'S_EBELN-LOW'.
        MESSAGE E999 WITH TEXT-005.
        clear S_ebeln-low.
      ENDIF.
    ********end of screen validation*****************
      IF R1 EQ 'X'.
    *ULINE AT /1(48).
        WRITE : SY-VLINE ,2 'MATERIAL NUMBER',
                21 SY-VLINE , 22 'PLANT',
                27 SY-VLINE , 28 'STATUS',
                43 SY-VLINE , 44 'GRUP', 48 SY-VLINE.
        ULINE AT /1(48).
      ENDIF.
      IF R2 EQ 'X'.
        WRITE : SY-VLINE , 2 'PO NUMBER',
               12 SY-VLINE, 13 'ITEM',
               18 SY-VLINE,19 'MATERIAL NUMBER',
               37 SY-VLINE, 38 'PLANT',
               44 SY-VLINE, 45 'GRUP',
               49 SY-VLINE.
        ULINE AT /1(50).
      ENDIF.
    start-of-selection.
    *set pf-status '100'.
      IF R1 EQ 'X'.
        SELECT MATNR
               WERKS
               PSTAT
               EKGRP
           FROM MARC
           INTO TABLE IT_PLANT
           WHERE WERKS = P_WERKS.
        LOOP AT IT_PLANT.
          WRITE : SY-VLINE , 2 IT_PLANT-MATNR COLOR COL_KEY,
                 21 SY-VLINE , 22  IT_PLANT-WERKS COLOR COL_KEY,
                 27 SY-VLINE ,28 IT_PLANT-PSTAT COLOR COL_NORMAL,
                 43 SY-VLINE ,44 IT_PLANT-EKGRP COLOR COL_NORMAL.
        ENDLOOP.
      ENDIF.
      IF R2 EQ 'X'.
        SELECT EBELN EBELP MATNR WERKS LGORT
               FROM EKPO
               INTO TABLE IT_PONO
               WHERE EBELN IN S_EBELN.
        LOOP AT IT_PONO.
          WRITE : SY-VLINE , 2 IT_PONO-EBELN COLOR COL_KEY,
                 12 SY-VLINE , 13 IT_PONO-EBELP COLOR COL_KEY,
                 18 SY-VLINE , 19 IT_PONO-MATNR COLOR COL_NORMAL,
                 37 SY-VLINE , 38 IT_PONO-WERKS COLOR COL_NORMAL,
                 44 SY-VLINE , 45 IT_PONO-LGORT COLOR COL_NORMAL, 49 SY-VLINE..
        ENDLOOP.
      ENDIF.
      ULINE AT /1(50).
      WRITE :/10 'PAGE NUMBER', SY-PAGNO, '/' ,SY-PAGNO.
      ULINE AT /1(50).
      WRITE :/10 'PAGE NUMBER', SY-PAGNO.

  • Collective search on the Select-options field on the selection screen

    Hello experts,
                       I have a Y program and a selection screen for it. I have to get the BKPF-BELNR in the search help list. Since the table is too bulky to get all the documents form it. I thought I might need a condition of company code for fetching the documents. I have company code on the selection screen, but if I press F4, on the BELNR, my select-options internal table for <b>company code</b> is remains initial. I think for F4 events the values doesn't get populated in the internal tables, not sure.
                       Can you tell me, how to get the company code entered on the selection screen, on the F4 event. Or If this doesn't work, will collective search help solve my problem? If yes, Please let me know, which function module I can use to add a collective search to my select-options on the selection screen.
    Thanks,
    Ganesh Khumse.
    Points will be rewarded!

    Hi
    do like this
    TYPES : BEGIN OF ST_OBJID_SH,
             OTYPE TYPE HRP1000-OTYPE,
             OBJID TYPE HRP1000-OBJID,
            END OF ST_OBJID_SH.
    DATA : IT_OBJID_SH TYPE STANDARD TABLE OF ST_OBJID_SH.
    DATA : WA_OBJID_SH TYPE ST_OBJID_SH.
    ***********SELECTION SCREEN DESIGN***********************
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    *SELECT-OPTIONS : S_OTYPE FOR HRP1001-OTYPE NO INTERVALS .
    SELECT-OPTIONS : S_OBJID FOR HRP1001-OBJID NO INTERVALS .
    SELECT-OPTIONS : DATE FOR SY-DATUM NO-EXTENSION OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK B1.
    **********END OF SELECTION SCREEN DESIGN*****************
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_OBJID-LOW.
    IF S_OBJID IS NOT INITIAL.
        SELECT OTYPE OBJID FROM HRP1000
                     INTO TABLE IT_OBJID_SH
                     WHERE OTYPE = 'D'.
    IF SY-SUBRC EQ 0.
    SEARCH HELP FOR QUALIFICATION.
        CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
          EXPORTING
                 DDIC_STRUCTURE         = ' '
            RETFIELD               =  'OBJID'
                 PVALKEY                = ' '
           DYNPPROG               = SY-REPID
           DYNPNR                 = SY-DYNNR
           DYNPROFIELD            = 'S_OBJID'
                 STEPL                  = 0
                 WINDOW_TITLE           =
                 VALUE                  = ' '
           VALUE_ORG              = 'S'
                 MULTIPLE_CHOICE        = ' '
                 DISPLAY                = ' '
                 CALLBACK_PROGRAM       = ' '
                 CALLBACK_FORM          = ' '
                 MARK_TAB               =
               IMPORTING
                 USER_RESET             =
          TABLES
            VALUE_TAB              =  IT_OBJID_SH
                 FIELD_TAB              =
                 RETURN_TAB             = RETURN_TAB
                 DYNPFLD_MAPPING        =
               EXCEPTIONS
                 PARAMETER_ERROR        = 1
                 NO_VALUES_FOUND        = 2
                 OTHERS                 = 3
        IF SY-SUBRC <> 0.
              MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                      WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
      ENDIF.

  • Regarding selection screens in alv.

    Hi experts,
    SELECTION-SCREEN COMMENT 01(31) text-026 for field rastbis1.
    what is meant by this statement, and what is meant by 01(31) after comment.

    HI
    SELECTION-SCREEN COMMENT 01(31) text-026 for field rastbis1
    this statment means that
    for filed RASLBIS! put TEXT-026 as the comment at location starting at 01 loaction and up to 31 location
    after this statment for that filed from 01 location to 31 you can write any comment
    it will display on the screen
    see this example
    for radiobuttons normally the text will display before and next button
    i had changed that button first and text next like this
    REPORT  ZNNR_REPORT NO STANDARD PAGE HEADING MESSAGE-ID ZNNR LINE-SIZE 100 LINE-COUNT 65(4).
    ******DATA DECLARATIONS**********
    DATA : BEGIN OF IT_PLANT OCCURS 0,
            MATNR LIKE MARA-MATNR,
            WERKS LIKE MARC-WERKS,
            PSTAT LIKE MARC-PSTAT,
            EKGRP LIKE MARC-EKGRP,
           END OF IT_PLANT.
    DATA : BEGIN OF IT_PONO OCCURS 0,
            EBELN LIKE EKKO-EBELN,
            EBELP LIKE EKPO-EBELP,
            MATNR LIKE EKPO-MATNR,
            WERKS LIKE EKPO-WERKS,
            LGORT LIKE EKPO-LGORT,
           END OF IT_PONO.
    TABLES EKKO.
    ********END OF DATA DECLARATIONS*********
    ********SELECTION SCREEN DESIGN ***********
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    PARAMETER : P_WERKS LIKE MARC-WERKS MODIF ID S1.
    SELECT-OPTIONS : S_EBELN FOR EKKO-EBELN NO INTERVALS MODIF ID S2.
    SELECTION-SCREEN END OF BLOCK B1.
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-004.
    SELECTION-SCREEN BEGIN OF LINE.
    <b>PARAMETERS : R1 RADIOBUTTON GROUP G1 DEFAULT 'X'.
    SELECTION-SCREEN COMMENT 5(20) TEXT-002 FOR FIELD R1.</b>
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    <b>PARAMETERS : R2 RADIOBUTTON GROUP G1.
    SELECTION-SCREEN COMMENT 5(20) TEXT-003 FOR FIELD R2.</b>
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK B2.
    ******END OF SELECTION SCREEN DESIGN****************
    <b>Rewar dif usefull</b>

  • Selection Screen Layout.

    Hi,
    I need to layout a selection screen like the one below:
    RadioButton1
        Parameter1
        Select-Option1
    RadioButton2
    RadioButton3
    Items (Parameter1 and Select-Option1) should be disabled when RadioButton1 is not selected.
    I cant quite figure out how i would insert (Parameter1 and Select-Option1) between RadioButton1 and 2. I dont want to waste precious time to do research for this, so I opted to ask the experts(you..).
    Thanks,
    Frank

    Hi
    *& Report  ZNNR_SAMPLE22
    REPORT  ZNNR_SAMPLE22 NO STANDARD PAGE HEADING MESSAGE-ID ZNNR LINE-SIZE 100 LINE-COUNT 65(4).
    ******DATA DECLARATIONS**********
    DATA : BEGIN OF IT_PLANT OCCURS 0,
            MATNR LIKE MARA-MATNR,
            WERKS LIKE MARC-WERKS,
            PSTAT LIKE MARC-PSTAT,
            EKGRP LIKE MARC-EKGRP,
           END OF IT_PLANT.
    DATA : BEGIN OF IT_PONO OCCURS 0,
            EBELN LIKE EKKO-EBELN,
            EBELP LIKE EKPO-EBELP,
            MATNR LIKE EKPO-MATNR,
            WERKS LIKE EKPO-WERKS,
            LGORT LIKE EKPO-LGORT,
           END OF IT_PONO.
    TABLES EKKO.
    ********END OF DATA DECLARATIONS*********
    ********SELECTION SCREEN DESIGN ***********
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS : R3 RADIOBUTTON GROUP G1 DEFAULT 'X' USER-COMMAND UC1.
    SELECTION-SCREEN COMMENT 5(20) TEXT-002 FOR FIELD R3.
    SELECTION-SCREEN END OF LINE.
    PARAMETER : P_WERKS LIKE MARC-WERKS MODIF ID S1.
    SELECT-OPTIONS : S_EBELN FOR EKKO-EBELN NO INTERVALS MODIF ID S1.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS : R1 RADIOBUTTON GROUP G1.
    SELECTION-SCREEN COMMENT 5(20) TEXT-002 FOR FIELD R1.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS : R2 RADIOBUTTON GROUP G1.
    SELECTION-SCREEN COMMENT 5(20) TEXT-003 FOR FIELD R2.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK B1.
    ******END OF SELECTION SCREEN DESIGN****************
    ***********SCREEN MODIFICATIONS*******************
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF R3 EQ 'X' AND SCREEN-GROUP1 EQ 'S1'.
          SCREEN-INPUT = 0.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
    ********END OF SCREEN MODIFICATIONS*****************
    execute this one

  • Selection screen packed entries

    Hi ,
    i want to add a packed number in the standard selection screen designed by me.i used the below code but i want to restrict the integer value of the packed number to 3 places.
    like i should allow to enter values of format XXX.X and only 5 chars
    SELECTION-SCREEN BEGIN OF line.
    SELECTION-SCREEN COMMENT 1(9) text-012.
    parameters:  Packed TYPE p decimals 1 modif id sc1 .
    SELECTION-SCREEN END OF line.
    how to do this..
    thanks,
    Vinay

    if u use char 5 then u have to do lot of validations for ex: say user enters decimals point twice.
    Here is another solution:
    SELECTION-SCREEN BEGIN OF line.
    SELECTION-SCREEN COMMENT 1(9) text-012.
    parameters: Packed(3) TYPE p decimals 1 modif id sc1.
    SELECTION-SCREEN END OF line.
    at selection-screen.
    data:l_val type i.
    if Packed is not initial.
    l_val = Packed.
    if l_val > 1000.
      message e303(me) with 'Wrong format, enter in this format:(___._)'.
    endif.
    endif.
    Regards,
    Joy.

  • Designing the table grid in subscreen in a selection screen..

    Hi all,
    Actually my requirement is there is a check box in the selection screen,If its checked then we have to display a subscreen with the details
    "Emp type"      "Empname"        "Monthly"      "Yearly"
       PM                Glen                 50000         600000          
       SM                Cross               40000         480000          
       TM                Mary                40000         480000          
       GM                Hary                 60000         720000          
    should be dislayed as a table grid.
    I have designed the screen but its not possible to give the headers
    "Emp type"      "Empname"        "Monthly"      "Yearly"
    Can anyone solve this issue for me..Thanks in advance

    I know to call the window but my problem is
    I have defined subscreen as:
    SELECTION-SCREEN BEGIN OF SCREEN 300 AS WINDOW.
    SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-030.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS : c_air AS CHECKBOX MODIF ID sss USER-COMMAND ucom.
    SELECTION-SCREEN COMMENT 4(18) text-003 FOR FIELD p_air.
    PARAMETERS : p_air TYPE vbak-vbeln MODIF ID sss .
    **SELECTION-SCREEN COMMENT 34(10) text-004 FOR FIELD p_air1.
    **It is not accepting this
    PARAMETERS : p_air1 TYPE p DECIMALS 2.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK b3.
    SELECTION-SCREEN END OF SCREEN 300.
    i am able to see one comment but can i display more than one comment

  • How to design selection screen with WAD 3.x Web Items

    Hi Guruu2019s,
    I have a requirement where I need to design a selection screen by using WAD 3.x web items. In the selection screen we have to include the Query Description - in the left corner of the selection screen, Name of Sales Person u2013 left side of the screen, Date from and Date to u2013 right side of the selection screen, User ID and User Name u2013 on the top right of the selection screen etc., after this on the bottom of the selection screen I have to include the pushbutton RUN REPORT.
    After filling all the above parameters and click on Run Report it has to trigger another URL link which contains consolidated Sales CRM Report.
    Could any one suggest me and provide me the idea on developing the selection screen with WAD 3.x Web items and is there any other interface to trigger the other URL link when I click on Run Report.
    Regards
    Venkat

    no replies. Closing the incident

  • Query Selection Screen in Report Designer/WAD

    Hi Gurus,
    Please help. Iam try to copy two BEx queries into one report using Report Designer & Web Application Designer. Iam sucessfull in it, however when I execute the report either by report designer or WAD, the report does not populate the selection screen, it just gives you the output of the two queires into one page. Is there a pre-settings we need to perform to get the selection screen for each of this report?
    Thanks!

    Hi,
    Front-end upgrade will not help in this case. This feature "Display Variable Screen [VARIABLE_SCREEN]" was introduced in SP8 backend. You need SP8 backend to be able to use it.
    You will find this setting in "Properties" -> "Web Template" (in combo box) -> "Web Template Parameters" -> "Behaviour" -> "Display Variable Screen"
    This setting is defined in metadata and required an implementation on Java side (also SP8 required)
    Regards, Karol Kalisz
    SAP BI Development

  • F4 help for the selection screen field designed in screen painter

    Hi all,
    I have designed selection screen in the screen painter. in that for one of the fields i have to give f4 help. for that i have writter the code in PAI event. in this event i have used the standard Function module for f4 help. but no f4 help is comming for that field. can any body suggest what i have to do.
    Thanks & Regards,
    Giri.

    Hi,
    You must use the correct event to meet ur requirement use  POV event instead of  PAI event.
    for more clarification and example program see  below the demo program
    DEMO_DYNPRO_F4_HELP_DYNPRO
    DEMO_DYNPRO_F4_HELP_MODULE
    Cheers
    fareed

  • Problem in designe selection screen

    Hi Experts,
                    i have to design a selection screen like
    Month ->  january to sepetmber
    tear ->     2005  to current year
    i am using the field delivery_date for this purpose(which has no data element). the field is dats and lenth 8 it contains value like 01.01.2005.
    how could i make this possible. please hep me out.
    Thank you for the help.

    Hi,
    You can use VRM_SET_VALUES for this requirement.
    Thanks & Regards,
    Vamsi.

  • Designing a selection screen

    How can we design a selection screen.
    a.select-option  /  Purchase document number
    b.provide F1 help for the field.

    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS:  s_EBELN  FOR   ekko-EBELN.
    SELECTION-SCREEN END OF BLOCK b1.
    F1 help will be automatucally provided.

Maybe you are looking for

  • Update Z table from Custom pop up screen

    Hi All, I need to enhance  CC01 transaction. CC01 is used to create Change Numbers. My requirement is when Profile(Input field in CC01) is entered into initial screen of CC01 and enter key is hit, a custom pop up screen should be raised. This pop up

  • MSI 6667BB-003US Sees 16GB Compact Flash Card as 34MB

    I just got a MSI 6667BB-003US nettop from Newegg and am trying to use the onboard compact flash slot. I got a 16GB Kingston compact flash card to use with this computer but the computer only sees it as 34MB. The BIOS doesn't give me any options to ch

  • Updated Final Cut Pro X won't let me open old projects

    Final Cut Pro X wasn't launching, so I updated it to the latest version. Now it's opening, but it won't let me open my old projects, and when I try to update my old projects to the new version, the app crashes. What do I do?

  • Is my MBP fry? please Help!

    I think I fry my early 2008 MBP I have ask at the mac forum but my question is on page 5 after only 16 hours and 0 answer. I have rely on the technical advise of many of you before I know you are capable and helpful. Here it goes: Yesterday was a bad

  • Transpose columns and rows / Switch columns and rows

    Hello, Is it possible to interchange columns and rows in order to create a left-to-right scrolling table instead of a top-to-bottom scrolling one? In detail: I have this:       | col 1 | col 2 | col 3 row 1 |       |       | row 2 |       |       | r