Modify list output from IE05 and IH06

Hi
I have a requirement to modify the output from IE05 / IH06 / IH08 to indicate if a DMS document is object linked to an equipment or functional location, any advice on how I could achieve this?
Thanks

John,
You should be able to do this with standard list edit BADIs.
Get your ABAPers to have a look.
If not, then get them to look into the Enhancement Framework options (ECC6 only)
PeteA

Similar Messages

  • Simultaneous audio output from Ipad and bluetooth ?

    Is it possible to have simultaneous audio output from IPAD and a bluetooth speaker? At present I can only get audio from the Bluetooth Speaker and nothing from the IPAD's audio out! My purpose is that my Mom will hold the IPAD to listen to her Audiobooks but my Dad who sits across the room and is hard of hearing needs a speaker close to him, so I need simultaneous audio from both devices.
    JW

    Use this: http://smile.amazon.com/KOKKIA-A10m-MULTI-STREAM-Transmitter-concurrently/dp/B00 69G1SIC/ref=smi_www_rco2_go_smi_1968491462?_encoding=UTF8&*Version*=1&*entries*= 0&pf_rd_p=1968491462&pf_rd_s=smile-campaign&pf_rd_t=201&pf_rd_i=B0069G1SIC&pf_rd _m=ATVPDKIKX0DER&pf_rd_r=1N57Q0YT9QW7Y1K596YD and use two Bluetooth speakers for them. The speaker output on the iPad is pretty limited and your mother will probably have a hard time hearing it. Get a BT speaker for both and the above device and they both can listen from whatever location they want (within 40 feet) and get better sound.

  • Is the raw output from JSP and XSQLServlet the same?

    Hi
    Is there is difference between the raw output from XSQLServlet and JSP? For example, assuming the same content is being generated, is there some additional header information emitted by XSQLServlet that is not done by JSP?
    I am using software that successfully consumes generated content from a JSP OK, but the same content (using the same XML/XSL) generated from XSQLServlet is being rejected. I am puzzled by this. Maybe this is due to some differences in servlet output or an encoding issue? The content is not HTML but XML-like with an "application" contentType, like Steve's SVG example.
    It seems that XSQLServlet is showing some data prior to emitting the actual content, i.e. HTTP version, responding server version, content type and date, e.g.
    HTTP/1.0 200 OK^M
    Server: Resin/2.0.5^M
    Content-type: application/x-sky; charset=UTF-8^M
    Date: Thu, 28 Mar 2002 06:45:34 GMT^M
    ^M
    (then the generated content)
    Is this preamble usually generated by a JSP also?
    If not, can this information be turned off, or put another way, can XSQLServlet's raw output be set to be exactly like JSP? If not, is there a workaround?
    I have tried setting the following XSQLConfig.xml
    <suppress-mime-charset> for the mime-type &
    <character-set-conversion>
    <none/>
    </character-set-conversion>
    also, but to no avail.
    Please help! I really want to use XSQLServlet!
    Thanks.
    Michael.

    Yes, just less fine control over the process but the same engine.
    Regards
    TD

  • Reg: Script Output from Spool and Printer

    Hello All,
              I'm running ME22N TCode for a PO.
    Now when I select Print Preview for a PO the Output is as desired.
    But when I take the output from a Spool it's different.
    Can any one tell me wht's the Problem is ?
    Regards,
    Deepu.K

    Hello,
           There are 2 Windows for Address of the sender and receiver.
    Eg: Left side of the page ADDR1 and Right side of the Page ADDR2.
    IN Print Preview I get the content of addr1 on the left side and the content of addr1 on the right hand side.
    But in the SPool Output I get the Content of addr1 on the right side of the page and the content of the addr2 on the left side of the page.
    Hope I'm clear in  my explanation.
    Regards,
    Deepu.K

  • I just added the wish list feature from amazon and now my background pattern is gone. What do I do to get it back?

    I added the wish list feature from amazon on my toolbar, but when I restarted my computer there wasn't any background pattern. I had a christmas scene backgound.

    A persona usually only works with the default theme (Tools > Add-ons > Appearance/Themes).<br />
    So if you've installed another theme then your persona may have been disabled.
    See:
    * https://support.mozilla.com/kb/Using+themes+with+Firefox
    * http://kb.mozillazine.org/Themes (Lightweight theme)

  • Where can I see output from ClassInitialize and ClassCleanup

    Hi,
    If I write
    TestContext.WriteLine("Some output")
    or
    Console.WriteLine("Some output")
    inside a test method, i see an "output" link in the Test Explorer and when I click it I can see the output "Some output". This is also true when I do it from a [TestInialize], [TestCleanup] and even [AssemblyInitiailize] or [AssemblyCleanup]
    methods. However, if I do that from a [ClassInitialize] or [ClassCleanup] methods - I can't see the output.
    Is there any reason for that? How/where can I see any output that I write inside ClassInitialize?
    AFAIR, in VS2010 I was able to see that from a link on the Test Results pane, but I currently don't have VS2010 installed to verify it.
    Thanks,
    Arnon.
    Arnon Axelrod

    Hi Arnon,
    >>I checked it again, and I realize that it works OK for regular MSTest classes (with [TestClass] attribute), but not for Coded UI (with [CodedUITest] attribute).
    I think I could repro this issue in my side, I get the same issue as yours using the VS2013 with the latest update package, it doesn't support it in Coded UI tests even if I enable the detailed coded UI test log:
    https://msdn.microsoft.com/en-us/library/jj159363.aspx
    To get the issue confirmed and diagnose by product team, would you please create connect report for it? You will get email notification for update.
    http://connect.microsoft.com/VisualStudio/feedback/CreateFeedback.aspx
    If you submit the report, please share us the link here, I will help you vote it.
    Best Regards,
    Jack
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Trap string output from resultset and pass the value to getSchema.

    I want to get the string ldb output frm the resultset and pass it to getSchemas(ldb).kindly let me know how to do it,right now it is throwing error like variable ldb might not have been initialised.
    public boolean Err_getSchemas() {
    boolean ret = true;
    try {
    System.out.println("**** Testing getSchemas Tests : - ");
    if(login()) {
    Statement stmt = con.createStatement();
    ResultSet rs;
    String ldb;
    rs = stmt.executeQuery("SELECT identifier FROM ldb_catalog");
    while(rs.next())
    ldb = rs.getString(1);
    //String ldb = rs.getString(1);
    //System.out.println("lll"+ldb);
    try{
    System.out.println("1.Testing DatabaseMetaData.getSchemas() with string ldb");
    ordbjava.jdbc.ordbMetaData dbmd = ( ordbjava.jdbc.ordbMetaData)con.getMetaData();
    ResultSet dbmdrst = dbmd.getSchemas(ldb);
    System.out.println(" Exception not thrown: TEST Pass ");
    dbmdrst.close();
    }catch(Exception ex){
    System.out.println("***JDBCMetaData.getSchemas() with string ldb failure***");
                   System.out.println(" Catch Exception"+ex );
    catch (SQLException e) {
    printExceptionStack(e);
    System.out.println("***ordbCollection Preparation Error Caught SQLException: " + e.getMessage());
    return false;
    finally {
    try {
    con.close();
    catch (SQLException e) {}
    return ret;
    }

    I want to get the string ldb output frm the resultset and pass it to getSchemas(ldb).kindly let me know how to do it,right now it is throwing error like variable ldb might not have been initialised.
    public boolean Err_getSchemas() {
    boolean ret = true;
    try {
    System.out.println("**** Testing getSchemas Tests : - ");
    if(login()) {
    Statement stmt = con.createStatement();
    ResultSet rs;
    String ldb;
    rs = stmt.executeQuery("SELECT identifier FROM ldb_catalog");
    while(rs.next())
    ldb = rs.getString(1);
    //String ldb = rs.getString(1);
    //System.out.println("lll"+ldb);
    try{
    System.out.println("1.Testing DatabaseMetaData.getSchemas() with string ldb");
    ordbjava.jdbc.ordbMetaData dbmd = ( ordbjava.jdbc.ordbMetaData)con.getMetaData();
    ResultSet dbmdrst = dbmd.getSchemas(ldb);
    System.out.println(" Exception not thrown: TEST Pass ");
    dbmdrst.close();
    }catch(Exception ex){
    System.out.println("***JDBCMetaData.getSchemas() with string ldb failure***");
                   System.out.println(" Catch Exception"+ex );
    catch (SQLException e) {
    printExceptionStack(e);
    System.out.println("***ordbCollection Preparation Error Caught SQLException: " + e.getMessage());
    return false;
    finally {
    try {
    con.close();
    catch (SQLException e) {}
    return ret;
    }

  • Will ATV 3 output from HDMI and Optical at the same time?

    I'd like to use my apple TV to feed music to my main AV receiver while at the same time sending that same audio signal out the optical out connection to my other AV receiver that provides music to all of the rooms in my home. Right now it feeds the music to my main AVR via HDMI just fine but nothing to my other AVR.
    Is this possible?

    We've used an airport express since 'the beginning' - for years to get our Wifi from our cable modem in our garage while simultaneoulsy using it to output audio to a VERY old tuner in the garage. I have some nice outdoor Bose speakers connected to this setup which allows any mobile device wifi equiped to output any audio through my setup.... i.e. we usally use iTunes off our laptop while we are chilling outside. Perfect marriage of new school and old school technology.

  • Why can't I hear output from radio and other apps

    When I first got my firefox os phone the radio worked great but since installing a couple of apps (Recorder and Piano) I can no longer get any sound out of radio or either of the apps, nor my videos, either via speaker or headphone although both speaker and headphones work fine for voice calls still.
    Using firefox os 1.3 on ZTE phone

    Thats got my radio back thanks. Need to try again with recorder later.
    ''peppercat [[#question-1039603|said]]''
    <blockquote>
    When I first got my firefox os phone the radio worked great but since installing a couple of apps (Recorder and Piano) I can no longer get any sound out of radio or either of the apps, nor my videos, either via speaker or headphone although both speaker and headphones work fine for voice calls still.
    Using firefox os 1.3 on ZTE phone
    </blockquote>

  • LIST output and event handling in OO ALV and

    Hi,
    I am creating an ALV Report.
    How can i Display the Grid as a List. I am abke to change the view from the first grid that is created. but i need to show it as a list output from beginning.
    Also i have created a hotspot in and it works when the ALV is displayed in Grid Format but it does not work when i switch the view to list output.
    Any suggestions.
    Regards,
    Tarun Bahal

    *& Report  ZFI_TRIAL_BALANCE
    REPORT  zfi_trial_balance LINE-SIZE 275 LINE-COUNT 3(2) NO STANDARD PAGE HEADING.
    TABLES: bseg.
    TYPES: BEGIN OF ty_bkpf ,
      bukrs TYPE bkpf-bukrs,
      belnr TYPE bkpf-belnr,
      gjahr TYPE bkpf-gjahr,
      budat TYPE bkpf-budat,
      END OF ty_bkpf.
    TYPES: BEGIN OF ty_bseg ,
      bukrs TYPE bseg-bukrs,
      belnr TYPE bseg-belnr,
      gjahr TYPE bseg-gjahr,
      hkont TYPE bseg-hkont,
      END OF ty_bseg.
    TYPES: BEGIN OF ty_bank,
      hkont TYPE bseg-hkont,
      txt50 TYPE skat-txt50,
      open_dmbtr_dr TYPE p,
      open_dmbtr_cr TYPE p,
      trans_dmbtr_dr TYPE p,
      trans_dmbtr_cr TYPE p,
      close_dmbtr_dr TYPE p,
      close_dmbtr_cr TYPE p,
      END OF ty_bank.
    TYPES: BEGIN OF ty_breakup,
      bukrs TYPE bseg-bukrs,
      blart TYPE bkpf-blart,
      belnr TYPE bseg-belnr,
      budat TYPE bkpf-budat,
      umskz TYPE bseg-umskz,
      rebzg TYPE bseg-rebzg,
      lifnr TYPE  bseg-lifnr,
      kunnr TYPE bseg-kunnr,
      name1 TYPE lfa1-name1,
      dmbtr TYPE p,
      END OF ty_breakup.
    INITIALIZATION.
    *       CLASS handler DEFINITION
    CLASS handler DEFINITION.
      PUBLIC SECTION .
        METHODS:handle_hotspot_click                              "handler definition for hotspot_click
        FOR EVENT hotspot_click OF cl_gui_alv_grid
        IMPORTING e_row_id
                  e_column_id
                  es_row_no,
                 handle_top_of_page
        FOR EVENT print_top_of_page OF cl_gui_alv_grid
        IMPORTING table_index,
                handle_subtotal_text
        FOR EVENT subtotal_text OF cl_gui_alv_grid
        IMPORTING es_subtottxt_info
                  ep_subtot_line
                  e_event_data.
    ENDCLASS.                    "handler DEFINITION
    *       CLASS handler IMPLEMENTATION
    CLASS handler IMPLEMENTATION.
      METHOD handle_hotspot_click.                              "handler implementation for hotspot_click
        PERFORM handle_hotspot_click USING e_row_id
                                           e_column_id
                                           es_row_no .
      ENDMETHOD.                    "handle_hotspot_click
      METHOD handle_top_of_page.
        PERFORM handle_print_top_of_page.
      ENDMETHOD.                    "handle_hotspot_click
      METHOD handle_subtotal_text.
        PERFORM handle_subtotal_text USING es_subtottxt_info
                                           ep_subtot_line
                                           e_event_data.
      ENDMETHOD.                    "Subtotal_text
    ENDCLASS.                    "handler IMPLEMENTATION
    DATA: i_set_values TYPE TABLE OF rgsb4,
          wa_set_values LIKE LINE OF i_set_values,
          l_dmbtr TYPE dmbtr,
          l_dmbtr2 TYPE dmbtr,
          l_dmbtr3 TYPE dmbtr,
          l_dmbtr4 TYPE dmbtr,
          l_dmbtr_total TYPE dmbtr,
          l_shkzg TYPE shkzg,
          i_bkpf TYPE STANDARD TABLE OF ty_bkpf,
          i_bseg TYPE STANDARD TABLE OF ty_bseg,
          i_bank TYPE STANDARD TABLE OF ty_bank,
          i_breakup TYPE STANDARD TABLE OF ty_breakup,
          wa_bkpf LIKE LINE OF i_bkpf,
          wa_bseg LIKE LINE OF i_bseg,
          wa_bank LIKE LINE OF i_bank,
          wa_breakup LIKE LINE OF i_breakup,
          ok_code TYPE sy-ucomm,
          save_ok TYPE sy-ucomm,
          l_ktopl TYPE ktopl.
    DATA: gr_alvgrid TYPE REF TO cl_gui_alv_grid,
          gr_alvgrid_0200 TYPE REF TO cl_gui_alv_grid,
          gr_ccontainer TYPE REF TO cl_gui_custom_container,
          gr_ccontainer_0200 TYPE REF TO cl_gui_custom_container,
          gt_fieldcat TYPE lvc_t_fcat,
          gs_layout TYPE lvc_s_layo,
          gt_sort TYPE lvc_t_sort,
          gt_roid TYPE lvc_t_roid,
          gt_exclude TYPE ui_functions,
          g_scrstatus TYPE i,
          gs_variant TYPE disvariant,
          o_handler TYPE REF TO handler.
    CONSTANTS: c_doctype(22) TYPE c VALUE 'ZINFITR01_TRIALBALANCE'.
    DATA gs_stbl TYPE lvc_s_stbl.
    SELECTION-SCREEN: BEGIN OF BLOCK block1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS: l_date FOR sy-datum.
    PARAMETERS : l_bukrs TYPE bukrs,
                 l_segent TYPE fb_segment.
    SELECTION-SCREEN: END OF BLOCK block1.
    START-OF-SELECTION.
      gs_stbl-row = 'X'.
      gs_stbl-col = 'X'.
      CALL FUNCTION 'G_SET_GET_ALL_VALUES'
        EXPORTING
          setnr         = c_doctype
          table         = 'SKA1'
          class         = '0000'
        TABLES
          set_values    = i_set_values
        EXCEPTIONS
          set_not_found = 1
          OTHERS        = 2.
      IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CLEAR i_bank.
      LOOP AT i_set_values INTO wa_set_values.
        CLEAR: l_dmbtr, l_dmbtr2, l_dmbtr3, l_dmbtr4, i_bkpf, i_bseg.
        wa_bank-hkont = wa_set_values-from.
        SELECT bukrs belnr budat gjahr FROM bkpf
          INTO CORRESPONDING FIELDS OF TABLE i_bkpf
          WHERE bukrs = l_bukrs
            AND budat < l_date-low.
        LOOP AT i_bkpf INTO wa_bkpf.
          SELECT dmbtr shkzg FROM bseg INTO (l_dmbtr, l_shkzg)
            WHERE bukrs = wa_bkpf-bukrs
              AND belnr = wa_bkpf-belnr
              AND gjahr = wa_bkpf-gjahr
              AND hkont = wa_set_values-from.
            IF l_shkzg = 'S'.
              l_dmbtr2 = l_dmbtr2 + l_dmbtr.
            ELSE.
              l_dmbtr2 = l_dmbtr2 - l_dmbtr.
            ENDIF.
            CLEAR: l_dmbtr, l_shkzg.
          ENDSELECT.
        ENDLOOP.
        IF l_dmbtr2 > 0.
          wa_bank-open_dmbtr_dr = l_dmbtr2.
        ELSE.
          wa_bank-open_dmbtr_cr = l_dmbtr2.
        ENDIF.
        CLEAR: l_dmbtr, i_bkpf, i_bseg.
        SELECT bukrs belnr budat gjahr FROM bkpf
          INTO CORRESPONDING FIELDS OF TABLE i_bkpf
          WHERE bukrs = l_bukrs
            AND budat IN l_date.
        LOOP AT i_bkpf INTO wa_bkpf.
          SELECT dmbtr shkzg FROM bseg INTO (l_dmbtr, l_shkzg)
            WHERE bukrs = wa_bkpf-bukrs
              AND belnr = wa_bkpf-belnr
              AND gjahr = wa_bkpf-gjahr
              AND hkont = wa_set_values-from.
            IF l_shkzg = 'S'.
              l_dmbtr3 = l_dmbtr3 + l_dmbtr.
            ELSE.
              l_dmbtr4 = l_dmbtr4 - l_dmbtr.
            ENDIF.
            CLEAR: l_dmbtr, l_shkzg.
          ENDSELECT.
        ENDLOOP.
    *    IF l_dmbtr3 > 0.
        wa_bank-trans_dmbtr_dr = l_dmbtr3.
    *    ELSE.
        wa_bank-trans_dmbtr_cr = l_dmbtr4.
    *    ENDIF.
        l_dmbtr = l_dmbtr2 + l_dmbtr3 + l_dmbtr4.
        IF l_dmbtr > 0.
          wa_bank-close_dmbtr_dr = l_dmbtr.
        ELSE.
          wa_bank-close_dmbtr_cr = l_dmbtr.
        ENDIF.
        CLEAR: l_dmbtr.
        SELECT SINGLE ktopl FROM t001 INTO l_ktopl WHERE bukrs = l_bukrs.
        SELECT SINGLE txt50 FROM skat INTO wa_bank-txt50
          WHERE spras = sy-langu "( SELECT spras FROM t002 WHERE laiso = sy-langu )
          AND ktopl = l_ktopl
          AND saknr = wa_set_values-from.
        APPEND wa_bank TO i_bank.
        CLEAR wa_bank.
      ENDLOOP.
      LOOP AT i_bank INTO wa_bank.
    *    IF wa_bank-open_dmbtr_cr < 0.
        wa_bank-open_dmbtr_cr = wa_bank-open_dmbtr_cr * -1.
    *    ENDIF.
    *    IF wa_bank-trans_dmbtr_cr < 0.
        wa_bank-trans_dmbtr_cr = wa_bank-trans_dmbtr_cr * -1.
    *    ENDIF.
    *    IF wa_bank-close_dmbtr_cr < 0.
        wa_bank-close_dmbtr_cr = wa_bank-close_dmbtr_cr * -1.
    *    ENDIF.
        MODIFY i_bank FROM wa_bank.
      ENDLOOP.
      SORT i_bank ASCENDING BY hkont.
    END-OF-SELECTION.
    *  SET SCREEN 100.
      CALL SCREEN 100.
    *&      Module  STATUS_0100  OUTPUT
    *       text
    MODULE status_0100 OUTPUT.
      SET PF-STATUS 'STATUS01'.
      SET TITLEBAR 'TITLE1'.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    *&      Module  save_ok  INPUT
    *       text
    MODULE save_ok INPUT.
      save_ok = ok_code.
      CLEAR ok_code.
    ENDMODULE.                 " save_ok  INPUT
    *&      Module  create_alv  OUTPUT
    *       text
    MODULE create_alv OUTPUT.
      IF gr_alvgrid IS INITIAL.
        CREATE OBJECT gr_ccontainer
          EXPORTING
    *    PARENT                      =
            container_name              = 'CUSTOM_CONTAINER'
            repid                       = sy-repid
            dynnr                       = '0100'
          EXCEPTIONS
            cntl_error                  = 1
            cntl_system_error           = 2
            create_error                = 3
            lifetime_error              = 4
            lifetime_dynpro_dynpro_link = 5
            OTHERS                      = 6.
        IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
        CREATE OBJECT gr_alvgrid
          EXPORTING
            i_parent          = gr_ccontainer
          EXCEPTIONS
            error_cntl_create = 1
            error_cntl_init   = 2
            error_cntl_link   = 3
            error_dp_create   = 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.
        PERFORM prepare_field_catalog CHANGING gt_fieldcat .
        PERFORM prepare_layout CHANGING gs_layout .
        PERFORM prepare_sort CHANGING gt_sort.
        gs_variant-report = sy-repid.
        gs_variant-variant = 'ABC'.
        gs_variant-handle = '1'.
    *    IF sy-dynnr = '0100'.
        CALL METHOD gr_alvgrid->set_table_for_first_display
          EXPORTING
    *      I_BUFFER_ACTIVE               =
    *      I_BYPASSING_BUFFER            =
    *      I_CONSISTENCY_CHECK           =
    *      I_STRUCTURE_NAME              =
    *      is_variant                    = gs_variant
    *      i_save                        = 'A'
    *      i_default                     = 'X'
            is_layout                     = gs_layout
    *      IS_PRINT                      =
    *      IT_SPECIAL_GROUPS             =
    *      IT_TOOLBAR_EXCLUDING          =
    *      IT_HYPERLINK                  =
    *      IT_ALV_GRAPHICS               =
    *      IT_EXCEPT_QINFO               =
    *      IR_SALV_ADAPTER               =
          CHANGING
            it_outtab                     = i_bank
            it_fieldcatalog               = gt_fieldcat
    *    it_sort                       = gt_sort
    *      IT_FILTER                     =
        EXCEPTIONS
          invalid_parameter_combination = 1
          program_error                 = 2
          too_many_lines                = 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.
      ELSE.
        CALL METHOD gr_alvgrid->refresh_table_display
          EXPORTING
            is_stable      = gs_stbl
    *        i_soft_refresh = 'X'
          EXCEPTIONS
            finished       = 1
            OTHERS         = 2.
        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.
      CREATE OBJECT o_handler.
      SET HANDLER o_handler->handle_hotspot_click FOR gr_alvgrid.
      SET HANDLER o_handler->handle_top_of_page FOR gr_alvgrid.
      SET HANDLER o_handler->handle_subtotal_text FOR gr_alvgrid.
    *  ENDIF.
    ENDMODULE.                 " create_alv  OUTPUT
    *&      Form  prepare_field_catalog
    *       text
    *      <--P_GT_FIELDCAT  text
    FORM prepare_field_catalog  CHANGING pt_fieldcat TYPE lvc_t_fcat.
      DATA: ls_fcat TYPE lvc_s_fcat.
      CLEAR pt_fieldcat.
      CLEAR gt_fieldcat.
    *  IF sy-dynnr = '0100'.
      ls_fcat-fieldname = 'HKONT' .
      ls_fcat-ref_field = 'HKONT'.
      ls_fcat-inttype = 'C' .
      ls_fcat-outputlen = '15' .
      ls_fcat-ref_table = 'BSEG' .
      ls_fcat-coltext = 'G/L Account' .
      ls_fcat-seltext = 'G/L Account' .
      ls_fcat-hotspot = 'X'.
      APPEND ls_fcat TO pt_fieldcat.
      CLEAR ls_fcat.
      ls_fcat-fieldname = 'TXT50' .
      ls_fcat-ref_field = 'TXT50'.
      ls_fcat-inttype = 'C' .
      ls_fcat-outputlen = '20' .
      ls_fcat-ref_table = 'SKAT' .
      ls_fcat-coltext = 'Description' .
      ls_fcat-seltext = 'Description' .
      APPEND ls_fcat TO pt_fieldcat.
      CLEAR ls_fcat.
      ls_fcat-fieldname = 'OPEN_DMBTR_DR' .
      ls_fcat-ref_field = 'DMBTR'.
      ls_fcat-inttype = 'NUMC' .
      ls_fcat-outputlen = '20' .
      ls_fcat-ref_table = 'BSEG'.
      ls_fcat-coltext = 'Opening Balance: Debit' .
      ls_fcat-seltext = 'Opening Balance: Debit'.
      ls_fcat-no_sign = 'X'.
      ls_fcat-do_sum = 'X'.
      APPEND ls_fcat TO pt_fieldcat.
      CLEAR ls_fcat.
      ls_fcat-fieldname = 'OPEN_DMBTR_CR' .
      ls_fcat-ref_field = 'DMBTR'.
      ls_fcat-inttype = 'NUMC' .
      ls_fcat-outputlen = '20' .
      ls_fcat-ref_table = 'BSEG'.
      ls_fcat-coltext = 'Opening Balance: Credit' .
      ls_fcat-seltext = 'Opening Balance: Credit'.
      ls_fcat-no_sign = 'X'.
      ls_fcat-do_sum = 'X'.
      APPEND ls_fcat TO pt_fieldcat.
      CLEAR ls_fcat.
      ls_fcat-fieldname = 'TRANS_DMBTR_DR' .
      ls_fcat-ref_field = 'DMBTR'.
      ls_fcat-inttype = 'NUMC' .
      ls_fcat-outputlen = '20' .
      ls_fcat-ref_table = 'BSEG'.
      ls_fcat-coltext = 'Trans Balance: Debit' .
      ls_fcat-seltext = 'Trans Balance: Debit'.
      ls_fcat-no_sign = 'X'.
      ls_fcat-do_sum = 'X'.
      APPEND ls_fcat TO pt_fieldcat.
      CLEAR ls_fcat.
      ls_fcat-fieldname = 'TRANS_DMBTR_CR' .
      ls_fcat-ref_field = 'DMBTR'.
      ls_fcat-inttype = 'NUMC' .
      ls_fcat-outputlen = '20' .
      ls_fcat-ref_table = 'BSEG'.
      ls_fcat-coltext = 'Trans Balance: Credit' .
      ls_fcat-seltext = 'Trans Balance: Credit'.
      ls_fcat-no_sign = 'X'.
      ls_fcat-do_sum = 'X'.
      APPEND ls_fcat TO pt_fieldcat.
      CLEAR ls_fcat.
      ls_fcat-fieldname = 'CLOSE_DMBTR_DR' .
      ls_fcat-ref_field = 'DMBTR'.
      ls_fcat-inttype = 'NUMC' .
      ls_fcat-outputlen = '20' .
      ls_fcat-ref_table = 'BSEG'.
      ls_fcat-coltext = 'Closing Balance: Debit' .
      ls_fcat-seltext = 'Closing Balance: Debit'.
      ls_fcat-no_sign = 'X'.
      ls_fcat-do_sum = 'X'.
      APPEND ls_fcat TO pt_fieldcat.
      CLEAR ls_fcat.
      ls_fcat-fieldname = 'CLOSE_DMBTR_CR' .
      ls_fcat-ref_field = 'DMBTR'.
      ls_fcat-inttype = 'NUMC' .
      ls_fcat-outputlen = '20' .
      ls_fcat-ref_table = 'BSEG'.
      ls_fcat-coltext = 'Closing Balance: Credit' .
      ls_fcat-seltext = 'Closing Balance: Credit'.
      ls_fcat-no_sign = 'X'.
      ls_fcat-do_sum = 'X'.
      APPEND ls_fcat TO pt_fieldcat.
      CLEAR ls_fcat.
    *  ELSE.
    *  ENDIF.
    ENDFORM.                    " prepare_field_catalog
    *&      Form  prepare_layout
    *       text
    *      <--P_GS_LAYOUT  text
    FORM prepare_layout  CHANGING ps_layout TYPE lvc_s_layo.
      DATA l_title(50) TYPE c.
      CONCATENATE 'Trial Balance: ' l_date-low+6(2) '-' l_date-low+4(2) '-'l_date-low(4) ' to ' l_date-high+6(2) '-' l_date-high+4(2) '-'l_date-high(4) INTO l_title RESPECTING BLANKS.
    *  ps_layout-zebra = 'X' .
      ps_layout-grid_title = l_title.
      ps_layout-cwidth_opt = 'X' .
      ps_layout-sel_mode = 'A'.
    *  ps_layout-no_toolbar = 'X'.
      ps_layout-no_headers = 'X'.
      ps_layout-frontend = 'L'.
    ENDFORM.                    " prepare_layout
    *&      Module  USER_COMMAND_0100  INPUT
    *       text
    MODULE user_command_0100 INPUT.
      CASE save_ok.
        WHEN 'BACK'.
          SET SCREEN 0.
          LEAVE SCREEN.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    *&      Form  prepare_sort
    *       text
    *      <--P_GT_SORT  text
    FORM prepare_sort  CHANGING pt_sort TYPE lvc_t_sort.
      CLEAR: pt_sort, gt_sort.
      DATA ls_sort TYPE lvc_s_sort .
      IF sy-dynnr = '0100'.
        ls_sort-spos = '1' .
        ls_sort-fieldname = 'HKONT' .
        ls_sort-up = 'X' . "A to Z
        ls_sort-down = space .
        APPEND ls_sort TO pt_sort .
      ELSE.
        ls_sort-spos = '1' .
        ls_sort-fieldname = 'BELNR' .
        ls_sort-up = 'X' . "A to Z
        ls_sort-down = space .
        APPEND ls_sort TO pt_sort .
    *    ls_sort-spos = '2' .
    *    ls_sort-fieldname = 'BELNR' .
    **    ls_sort-up = 'X' . "A to Z
    **    ls_sort-down = space .
    *    ls_sort-subtot = 'X'.
    *    APPEND ls_sort TO pt_sort .
      ENDIF.
    ENDFORM.                    " prepare_sort
    *&      Form  handle_hotspot_click
    *       text
    *      -->P_E_ROW_ID  text
    *      -->P_E_COLUMN_ID  text
    *      -->P_ES_ROW_NO  text
    FORM handle_hotspot_click  USING i_row_id TYPE lvc_s_row
                                     i_column_id TYPE lvc_s_col
                                     is_row_no TYPE lvc_s_roid.
      CLEAR: wa_bank, i_breakup.
      READ TABLE i_bank INTO wa_bank INDEX is_row_no-row_id.
    *TYPES: BEGIN OF ty_breakup,
    *  bukrs TYPE bseg-bukrs,
    *  blart TYPE bkpf-blart,
    *  belnr TYPE bseg-belnr,
    *  budat TYPE bkpf-budat,
    *  umskz TYPE bseg-umskz,
    *  rebzg TYPE bseg-rebzg,
    *  lifnr TYPE  bseg-lifnr,
    *  name1 TYPE lfa1-name1,
    *  dmbtr TYPE p,
    *  END OF ty_breakup.
      SELECT bukrs belnr budat gjahr FROM bkpf
            INTO CORRESPONDING FIELDS OF TABLE i_bkpf
            WHERE bukrs = l_bukrs
              AND budat IN l_date.
      LOOP AT i_bkpf INTO wa_bkpf.
        SELECT bukrs belnr umskz rebzg lifnr kunnr dmbtr shkzg FROM bseg
          INTO (wa_breakup-bukrs, wa_breakup-belnr, wa_breakup-umskz, wa_breakup-rebzg, wa_breakup-lifnr, wa_breakup-kunnr, wa_breakup-dmbtr, l_shkzg)
          WHERE bukrs = l_bukrs
                  AND belnr = wa_bkpf-belnr
                  AND gjahr = wa_bkpf-gjahr
                  AND hkont = wa_bank-hkont.
          SELECT SINGLE blart budat FROM bkpf INTO (wa_breakup-blart, wa_breakup-budat)
            WHERE bukrs = l_bukrs
                  AND belnr = wa_bkpf-belnr
                  AND gjahr = wa_bkpf-gjahr.
          IF wa_breakup-lifnr IS NOT INITIAL.
            SELECT SINGLE name1 FROM lfa1 INTO wa_breakup-name1
              WHERE lifnr = wa_breakup-lifnr.
          ELSE.
            SELECT SINGLE name1 FROM kna1 INTO wa_breakup-name1
            WHERE lifnr = wa_breakup-kunnr.
            wa_breakup-lifnr = wa_breakup-kunnr.
          ENDIF.
        ENDSELECT.
        IF l_shkzg = 'H'.
          wa_breakup-dmbtr = wa_breakup-dmbtr * -1.
        ENDIF.
        IF wa_breakup IS NOT INITIAL.
          APPEND wa_breakup TO i_breakup.
        ENDIF.
        CLEAR wa_breakup.
      ENDLOOP.
      SET SCREEN 200.
      LEAVE SCREEN.
    ENDFORM.                    " handle_hotspot_click
    *&      Module  STATUS_0200  OUTPUT
    *       text
    MODULE status_0200 OUTPUT.
      SET PF-STATUS 'STATUS01'.
      SET TITLEBAR 'TITLE2'.
    ENDMODULE.                 " STATUS_0200  OUTPUT
    *&      Module  USER_COMMAND_0200  INPUT
    *       text
    MODULE user_command_0200 INPUT.
      CASE save_ok.
        WHEN 'BACK'.
    *      CLEAR: gr_alvgrid, gr_ccontainer.
          SET SCREEN 100.
          LEAVE SCREEN .
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_0200  INPUT
    *&      Module  create_alv_0200  OUTPUT
    *       text
    MODULE create_alv_0200 OUTPUT.
      IF gr_alvgrid_0200 IS INITIAL.
        CREATE OBJECT gr_ccontainer_0200
              EXPORTING
    *    PARENT                      =
                container_name              = 'CUSTOM_CONTAINER'
                repid                       = sy-repid
                dynnr                       = '0200'
              EXCEPTIONS
                cntl_error                  = 1
                cntl_system_error           = 2
                create_error                = 3
                lifetime_error              = 4
                lifetime_dynpro_dynpro_link = 5
                OTHERS                      = 6.
        IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
        CREATE OBJECT gr_alvgrid_0200
          EXPORTING
            i_parent          = gr_ccontainer_0200
          EXCEPTIONS
            error_cntl_create = 1
            error_cntl_init   = 2
            error_cntl_link   = 3
            error_dp_create   = 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.
        PERFORM prepare_field_catalog_0200 CHANGING gt_fieldcat .
    *  PERFORM prepare_layout CHANGING gs_layout .
        PERFORM prepare_sort CHANGING gt_sort.
        CALL METHOD gr_alvgrid_0200->set_table_for_first_display
          EXPORTING
    *      I_BUFFER_ACTIVE               =
    *      I_BYPASSING_BUFFER            =
    *      I_CONSISTENCY_CHECK           =
    *      I_STRUCTURE_NAME              =
    *      IS_VARIANT                    =
    *      I_SAVE                        =
    *      I_DEFAULT                     = 'X'
            is_layout                     = gs_layout
    *      IS_PRINT                      =
    *      IT_SPECIAL_GROUPS             =
    *      IT_TOOLBAR_EXCLUDING          =
    *      IT_HYPERLINK                  =
    *      IT_ALV_GRAPHICS               =
    *      IT_EXCEPT_QINFO               =
    *      IR_SALV_ADAPTER               =
          CHANGING
            it_outtab                     = i_breakup
            it_fieldcatalog               = gt_fieldcat
          it_sort                       = gt_sort
    *      IT_FILTER                     =
        EXCEPTIONS
          invalid_parameter_combination = 1
          program_error                 = 2
          too_many_lines                = 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.
      ELSE.
        CALL METHOD gr_alvgrid_0200->refresh_table_display
          EXPORTING
            is_stable      = gs_stbl
    *        i_soft_refresh = 'X'
          EXCEPTIONS
            finished       = 1
            OTHERS         = 2.
        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.
    *  SET SCREEN 100.
    ENDMODULE.                 " create_alv_0200  OUTPUT
    *&      Form  prepare_field_catalog_0200
    *       text
    *      <--P_GT_FIELDCAT  text
    FORM prepare_field_catalog_0200  CHANGING pt_fieldcat TYPE lvc_t_fcat.
      DATA: ls_fcat TYPE lvc_s_fcat.
      CLEAR: pt_fieldcat, gs_layout.
      ls_fcat-fieldname = 'BUKRS' .
      ls_fcat-ref_field = 'BUKRS'.
      ls_fcat-inttype = 'c' .
      ls_fcat-outputlen = '5' .
      ls_fcat-ref_table = 'BSEG'.
      ls_fcat-coltext = 'Co' .
      ls_fcat-seltext = 'Company Code'.
      APPEND ls_fcat TO pt_fieldcat.
      CLEAR ls_fcat.
      ls_fcat-fieldname = 'BLART' .
      ls_fcat-ref_field = 'BLART'.
      ls_fcat-inttype = 'c' .
      ls_fcat-outputlen = '5' .
      ls_fcat-ref_table = 'BKPF'.
      ls_fcat-coltext = 'Doc Typ' .
      ls_fcat-seltext = 'Document Type'.
      APPEND ls_fcat TO pt_fieldcat.
      CLEAR ls_fcat.
      ls_fcat-fieldname = 'BELNR' .
      ls_fcat-ref_field = 'BELNR'.
      ls_fcat-inttype = 'NUMC' .
      ls_fcat-outputlen = '12' .
      ls_fcat-ref_table = 'BSEG'.
      ls_fcat-coltext = 'Doc Num' .
      ls_fcat-seltext = 'Document Number'.
      APPEND ls_fcat TO pt_fieldcat.
      CLEAR ls_fcat.
      ls_fcat-fieldname = 'BUDAT' .
      ls_fcat-ref_field = 'BUDAT'.
      ls_fcat-inttype = 'DATS' .
      ls_fcat-outputlen = '13' .
      ls_fcat-ref_table = 'BKPF'.
      ls_fcat-coltext = 'G/L Date' .
      ls_fcat-seltext = 'G/L Posting Date'.
      APPEND ls_fcat TO pt_fieldcat.
      CLEAR ls_fcat.
      ls_fcat-fieldname = 'UMSKZ' .
      ls_fcat-ref_field = 'UMSKZ'.
      ls_fcat-inttype = 'C' .
      ls_fcat-outputlen = '5' .
      ls_fcat-ref_table = 'BSEG'.
      ls_fcat-coltext = 'G/L Indicator' .
      ls_fcat-seltext = 'Special G/L Indicator'.
      APPEND ls_fcat TO pt_fieldcat.
      CLEAR ls_fcat.
      ls_fcat-fieldname = 'REBZG' .
      ls_fcat-ref_field = 'REBZG'.
      ls_fcat-inttype = 'C' .
      ls_fcat-outputlen = '13' .
      ls_fcat-ref_table = 'BSEG'.
      ls_fcat-coltext = 'Reference' .
      ls_fcat-seltext = 'Invoice Number'.
      APPEND ls_fcat TO pt_fieldcat.
      CLEAR ls_fcat.
      ls_fcat-fieldname = 'LIFNR' .
      ls_fcat-ref_field = 'LIFNR'.
      ls_fcat-inttype = 'NUMC' .
      ls_fcat-outputlen = '13' .
      ls_fcat-ref_table = 'LFA1'.
      ls_fcat-coltext = 'Vendor/Customer' .
      ls_fcat-seltext = 'Vendor/Customer Number'.
      APPEND ls_fcat TO pt_fieldcat.
      CLEAR ls_fcat.
      ls_fcat-fieldname = 'NAME1' .
      ls_fcat-ref_field = 'NAME1'.
      ls_fcat-inttype = 'C' .
      ls_fcat-outputlen = '50' .
      ls_fcat-ref_table = 'LFA1'.
      ls_fcat-coltext = 'Description' .
      ls_fcat-seltext = 'Description'.
      APPEND ls_fcat TO pt_fieldcat.
      CLEAR ls_fcat.
      ls_fcat-fieldname = 'DMBTR' .
      ls_fcat-ref_field = 'DMBTR'.
      ls_fcat-inttype = 'NUMC' .
      ls_fcat-outputlen = '25' .
      ls_fcat-ref_table = 'BSEG'.
      ls_fcat-coltext = 'Amount' .
      ls_fcat-seltext = 'Amount'.
      ls_fcat-no_sign = 'X'.
      ls_fcat-do_sum = 'X'.
      APPEND ls_fcat TO pt_fieldcat.
      CLEAR ls_fcat.
    ENDFORM.                    " prepare_field_catalog_0200
    *&      Form  handle_print_top_of_page
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM handle_print_top_of_page .
      WRITE: sy-uline.
      WRITE: /(255)'Tecnimont ICB' CENTERED.
      WRITE: /(255)'Trial Balance' CENTERED.
      WRITE: 'Trial Balance for ', l_bukrs, ':  From Period - ', l_date-low, 'To Period - ', l_date-high. "LEFT-JUSTIFIED .
      WRITE: /.
      WRITE: / sy-uline.
      FORMAT COLOR 1.
      WRITE: sy-vline, AT 2(59)'Account Code and Name'CENTERED, AT 60 sy-vline, AT 61(45) 'Opening Balance' CENTERED, AT 107 sy-vline, AT 108(41) 'Transactions' CENTERED , AT 150 sy-vline, AT 155(41) 'Closing Balance' CENTERED,  AT 197 sy-vline.
      FORMAT COLOR 4.
      WRITE: sy-vline,'GL Account'LEFT-JUSTIFIED, AT 16(50)'Description'CENTERED, AT 60 sy-vline, AT 61(23) 'Debits'CENTERED, AT 85(23) 'Credits.'CENTERED, AT 107 sy-vline, AT 108(23) 'Debits'CENTERED, AT 128(23)'Credits'CENTERED, AT 150 sy-vline, AT 151(23)
      'Debits'CENTERED, AT 174(23) 'Credits'CENTERED, AT 197 sy-vline.
      FORMAT COLOR OFF.
    *  WRITE: sy-uline.
    ENDFORM.                    " handle_print_top_of_page
    *&      Form  handle_subtotal_text
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM handle_subtotal_text USING es_subtottxt_info TYPE lvc_s_stxt
                                   ep_subtot_line TYPE REF TO data
                                   e_event_data TYPE REF TO
                                   cl_alv_event_data.
      DATA l_bank LIKE wa_bank.
      FIELD-SYMBOLS: <fs1> STRUCTURE wa_bank DEFAULT l_bank,
                   <fs2>.
      IF es_subtottxt_info-criteria = 'TXT50'.
        ASSIGN ep_subtot_line->* TO <fs1>.
        ASSIGN e_event_data->m_data->* TO <fs2>.
        CONCATENATE es_subtottxt_info-keyword 'Grand Summary: '
                     INTO <fs2>.
      ENDIF.
    ENDFORM.                    " handle_subtotal_text
    This  is the Code............... this code creates a Grid and not list and hotspot event wors on grid and not on list.
    Regards,
    Tarun Bahal

  • Financial statement version list output

    Hi all,
    I would like to set as default the list output: ALV grid control in trasaction code S_ALR_87012284 in version 6.0 Is there anyway to do it? Everytime we enter to this report we have to change the list output from classical list to ALV grid control.
    Thanks!

    One way is to create a transaction variant using SHD0 that will default the ALV grid control. See the following thread for more info.
    Documentation about t-code SHD0

  • Editable records in list output.

    dear gurus,
    i have a small query regarding lists.
    how can we make the list output entries editable and once i edit a field it has to be updated in the internal table and a new list should be shown with the changes made in the list.
    any sort of help is higly appreciated.
    Message was edited by:
            vara prasad reddy sanam

    Here is the simple example...
    REPORT demo_list_format_input.
    WRITE   'Please fill in your name before printing:'.
    WRITE / '   Enter name here    ' INPUT ON.
    ULINE.
    WRITE 'You can overwrite the following line:'.
    FORMAT INPUT ON INTENSIFIED OFF.
    ULINE.
    FORMAT INPUT OFF INTENSIFIED ON.
    Thanks,
    Santosh

  • CPU usage while generating text output from reports

    hi
    while we attempt to generate the text (delimited) output from reports and when the query fetches more than 1500 rows, the cpu usage stays around 100% for long time paralysing the operation...
    we faced the problem when we attempted to generate text output for around 10000 records.
    any suggestions?
    ravi kumar chandran

    You can burst with eText and I have done it
    successfully.
    I don't believe pagebreaks are an option in eText and
    I don't think it makes sense either since your
    generating a flat-file and not a customer or internal
    facing document. Does that make sense?
    Also, if you would like you can use the
    BIPublisherIDE, this code can be converted pretty
    easily to handle jcp. There is a an oa framework
    version I have developed but I haven't posted on my
    blog yet. I plan on adding a bolt on for java
    concurrent programs soon. it's really pretty simple
    just haven't had the time.
    http://bipublisher.blogspot.com/2008/03/bi-publisher-b
    ipublisheride.html
    Ike Wiggins
    http://bipublisher.blogspot.com
    Thanks Ike for your reply.
    I agree with your points on TXT files, but in our case,the reports are generated in TXT format for the customer so we are looking for the above mentioned features.
    I have gone through BIP IDE and its a wonderful small utility which eases the task of BIP development.
    As I mentioned in my original post that we are currently processing the generated TXT report using a custom util. in JAVA to get the desired output in TXT again.
    I assume thats not what a JCP would do,so I am looking to explore that too.
    As I understand the process for report generation is
    1. Generate XSL from eTEXT template.
    2. Get the XML data from DB using XDO
    3. Apply XSL on XML to get the required template.
    If we are looking to achieve some customizations then we need to have the XSL generated with those customizations.
    In this case, where do we plug in the JCP to alter XSL or am I missing something.
    regards
    Gaurav

  • How can we modify alv output list

    Hi
    this is fazil.
    Please tell me any body How can we modify alv output list.
    Thanks & Regards
    Fazil
    [email protected]

    Fazil,
    check the program,
    You can find the code in this program 'BCALV_FIELDCAT_TEST'
    *& Report  BCALV_FIELDCAT_TEST                                         *
    This report allows to modify the fieldcatalog of a corresponding
    output table and to view the effects of your changes directly.
    Note that for some changes you need to newly display the whole
    ALV Grid Control, e.g., DDIC-Fields are read only the first time
    you call SET_READY_FOR_FIRST_DISPLAY.
    Note also that not all scenarios can be tested since the output
    table does not comprise all fields to test available features
    of the fieldcatalog. Copy this program and extend the output
    table accordingly if you want to test such a special feature.
    (The field CARRNAME in 'gt_sflight' was added to test field REF_FIELD
    and TXT_FIELD of the fieldcatalog - see what happens if you
    calculate subtotals by carrier-id).
    report  bcalvt_fieldcatalog           .
    data: ok_code               type sy-ucomm,
          save_ok_code          type sy-ucomm,
    fieldcatalog for output table
          gt_fieldcat           type lvc_t_fcat,
    fieldcatalog for fieldcatalog itself:
          gt_fcatfcat           type lvc_t_fcat,
          gs_fcatlayo           type lvc_s_layo.
    Output table
    data: begin of gt_sflight occurs 0.
    data: carrname type s_carrname.
            include structure sflight.
    data: end of gt_sflight.
    data: g_max type i value 100.
    data: g_all type c value SPACE.
    Controls to display gt_sflight and corresponding fieldcatalog
    data: g_docking type ref to cl_gui_docking_container,
          g_alv     type ref to cl_gui_alv_grid.
    data: g_custom_container type ref to cl_gui_custom_container,
          g_editable_alv     type ref to cl_gui_alv_grid.
    LOCAL CLASS Definition
    class lcl_event_receiver definition.
      public section.
        methods handle_data_changed
          for event data_changed of cl_gui_alv_grid
          importing er_data_changed.
    endclass.
    class lcl_event_receiver implementation.
      method handle_data_changed.
    at the time being, no checks are made...
      endmethod.
    endclass.
    data: event_receiver type ref to lcl_event_receiver.
    end-of-selection.
      set screen 100.
    *&      Module  STATUS_0100  OUTPUT
          text
    module status_0100 output.
      set pf-status 'BASIC'.
      set titlebar 'BASICTITLE'.
    create ALV Grid Control in the first run
      if g_docking is initial.
        perform create_and_init_controls.
      endif.
    endmodule.                             " STATUS_0100  OUTPUT
    *&      Module  USER_COMMAND_0100  INPUT
          text
    module user_command_0100 input.
      save_ok_code = ok_code.
      clear ok_code.
      case save_ok_code.
        when 'SUBMIT'.
    set the frontend fieldcatalog
    ATTENTION: DDIC-Fields are not updated using this method!
    (see 'RESTART')
          call method g_alv->set_frontend_fieldcatalog
               exporting
                 it_fieldcatalog = gt_fieldcat.
          call method g_alv->refresh_table_display.
          call method cl_gui_cfw=>flush.
        when 'RESTART'.
    Destroy the control currently visible and display it again
    using the changed fieldcatalog.
          perform restart_sflight.
        when '&ALL'.
          perform switch_visibility.
      endcase.
    endmodule.                             " USER_COMMAND_0100  INPUT
    *&      Form  CREATE_AND_INIT_CONTROLS
          text
    -->  p1        text
    <--  p2        text
    form create_and_init_controls.
      create object g_docking
          exporting
               dynnr = '100'
               extension = 150
               side = cl_gui_docking_container=>dock_at_bottom.
      create object g_alv
          exporting
               i_parent = g_docking.
      create object g_custom_container
          exporting
               container_name = 'CC_0100_FIELDCAT'.
      create object g_editable_alv
          exporting
               i_parent = g_custom_container.
    register events
      create object event_receiver.
      set handler event_receiver->handle_data_changed for g_editable_alv.
      call method g_editable_alv->register_edit_event
                    exporting
                       i_event_id = cl_gui_alv_grid=>mc_evt_modified.
      perform build_fieldcatalogs changing gt_fieldcat gt_fcatfcat.
      perform modify_fieldcatalog changing gt_fcatfcat.
      perform select_data.                 "CHANGING gt_sflight
      call method g_alv->set_table_for_first_display
              changing
                   it_outtab       = gt_sflight[]
                   it_fieldcatalog = gt_fieldcat[].
    optimize column width of grid displaying fieldcatalog
      gs_fcatlayo-cwidth_opt = 'X'.
    Get fieldcatalog of table sflight - alv might have
    modified it after passing.
      call method g_alv->get_frontend_fieldcatalog
                importing et_fieldcatalog = gt_fieldcat[].
      call method cl_gui_cfw=>flush.
    Display fieldcatalog of table sflight:
      call method g_editable_alv->set_table_for_first_display
              exporting
                   is_layout       = gs_fcatlayo
              changing
                   it_outtab       = gt_fieldcat[]
                   it_fieldcatalog = gt_fcatfcat[].
    register events
      create object event_receiver.
      set handler event_receiver->handle_data_changed for g_editable_alv.
    endform.                               " CREATE_AND_INIT_CONTROLS
    *&      Form  restart_sflight
          text
    -->  p1        text
    <--  p2        text
    form restart_sflight.
      data: ls_fieldcat type lvc_s_fcat.
    free g_docking and thus g_alv
      call method g_docking->free.
      clear g_docking.
      clear g_alv.
    create new instances
      create object g_docking
          exporting
               dynnr = '100'
               extension = 150
               side = cl_gui_docking_container=>dock_at_bottom.
      create object g_alv
          exporting
               i_parent = g_docking.
    This is an internal method to invalidate all fields in the fieldcat
      loop at gt_fieldcat into ls_fieldcat.
        clear ls_fieldcat-tech_comp.
        modify gt_fieldcat from ls_fieldcat.
      endloop.
    Newly display the list with current fieldcatalog.
      call method g_alv->set_table_for_first_display
              changing
                   it_outtab       = gt_sflight[]
                   it_fieldcatalog = gt_fieldcat.
    Get fieldcatalog - it might be changed by ALV in the last call
      call method g_alv->get_frontend_fieldcatalog
              importing
                   et_fieldcatalog = gt_fieldcat[].
      call method g_editable_alv->refresh_table_display.
      call method cl_gui_cfw=>flush.
    endform.                               " restart_sflight
    *&      Form  select_data
          text
    -->  p1        text
    <--  p2        text
    form select_data.
      data: lt_sflight type table of sflight with header line,
            ls_scarr type scarr.
    select data of sflight
      select * from sflight into table lt_sflight up to g_max rows.
    copy data to gt_sflight and update CARRNAME
      loop at lt_sflight.
        move-corresponding lt_sflight to gt_sflight.
        select single * from scarr into ls_scarr
           where carrid = gt_sflight-carrid.
        gt_sflight-carrname = ls_scarr-carrname.
        append gt_sflight.
      endloop.
    endform.                               " select_data
    *&      Form  BUILD_FIELDCATALOGS
          text
         <--P_GT_FIELDCAT  text
         <--P_GT_FCATFCAT  text
    form build_fieldcatalogs changing p_fieldcat type lvc_t_fcat
                                      p_fcatfcat type lvc_t_fcat.
      data: ls_fcat     type lvc_s_fcat.
    Fieldcatalog for table SFLIGHT: p_fieldcat
    generate fieldcatalog automatically
      call function 'LVC_FIELDCATALOG_MERGE'
          exporting
               i_structure_name       = 'SFLIGHT'
            I_CLIENT_NEVER_DISPLAY = 'X'
           changing
                ct_fieldcat            = p_fieldcat[]
       EXCEPTIONS
            INCONSISTENT_INTERFACE = 1
            PROGRAM_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.
      endif.
    shift all column positions to the right except for MANDT
      loop at p_fieldcat into ls_fcat.
        if ls_fcat-fieldname ne 'MANDT'.
          add 1 to ls_fcat-col_pos.
          if ls_fcat-fieldname = 'CARRID'.
            ls_fcat-txt_field = 'CARRNAME'."link CARRNAME to CARRID
          endif.
          modify p_fieldcat from ls_fcat.
        endif.
      endloop.
    create a new line for CARRNAME in p_fieldcat
      clear ls_fcat.
      ls_fcat-fieldname = 'CARRNAME'.
      ls_fcat-ref_table = 'SCARR'.
      ls_fcat-col_pos = 1.
    insert new line before CARRID (do not forget MANDT!).
      insert ls_fcat into p_fieldcat index 1.
    Fieldcatalog for table LVC_T_FCAT:p_fcatfcat
    Generate fieldcatalog of fieldcatalog structure.
    This fieldcatalog is used to display fieldcatalog 'p_fieldcat'
    on the top of the screen.
      call function 'LVC_FIELDCATALOG_MERGE'
          exporting
               i_structure_name       = 'LVC_S_FCAT'
            I_CLIENT_NEVER_DISPLAY = 'X'
           changing
                ct_fieldcat            = p_fcatfcat[]
       EXCEPTIONS
            INCONSISTENT_INTERFACE = 1
            PROGRAM_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.
      endif.
    Hide all fields that are not documented (valid for release 4.6A)
      perform hide_fields changing p_fcatfcat.
    endform.                               " BUILD_FIELDCATALOGS
    *&      Module  EXIT_PROGRAM  INPUT
          text
    module exit_program input.
      leave program.
    endmodule.                             " EXIT_PROGRAM  INPUT
    *&      Form  MODIFY_FIELDCATALOG
          text
         <--P_GT_FCATFCAT  text
    form modify_fieldcatalog changing p_fcatfcat type lvc_t_fcat.
      data ls_fcat type lvc_s_fcat.
      loop at p_fcatfcat into ls_fcat.
        ls_fcat-coltext = ls_fcat-fieldname.
        ls_fcat-edit = 'X'.
        if ls_fcat-fieldname = 'COL_POS' or ls_fcat-fieldname = 'FIELDNAME'.
          ls_fcat-key = 'X'.
        endif.
        modify p_fcatfcat from ls_fcat.
      endloop.
    endform.                               " MODIFY_FIELDCATALOG
    form hide_fields changing p_fieldcat type lvc_t_fcat.
      data: ls_fcat type lvc_s_fcat.
    Only show documented fields of fieldcatalog.
    For a documentation choose "Help->Application Help" in the menu.
      loop at p_fieldcat into ls_fcat.
        if not (
             ls_fcat-fieldname eq 'CFIELDNAME'
        or   ls_fcat-fieldname eq 'COL_POS'
        or   ls_fcat-fieldname eq 'COLDDICTXT'
        or   ls_fcat-fieldname eq 'COLTEXT'
        or   ls_fcat-fieldname eq 'CURRENCY'
        or   ls_fcat-fieldname eq 'DD_OUTLEN'
        or   ls_fcat-fieldname eq 'DECIMALS_O'
        or   ls_fcat-fieldname eq 'DECMLFIELD'
        or   ls_fcat-fieldname eq 'DO_SUM'
        or   ls_fcat-fieldname eq 'DRAGDROPID'
        or   ls_fcat-fieldname eq 'EDIT_MASK'
        or   ls_fcat-fieldname eq 'EMPHASIZE'
        or   ls_fcat-fieldname eq 'EXPONENT'
        or   ls_fcat-fieldname eq 'FIELDNAME'
        or   ls_fcat-fieldname eq 'HOTSPOT'
        or   ls_fcat-fieldname eq 'ICON'
        or   ls_fcat-fieldname eq 'INTLEN'
        or   ls_fcat-fieldname eq 'INTTYPE'
        or   ls_fcat-fieldname eq 'JUST'
        or   ls_fcat-fieldname eq 'KEY'
        or   ls_fcat-fieldname eq 'LOWERCASE'
        or   ls_fcat-fieldname eq 'LZERO'
        or   ls_fcat-fieldname eq 'NO_OUT'
        or   ls_fcat-fieldname eq 'NO_SIGN'
        or   ls_fcat-fieldname eq 'NO_SUM'
        or   ls_fcat-fieldname eq 'NO_ZERO'
        or   ls_fcat-fieldname eq 'OUTPUTLEN'
        or   ls_fcat-fieldname eq 'QFIELDNAME'
        or   ls_fcat-fieldname eq 'QUANTITY'
        or   ls_fcat-fieldname eq 'REF_FIELD'
        or   ls_fcat-fieldname eq 'REF_TABLE'
        or   ls_fcat-fieldname eq 'REPREP'
        or   ls_fcat-fieldname eq 'REPTEXT'
        or   ls_fcat-fieldname eq 'ROLLNAME'
        or   ls_fcat-fieldname eq 'ROUND'
        or   ls_fcat-fieldname eq 'ROUNDFIELD'
        or   ls_fcat-fieldname eq 'SCRTEXT_L'
        or   ls_fcat-fieldname eq 'SCRTEXT_M'
        or   ls_fcat-fieldname eq 'SCRTEXT_S'
        or   ls_fcat-fieldname eq 'SELDDICTXT'
        or   ls_fcat-fieldname eq 'SELTEXT'
        or   ls_fcat-fieldname eq 'SP_GROUP'
        or   ls_fcat-fieldname eq 'SYMBOL'
        or   ls_fcat-fieldname eq 'TECH'
        or   ls_fcat-fieldname eq 'TIPDDICTXT'
        or   ls_fcat-fieldname eq 'TOOLTIP'
        or   ls_fcat-fieldname eq 'TXT_FIELD' ).
          ls_fcat-tech = 'X'.
        endif.
        modify p_fieldcat from ls_fcat.
      endloop.
    endform.
    form switch_visibility.
    data:  lt_fcatfcat type lvc_t_fcat,
            ls_fcat type lvc_s_fcat.
    call method g_editable_alv->get_frontend_fieldcatalog
                 importing ET_FIELDCATALOG = lt_fcatfcat.
    if not g_all is initial.
         perform hide_fields changing lt_fcatfcat.
         g_all = SPACE.
    else.
        loop at lt_fcatfcat into ls_fcat.
           if ls_fcat-tech eq 'X'.
               ls_fcat-tech = SPACE.
               ls_fcat-no_out = 'X'.
               modify lt_fcatfcat from ls_fcat.
           endif.
        endloop.
        g_all = 'X'.
    endif.
    call method g_editable_alv->set_frontend_fieldcatalog
                exporting it_fieldcatalog = lt_fcatfcat.
    call method g_editable_alv->refresh_table_display.
    endform.
    Don't forget to rewaard if useful..

  • Populate a drop down list with data from Excel and fill in a text field, based on drop down selectio

    Hi!
    I have a problem with a PDF form: There's a drop down list that I populate with Excel data that I've put in an XML file through an XSD file -- no problem here. The drop down list has a data binding to the XML file, so that a choice in the drop down list can be associated with an object in the XML file. So, when I make a choice in the drop down list, a corresponding object value is fetched from the XML file and put in a text field on the form.
    How to do this is described by Stefan Cameron here:
    http://forms.stefcameron.com/2006/07/29/dynamic-properties/
    There's a snag, though, and to describe it more clearly:
    The XML file contains three types of objects: role, role number, and role cost center. Of these I use the first and the third, i.e. the role and the role cost center. The drop down list contains the roles, and when I select a role, the corresponding cost center is filled out in the text field. So far, so good!
    But -- if the cost center has the same value for two or more roles, all of these roles "bounce back" into the drop down list, that is, they are all selected in the drop down list. How many of these you can see depend on the height of the drop down list -- if it's low you'll only see the first one.
    If I modify Stefan Cameron's data in his example I get the same behavior, so the problem seems to have to do with how XML data are fetched.
    I'm sure there's a workaround, but I can't find it! I've spent many hours browsing the web without finding anyone with a similar problem.
    Any suggestions appreciated!

    Although your issue is far beyond mine, I was hoping you can help me out.....
    I need to create a drop down list of names which I wish to somehow link to an Excel spreadsheet.
    Please let me know the steps I need to do.  I've tried several things, but nothing seems to work and I'm not sure what I am doing wrong.
    Thank you

Maybe you are looking for