Header in two lines in ALV

Hello experts,
How to get the header in two lines with the use of ALV...like
PO LINE  #          ORD QTY         UNIT     MATERIAL          DESCRIPTION               QTY TO RECV     QTY  RECV
               VEND MAT          ST LOCSHELF BIN     ST LOCBULK BIN          
I am not getting the correct format here but the scenario is like in the first line at the first second and forth columns i have 3 fields n in the second line at the third postion i have one more field...
Can any one guide me in this plz its bit urgent....
SRI

hi,
Finally one more question....
I need some outlined logic for the below requirement... can u guide me plz
functional specs like goes here
SAP Assumes that all stock receipts will occur online using the MIGO_GR transaction.  However most dealers receive from a paper receiver report.  Some dealers use a blind receipt in which the goods receiver writes down the quantities counted.  Others use an 'open' receivers report where the receiver can see the open quantities to be received.  The report should have a run flag which supports both options.  The receiver report should capture the basic information from the purchase order to include:
Vendor
Purchase Order Number
Line Item Details      
Material ( Vendor Material Number )      
Dealer Material Number      
Quantity Ordered/To-be-received      
Unit of Measure * Receiver Name  ( Write In Blank )
Buyer
Plz gimme some guidance...
SRI

Similar Messages

  • In ALV to make coloum heading in two lines

    I have requrement that my alv report should display the output in two lines.
    ie the first one should be in English and the second line should be in fresh for the same field description .
    Is this posible? can one help me in doing this.

    Hi,
      I guess this is not possible to display the report header in two lines.
    If you find any solution then please post it in SDN, so that i can use the functionality in my future.
    Rgds,
    Bujji

  • Query : In rows, can we split heading in two lines?

    Hi Friends !
    I know, in columns, we can split the heading in two lines.
    In Rows, characteristics " Nomination Header " is there. The output should come like:
    Nomination
    Header
    Awaiting your inputs.
    Thanks
    Rekha

    Hi,
    After entering the text <i>Nomination</i> click on enter button and type <i>Header</i> , in the query designer.
    With rgds,
    Anil Kumar Sharma .P

  • Way to wrap Column Heading in two lines

    Hi,
    We have created one table UI element in web dynpro application.
    We have a requirement to wrap a table column heading in the table.
    Is there any way to wrap or keep the column heading in two lines.
    Thanks in advance..
    Regards,
    Kranthi.

    Hi Kranthi,
    not that I know of - but then again that doesn't mean there isn't!
    however, you could force two lines by inserting your column in the table as a column inside a column group - you would get a line for the column group and a line for the column - effectively two lines. If this was the only column in the column group I can't see how it could cause any issue.
    Hope this helps,
    Cheers,
    Chris

  • How to Increase Line space between two lines in ALV Grid

    hi,
    I want to increase the line space between any two lines in ALV GRID. Can anybody has solution for this issue.
    Regards,
    Madan

    Hi Madan
    It's not possible
    Regards
    Gregory

  • Alv column heading in two lines

    Hi,
    In ALV grid column headings is possible in two lines.
    ex.
    material            old material
    Number            Number
    Regards,
    Suresh

    Hi Suresh,
              It is possible in ALV Grid. Please try using the code below:
    Data : it_fieldcat type slis_t_fieldcat_alv,
              wa_fieldcat like line of it_fieldcat,
              IT_LISTHEADER  TYPE SLIS_T_LISTHEADER,
              WA_LISTHEADER  LIKE LINE OF IT_LISTHEADER,
              W_PSTRING1(65) TYPE C,
              W_PSTRING2(60) TYPE C.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
       I_CALLBACK_PROGRAM                = SY-REPID
       I_CALLBACK_TOP_OF_PAGE         = 'TOP'
       IT_FIELDCAT                                  = it_fieldcat
      TABLES
        t_outtab                                         = it_final
    *&      Form  TOP
        TOP OF PAGE FOR ALV REPORT
    FORM TOP.
    *APPENDING HEADER DETAILS
      W_PSTRING1 = text-001.
      WA_LISTHEADER-TYP = 'H'.
      WA_LISTHEADER-INFO = W_PSTRING1.
      APPEND WA_LISTHEADER TO IT_LISTHEADER.
      clear wa_listheader.
      W_PSTRING2 = text-002.
      WA_LISTHEADER-TYP = 'H'.
      WA_LISTHEADER-INFO = W_PSTRING2.
      APPEND WA_LISTHEADER TO IT_LISTHEADER.
       clear wa_listheader.
    FM FOR DISPLAYING THE HEADER
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          IT_LIST_COMMENTARY = IT_LISTHEADER.
      CLEAR IT_LISTHEADER.
    ENDFORM.
    text-001 = ALV Demo
    text-002 = Sample Program
    Output : ALV Demo
                Sample Program
           I hope it will solve your problem.

  • Field description in two line in ALV report

    Hi ,
    In ALV report I  want the description for each field to be displayed in two lines . For example
    the description for field matnr is " Material No for grade A " which is displayed in one line . But i want to display it as :  Material No
                                                           for grade A
    in two lines . Is it possible . Please help me out .
    Neetesh

    Hi Neetesh,
      Its not possible to display as you like in 2 lines header for single column. But i can provide the alternative way , it won't good logically. Please try the following logic.
    Let suppose you have 10 fields F1-f10. Each field has the 2 lines header. So take 20fields in your fields catalog ie take 10 dummy fields which are equal lenght of the fields F1-f10. and for the last 10 fields(F11-F20) set the row pos as 2, set the second line header to these field(F11-F20). So you will succed to display the 2 level header for single column. But the problem here is you will get one empty row additional row for each row. Because you have taken (F11-F20) fields are dummy and don't have the data also. This solution will works only in the case of ALV List display not in Grid Display.
      But Before that tell to your customer about this problem , Because I have done the same things when my customer giving important to 2 lines header and he accepeted that also.
    If suppose you have the data in 2 lines for each column then this solution will work fine. Thats what i implemented in my ALV Report.
    Warm Regards,
    Vijay.

  • Displaying data in Two line in ALV report

    Hi,
    I want to know how to display the data in alv in two lines for Fild name as well as for fild value
    like in below case
    wa_fieldcata-fieldname  = 'WRBTR'.
       wa_fieldcata-seltext_l  = 'AMOUNT IN DOCUMENT CURRENCY'.
       wa_fieldcata-outputlen  = 18.
       wa_fieldcata-DO_SUM     = 'X'.
       APPEND wa_fieldcata TO it_fieldcat.
       CLEAR wa_fieldcata.
    by this on alv COLUMN headig is coming as 'AMOUNT IN DOCUMENT CURRENCY' in one linw  i want to display  'AMOUNT IN '   in first line and then 'DOCUMENT CURRENCY' below that
    'AMOUNT IN
    DOCUMENT CURRENCY' ***
    similarly how to display value of three fidls in one column
    like for a vendor   I have one column  Vandor name in that column i want to display from table LFA1, 
    NAME1
    NAME2
    NAME3
    NAME4,
    in one column only how to do it.
    regards,
    zafar

    Hi,
    Ref . early reply  can u help me how to uset his in ALV code  and can u give some example for this  how to display it in two lines  as my column heading is of 60 characters 5 word i want to display it in two line in one column only  .
    How to use : SLIS_EV_AFTER_LINE_OUTPUT
    to get this.
    or is there any other method.
    regards,
      zafar

  • How to maintain the column heading in two lines

    for example i have field ACCOUNTING CLEARK
    i want to display this description in alv list
    like ACC
         clk
    Please send the solution for this.
    very urgent
    thanks in advance
    regards
    venu

    hi
    please check my code
    for field KNB1-BUSAB
    i want the description ACC in place of ACC CLK
                           CLK
    means in two lines
    report zfir0098 message-id zz
                    line-size 255
                    line-count 65
                    no standard page heading.
    (C) Copyright <2006> by Eastman Kodak Company - All Rights Reserved.
    Report Name     : ZFIR0098
    Author          : Venugopalreddy.K
    Created on      : 12-MAY-2006
    SIR#            : 086279
    Interface ID#   : RO-01509 - Open AR Aging by Due Date
    Correction#     : D11K947333
    Transaction code: Z_ZFIR0098
    Logical Database: N/A
    SAPScript name  : N/A
    Application Area: FI
    Programs Called : N/A
    Function Modules: REUSE_ALV_VARIANT_F4
                      REUSE_ALV_VARIANT_DEFAULT_GET
                      REUSE_ALV_EVENTS_GET
                      REUSE_ALV_LIST_DISPLAY
                      REUSE_ALV_EVENTS_GET
                      REUSE_ALV_COMMENTARY_WRITE
    Description     : Report to display Open AR with Aging by due
                      date. The open items are displayed by Linked
                      Accounts, Customer Account, Business unit and
                      Posting Date.
    Correction#     SIR#       Modified By                  Date
    D11Kxxxxxx                 xxxxxx xxxx                  MM/DD/YYYY
    Description of change (copy from SIR):
    (text)................................................................
              TABLE DEFINITION                                           *
    tables : t001,    "Company Codes
             knvv,    "Customer Master Sales Data
             bsid,    "Accounting: Secondary Index for Customers
             knkk,    "Customer master credit management: Control area data
             kna1,    "General Data in Customer Master
             knb1,    "Customer Master (Company Code)
             t052,    "Terms of Payment
             tvv1.    "Customer Group 1
                          TYPE POOLS                                     *
    type-pools: slis.
             INTERNAL TABLE DECLARATION
    Internal table for Customer Master (Company Code)
    data :   begin of i_knb1 occurs 0,
               kunnr type knb1-kunnr,
               bukrs type knb1-bukrs,
               busab type knb1-busab,
             end   of i_knb1.
    Internal table for Customer Master Sales Data
    data :   begin of i_knvv occurs 0,
               kunnr type knvv-kunnr,
               vkorg type knvv-vkorg,
               kvgr1 type knvv-kvgr1,
               zterm type knvv-zterm,
             end   of i_knvv.
    Internal table for linked account nos.
    data :   begin of i_knkk occurs 0,
               kunnr type knkk-kunnr,
               kkber type knkk-kkber,
               klimk type knkk-klimk,
               knkli type knkk-knkli,
               sbgrp type knkk-sbgrp,
               grupp type knkk-grupp,
               kdgrp type knkk-kdgrp,
             end   of i_knkk.
    Internal table for Customer's credit limit
    data :   begin of i_knkk_knkli occurs 0,
               kunnr type knkk-kunnr,
               klimk type knkk-klimk,
               knkli type knkk-knkli,
             end   of i_knkk_knkli.
    Internal table for T001 records
    data:    begin of i_t001 occurs 0,
               bukrs type t001-bukrs,
               waers type t001-waers,
             end   of i_t001.
    Internal table for BSID records
    data :   begin of i_bsid occurs 0,
               bukrs type bsid-bukrs,
               kunnr type bsid-kunnr,
               zuonr type bsid-zuonr,
               belnr type bsid-belnr,
               budat type bsid-budat,
               bldat type bsid-bldat,
               waers type bsid-waers,
               shkzg type bsid-shkzg,
               dmbtr type bsid-dmbtr,
               wrbtr type bsid-wrbtr,
               zfbdt type bsid-zfbdt,
               zterm type bsid-zterm,
               zbd1t type bsid-zbd1t,
               zbd2t type bsid-zbd2t,
               zbd3t type bsid-zbd3t,
               kkber type bsid-kkber,
             end   of i_bsid.
    Internal table for Customer Master
    data :   begin of i_kna1 occurs 0,
               kunnr type kna1-kunnr,
               name1 type kna1-name1,
             end   of i_kna1.
    Internal table for Terms of Payment
    data :   begin of i_t052 occurs 0,
               zterm type t052-zterm,
               ztagg type t052-ztagg,
               ztag1 type t052-ztag1,
               ztag2 type t052-ztag2,
               ztag3 type t052-ztag3,
             end   of i_t052.
    Internal table for final output
    data :   begin of i_output occurs 0,
               kunnr1      type bsid-kunnr,
               kunnr       type bsid-kunnr,
               bukrs       type t001-bukrs,
               kdgrp       type knkk-kdgrp,
               name1       type kna1-name1,
               kvgr1       type knvv-kvgr1,
               knkli       type knkk-knkli,
               klimk       type knkk-klimk,
               sbgrp       type knkk-sbgrp,
               zuonr       type bsid-zuonr,
               bldat       type bsid-bldat,
               due_date    type bsid-zfbdt,
               not_due     type bsid-dmbtr,
               curr_due    type bsid-dmbtr,
               due_01_30   type bsid-dmbtr,
               due_31_60   type bsid-dmbtr,
               due_61_90   type bsid-dmbtr,
               due_91_180  type bsid-dmbtr,
               due_181_365 type bsid-dmbtr,
               due_gt_365  type bsid-dmbtr,
               spcol       type bsid-dmbtr,
               tot_due     type bsid-dmbtr,
               tot_ar      type bsid-dmbtr,
               waers       type t001-waers,
               zterm       type bsid-zterm,
               zterm1      type knvv-zterm,
               v_no_days   type i,
               busab       type knb1-busab,
             end   of i_output.
    Internal table for summary data
    data :   begin of i_output_summary occurs 0,
               bukrs       type t001-bukrs,
               kunnr       type bsid-kunnr,
               name1       type kna1-name1,
               kvgr1       type knvv-kvgr1,
               klimk       type knkk-klimk,
               zterm       type knvv-zterm,
               kdgrp       type knkk-kdgrp,
               sbgrp       type knkk-sbgrp,
               busab       type knb1-busab,
               not_due     type bsid-dmbtr,
               curr_due    type bsid-dmbtr,
               due_01_30   type bsid-dmbtr,
               due_31_60   type bsid-dmbtr,
               due_61_90   type bsid-dmbtr,
               due_91_180  type bsid-dmbtr,
               due_181_365 type bsid-dmbtr,
               due_gt_365  type bsid-dmbtr,
               spcol       type bsid-dmbtr,
               tot_due     type bsid-dmbtr,
               tot_ar      type bsid-dmbtr,
               waers       type t001-waers,
             end   of i_output_summary.
    Temporary internal table for KNVV records.
    data :   i_knvv_tmp like i_knvv occurs 0 with header line.
    Temporary internal table for KNKK records.
    data :   i_knkk_tmp like i_knkk occurs 0 with header line.
    Temporary internal table for BSID records.
    data :   i_bsid_tmp like i_bsid occurs 0 with header line.
             FIELD STRING DECLARATION
    Structure to validate selection screen
    data :   begin of v_radio,
               rd1  type c,
               rd2  type c,
               rd3  type c,
             end   of v_radio.
    Structure to validate selection screen
    data :   begin of v_radio1,
               rd1  type c,
               rd2  type c,
               rd3  type c,
             end   of v_radio1.
             Internal Tables for ALV Report
    data:   i_fieldcat_alv      type  slis_t_fieldcat_alv,
            i_sort              type  slis_t_sortinfo_alv,
            i_sort1             type  slis_t_sortinfo_alv,
            i_events            type  slis_t_event,
            v_events            type  slis_alv_event,
            v_fieldcat_alv      type  slis_fieldcat_alv,
            v_sort              like  line of i_sort,
            v_sort1             like  line of i_sort1,
            v_layout            type  slis_layout_alv,
            v_print             type  slis_print_alv,
            i_list_comments     type  slis_t_listheader,
            v_list_comments     like  line of i_list_comments,
            v_variant           like  disvariant,     "Layout-External Use
            v_variant_save      type  c,              "To Store the Varient
            v_variant1          like  disvariant,
            v_exit              type  c.              "Event exit
            Data declaration
    data:   v_paym_days         type  i,
            v_date_diff         type  i,
            v_zterm             type  t052-zterm,
            v_bukrs1            like  bsid-bukrs,
            v_kunnr             like  bsid-kunnr,
            v_kdgrp             like  knkk-kdgrp,
            v_bukrs             like  bsid-bukrs,
            v_name1             like  kna1-name1,
            v_knkli             like  knkk-knkli,
            v_klimk(20)         type  c,
            v_kvgr1             like  knvv-kvgr1,
            v_kkber             like  knkk-kkber,
            v_sbgrp             like  knkk-sbgrp,
            v_busab             like  knb1-busab.
    data:   v_cust_not_due      type  bsid-dmbtr,
            v_cust_curr_due     type  bsid-dmbtr,
            v_cust_due_01_30    type  bsid-dmbtr,
            v_cust_due_31_60    type  bsid-dmbtr,
            v_cust_due_61_90    type  bsid-dmbtr,
            v_cust_due_91_180   type  bsid-dmbtr,
            v_cust_due_181_365  type  bsid-dmbtr,
            v_cust_due_gt_365   type  bsid-dmbtr,
            v_cust_spcol        type  bsid-dmbtr,
            v_cust_tot_due      type  bsid-dmbtr,
            v_cust_tot_ar       type  bsid-dmbtr,
            v_curr              type  t001-waers,
            v_name              type  kna1-name1,
            v_kvgr              type  knvv-kvgr1,
            v_kdgrp1            type  knkk-kdgrp,
            v_klimk1            type  knkk-klimk,
            v_zterm1            type  knvv-zterm,
            v_sbgrp1            type  knkk-sbgrp,
            v_busab1            type  knb1-busab.
    data:   v_repid             like  sy-repid,
            v_flag              type  c.
              CONSTANT DEFINITION
    constants:
            c_sel_x(1)                  type c value 'X',
            c_0(1)                      type c value '0',
            c_1(1)                      type c value '1',
            c_knkli(7)                  type c value 'S_KNKLI',
            c_kdgrp(7)                  type c value 'S_KDGRP',
            c_debit_s(1)                type c value 'S',
            c_credit_h(1)               type c value 'H',
            c_deflt_zterm_y000(4)       type c value 'Y000',
            c_sc01(4)                   type c value 'SC01',
            c_subtotal_text             type slis_formname value
                                                  'ALV_SUBTOTALS',
            c_formname_top_of_page      type slis_formname value
                                                  'F_TOP_OF_PAGE',
            c_formname_top_of_page_summ type slis_formname value
                                                  'F_TOP_OF_PAGE_SUMM'.
                       Selection-screen
    selection-screen begin of block b1 with frame title text-s01.
    parameters     : p_bukrs type t001-bukrs obligatory.
    select-options : s_kvgr1 for knvv-kvgr1,
                     s_sbgrp for knkk-sbgrp,
                     s_busab for knb1-busab,
                     s_budat for bsid-budat,
                     s_kunnr for knvv-kunnr.
    selection-screen end of block b1.
    selection-screen begin of block b2 with frame title text-s02.
    selection-screen begin of line.
    parameters : p_lk_on as checkbox.
    selection-screen comment 5(24)  text-s10 for field p_lk_on.
    selection-screen end of line.
    selection-screen comment 02(67) text-s12.
    selection-screen skip 1.
    selection-screen begin of line.
    parameters      :p_knkli radiobutton  group g1 user-command radi
                                                default 'X'.
    selection-screen comment 5(24)  text-s05 for field p_knkli.
    select-options  :s_knkli for knkk-knkli.
    selection-screen end of line.
    selection-screen begin of line.
    parameters      :p_kdgrp radiobutton  group g1.
    selection-screen comment 5(24)  text-s06 for field p_kdgrp.
    select-options  :s_kdgrp for knkk-kdgrp.
    selection-screen end of line.
    selection-screen begin of line.
    parameters      :p_all_lk radiobutton  group g1.
    selection-screen comment 5(24)  text-s07 for field p_all_lk.
    selection-screen end of line.
    selection-screen end of block b2.
    selection-screen begin of block b3 with frame title text-s03.
    selection-screen begin of line.
    parameters      :p_op_ab radiobutton  group g2.
    selection-screen comment 5(32) text-s08 for field p_op_ab.
    selection-screen end of line.
    selection-screen begin of line.
    parameters      :p_ab radiobutton  group g2.
    selection-screen comment 5(16) text-s09 for field p_ab.
    selection-screen end of line.
    selection-screen end of block b3.
    selection-screen begin of block b4 with frame title text-s11.
    parameters      :p_vari like disvariant-variant.
    selection-screen end of block b4.
    INITIALIZATION
    initialization.
    To initialize the variant
      perform initialize_variant.
    To fetch the default variant for the ALV report
      perform display_default_variant.
         At selection-screen
    at selection-screen.
    To validate company code
      perform check_company_code.
    To validate business unit
      perform check_business_unit.
      move: p_knkli  to v_radio1-rd1,
            p_kdgrp  to v_radio1-rd2,
            p_all_lk to v_radio1-rd3.
      if not s_kvgr1[] is initial and
         not s_sbgrp[] is initial.
        message e045 with text-073.
      endif.
    at selection-screen output.
      move: p_knkli  to v_radio-rd1,
            p_kdgrp  to v_radio-rd2,
            p_all_lk to v_radio-rd3.
    To maintain the select options visiable and invisible
      perform selection_screen_output.
    Check the radio buttons selected in selection screen
      if v_radio1 eq v_radio.
      To maintain the default settings
        perform selection_screen_check.
      endif.
             AT SELECTION-SCREEN ON VALUE-REQUEST
    At Selection Screen Value Request.
    at selection-screen on value-request for p_vari.
    To Display the Existing Variants(Layout).
      perform variant_help_f4 using p_vari.
             Event start-of-selection
    start-of-selection.
    Get the cusomer number
      perform get_knb1_details.
    Get the customer group details
      perform get_knvv_details.
    Get all linked account and credit account details from KNKK
      perform get_linked_accounts_details.
    Get open AR documents from BSID
      perform get_open_ar_details.
    Get the company code and curreny.
      perform get_com_code_curr.
    Get the customer name
      perform get_customer_name.
    Get the payment term days
      perform get_payment_term_days.
    Populate the final table having all the field details
      perform populate_final_table.
    To display the output in alv list.
      perform alv_list_dispaly.
          Form  initialize_variant
          To initialize the ALV Variant
    form initialize_variant.
      clear: v_variant.
      v_repid = sy-repid.
      v_variant-report   = v_repid.
      v_variant-username = sy-uname.
      v_variant_save     = 'A'.
    endform.                    " initialize_variant
          Form  display_default_variant
          To fetch the Default ALV variant
    form display_default_variant.
      if not p_vari is initial.
        v_variant-variant = p_vari.
      endif.
      clear v_variant1.
      v_variant1 = v_variant.
    The function module is used to fetch the default variant
      call function 'REUSE_ALV_VARIANT_DEFAULT_GET'
        exporting
          i_save        = v_variant_save
        changing
          cs_variant    = v_variant1
        exceptions
          wrong_input   = 1
          not_found     = 2
          program_error = 3
          others        = 4.
    Based on the SUBRC value the variant is assigned
      case sy-subrc.
        when 0.
          p_vari = v_variant1-variant.
        when 2.
          clear p_vari.
      endcase.
    endform.                    " display_default_variant
          Form  check_company_code
          Validate Company Code
    form check_company_code.
      select single *
        from t001
       where bukrs eq p_bukrs.
      if sy-subrc ne 0.
        message e339.
      endif.
    endform.                    " check_company_code
          Form  check_business_unit
          Validate Business Unit
    form check_business_unit.
      select single *
        from tvv1
       where kvgr1 in s_kvgr1.
      if sy-subrc ne 0.
        message e045 with text-e01.
      endif.
    endform.                    " check_business_unit
      Form  selection-screen-output
      On selection of corresponding radio button the respective
      Select-option will be high lighted
    form selection_screen_output.
      loop at screen.
        if p_knkli = c_sel_x.
        Credit Account invisible
          if screen-name cs  c_knkli.
            screen-invisible = c_0.
            screen-active    = c_1.
            modify screen.
          endif .
        Customer Group visible
          if screen-name cs  c_kdgrp.
            screen-invisible = c_1.
            screen-active    = c_0.
            modify screen.
          endif.
        elseif p_kdgrp = c_sel_x.
        Credit Account invisible
          if screen-name cs  c_knkli.
            screen-invisible = c_1.
            screen-active    = c_0.
            modify screen.
          endif .
        Customer Group visible
          if screen-name cs  c_kdgrp.
            screen-invisible = c_0.
            screen-active    = c_1.
            modify screen.
          endif.
        elseif p_all_lk = c_sel_x.
        Credit Account invisible
          if screen-name cs  c_knkli.
            screen-invisible = c_1.
            screen-active    = c_0.
            modify screen.
          endif .
        Customer Group invisible
          if screen-name cs  c_kdgrp.
            screen-invisible = c_1.
            screen-active    = c_0.
            modify screen.
          endif.
        endif.
      endloop.
    endform.                    " selection_screen_output
         Form selection_screen_check
         To check the selection screen radio buttons
    form selection_screen_check.
      if p_knkli = c_sel_x.
        if p_op_ab is initial.
          p_op_ab = c_sel_x.
          p_ab = ''.
        endif.
      elseif p_kdgrp = c_sel_x.
        if p_op_ab is initial.
          p_op_ab = c_sel_x.
          p_ab = ''.
        endif.
      elseif p_all_lk = c_sel_x.
        if p_op_ab is initial.
          p_op_ab = c_sel_x.
          p_ab = ''.
        endif.
      endif.
    endform.                    " selection_screen_check
          Form  variant_help_f4
          To get the list of ALV help variants
    form variant_help_f4 using p_variant.
      call function 'REUSE_ALV_VARIANT_F4'
        exporting
          is_variant    = v_variant
          i_save        = v_variant_save
        importing
          e_exit        = v_exit
          es_variant    = v_variant
        exceptions
          not_found     = 1
          program_error = 2
          others        = 3.
      if sy-subrc <> 0.
      If no variants exist
        message s045 with text-e02.
      endif.
      if v_exit is initial.
        p_variant       = v_variant-variant.
      endif.
    endform.                    " variant_help_f4
         Form  get_knb1_details
         To get the Customer number
    form get_knb1_details.
    Fetch data from Customer Master (Company Code)
    based on selection criteria(company code)
      select kunnr bukrs busab
        from knb1
        into table i_knb1
       where bukrs eq p_bukrs.
      if sy-subrc ne 0.
        message i561.
        leave list-processing.
      endif.
    endform.                    " get_knb1_details
         Form  get_knvv_details
         To get the Customer group details
    form get_knvv_details.
      if not i_knb1[] is initial.
        sort i_knb1 by kunnr bukrs.
        delete adjacent duplicates from i_knb1 comparing kunnr bukrs.
      Fecth data from Customer Master Sales Data
      based on internal table I_KNB1 and selection criteria
      (customer group)
        select kunnr vkorg kvgr1 zterm
          from knvv
          into table i_knvv
          for  all entries in i_knb1
         where kunnr eq i_knb1-kunnr
           and kunnr in s_kunnr
           and vkorg eq i_knb1-bukrs.
        if sy-subrc ne 0.
          message i561.
          leave list-processing.
        endif.
      endif.
    endform.                    " get_knvv_details
         Form  get_linked_accounts_details
          To get the linked account details
    form get_linked_accounts_details.
      if not i_knvv[] is initial.
      get unique customer account KUNNR from i_bsid.
        i_knvv_tmp[] = i_knvv[].
        sort i_knvv_tmp by kunnr.
        delete adjacent duplicates from i_knvv_tmp comparing kunnr.
        clear v_kkber.
        concatenate 'C' p_bukrs+1(3) into v_kkber.
        sort i_knvv_tmp by kunnr.
      Fetch the Customer's account number and Customer Group
      details form Customer master credit management based on
      internal table i_bsid_tmp and Credit control area
        select kunnr kkber klimk knkli sbgrp grupp kdgrp
          from knkk
          into table i_knkk
          for  all entries in i_knvv_tmp
         where kunnr eq i_knvv_tmp-kunnr
           and kkber eq v_kkber.
        if not i_knkk[] is initial.
          i_knkk_tmp[] = i_knkk[].
          if p_lk_on = 'X' or not s_knkli[] is initial
                           or not s_kdgrp[] is initial.
            loop at i_knkk_tmp.
              loop at i_knkk where knkli eq i_knkk_tmp-knkli
                               and kunnr ne i_knkk_tmp-knkli.
                exit.
              endloop.
              if sy-subrc ne 0.
                delete i_knkk where knkli eq i_knkk_tmp-knkli.
              endif.
            endloop.
          endif.
          if not s_knkli[] is initial.
            delete i_knkk where not knkli in s_knkli.
          endif.
          if not s_kdgrp[] is initial.
            delete i_knkk where not kdgrp in s_kdgrp.
          endif.
          if not s_sbgrp[] is initial.
            delete i_knkk where not sbgrp in s_sbgrp.
          endif.
        else.
          message i561.
          leave list-processing.
        endif.
      else.
        message i561.
        leave list-processing.
      endif.
    endform.                    " get_linked_accounts_details
         Form  get_com_code_curr
          Get the company code and currency
    form get_com_code_curr .
      select bukrs waers
        from t001
        into table i_t001
       where bukrs eq p_bukrs.
    endform.                    " get_com_code_curr
         Form  get_open_ar_details
          Read BSID for all open AR
    form get_open_ar_details.
      if not i_knkk[] is initial.
        refresh i_knkk_tmp.
        i_knkk_tmp[] = i_knkk[].
        sort i_knkk_tmp by knkli.
        delete adjacent duplicates from i_knkk_tmp comparing kunnr.
      Fetch the from Accounting: Secondary Index for Customers
      based on internal table i_knvv and selection criteria(Posting Date
      -in the Document)
        select bukrs kunnr zuonr belnr budat bldat waers shkzg
               dmbtr wrbtr zfbdt zterm zbd1t zbd2t zbd3t kkber
          from bsid
          into table i_bsid
          for  all entries in i_knkk_tmp
         where bukrs eq p_bukrs
           and kunnr eq i_knkk_tmp-kunnr
           and umskz eq space
           and bstat eq space
           and budat in s_budat.
        if i_bsid[] is initial.
          message i561.
          leave list-processing.
        endif.
      else.
        message i561.
        leave list-processing.
      endif.
    endform.                    " get_open_ar_details
         Form  get_customer_name
          To get the customer name
    form get_customer_name.
      if not i_knvv_tmp[] is initial.
      Get the customer name from KNA1 for all customer
        select kunnr name1
          from kna1
          into table i_kna1
          for  all entries in i_knvv_tmp
         where kunnr = i_knvv_tmp-kunnr.
      endif.
    endform.                    " get_customer_name
         Form  get_payment_term_days
           To get the payment days
    form get_payment_term_days.
      if not i_bsid[] is initial.
        clear i_bsid_tmp.
        refresh i_bsid_tmp.
        i_bsid_tmp[] = i_bsid[].
        sort i_bsid_tmp by zterm.
        delete i_bsid_tmp where shkzg ne c_debit_s.
        if not i_bsid_tmp[] is initial.
        Get the Payment days from T052
          select zterm ztagg ztag1 ztag2 ztag3
            from t052
            into table i_t052
            for all entries in i_bsid
           where zterm = i_bsid-zterm.
        endif.
      endif.
    endform.                    " get_payment_term_days
         Form  populate_final_table
          To polupate final internal table
    form populate_final_table.
      sort i_bsid.
      sort i_kna1 by kunnr.
      sort i_knkk by kunnr.
      sort i_knkk_knkli by kunnr.
      sort i_knvv by vkorg kunnr.
      sort i_t052 by zterm ztag1 ztag2 ztag3.
      sort i_t001 by bukrs.
      loop at i_bsid.
        clear i_knb1.
        read table i_knb1 with key kunnr = i_bsid-kunnr
                                           binary search.
        if not i_knb1-busab in s_busab.
          continue.
        else.
          i_output-busab = i_knb1-busab.
        endif.
        clear i_knvv.
        read table i_knvv with key kunnr = i_bsid-kunnr
                                   vkorg = i_bsid-bukrs
                                          binary search.
        if not i_knvv-kvgr1 in s_kvgr1.
          continue.
        else.
          i_output-kvgr1  = i_knvv-kvgr1.
          i_output-zterm1 = i_knvv-zterm.
        endif.
      To read the data from kna1,knkk and knvv and moving data to final
      internal table i_output.
        perform move_kna1_knkk_knvv.
      To read the data from bsid and t052 and moving data to final
      internal table i_output.
        perform move_bsid_t052.
      To calculate the number of days.
        perform move_no_of_days.
      endloop.
    endform.                    " populate_final_table
         Form  move_kna1_knkk_knvv
         To read the data fron kna1,knkk and knvv
    form move_kna1_knkk_knvv.
      clear i_kna1.
      read table i_kna1 with key kunnr = i_bsid-kunnr
                                         binary search.
      if sy-subrc eq 0.
        i_output-name1 = i_kna1-name1.
      endif.
      clear i_knkk.
      read table i_knkk with key kunnr = i_bsid-kunnr
                                         binary search.
      if sy-subrc eq 0.
        i_output-knkli = i_knkk-knkli.
        i_output-kdgrp = i_knkk-kdgrp.
        i_output-klimk = i_knkk-klimk.
        i_output-sbgrp = i_knkk-sbgrp.
      endif.
    endform.                    " move_kna1_knkk_knvv
         Form  move_bsid_t052
         To read the data from BSID and T052
    form move_bsid_t052.
      move: i_bsid-kunnr  to  i_output-kunnr,
            i_bsid-zuonr  to  i_output-zuonr ,
            i_bsid-zterm  to  i_output-zterm,
            i_bsid-bldat  to  i_output-bldat,
            i_bsid-kunnr  to  i_output-kunnr1.
      read table i_t001 with key bukrs = i_bsid-bukrs
                                         binary search.
      if sy-subrc eq 0.
        move: i_t001-bukrs  to  i_output-bukrs,
              i_t001-waers  to  i_output-waers.
      endif.
      if i_bsid-shkzg eq c_credit_h.
        i_bsid-dmbtr  = - i_bsid-dmbtr.
      endif.
      move i_bsid-dmbtr  to  i_output-tot_ar.
    If base line date is initial, then use Document date.
      if i_bsid-zfbdt is initial.
        i_bsid-zfbdt = i_bsid-bldat.
      endif.
      if i_bsid-shkzg eq c_debit_s.
        clear v_paym_days.
        if not i_bsid-zbd3t is initial.
          v_paym_days = i_bsid-zbd3t.
        elseif not i_bsid-zbd2t is initial.
          v_paym_days = i_bsid-zbd2t.
        elseif not i_bsid-zbd1t is initial.
          v_paym_days = i_bsid-zbd1t.
      if no discount days is existing in BSID the
      take discount days from table T052
        else.
          clear : i_t052,
                  v_zterm.
          if i_bsid-zterm is initial.
            v_zterm = c_deflt_zterm_y000.
          else.
            v_zterm = i_bsid-zterm.
          endif.
          read table i_t052 with key zterm = v_zterm
                                       binary search.
          if sy-subrc eq 0.
            if not i_t052-ztag3 is initial.
              v_paym_days = i_t052-ztag3.
            elseif not i_t052-ztag2 is initial.
              v_paym_days = i_t052-ztag2.
            elseif not i_t052-ztag1 is initial.
              v_paym_days = i_t052-ztag1.
            endif.
          endif.
        endif.
        i_output-due_date = i_bsid-zfbdt + v_paym_days.
      else.
        i_output-due_date = i_bsid-zfbdt.
      endif.
      clear v_date_diff.
      v_date_diff = sy-datum - i_output-due_date.
      i_output-v_no_days = v_date_diff.
    endform.                    " move_bsid_t052
         Form  move_no_of_days
         To read the no of days
    form move_no_of_days.
      if i_knkk-grupp = c_sc01.
        i_output-spcol = i_bsid-dmbtr.
      else.
        if v_date_diff < 0.
          i_output-not_due = i_bsid-dmbtr.
        elseif v_date_diff = 0.
          i_output-curr_due = i_bsid-dmbtr.
        elseif v_date_diff <= 30.
         

  • Column heading over two lines

    Hi,
    I want to split a column heading in tow lines. How can I do this?
    Thanks Daniela

    put a br(eak) in between the words, e.g.
    <br><br>
    this has to go
    <br>on two lines
    <br><br>
    this has to go[br]on two lines
    (replace the "[" and "]" by "<" and ">"
    <br>
    <br>
    Jan.
    Message was edited by:
    user523689

  • In ALV how to make column heading in two lines ?

    In ALV if one the column heading is say for example "Purchase Order", if i want to display it as "Purchase" and "Order" below the "Purchase". Is it possible? if so how?
    Thanks in advance.
    Sounder

    Hi Sounder,
         It is highly impossible... If u tell your requirement clearly... we will try for solution..
    thanks and regards
    sk
    Rewards if helpful

  • Taking download into excel from ALV Grid - header is printing in two lines

    Hi All,
    I have a scenario where I am taking the download from ALV grid to an excel sheet. Now the header of the ALV (column names) is appearing in two lines in the downloaded excel sheet while items (records of the ALV table) are getting displayed in a single line.
    This download is taken from the standard download to local file (spreadsheet) button provided by SAP for ALVs.
    I am using function module "Reuse_alv_grid_display" for the purpose.
    Can somebody provide an idea how I can avoid the header printing in two lines and keep the length as it is.
    Thanks in Advance,
    Chandan

    Hi..
    1. Pass header name in internal table appned first line.
    2. after that pass u r data .
    3. Use  FM. WS_DOWNLOAD 
    Salil ......
    Edited by: salil chavan on Nov 26, 2008 11:07 AM

  • Two line column heading in ALV Report

    Hi Experts,
    My requirement is that I have to create an ALV report with columns having two lines of headings. Like a main heading called Consultants under which 5 to 10 columns of departments(Dept Num, Num of Ppl , Manager etc. ) and then Contractors(Name, Address Etc ) underwhich there would be 5 to 10 departments. Right now my report has the depts of...     
    How can i do that . If u would suggest by CL_SALV_TABLE then it would be great.
    Thanks a lot !
    Sau

    i don't think you can do it using cl_gui_alv_grid or cl_salv_table.

  • Two header line in ALV display

    Hi ,
    I want two header lines in ALV report using reuse_alv_grid_display .
    Like
    Factory-Sales
    Qty   Value
    10     1000
    How to do that please help

    Hi,
       I am giving the example code for 3 header line display. This may help you.
    First declare Form, 
    FORM TOP-OF-PAGE .
    FREE TTOP .
    FREE HTOP .
    CLEAR TTOP .
    HTOP-TYP = 'H' .
    HTOP-INFO = 'LLYODS STEEL INDUSTRIES LIMITED, WARDHA' .
    APPEND HTOP TO TTOP .
    CLEAR HTOP .
    HTOP-TYP = 'S' .
    HTOP-INFO = MAT .
    APPEND HTOP TO TTOP .
    CLEAR HTOP .
    HTOP-TYP = 'S' .
    HTOP-INFO = PONO .
    APPEND HTOP TO TTOP .
    CLEAR HTOP .
    HTOP-TYP = 'S' .
    HTOP-INFO = item .
    APPEND HTOP TO TTOP .
    CLEAR HTOP .
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
      EXPORTING
        IT_LIST_COMMENTARY       = TTOP
      I_LOGO                   =
      I_END_OF_LIST_GRID       =
      I_ALV_FORM               =
    ENDFORM.
    After that declare this form in your Grid or List like below.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                = ' '
      I_BUFFER_ACTIVE                   = ' '
       I_CALLBACK_PROGRAM                = SY-REPID
      I_CALLBACK_PF_STATUS_SET          = ' '
      I_CALLBACK_USER_COMMAND           = ' '
       I_CALLBACK_TOP_OF_PAGE            = 'TOP-OF-PAGE'
      I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
      I_GRID_TITLE                      =
      I_GRID_SETTINGS                   =
      IS_LAYOUT                         =
       IT_FIELDCAT                       = BTAB
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         = 'X'
       I_SAVE                            = 'X'
      IS_VARIANT                        =
      IT_EVENTS                         =
      IT_EVENT_EXIT                     =
      IS_PRINT                          =
      IS_REPREP_ID                      =
      I_SCREEN_START_COLUMN             = 0
      I_SCREEN_START_LINE               = 0
      I_SCREEN_END_COLUMN               = 0
      I_SCREEN_END_LINE                 = 0
      I_HTML_HEIGHT_TOP                 = 0
      I_HTML_HEIGHT_END                 = 0
      IT_ALV_GRAPHICS                   =
      IT_HYPERLINK                      =
      IT_ADD_FIELDCAT                   =
      IT_EXCEPT_QINFO                   =
      IR_SALV_FULLSCREEN_ADAPTER        =
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
      TABLES
        T_OUTTAB                          = ITAB
    EXCEPTIONS
      PROGRAM_ERROR                     = 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.
    Regards,
    Himanshu

  • Alv report headings in two lines

    Hi all,
    I have created an ALV report. Now the requirement is that the 60 odd columns should be divided into 3 parts.
    The first 20 colums come under a common heading above the column heading.
    21 to 40 come under another heading and so on.
    How can I give two lines of column headings.
    It should look like this.
    Project                 No of Enquiries                           Sales orders
                       col1     col2     col3.....                  col21   col22        col23...
    Please help.
    Regards,
    BP

    in the field catalog u will have an option to mention the row position.. check that..
    fc-fieldname = 'KUNRES'.
    fc-row_pos = '2'.            "<< this is what u needed..
    fc-seltext_s = 'Total'.
    fc-do_sum = 'X'.
    APPEND fc. CLEAR fc.
    CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
    EXPORTING
    i_interface_check = ' '
    i_callback_program = alv_repid
    i_callback_pf_status_set = 'SET_STATUS'
    i_callback_user_command = 'USER_COMMAND'
    is_layout = alv_layout
    it_fieldcat = fc[]             "<<<<<<<<<<<<fiedl catalog here..
    i_default = 'X'
    i_save = 'A'
    is_variant = alv_variant
    i_tabname_header = 'HEADER'
    i_tabname_item = 'LIST'
    is_keyinfo = alv_keyinfo
    is_print = alv_print
    TABLES
    t_outtab_header = header
    t_outtab_item = list.

Maybe you are looking for