TO HAVE USER DEFINED SELECTION SCREEN USING LOGICAL DATABASE AFI

AFI is the logical database i need to use, but if i include the AFI is the program attributes, i get the selection screen which is already there for AFI, but i need to get the selection screen, that i have defined

Hi ,
you can exclude sel. from ldb with
loop at screen - statement
and you can include your own sel-option and parameters
regards Andreas

Similar Messages

  • User defined Selection screen for Logical database

    hi all,
           can we display a user defined selection screen instead of the default selection screen in LDB . eg pnp
    cheers
    senthil

    Hi,
    to my knowledge, the selection screen of a logical database can only be changed (versions!) in the logical database itself.
    What you can do is, write a program with your own selection screen an then either call another program that uses the LDB or -  much better - you call the LDB from your program with function module LDB_PROCESS!
    Example taken from the example library (TA ABAPDOCU):
    <b>REPORT demo_logical_database.
    DATA wa_spfli TYPE spfli.
    SELECT-OPTIONS s_carr FOR wa_spfli-carrid.
    DATA: callback TYPE TABLE OF ldbcb,
          callback_wa LIKE LINE OF callback.
    DATA: seltab TYPE TABLE OF rsparams,
          seltab_wa LIKE LINE OF seltab.
    callback_wa-ldbnode     = 'SPFLI'.
    callback_wa-get         = 'X'.
    callback_wa-get_late    = 'X'.
    callback_wa-cb_prog     = sy-repid.
    callback_wa-cb_form     = 'CALLBACK_SPFLI'.
    APPEND callback_wa TO callback.
    CLEAR callback_wa.
    callback_wa-ldbnode     = 'SFLIGHT'.
    callback_wa-get         = 'X'.
    callback_wa-cb_prog     = sy-repid.
    callback_wa-cb_form     = 'CALLBACK_SFLIGHT'.
    APPEND callback_wa TO callback.
    seltab_wa-kind = 'S'.
    seltab_wa-selname = 'CARRID'.
    LOOP AT s_carr.
      MOVE-CORRESPONDING s_carr TO seltab_wa.
      APPEND seltab_wa TO seltab.
    ENDLOOP.
    CALL FUNCTION 'LDB_PROCESS'
         EXPORTING
              ldbname                     = 'F1S'
              variant                     = ' '
         TABLES
              callback                    = callback
              selections                  = seltab
         EXCEPTIONS
              ldb_not_reentrant           = 1
              ldb_incorrect               = 2
              ldb_already_running         = 3
              ldb_error                   = 4
              ldb_selections_error        = 5
              ldb_selections_not_accepted = 6
              variant_not_existent        = 7
              variant_obsolete            = 8
              variant_error               = 9
              free_selections_error       = 10
              callback_no_event           = 11
              callback_node_duplicate     = 12
              OTHERS                      = 13.
    IF sy-subrc <> 0.
      WRITE: 'Exception with SY-SUBRC', sy-subrc.
    ENDIF.
    FORM callback_spfli USING name  TYPE ldbn-ldbnode
                              wa    TYPE spfli
                              evt   TYPE c
                              check TYPE c.
      CASE evt.
        WHEN 'G'.
          WRITE: / wa-carrid, wa-connid, wa-cityfrom, wa-cityto.
          ULINE.
        WHEN 'L'.
          ULINE.
      ENDCASE.
    ENDFORM.
    FORM callback_sflight USING name  TYPE ldbn-ldbnode
                                wa    TYPE sflight
                                evt   TYPE c
                                check TYPE c.
      WRITE: / wa-fldate, wa-seatsocc, wa-seatsmax.
    ENDFORM.</b>

  • Customize selection screen of logical database AFI of report RIAUFK20 ?

    Hi Experts,
    I have to customize the report RIAUFK20 which use logical database AFI.
    I have to do the following:
    - Change the field labels of some fields in the selection screen.
    - Add more field into selection screen which does not appear in the nodes of logical database structure, for example TIDNR in table EQUZ.
    So what is the best way to achieve that result?
    I intended to copy the AFI into ZAFI and change, but still struggle with add fields which does not appear in the structure of logical database.
    Any help is appreciated, thanks!

    Specify your logical database on Program "attributes".
    It will display the standard selection screen of LDB. Now in your report, create selection screen as in other programs for the additional fields.
    It will first display the field of LDB, followed by fields provided by your selection screen.

  • Problem with user defined selection-screens

    Hi,
    in my case, i have a default selection screen and a user defined selection screen. Now, after selecting a radio button in default selection screen, the user defined selection screen is called. after executing it report output is displayed. now if i press f3 (back) it is going to default selection screen. here my requirement is, when i press f3 it should go to the user defined selection.
    Can u plz help me solve this.
    bye n regards
    sree

    Any modifications to screen 1000 will be lost the next time the program is generated.
    When the user hits the back key from the report output, your ABAP is restarted just like when you originally started it.  That is why you are getting the default selection screen again.
    Use the AT USER-COMMAND event.  When BACK is hit from the report, use the SUBMIT command to re-execute the program, passing it the selections from the default selection screen.  Leave out the RETURN option.
    For help on filling the selection screen during SUBMIT, help is available at
    http://help.sap.com/saphelp_470/helpdata/en/9f/dba51a35c111d1829f0000e829fbfe/frameset.htm

  • Problem with ALV and user defined selection screen. please help!

    Hi Experts,
           I have program which has a user defined selection screen 9001. On executing the selection screen i call a ALV using resuse_alv_grid function module.
    What problem I am facing is that when I press back button from ALV page it goes to the se38 editor instead of selection screen.
    How to resolve this?
    Thanks
    Gopal

    Hi,
    This might be due to LEAVE TO TRANSACTION statement. You might be running the program from SE38. Try to run the program using Z-TCode assigned to it.
    Thanks and Regards,
    Bharat Kumar Reddy.V
    Message was edited by: Bharat Reddy V

  • User defined selection screen

    Hi, In my program i used a default seelction screen and 5 user defined selection screen. Based on the selections made in default selection screen, it should go to the corresponding user defined screen.
    and the problem iam getting if i press enter jey insted of F8.
    ""Selection screen ZP2I_MASSCHANGE_TEMP1 1000 was
    not called using CALL SELECTION-SCREEN"""
    the code is as follows.
          A T   S E L E C T I O N-S C R E E N
    *AT SELECTION-SCREEN.
    AT SELECTION-SCREEN ON RADIOBUTTON GROUP rgp1.
    CHECK SY-UCOMM EQ 'ONLI' OR SY-UCOMM EQ 'CRET' .
    Download
      IF r_dwnld = c_check.
    Material Screen Call
        IF r_matplt = c_check.
          CLEAR p_werks7.
          sree = 'A'.
          CALL SELECTION-SCREEN 170.
          ENDIF.
    Material Storage Screen Call
        IF r_matstr = c_check.
          CLEAR p_werks1.
          sree = 'B'.
          CALL SELECTION-SCREEN 110.
        ENDIF.
    Material Handling Screen Call
        IF r_mathan = c_check.
          CLEAR p_werks2.
          sree = 'C'.
          CALL SELECTION-SCREEN 120.
        ENDIF.
    Material Pick/Up Delivery Screen Call
        IF r_pcdt = c_check.
          CLEAR p_werks3.
          sree = 'D'.
          CALL SELECTION-SCREEN 130.
        ENDIF.
    Material Inboundlogistics Screen Call
        IF r_inlogs = c_check.
          CLEAR p_werks4.
          sree = 'E'.
          CALL SELECTION-SCREEN 140.
        ENDIF.
    Material Packaging Screen Call
        IF r_pkng = c_check.
          CLEAR p_werks5.
          sree = 'F'.
          CALL SELECTION-SCREEN 150.
        ENDIF.
      ENDIF.
    Upload Screen Call
      IF r_upld = c_check.
        IF ( r_matplt = c_check OR
           r_matstr = c_check OR
           r_mathan = c_check OR
           r_pcdt   = c_check OR
           r_inlogs = c_check OR
           r_pkng   = c_check  ).
          CLEAR p_uload.
          sree = 'G'.
          CALL SELECTION-SCREEN 160.
        ENDIF.
      ENDIF.
         s T A R T - O F - S E L E C T I O N
    START-OF-SELECTION.
    DOWNLOAD
      CASE sree.
        WHEN 'A'.
    Select Material Details
          PERFORM get_material_data.
          IF NOT tbl_matplt[] IS INITIAL.
            IF p_dalv7 = c_check.
    Display list in ALV
              PERFORM setup_alv_report.
            ELSE.
    Download Storage data into local file
              PERFORM download_file USING  p_matdet.
            ENDIF.
          ELSE.
            MESSAGE s020.
          ENDIF.
          CALL SELECTION-SCREEN 170.
    Select Material storage data
        WHEN 'B'.
          PERFORM get_storage_data.
          IF NOT tbl_matstr[] IS INITIAL.
            IF p_dalv1 = c_check.
    Display list in ALV
              PERFORM setup_alv_report.
            ELSE.
    Download Storage data into local file
              PERFORM download_file USING  p_matstr.
            ENDIF.
          ELSE.
            MESSAGE s020.
          ENDIF.
          CALL SELECTION-SCREEN 110.
    Select Material Handling data
        WHEN 'C'.
          PERFORM get_materialhandling.
          IF NOT tbl_mathand[] IS INITIAL.
            IF p_dalv2 = c_check.
    Display list in ALV
              PERFORM setup_alv_report.
            ELSE.
    Download Material Handling data into local file
              PERFORM download_file USING  p_mathan.
            ENDIF.
          ELSE.
            MESSAGE s020.
          ENDIF.
          CALL SELECTION-SCREEN 120.
    Select Pick/Up DayTime data
        WHEN 'D'.
          PERFORM get_pickup_delivery.
          IF NOT tbl_pcdel[] IS INITIAL.
            IF p_dalv3 = c_check.
    Display list in ALV
              PERFORM setup_alv_report.
            ELSE.
    Download Pick/Up DayTime data into local file
              PERFORM download_file USING  p_pcdt.
            ENDIF.
          ELSE.
            MESSAGE s020.
          ENDIF.
          CALL SELECTION-SCREEN 130.
    Select Inbound Logistics data
        WHEN 'E'.
          PERFORM get_inboundlogistics.
          IF NOT tbl_inlog[] IS INITIAL.
            IF p_dalv4 = c_check.
    Display list in ALV
              PERFORM setup_alv_report.
            ELSE.
    Download Inbound Logistics data into local file
              PERFORM download_file USING  p_inlogs.
            ENDIF.
          ELSE.
            MESSAGE s020.
          ENDIF.
          CALL SELECTION-SCREEN 140.
    Select Packaging data
        WHEN 'F'.
          PERFORM get_packaging.
          IF NOT tbl_pkng[] IS INITIAL.
            IF p_dalv5 = c_check.
    Display list in ALV
              PERFORM setup_alv_report.
            ELSE.
    Download Packaging data into local file
              PERFORM download_file USING  p_pkng.
            ENDIF.
          ELSE.
            MESSAGE s020.
          ENDIF.
          CALL SELECTION-SCREEN 150.
        WHEN 'G'.
    Material Details data upload
          IF r_matplt = c_check.
    Free memory IDs corresponding to upload tables
            PERFORM free_memory.
    Upload Material details from local file
            PERFORM load_file USING p_uload.
    Prepare data
            PERFORM prepare_mat_data.
    Get actual Material Details from ZP2_MATPLT
            PERFORM get_old_material_data.
    Validate new data against database entries
            PERFORM validate_material_data.
    Check Plant authorization
    Move plants to itab.
            REFRESH tbl_plts.
            LOOP AT tbl_matplt.
              tbl_plts-werks = tbl_matplt-werks.
              APPEND tbl_plts.
              CLEAR  tbl_plts.
            ENDLOOP.
            DELETE ADJACENT DUPLICATES FROM tbl_plts
            COMPARING werks.
    Check authoriztions
            PERFORM check_plant_authorization1 TABLES tbl_plts.
            REFRESH tbl_plts.
            IF p_trun IS INITIAL.
    Modify material data
              PERFORM modify_zp2_matplt.
            ENDIF.
    Material Storage data upload
            IF r_matstr = c_check.
    Free memory IDs corresponding to upload tables
              PERFORM free_memory.
    Upload material storage data from local file
       PERFORM load_matstr_data USING p_uload.
              PERFORM load_file USING p_uload.
    Get the material storage data from database
              PERFORM get_old_storage_data.
    Get material plant data for the corresponding
    Storage data.
              PERFORM get_matplt_data_storage.
    Get data from table fields
              PERFORM get_tblfld_values.
    Validate data against database entries
              PERFORM validate_storage_data.
    Check Plant authorization
    Move plants to itab.
              REFRESH tbl_plts.
              LOOP AT tbl_matstr.
                tbl_plts-werks = tbl_matstr-werks.
                APPEND tbl_plts.
                CLEAR  tbl_plts.
              ENDLOOP.
              DELETE ADJACENT DUPLICATES FROM tbl_plts
              COMPARING werks.
    Check authoriztions
              PERFORM check_plant_authorization1 TABLES tbl_plts.
              REFRESH tbl_plts.
              IF p_trun IS INITIAL.
    Modify material storage data
                PERFORM modify_zp2matstr_table.
              ENDIF.
            ENDIF.
    Material Handling data upload
            IF r_mathan = c_check.
    Free memory IDs corresponding to upload tables
              PERFORM free_memory.
    Upload material Handling data from local file
              PERFORM load_file USING p_uload.
    Get the material Handling data from database
              PERFORM get_old_materialhandling.
    Get material plant data for the corresponding
    handling data.
              PERFORM get_matplt_data_handling.
    Validate data against database entries
              PERFORM validate_handling_data.
    Check Plant authorization
    Move plants to itab.
              REFRESH tbl_plts.
              LOOP AT tbl_mathand.
                tbl_plts-werks = tbl_mathand-werks.
                APPEND tbl_plts.
                CLEAR  tbl_plts.
              ENDLOOP.
              DELETE ADJACENT DUPLICATES FROM tbl_plts
              COMPARING werks.
    Check authoriztions
              PERFORM check_plant_authorization1 TABLES tbl_plts.
              REFRESH tbl_plts.
              IF p_trun IS INITIAL.
    Modify material handling data
                PERFORM modify_zp2mathand_table.
              ENDIF.
       ELSEIF sy-ucomm = c_s.
         LEAVE SCREEN.
            ENDIF.
    Material Pick/Up DayTime data upload
            IF r_pcdt = c_check.
    Free memory IDs corresponding to upload tables
              PERFORM free_memory.
    Upload Pick/Up DayTime file data from local file
              PERFORM load_file USING p_uload.
    Get the Pick/Up DayTime data from database
              PERFORM get_old_pickup_delivery.
    Get Inbound logistics data corresponding to handling
              PERFORM get_inlogs_pcdel.
    Validate data against database entries
              PERFORM validate_pcdel_data.
    Check Plant authorization
    Move plants to itab.
              REFRESH tbl_plts.
              LOOP AT tbl_pcdel.
                tbl_plts-werks = tbl_pcdel-werks.
                APPEND tbl_plts.
                CLEAR  tbl_plts.
              ENDLOOP.
              DELETE ADJACENT DUPLICATES FROM tbl_plts
              COMPARING werks.
    Check authoriztions
              PERFORM check_plant_authorization1 TABLES tbl_plts.
              REFRESH tbl_plts.
              IF p_trun IS INITIAL.
    Modify Pick/Up DayTime table
                PERFORM modify_zp2pcdt_table.
              ENDIF.
       ELSEIF sy-ucomm = c_s.
         LEAVE SCREEN.
            ENDIF.
    Material Inbound Logistics data upload
            IF r_inlogs = c_check.
    Free memory IDs corresponding to upload tables
              PERFORM free_memory.
    Upload Inbound Logistics file data from local file
              PERFORM load_file USING p_uload.
    Get the Inbound Logistics data from database
              PERFORM get_old_inboundlogistics.
    Get data from table fields
              PERFORM get_tblfld_values.
    Get Vendor data
              PERFORM get_vendor_inlog.
    Get material plant data for the corresponding
    Inboundlogistics data.
              PERFORM get_matplt_data_inlog.
    Validate data against database entries
              PERFORM validate_inlog_data.
    Check Plant authorization
    Move plants to itab.
              REFRESH tbl_plts.
              LOOP AT tbl_inlog.
                tbl_plts-werks = tbl_inlog-werks.
                APPEND tbl_plts.
                CLEAR  tbl_plts.
              ENDLOOP.
              DELETE ADJACENT DUPLICATES FROM tbl_plts
              COMPARING werks.
    Check authoriztions
              PERFORM check_plant_authorization1 TABLES tbl_plts.
              REFRESH tbl_plts.
              IF p_trun IS INITIAL.
    Modify Inbound Logistics table
                PERFORM modify_zp2inlog_table.
              ENDIF.
            ENDIF.
    Packaging data upload
            IF r_pkng = c_check.
    Free memory IDs corresponding to upload tables
              PERFORM free_memory.
    Upload Packaging file data from local file
              PERFORM load_file USING p_uload.
    Get the Packaging data from database
              PERFORM get_old_packaging.
    Get material plant data for the corresponding
    Packaging data.
              PERFORM get_matplt_data_pkng.
    Get Vendor data
              PERFORM get_vendor_pkng.
    Get data from table fields
              PERFORM get_tblfld_values.
    Load Primary container reference data
              PERFORM primary_container_data.
    Validate data against database entries
              PERFORM validate_packaging_data.
    Check Plant authorization
    Move plants to itab.
              REFRESH tbl_plts.
              LOOP AT tbl_pkng.
                tbl_plts-werks = tbl_pkng-werks.
                APPEND tbl_plts.
                CLEAR  tbl_plts.
              ENDLOOP.
              DELETE ADJACENT DUPLICATES FROM tbl_plts
              COMPARING werks.
    Check authoriztions
              PERFORM check_plant_authorization1 TABLES tbl_plts.
              REFRESH tbl_plts.
              IF p_trun IS INITIAL.
    Modify Packaging data
                PERFORM modify_zp2pckg_table.
              ENDIF.
            ENDIF.
          ENDIF.
       IF p_trun = c_check.
    Display the Error list
        PERFORM display_result.
          CALL SELECTION-SCREEN 160.
      ENDIF.
      ENDCASE.
    Another problem is If i press BACK on the report output, it is coming to the default selection screen. and my requirement is, it should come to the corressponding user defined selection screen and not the default selection screen.
    PLz help me in this regard.. Iam breaking my heading, but could not able to solve it.
    Thanks in advance
    sree

    Hello,
    You must have defined user command for the radio button. This is not required. Just try putting it in at selection screen. AT SELECTION-SCREEN ON RADIOBUTTON GROUP rgp1.
    the moment the user clicks the radio button it will go to this event and call the screen. Just use AT SELECTION-SCREEN.
    Regards,
    Shekhar Kulkarni

  • How to define our own selection screen for logical database  in abap-hr?

    Hi Friends,
    Can u please help me
    How to define your own selection screens for  logical database.
    we use to do like(goto->attributes-HRReportcatagerious ).but How to desin using  customer table like t599c, t599f and how to add to my logical database?
    Thanks in advance
    charan

    check out this online help
    http://help.sap.com/saphelp_erp2004/helpdata/en/9f/dba65c35c111d1829f0000e829fbfe/frameset.htm
    Regards
    Raja

  • Transporting user defined selection screen from one server to another

    How to transport a user defined selection screen (0100) from one server to another.
    PBO and PAI modules written in PBO and PAI events for the selection screen are
    not transported.
    How to transport the modules in the events for the selection screen.

    Hi,
    Krishna, <b>All</b> the Objects(prms,classes,tables,stru...) will be transported thru Transport Objects only..
    Check Utilities->version->Version Mgt -> Here u will have the Transport number(if it's created under trnasportable obj).If you do not find TP no,then u would hav saved that as a Local Object.
    Then Relase the TP no from SE10 Trnx.
    Rgds,
    Jothi.P

  • How to pass a default value in selection screen of logical database pnpce

    Dear All,
    Can any one tell me how to pass a default value in selection screen of logical database pnpce .
    Regards
    Rakesh Singh

    Hi Rakesh,
    Go to SE36 (logical database Builder).First enter PNPCE in Logical Database and press documentation,here you will get the details of exactly what is PNPCE and how it works.After that select selections in subojects in se36 only and enter display ,there you have the include from where you acn get the idea.
    Regards,
    Rahul

  • How to suppress the Selection Screen of Logical Database

    Hi,
    I am using one Logical Database for my report.
    I want to show my customized selection Screen.
    How can I hide the Selection Screen of Logical Database?

    Hi,
    Check the attributes of the report program where you assign the LDB. You can see the parameter Selection Screen press the F4 and check the LBD is provided any Blank screen or not.
    For some LDB's you can find the Report Category in the attribute section of the report. either you can create the new screen or standard screen might be provided with Blank.
    Check there ..
    If you don't find you can use LOOP AT SCREEN..ENDLOOP to hide the fields of LDB.
    Which LDB you are using.

  • Modify selection screen for Logical Database 'SDF'

    Hi
    I need to make a section of the standard selection screen for logical database 'SDF' invisible. I have tried the differet selection screen options of the report attributes, but none of the provided ones give me what I want.
    How can I find the name of the screen group for the "Line Item Selection" block of the selection screen so that I can make it invisible when the selection screen is displayed?
    Thanks,
    Thomas

    I tried to do this:
    Loop at screen.
             if   screen-group4 = '026'
               or screen-group4 = '027'
               or screen-group4 = '028'.
                 screen-invisible = 1.
                 modify screen.
             endif.
    endloop.
    This removed the selection text for these fields, but the Line Item Selection block is still visible, and the actual input fields are also visible. They now look like password input fields with all ***** in them.
    What am I doing wrong?
    Thanks for your help!
    Thomas

  • How to display selection screen of logical database on a screen

    Hi Experts,
    I create a screen 100, how do I display a selection screen of logical database on this screen.
    Thanks!
    Anthony

    hi
    if u are making HR report then goto attribute -> Logical database -> write PNPCE to create in build selection scree.
    regards,
    Abhilash

  • Selection screen for logical database PNP..

    hi all,
    I am having a requirement to produce a HR Report where i need to use logical database PNP. Now the issue is i need to supress some of the elements of standard selection screen of PNP and add a couple of fields of mine.
    i have been looking all around and i got few of the below methods.
    its good to use a report category.
    somewhere it says include it in ur program using selection screen block..
    can you please guide me which is the best way and what would be a perfect solution?
    thanks in advance,
    Reena

    Hi reeena,
    1. simple
    2. u want to
      a) add ur own fields
      b) suppress some fields
    3. a) is simple, just add your parameters,
       in your program, and they will appear
       b) use SCREEN logic
    4. just copy paste to get a taste of it
      (it will HIDE the PAYROLL AREA field)
      and add MATNR field
    5.
    report abc.
    TABLES : PERNR.
    PARAMETERS : MATNR LIKE MARA-MATNR.
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF SCREEN-NAME CS 'ABKRS'.
          SCREEN-INVISIBLE = '1'.
          SCREEN-INPUT = '0'.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
    regards,
    amit m.

  • Selection screen and logical database PNP

    hi all,
    I am having a requirement to produce a HR Report where i need to use logical database PNP. Now the issue is i need to supress some of the elements of standard selection screen of PNP and add a couple of fields of mine.
    i have been looking all around and i got few of the below methods.
    its good to use a report category.
    somewhere it says include it in ur program using selection screen block..
    can you please guide me which is the best way and what would be a perfect solution?
    thanks in advance,
    Reena

    In the Program Attributes, click on the pushbutton 'HR Report Category'.Click on the 'Create' icon in the pop-up  window that comes up. You will get a list of all the available Report Categories. Go through the list & if you don't find one that suits you, select one that is closest & click on the 'Copy As' icon in the menu bar..
    Now, you can remove the unwanted fields & add yours for selection. save it & and attach it to report in the attributes.
    ~Suresh

  • Custom selection field using Logical database

    Hi All,
    I have to create a program that would print out employee contracts from infotype 16.
    I am using logical database PNPCE.
    Is there a way to add "contract type" as a selection parameter in the screen that is generated by PNPCE?
    Thanks,
    ~Mark

    Hi,
    Create CTTYP(Contract type) as input parameter in the program.
    Then after GET PERNR.
    write check stmt for that field like below.
    PARAMETERS: p_cttyp type p0016-cttyp.
    GET PERNR.
    CHECK p0016-cttyp EQ p_cttyp.
    Rewards points if helpful.
    Regards,
    Srinivas Ch

Maybe you are looking for