Query for multiple selected vendors

Hi All,
I have 2 tables:
1) TNS SITE 2) Vendors having 2 columns (TNS SITE ID and Vendor Name(ABC, DeF,GHI))
I need a query where I pass the vendor from a select list with values(ABC, Def,GHI) and the records from TNS SITE should come accordingly. I have prepared one:
SELECT
A.ROW_ID ,
A.BCE_CODE,
A.TNS_SITE_ID,
RTRIM(DECODE(ABC.V_TNS_SITE_SK, null, '', 'ABC, ') ||
DECODE(DEF.V_TNS_SITE_SK, null, '', 'DeF, ') ||
DECODE(GHI.V_TNS_SITE_SK, null, '', 'GHI'),', ') VENDORS
FROM
TNS_SITE A
LEFT OUTER JOIN TNS_SITE_VENDORS ABC ON
A.S_ROW_ID=ABC.V_TNS_SITE_SK AND ABC.V_SITE_VENDOR ='ABC'
LEFT OUTER JOIN TNS_SITE_VENDORS DEF ON
A.S_ROW_ID=DEF.V_TNS_SITE_SK AND DEF.V_SITE_VENDOR ='DeF'
LEFT OUTER JOIN TNS_SITE_VENDORS GHI ON
A.S_ROW_ID=GHI.V_TNS_SITE_SK AND GHI.V_SITE_VENDOR ='GHI'
WHERE
(:P4_TNS_VENDORS IS NOT NULL
AND (((INSTR(:P4_TNS_VENDORS,'ABC') > -1) AND (ABC.V_TNS_SITE_SK IS NOT NULL))
OR ((INSTR(:P4_TNS_VENDORS,'DeF') > -1) AND (DEF.V_TNS_SITE_SK IS NOT NULL))
OR ((INSTR(:P4_TNS_VENDORS,'GHI') > -1) AND (GHI.V_TNS_SITE_SK IS NOT NULL))))
OR
(:P4_TNS_VENDORS IS NULL)
order by A.TNS_SITE_ID
But its not working and gives me all the records. Please help.

I think you're saying that the user will choose a vendor name from a Select list, then you want to show the records that match. Or if they haven't selected from the Select list, show all. Right?
In this instance, I think your problem is that your INSTR operators should compare against 0, not -1. That's what Oracle returns if it doesn't find a match.
Trying to put it gently, unless I'm totally misunderstanding your needs, you could greatly simplify the query by learning more about the various operators you can use in your WHERE clause.
For example, I don't understand why you have 3 LEFT OUTER JOINs instead of 1 and use the IN clause.
You also haven't explained enough about your data for us to know if v_tns_site_sk is ever null.
Good luck,
Stew

Similar Messages

  • Query for multiple invoice numbers.

    Hi,
    My question is if I can add multiple invoice numbers in the search field "invice number"?
    For example when I receive a balance confirmation request from a supplier and their list contains 10 invoices. Can I do a search for all 10 at the same time or I can olny do a search one by one?
    Thank you!
    Angie

    Hi,
    there's no direct possibility to query for multiple Invoice number in terms of entering e.g. 5 number for a query.
    But you can work with placeholders '_' and '%' to find multiple invoices at one time. Underscore sign stands
    for exactly one character which can have multiple value, percentage sign for multiple ones.
    Example (assuming you are using letters and numbers for invoice numbering):
    When entering 'A12_' as search String, invoices from 'A120' to 'A12z' would be found.
    When using 'A12_01_' all invoices from 'A120010' to 'A12z01z' would be found.
    When using 'A12%' all invoices starting with 'A12' - no matter about the rest would be found.
    These are only a few examples but i think when using a clever combination of wildcards and parts of the
    invoices - which often share a common component, if the invoices come from the same vendor - you'll get
    at least a small step farther.
    Regards

  • How to use the same POWL query for multiple users

    Hello,
    I have defined a POWL query which executes properly. But if I map the same POWL query to 2 portal users and the 2 portal users try to access the same page simultaneously then it gives an error message to one of the users that
    "Query 'ABC' is already open in another session."
    where 'ABC' is the query name.
    Can you please tell me how to use the same POWL query for multiple users ?
    A fast reply would be highly appreciated.
    Thanks and Regards,
    Sandhya

    Batch processing usually involves using actions you have recorded.  In Action you can insert Path that can be used during processing documents.  Path have some size so you may want to only process document that have the same size.  Look in the Actions Palette fly-out menu for insert path.  It inserts|records the current document work path into the action being worked on and when the action is played it inserts the path into the document as the current work path..

  • Return Code - Query for Multiple Rows as XML

    Hi,
    I'm executing an MSSQL stored procedure through the "Query for Multiple Rows as XML" activity in LiveCycle ES. I do this through a call statement such as this:
    { call MyStoredProc(?) }
    This works great, the stored procedure always returns a record set (with or without records). I use this activity rather than "Call Stored Procedure" because I can transform the record set into XML right away within this activity. Unfortunately any exception arising from invoking this stored procedure cannot be handled within the workflow as this activity does not have an exception handler (lightning bolt). In an attempt to handle at least some exceptions we have decided to use try/catches within the stored procedures and return different error codes. Now the problem I am faced with is that there is no way to retrieve the returned code within any of the SQL activities. We don't want to have to write an execute script for each of these SQL calls. Is there any way to do this? Seems like I'm 95% there.
    Thanks
    Nic

    Thanks for the offer, unfortunately we would need something certified by Adobe.
    Nic

  • One search help for multiple select-options in webdynpro abap

    Hi,
    I need a way to use one search help for multiple select-options fields. My scenario is :
    I have a table for keeping different organizational units' values of different systems. I have pasted some sample data from this table at the end of this mail. On the screen I want to have 1 select-options filed for werks, and 1 select-options filed for vkorg. (In fact I will have more org. unit fields...) In the beginning of my application the user will select sid.
    If the user selects ADS as SID, when he opens search-help for the first org. unit (werks), he will see the records with SID: ADS, VARBL = $WERKS, LANGU = SY-LANGU.
    If the user selects AGT as SID, when he opens search-help for the second org. unit (vkorg), he will see the records with SID: AGT, VARBL = $VKORG, LANGU = SY-LANGU.
    I have created a search-help taking SIDD, VARBL and LANGU as import parameters; used field mapping and bound this search help to my table. I have created 2 context nodes : org1 and org2 having attributes SID, VARBL, VALUE, LANGU .
    I have assigned related SID, VARBL and Langu values to these attributes at runtime as I needed. That way, if I use input field and reference to the related context attributes org1-value and org2-value2 accordingly, search help works well as I want.
    However, when I use select-options field , I can not bind the field to the context data. I can give reference only to ddic structure. Is there any way to reference to a context attribute? I searched for this in SDN, but could find nothing.
    I think I won't be able to use this way. What do you say?
    As I read from forums maybe using OVS help will be suitable for me. But I have to use one search-help for all select-options fields. Do you know how I can determine the active select-options field and pass its name (for instance "werks" ) as parameter to this OVS search help. (Also I'll pass SID and LANGU.)
    MY TABLE (ZBYYT080) CONTENTS:
    SID     VARBL     VALUE     LANGU     VTEXT
    ADS     $WERKS     1     T     Werk 0001
    ADS     $WERKS     11     T     OZYAS  GIDA URETIM YERI
    ADS     $WERKS     5501     T     BOYA GEBZE FABRİKASI
    ADS     $WERKS     5502     T     BOYA CIGLI FABRİKASI
    AGT     $WERKS     2301     T     KAMLI DAMIZLIK
    AGT     $WERKS     9601     T     PANAR DENIZ URETIM YERI
    ADS     $VKORG     22     T     AA KİMYASALLAR
    ADS     $VKORG     8001     T     İINSAAT BOYALARI
    AGT     $VKORG     6500     T     DAMk St.Org
    AGT     $VKORG     5400     T     PANAR St.Org.
    I wish I'm clear enough..
    I will be gald if someone answers me as soon as possible...
    Thanks İn advance..
    MERAL

    Hi,
    Your ques is how to refer to a DDIC search help to refer to selection screen parameter ?
    Am I right ?
    If Yes, then in the interface IF_WD_SELECT_OPTIONS
    method ADD_SELECTION_FIELD, ADD_PARAMETER_FIELD etc
    have importing param like I_VALUE_HELP_TYPE and  I_VALUE_HELP_ID, I_VALUE_HELP_MODE, I_VALUE_HELP_STRUCTURE
    etc which may help you to link your create DDIC Search help to selection screen params.
    this is just a clue from my side. I haven't tried it myself.
    You can go to the where used list of this method and find some sample implementations which use these params.
    Hope this helps.
    Regards
    Manas Dua

  • Routine for multiple selection in infopackage???

    hello guys
    I thought of creating one routine for Multiple selections aT Infopackage level....in Selections screen in infopackage,I found one option 'Use Conversion routine' with a check box and it is inactive.....Is it here I need to write my routine inorder to get multiple selection for a infoobject....or is it somehwhere else?How to activate thisoption?
    Thanks,
    Regards,
    S

    Hi,
    Conversion routines are used in the BI system so that the characteristic values (key) of an InfoObject can be displayed or used in a different format to how they are stored in the database. They can also be stored in the database in a different format to how they are in their original form, and supposedly different values can be consolidated into one.
    This will be there at info object level.
    Eg : ALPHA: Fills purely numeric fields from the left with zeroes (0).
    For multiple selections at info package , in data selection tab under type , u need to select 6 and write the code to select the value.When info package runs it takes the value from routine dynamically and extracts the data based on selection.
    Eg: There is a field FISCAL PERIOD For data selection, if u write the code to select current fiscal period. then whenever info package runs it extracts the data for current fiscal period from data source to PSA.
    Thanks,
    Joseph.

  • How to set billing doc parameter for multiple selection ?????

    Hi all,
    Output for Billing
    VF31, SD70AV3A
    i would like to add ‘Multiple selection’ to the Billing Document parameter.  multiple Currently, it would only give data for one of the documents in the selection.
    According to me the billing parameter can be changed for multiple selection, need your suggestion for how to proceed with this..
    Thx in adv
    Megha

    VF31 <b>does</b> have multiple selection option for Billing document, at least in my world (4.7).

  • ABAP routine in the infopackage for Multiple Selection

    Hi experts,
    I want to include a abap routine in the infopackage for Multiple Selection so that I can fetch only the required Material Numbers when the InfoPackage is schedule. As I have the constraints that I have to select certain Material Numbers only, that are not in series - so I cannot select"BT' fuction. Tell me what ABAP Code will work in this scenario.
    Kind regards,
    Rajesh Giribuwa

    Hi,
    The Routine will have to use 'EQ' operator and Append each selections to the Structure.
    ABAP Routine
    InfoPackage definition for Bespoke SIS Structure
    Infopackage routine !
    Regards
    Happy Tony

  • In a query, for the selection field 'KNB1-ZWELS' a match-code isn't availab

    Hi All,
    Creating a query, for the selection field 'KNB1-ZWELS' a match-code isn't available.
    Could anyone tell me the reason?
    Thanks
    Gandalf

    Hi,
    Match Code Object is not available for the field ZWELS. If required, You need to contact a Developer for creating one .

  • For multiple selection...

    hi...
            for multiple selection i am using Table UI element.. For that i will put any coding for search...
      I have flighti 's in Table...Just i clk first three flight id's....and i will clk search..in next screen the three flight details only should come...for this in search button i will put any coding...
    pls tell me somebody.... urgent
    with regards,
    Gobinath.R

    Hi Gobinath,
    First you have to change the selectionMode property of the table to multi.
    Then you can use the following condition:
    for(int i = 0;i<wdContext.nodeTable.size();i++){
        if(wdContext.nodeTable.isSelected(i)){
    Where nodeTable is the datasource of the table.
    Try this out. Hope this will solve your problem.
    thanks & regards
    Manoj

  • ADF af:inputComboboxListOfValues for multiple selection

    Hi,
    Can inputComboboxListOfValues be customized for multiple selection just like SelectManyChoice so that the component can avail the search facility.
    regards

    Hi,
    here's a solution
    http://msoyer.blogspot.com/2010/01/custom-declarative-component-multi.html
    Frank
    Ps.: There is no out of the box equivalent

  • ExportFile for multiple selection

    CS5.5 - Javascript, I would like to know the exportFile method for multiple selection, for example if i have selected 4 rectangles and want to export these four objects as single jpg without grouping it. Thanks in advance.

    Hi,
    If your recs are inside a group already a possible solution is to:
    duplicate them - group - export - remove.
    Assuming recs are selected:
    var
              mDoc = app.activeDocument,
              mFile = File("~/Desktop/test1.jpg"),
              len = app.selection.length,
              tempGroup = [], mTarget;
    while (len-->0) {
              tempGroup.push( app.selection[len].duplicate() );
    mTarget = mDoc.groups.add( tempGroup );
    mTarget.exportFile(ExportFormat.JPG, mFile);
    mTarget.remove();
    Assuming a group is selected and each rec child is a target:
    var
        mDoc = app.activeDocument,
        mFile = File("~/Desktop/test2.jpg"),
        mTarget = mDoc.groups.add(app.selection[0].rectangles.everyItem().duplicate());
    mTarget.exportFile(ExportFormat.JPG, mFile);
    mTarget.remove();
    Jarek

  • How to call adobeform multiple times for multiple selection.

    Hello Experts,
    Good morning.
    I am new to ABAP,
    I am working on one program which is used for printing a bank voucher for that i have to select multiple document number (BELNR), it is running fine with selecting a single document but for multiple selection i have to call adobeform multiple times.
    Can anyone give me the solution how to do this.
    Any suggestion will be appreciated.
    Regards,
    Dipen Pandya.

    Yes i have done the same way.
    Please have a look at my code.
    REPORT zfi_print_bank_voucher.
    TABLES: bkpf,
             bseg,
             skat.
    TYPES : BEGIN OF  lv_main,
            belnr TYPE bkpf-belnr,
            xblnr TYPE bkpf-xblnr,
            ebeln TYPE bseg-ebeln,
            bankn TYPE lfbk-bankn,
            budat TYPE bkpf-budat,
            bldat TYPE bkpf-bldat,
            bedat TYPE ekko-bedat,
            bankl TYPE lfbk-bankl,
            lifnr TYPE lifnr,
            END OF lv_main.
    TYPES: BEGIN OF st_bseg,
             ebeln TYPE bseg-ebeln,
             bukrs TYPE bseg-bukrs,
             buzei TYPE bseg-buzei,
             hkont TYPE bseg-hkont,
             bschl TYPE bseg-bschl,
             saknr TYPE skat-saknr,
             txt20 TYPE skat-txt20,
             kostl TYPE bseg-kostl,
             mwsts TYPE bseg-mwsts,
             dmbtr TYPE bseg-dmbtr,
             belnr TYPE bseg-belnr,
           END OF st_bseg.
    TYPES: BEGIN OF i_desc,
             spras TYPE skat-spras,
             saknr TYPE skat-saknr,
             txt20 TYPE skat-txt20,
       END OF i_desc.
    TYPES: BEGIN OF st_bkpf,
            belnr TYPE bkpf-belnr,
            xblnr TYPE bkpf-xblnr,
            budat TYPE bkpf-budat,
            bldat TYPE bkpf-bldat,
       END OF st_bkpf.
    TYPES: BEGIN OF st_lfbk,
             bankn TYPE lfbk-bankn,
             bankl TYPE lfbk-bankl,
       END OF st_lfbk.
    TYPES: BEGIN OF st_ekko,
             ebeln TYPE ekko-ebeln,
             bedat TYPE ekko-bedat,
       END OF st_ekko.
    DATA: it_bseg TYPE STANDARD TABLE OF st_bseg,
           wa_bseg TYPE st_bseg.
    DATA: it_bkpf TYPE STANDARD TABLE OF st_bkpf,
           wa_bkpf TYPE st_bkpf.
    DATA: it_desc TYPE STANDARD TABLE OF i_desc,
           wa_desc TYPE i_desc.
    DATA: it_lfbk TYPE STANDARD TABLE OF st_lfbk,
           wa_lfbk TYPE st_lfbk.
    DATA: it_ekko TYPE STANDARD TABLE OF st_ekko,
           wa_ekko TYPE st_ekko.
    DATA: fname TYPE funcname,
           ls_outputparams TYPE sfpoutputparams,
           logo_bin TYPE xstring.
    DATA: ls_result TYPE sfpjoboutput.
    DATA: it_main TYPE STANDARD TABLE OF lv_main,
           wa_main TYPE lv_main.
    DATA: i_bseg TYPE ztt_bseg WITH HEADER LINE.
    DATA: ok_code TYPE sy-ucomm.
    SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE t001.
    SELECT-OPTIONS  bukrs FOR bkpf-bukrs OBLIGATORY DEFAULT '1000' NO-EXTENSION NO INTERVALS.
    SELECT-OPTIONS  belnr FOR bkpf-belnr OBLIGATORY.
    PARAMETERS: year LIKE bkpf-gjahr DEFAULT sy-datum+0(4) OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK blk1.
    INITIALIZATION.
       t001 = 'Enter Specific Details'.
    START-OF-SELECTION.
       PERFORM feeding_data.
       PERFORM print_form.
    *&      Form  print_form
    *       text
    FORM print_form.
       CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
         EXPORTING
           i_name     = 'ZFI_BANK_VOUCHER_FORM'
         IMPORTING
           e_funcname = fname.
       ls_outputparams-bumode = 'M'.
       CALL FUNCTION 'FP_JOB_OPEN'
         CHANGING
           ie_outputparams = ls_outputparams
         EXCEPTIONS
           cancel          = 1
           usage_error     = 2
           system_error    = 3
           internal_error  = 4
           OTHERS          = 5.
       IF sy-subrc <> 0.
         MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
       ENDIF.
       LOOP AT it_main INTO wa_main.
    *at new belnr.
         PERFORM controll_internal.
         CALL FUNCTION fname "'/1BCDWB/SM00000237'
           EXPORTING
    *   /1BCDWB/DOCPARAMS        =
             belnr_d                  = wa_main-belnr    "bkpf
             lifnr                    = wa_main-lifnr
             xblnr                    = wa_main-xblnr      "bkpf
             ebeln                    = wa_main-ebeln      "bseg
             bankn                    = wa_main-bankn      "lfbk
             budat                    = wa_main-budat      "bkpf
             bldat                    = wa_main-bldat      "bkpf
             podat                    = wa_main-bedat      "ekko
             bankl                    = wa_main-bankl      "lfbk
             itab_bseg                = i_bseg[]
    * IMPORTING
    *   /1BCDWB/FORMOUTPUT       =
          EXCEPTIONS
            usage_error              = 1
            system_error             = 2
            internal_error           = 3
            OTHERS                   = 4
         IF sy-subrc <> 0.
    * Implement suitable error handling here
         ENDIF.
       ENDLOOP.
       CALL FUNCTION 'FP_JOB_CLOSE'
         IMPORTING
           e_result       = ls_result
         EXCEPTIONS
           usage_error    = 1
           system_error   = 2
           internal_error = 3
           OTHERS         = 4.
       IF sy-subrc <> 0.
         MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
       ENDIF.
    ENDFORM.                    " PRINT_FORM
    *&      Form  FEEDING_DATA
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM feeding_data .
       SELECT ebeln
               bukrs
               buzei
               hkont
               bschl
               kostl
               mwsts
               dmbtr
               belnr
          FROM bseg INTO CORRESPONDING FIELDS OF TABLE it_bseg
                    WHERE bukrs IN bukrs
                        AND belnr IN belnr.
       SELECT saknr txt20  FROM skat
         INTO CORRESPONDING FIELDS OF TABLE it_desc
           FOR ALL ENTRIES IN it_bseg
                 WHERE saknr = it_bseg-hkont AND
                       spras = sy-langu.
       IF it_desc IS NOT INITIAL.
         LOOP AT it_bseg INTO wa_bseg.
           READ TABLE it_desc INTO wa_desc WITH KEY saknr = wa_bseg-hkont.
           IF sy-subrc = '0'.
             wa_bseg-txt20 = wa_desc-txt20.
             MODIFY it_bseg FROM wa_bseg.
           ENDIF.
         ENDLOOP.
       ENDIF.
       SELECT  * FROM bseg
               INTO CORRESPONDING FIELDS OF TABLE it_main
               WHERE belnr IN belnr AND
                     shkzg = 'S'.
       LOOP AT it_main INTO wa_main.
         SELECT SINGLE lifnr FROM bseg
           INTO wa_main-lifnr
           WHERE belnr = belnr-low.
         SELECT SINGLE bankl bankn FROM lfbk
                INTO (wa_main-bankl, wa_main-bankn)
                WHERE bankl = wa_main-lifnr.
        SELECT SINGLE budat bldat FROM bkpf
          INTO (wa_main-budat, wa_main-bldat)
          WHERE belnr = belnr-low.
         SELECT SINGLE bedat FROM ekko
                INTO wa_main-bedat
                WHERE ebeln = wa_main-ebeln.
         MODIFY it_main FROM wa_main.
         CLEAR wa_main.
       ENDLOOP.
    ENDFORM.                    " FEEDING_DATA
    *&      Form  CONTROLL_INTERNAL
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM controll_internal .
       LOOP AT it_bseg INTO wa_bseg.
    *  lw_bseg = wa_bseg.
         AT NEW belnr.
           i_bseg-buzei = wa_bseg-buzei.
           i_bseg-hkont = wa_bseg-hkont.
           i_bseg-bschl = wa_bseg-bschl.
           i_bseg-txt20 = wa_bseg-txt20.
           i_bseg-kostl = wa_bseg-kostl.
           i_bseg-mwsts = wa_bseg-mwsts.
           i_bseg-dmbtr = wa_bseg-dmbtr.
           APPEND i_bseg.
          ENDAT.
       ENDLOOP.
    ENDFORM.                    " CONTROLL_INTERNAL

  • Ghost image for multiple selection in JTree while drag and drop.

    I am unable to create a Ghost image for drag and drop with in the JTree for multiple selection, i got some examples but all are for single selection ,
    Idea of creating buffered image is good , but unable to create it for multiple selection , tried a lot but got weird results.... can any body give me any clue about this , if got any example that will be fantastic.
    Thanks & Regards
    Sandeep Mandori

    sandeep_mandori wrote:
    I am unable to create a Ghost image for drag and drop with in the JTree for multiple selection, i got some examples but all are for single selection ,
    Idea of creating buffered image is good , but unable to create it for multiple selection , tried a lot but got weird results.... can any body give me any clue about this , if got any example that will be fantastic.
    Thanks & Regards
    Sandeep MandoriTry this:
        private TreePath[] dragPath;
        private BufferedImage[] image;
        private void createDragImage(JTree tree) {
            if (dragPath != null) {
                try {
                    image = new BufferedImage[dragPath.length];
                    for (int i = 0; i < dragPath.length; i++) {
                        Rectangle pathBounds = tree.getPathBounds(dragPath);
    TreeCellRenderer r = tree.getCellRenderer();
    DefaultTreeModel m = (DefaultTreeModel)tree.getModel();
    boolean nIsLeaf = m.isLeaf(dragPath[i].getLastPathComponent());
    MutableTreeNode draggedNode = (MutableTreeNode) dragPath[i].getLastPathComponent();
    JComponent lbl = (JComponent)r.getTreeCellRendererComponent(tree, draggedNode, false ,
    tree.isExpanded(dragPath[i]),nIsLeaf, 0,false);
    lbl.setBounds(pathBounds);
    BufferedImage img = new BufferedImage(lbl.getWidth(), lbl.getHeight(),
    BufferedImage.TYPE_INT_ARGB_PRE);
    Graphics2D graphics = img.createGraphics();
    graphics.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f));
    lbl.setOpaque(false);
    lbl.paint(graphics);
    graphics.dispose();
    image[i] = img;
    } catch (RuntimeException re) {}

  • How to apply List box for multiple selection of rows  in ALV report ?

    Hi Exprots,
    1: How to apply List box for multiple selection of rows  in ALV report ?
    Thanking you.
    Subash

    hi,
    check the below program.
    REPORT zalv_dropdowns.
    *Type pools declarations for ALV
    TYPE-POOLS : slis.
    *data declarations for ALV container,ALV grid, Fieldcatalogues & layout
    DATA: g_grid  TYPE REF TO cl_gui_alv_grid,
          g_custom_container TYPE REF TO cl_gui_custom_container,
          gt_fieldcat TYPE lvc_t_fcat,
          gs_layout TYPE lvc_s_layo.*INTERNAL TABLE AND WA DECLARATIONS FOR t517 A table
    DATA: gt_outtab TYPE STANDARD TABLE OF t517a INITIAL SIZE 0,
          wa_outtab TYPE t517a.
    START-OF-SELECTION.*Call to ALV
      CALL SCREEN 600.*On this statement double click  it takes you to the screen painter SE51.
    *Create a Custom container and name it CCONT and OK code as OK_CODE.
    *Save check and Activate the screen painter.
    *Now a normal screen with number 600 is created which holds the ALV grid.
    PBO of the actual screen , Here we can give a title and customized menus
    Here we also call the subroutine for ALV output.
          MODULE PBO OUTPUT                                             *
    MODULE pbo OUTPUT.
      PERFORM alv_output.
    ENDMODULE.                    "pbo OUTPUT
          MODULE PAI INPUT                                              *
    MODULE pai INPUT.
    ENDMODULE.                    "pai INPUT
    *&      Form  BUILD_FIELDCAT
    FORM build_fieldcat.
    DATA ls_fcat TYPE lvc_s_fcat.
    *Build the field catalogue
      CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
        EXPORTING
          i_structure_name = 'T517A'
        CHANGING
          ct_fieldcat      = gt_fieldcat.
    To assign dropdown in the fieldcataogue
      LOOP AT gt_fieldcat INTO ls_fcat.   
    CASE ls_fcat-fieldname.
       WHEN 'SLART'.
    *is the first list box
            ls_fcat-drdn_hndl = '1'.
            ls_fcat-outputlen = 15.
            MODIFY gt_fieldcat FROM ls_fcat.
    is the second list box    
    WHEN 'ABART'.       
            ls_fcat-drdn_hndl = '2'.
            ls_fcat-outputlen = 15.
            MODIFY gt_fieldcat FROM ls_fcat.   
    ENDCASE.
      ENDLOOP.
    ENDFORM.                    "build_fieldcat
    *&      Form  ALV_OUTPUT
    FORM alv_output .*Create object for container
      CREATE OBJECT g_custom_container
             EXPORTING container_name = 'CCONT'.
    *create object for grid
      CREATE OBJECT g_grid
             EXPORTING i_parent = g_custom_container.
    Build fieldcat and set column
    *Assign a handle for the dropdown listbox.
      PERFORM build_fieldcat.
    *Build layout
      PERFORM build_layout.
    Define a drop down table.
      PERFORM dropdown_table.
    *fetch values from the T517A table
      SELECT * FROM t517a INTO TABLE gt_outtab.
    *Display ALV output
      CALL METHOD g_grid->set_table_for_first_display
        EXPORTING
          is_layout       = gs_layout
        CHANGING
          it_fieldcatalog = gt_fieldcat
          it_outtab       = gt_outtab.ENDFORM.                               "ALV_OUTPUT
    *&      Form  dropdown_table
          text
    -->  p1        text
    <--  p2        text
    FORM dropdown_table.*Declarations for drop down lists in ALV.
      DATA: lt_dropdown TYPE lvc_t_drop,
            ls_dropdown TYPE lvc_s_drop.
    First SLART listbox (handle '1').
      ls_dropdown-handle = '1'.
      ls_dropdown-value = '01 Primary school'.
      APPEND ls_dropdown TO lt_dropdown.  ls_dropdown-handle = '1'.
      ls_dropdown-value = '02 Lower Secondary'.
      APPEND ls_dropdown TO lt_dropdown.  ls_dropdown-handle = '1'.
      ls_dropdown-value = '03 Upper Secondary'.
      APPEND ls_dropdown TO lt_dropdown.
      ls_dropdown-handle = '1'.
      ls_dropdown-value = '04 Professional School'.
      APPEND ls_dropdown TO lt_dropdown.
      ls_dropdown-handle = '1'.
      ls_dropdown-value = '05 College'.
      APPEND ls_dropdown TO lt_dropdown.
      ls_dropdown-handle = '1'.
      ls_dropdown-value = '06 University'.
      APPEND ls_dropdown TO lt_dropdown.
      ls_dropdown-handle = '1'.
      ls_dropdown-value = '09 Other Establishment'.
      APPEND ls_dropdown TO lt_dropdown.* Second ABART listbox (handle '2').  ls_dropdown-handle = '2'.
      ls_dropdown-value = '10 Primary School certificate'.
      APPEND ls_dropdown TO lt_dropdown.
      ls_dropdown-handle = '2'.
      ls_dropdown-value = '20 Lower secondary/Junior high'.
      APPEND ls_dropdown TO lt_dropdown.  ls_dropdown-handle = '2'.
      ls_dropdown-value = '30 High school diploma(B-levels)'.
      APPEND ls_dropdown TO lt_dropdown.
      ls_dropdown-handle = '2'.
      ls_dropdown-value = '31 Vocational'.
      APPEND ls_dropdown TO lt_dropdown.  ls_dropdown-handle = '2'.
      ls_dropdown-value = '32 Matriculation'.
      APPEND ls_dropdown TO lt_dropdown.  ls_dropdown-handle = '2'.
      ls_dropdown-value = '40 Specialist vocational certificate'.
      APPEND ls_dropdown TO lt_dropdown.  ls_dropdown-handle = '2'.
      ls_dropdown-value = '50 College degree Level1'.
      APPEND ls_dropdown TO lt_dropdown.  ls_dropdown-handle = '2'.
      ls_dropdown-value = '51 College degree Level2'.
      APPEND ls_dropdown TO lt_dropdown.  ls_dropdown-handle = '2'.
      ls_dropdown-value = '52 Masters degree'.
      APPEND ls_dropdown TO lt_dropdown.  ls_dropdown-handle = '2'.
      ls_dropdown-value = '60 Univ Degree level1'.
      APPEND ls_dropdown TO lt_dropdown.  ls_dropdown-handle = '2'.
      ls_dropdown-value = '61 Bachelors degree'.
      APPEND ls_dropdown TO lt_dropdown.  ls_dropdown-handle = '2'.
      ls_dropdown-value = '62 Masters degree'.
      APPEND ls_dropdown TO lt_dropdown.  ls_dropdown-handle = '2'.
      ls_dropdown-value = '63 Licenciate'.
      APPEND ls_dropdown TO lt_dropdown.  ls_dropdown-handle = '2'.
      ls_dropdown-value = '64 Doctors Degree Ph.D'.
      APPEND ls_dropdown TO lt_dropdown.  ls_dropdown-handle = '2'.
      ls_dropdown-value = '89 None'.
      APPEND ls_dropdown TO lt_dropdown.  ls_dropdown-handle = '2'.
      ls_dropdown-value = '90 Unknown'.
      APPEND ls_dropdown TO lt_dropdown.*method to display the dropdown in ALV
      CALL METHOD g_grid->set_drop_down_table
        EXPORTING
          it_drop_down = lt_dropdown.ENDFORM.                               " dropdown_table
    *&      Form  build_layout
          text
    *layout for ALV output
    FORM build_layout .  gs_layout-cwidth_opt = 'X'.
      gs_layout-grid_title = 'ALV DROPDOWN LISTS'.
      gs_layout-no_toolbar = 'X'.ENDFORM.                    " build_layout
    endform.
    Edited by: S.r.v.r.Kumar on Jun 1, 2009 2:48 PM

Maybe you are looking for

  • Unable to change the data source of SAP system

    Dear all, We have install SAP netweaver EHP1 standalone java on oracle 10.2.0.5 on windows 2008 R2. while installation i have given the central SLD system as solman, By mistake i have deleted the system from SMSY.. now when i createed the system manu

  • Creative Cloud Email Offer

    I have two questions. 1) Are the email newsletters and offers I receieve from the email address:-  [email protected] from a legitimate source. Are these sent from adobe either directly or third party, but most of all , are these legitimate and not sp

  • Working with SWF files...

    We're working on an editor to post letter's to a blog, and we're trying to implement something that will automate the process of adding SWF's to the code. Basically what we're looking for is some way to read the width and the height of the swf while

  • Implementation of SAP SUS for Vendor Portal and Open Text Invoice Mgmt

    Where can I find information that will help me establish a project plan for these two pieces of functionality?  Do they intgerate together or are there redundancies? Thanks Steve Leone

  • New window popup does not open on Windows

    hi, when I open an new window in a Premiere HTML5 extension on Mac, it works, but no window opens on Windows. newwindow = window.open('www.adobe.com','name','height=200,width=150'); Trying to apply moveTo() or focus() after open() returns Cannot call