ALV: How to display amount respective to currency format in ALV?

Hi All,
Normally in ALV, to display the amount respective to its currency, we just simply pass the currency field(coming from the t_outtab  of FM REUSE_ALV_GRID_DISPLAY) to CFIELDNAMEof ALV field catalog.
For ordinary currencies with 2 decimal places, like USD, etc, it will work fine.
But for currencies like KWD and IDR, their decimal place is always 3 via SAP standard definition in transaction OY04.
Given this, ALV field catalog CFIELDNAME cannot handle as such automatic formatting.
Is there any other way without using the code below?
WRITE <amount_field_name> CURRENCY <currency_field_name>.
Thanks.

Answer:
'WAERK' to w_alv_fcat-cfieldname,

Similar Messages

  • ALV: how to display only subtotals and total rows in the output

    ALV: how to display only subtotals and total rows in the output
    i am getting output
    i am getting subtotals for respective fields
    but i want to display only subtotals and totals rows in the output
    i have tried the
    totals_only   parameter in slis_layout_alv
    but it is not working.

    hi,
    For TOTAL
    For the amount field / quantity field in the field catalog give DO_SUM = 'X'    for WHOLE total
    For SUBTOTAL
    For subtotal you will have to create an internal table sort..Let's say you want to do subtotal for each customer..
    DATA: lt_sort type SLIS_T_SORTINFO_ALV,
    ls_sort type slis_sortinfo_alv.
    CLEAR ls_sort.
    ls_sort-spos = 1.
    ls_sort-fieldname = 'Give the field name that you do the sum'.
    ls_sort-up = 'X'.
    ls_sort-subtot = 'X'.
    APPEND ls_sort TO lt_sort.
    fieldcatalog-do_dum = 'X'.
    for subtotals
    WA_SORT-FIELDNAME = 'ERSDA'.
    WA_SORT-SPOS = '2'.
    WA_SORT-UP = 'X'.
    WA_SORT-SUBTOTAL = 'X'.
    APPEND WA_SORT TO IT_SORT.
    Refer
    http://help.sap.com/saphelp_erp2004/helpdata/en/ee/c8e056d52611d2b468006094192fe3/content.htm
    http://sap.ittoolbox.com/groups/technical-functional/sap-dev/doesnt-function-event-subtotal_text-in-alv-713787
    regards,
    Prabhu
    reward if it is helpful

  • Help needed to display character vaiable in currency format

    Hi Friends
    In a SAP Script I am passing a currency field to the subroutine as an i/p parameter and since it gets converted to character format in subroutine because of 'itcsy' , ihave deleted the trailing zeroes and decimal points from the field and performed calculations on the field, now i need to pass this char field back to SAP script but i need to display that field in currency format with commas and decimal points in the script...how do i do that???
    Thanks
    Vishal.

    Hi Vishal,
    When you pass the currency amount into the perform, no need to remove the trailing zeros and the decimal point.
    Only thing you need to remove is the comma seperator as it gives a runtime error during calculation.
    To convert it back to the format with comma, write the below command:
    WRITE v_Item_total currency '2' to v_item_char.
    CONDENSE v_item_char.
    Here v_item_total is a number which is converted to comma seperated number and passed to char variable.
    This char variable is then passed to the SCRIPT.
    regards,
    Gaurav.

  • How to get sum for each currency's in ALV Report

    Hi,
    A column has amounts with various currency's.
    May I know how to get sum quantity for each currency in ALV Report?
    Thanks in advance.

    Hi,
    Currency value column should have reference to currency code column.
    Regards,
    Wojciech

  • How to display amount in words for subtotal value?

    Hi All,
    I am diplaying a amount in words for sub-total value after each document number.
    Can any one suggest how to display text for sub-total value not for Grand total?
    I want subtotal at each material for each document number and want to display that subtotal amount in words.
    Thanks and Regards
    Steve

    Thanks Jorge ,
    Is it possible in ALV printing Sut-total text by adding a new line .?
    And where to insert At new or on-chane ?
    Sub-total  calculating automatically not programaticall..
    Regards
    Steve

  • How to display amount in words in the last page

    Hi,
    I am very new to Oracle Report, but v.good experience in Crystal report.
    How can i display amount in words for an invoice amount total in the last page of the invoice and after total amount. I created a new non repeating frame and put the amount in words inside that, and set the frames diplay property Print on Last Page, but the problem is already there is a repeating frame to print all the invoices item, and the total in figure. But the amount in words frame is not always coming after the total amount,either it should be at the bottom of the last page in fixed position, otherwise it should move just below the total amount.
    I am using Oracle 11g.
    Thanks in advance...
    Fsl

    Hi ,
    Use This function
    create or replace FUNCTION xxg4_zen_conv_words (p_amount IN Number) RETURN Varchar2 IS
    --Creation Date   :  11-DEC-2009
    --Purpose         :  This Function returns amount in words.
    --Parameters      :
    --1) p_amount : Only positive and negative values are allowed.
    Precision can be entered upto 10 digits and only 2 scales
    are allowed e.g 9999999999.99
    -- Index by Tables to store word list
    TYPE typ_word_list IS TABLE OF Varchar2(200) INDEX BY BINARY_INTEGER;
    t_typ_word_list typ_word_list;
    TYPE typ_word_gap IS TABLE OF Varchar2(200) INDEX BY BINARY_INTEGER;
    t_typ_word_gap typ_word_gap;
    -- Local Variables
    v_amount Number := p_amount;
    v_amount_length Number;
    v_words Varchar2(10000);
    v_point_found Varchar2(1) := 'N';
    v_point_value Number;
    BEGIN
    /*Getting value after point if found */
    v_point_value := SUBSTR(v_amount,(INSTR(v_amount,'.',1) + 1),2);
    /*Checking whether amount has any scale value also */
    v_point_found := CASE WHEN (INSTR(v_amount,'.',1)) = 0 THEN 'N'
    WHEN (INSTR(v_amount,'.',1)) > 0 THEN 'Y'
    END;
    /*Converting amount into pure numeric format */
    v_amount := FLOOR(ABS(v_amount));
    v_amount_length := LENGTH(v_amount);
    t_typ_word_gap(2) := 'and Paise';
    t_typ_word_gap(3) := 'Hundred';
    t_typ_word_gap(4) := 'Thousand';
    t_typ_word_gap(6) := 'Lakh';
    t_typ_word_gap(8) := 'Crore';
    t_typ_word_gap(10) := 'Arab';
    FOR i IN 1..99
    LOOP
    t_typ_word_list(i) := To_Char(To_Date(i,'J'),'Jsp');
    END LOOP;
    IF v_amount_length <= 2
    THEN
    /* Conversion 1 to 99 digits */
    v_words := t_typ_word_list(v_amount);
    ELSIF v_amount_length = 3
    THEN
    /* Conversion for 3 digits till 999 */
    v_words := t_typ_word_list(SUBSTR(v_amount,1,1))||' '||t_typ_word_gap(3);
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,2,2));
    ELSIF v_amount_length = 4
    THEN
    /* Conversion for 4 digits till 9999 */
    v_words := t_typ_word_list(SUBSTR(v_amount,1,1))||' '||t_typ_word_gap(4);
    IF SUBSTR(v_amount,2,1) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,2,1))||' '||t_typ_word_gap(3);
    END IF;
    IF SUBSTR(v_amount,3,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,3,2));
    END IF;
    ELSIF v_amount_length = 5
    THEN
    /* Conversion for 5 digits till 99999 */
    v_words := t_typ_word_list(SUBSTR(v_amount,1,2))||' '||t_typ_word_gap(4);
    IF SUBSTR(v_amount,3,1) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,3,1))||' '||t_typ_word_gap(3);
    END IF;
    IF SUBSTR(v_amount,4,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,4,2));
    END IF;
    ELSIF v_amount_length = 6
    THEN
    /* Conversion for 6 digits till 999999 */
    v_words := t_typ_word_list(SUBSTR(v_amount,1,1))||' '||t_typ_word_gap(6);
    IF SUBSTR(v_amount,2,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,2,2))||' '||t_typ_word_gap(4);
    END IF;
    IF SUBSTR(v_amount,4,1) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,4,1))||' '||t_typ_word_gap(3);
    END IF;
    IF SUBSTR(v_amount,5,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,5,2));
    END IF;
    ELSIF v_amount_length = 7
    THEN
    /* Conversion for 7 digits till 9999999 */
    v_words := t_typ_word_list(SUBSTR(v_amount,1,2))||' '||t_typ_word_gap(6);
    IF SUBSTR(v_amount,3,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,3,2))||' '||t_typ_word_gap(4);
    END IF;
    IF SUBSTR(v_amount,5,1) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,5,1))||' '||t_typ_word_gap(3);
    END IF;
    IF SUBSTR(v_amount,6,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,6,2));
    END IF;
    ELSIF v_amount_length = 8
    THEN
    /* Conversion for 8 digits till 99999999 */
    v_words := t_typ_word_list(SUBSTR(v_amount,1,1))||' '||t_typ_word_gap(8);
    IF SUBSTR(v_amount,2,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,2,2))||' '||t_typ_word_gap(6);
    END IF;
    IF SUBSTR(v_amount,4,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,4,2))||' '||t_typ_word_gap(4);
    END IF;
    IF SUBSTR(v_amount,6,1) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,6,1))||' '||t_typ_word_gap(3);
    END IF;
    IF SUBSTR(v_amount,7,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,7,2));
    END IF;
    ELSIF v_amount_length = 9
    THEN
    /* Conversion for 9 digits till 999999999 */
    v_words := t_typ_word_list(SUBSTR(v_amount,1,2))||' '||t_typ_word_gap(8);
    IF SUBSTR(v_amount,3,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,3,2))||' '||t_typ_word_gap(6);
    END IF;
    IF SUBSTR(v_amount,5,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,5,2))||' '||t_typ_word_gap(4);
    END IF;
    IF SUBSTR(v_amount,7,1) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,7,1))||' '||t_typ_word_gap(3);
    END IF;
    IF SUBSTR(v_amount,8,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,8,2));
    END IF;
    ELSIF v_amount_length = 10
    THEN
    /* Conversion for 10 digits till 9999999999 */
    v_words := t_typ_word_list(SUBSTR(v_amount,1,1))||' '||t_typ_word_gap(10);
    IF SUBSTR(v_amount,2,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,2,2))||' '||t_typ_word_gap(8);
    END IF;
    IF SUBSTR(v_amount,4,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,4,2))||' '||t_typ_word_gap(6);
    END IF;
    IF SUBSTR(v_amount,6,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,6,2))||' '||t_typ_word_gap(4);
    END IF;
    IF SUBSTR(v_amount,8,1) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,8,1))||' '||t_typ_word_gap(3);
    END IF;
    IF SUBSTR(v_amount,9,2) != 0
    THEN
    v_words := v_words ||' '||t_typ_word_list(SUBSTR(v_amount,9,2));
    END IF;
    END IF;
    IF v_point_found = 'Y'
    THEN
    IF v_point_value != 0
    THEN
    v_words := v_words||' '||t_typ_word_gap(2)||' '||t_typ_word_list(CASE WHEN LENGTH(SUBSTR(p_amount,(INSTR(p_amount,'.',1) + 1),2)) = 1 THEN SUBSTR(p_amount,(INSTR(p_amount,'.',1) + 1),2)||'0'
    WHEN LENGTH(SUBSTR(p_amount,(INSTR(p_amount,'.',1) + 1),2)) = 2 THEN SUBSTR(p_amount,(INSTR(p_amount,'.',1) + 1),2)
    END);
    END IF;
    END IF;
    IF p_amount < 0
    THEN
    v_words := 'Minus '||v_words;
    ELSIF p_amount = 0
    THEN
    v_words := 'Zero';
    END IF;
    IF LENGTH(v_amount) > 10
    THEN
    v_words := 'Value larger than specified precision allowed to convert into words. Maximum 10 digits allowed for precision.';
    END IF;
    RETURN (v_words);
    END xxg4_Zen_Conv_Words;
    --Thanks
    SAGAR SANKPAL

  • Display output fields in Hierarchy format in ALV report

    Hi,
    I have a requirement to display the output fileds in ALV report, the output format is like this . The output field should be in ALV format, under each purchase order its corresponding line item should appear.
    Pruchase Order  4700000581  
    company code        item
            9001                     10
            9001                     20.
            9001                     30.
    Pruchase Order  4700000174  
            9001                     10
            9001                     20.
    Can any one please help me how to do this in ALV report.

    Hi
    This can be achieved using the Heirarchial ALV list
    see the sample and do it
    REPORT ZALV5_OBJECTS.
    TABLES : EKKO.
    TYPE-POOLS : SLIS.
    TYPES : BEGIN OF TY_EKKO,
    EBELN TYPE EKPO-EBELN,
    EBELP TYPE EKPO-EBELP,
    STATU TYPE EKPO-STATU,
    AEDAT TYPE EKPO-AEDAT,
    MATNR TYPE EKPO-MATNR,
    MENGE TYPE EKPO-MENGE,
    MEINS TYPE EKPO-MEINS,
    NETPR TYPE EKPO-NETPR,
    PEINH TYPE EKPO-PEINH,
    END OF TY_EKKO.
    DATA: IT_EKKO TYPE STANDARD TABLE OF TY_EKKO INITIAL SIZE 0,
    IT_EKPO TYPE STANDARD TABLE OF TY_EKKO INITIAL SIZE 0,
    IT_EMPTYTAB TYPE STANDARD TABLE OF TY_EKKO INITIAL SIZE 0,
    WA_EKKO TYPE TY_EKKO,
    WA_EKPO TYPE TY_EKKO.
    DATA: OK_CODE LIKE SY-UCOMM, "OK-Code
    SAVE_OK LIKE SY-UCOMM.
    *ALV data declarations
    DATA: FIELDCATALOG TYPE LVC_T_FCAT WITH HEADER LINE.
    DATA: GD_FIELDCAT TYPE LVC_T_FCAT,
    GD_TAB_GROUP TYPE SLIS_T_SP_GROUP_ALV,
    GD_LAYOUT TYPE SLIS_LAYOUT_ALV.
    *ALVtree data declarations
    CLASS CL_GUI_COLUMN_TREE DEFINITION LOAD.
    CLASS CL_GUI_CFW DEFINITION LOAD.
    DATA: GD_TREE TYPE REF TO CL_GUI_ALV_TREE,
    GD_HIERARCHY_HEADER TYPE TREEV_HHDR,
    GD_REPORT_TITLE TYPE SLIS_T_LISTHEADER,
    GD_LOGO TYPE SDYDO_VALUE,
    GD_VARIANT TYPE DISVARIANT.
    *Create container for alv-tree
    DATA: GD_TREE_CONTAINER_NAME(30) TYPE C,
    GD_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.
    *Includes
    *INCLUDE ZDEMO_ALVTREEO01. "Screen PBO Modules
    *INCLUDE ZDEMO_ALVTREEI01. "Screen PAI Modules
    *INCLUDE ZDEMO_ALVTREEF01. "ABAP Subroutines(FORMS)
    *Start-of-selection.
    START-OF-SELECTION.
    ALVtree setup data
    PERFORM DATA_RETRIEVAL.
    PERFORM BUILD_FIELDCATALOG.
    PERFORM BUILD_LAYOUT.
    PERFORM BUILD_HIERARCHY_HEADER CHANGING GD_HIERARCHY_HEADER.
    PERFORM BUILD_REPORT_TITLE USING GD_REPORT_TITLE GD_LOGO.
    PERFORM BUILD_VARIANT.
    Display ALVtree report
    CALL SCREEN 100.
    *& Form data_retrieval
    text
    --> p1 text
    <-- p2 text
    FORM DATA_RETRIEVAL .
    SELECT EBELN
    UP TO 10 ROWS
    FROM EKKO
    INTO CORRESPONDING FIELDS OF TABLE IT_EKKO.
    LOOP AT IT_EKKO INTO WA_EKKO.
    SELECT EBELN EBELP STATU AEDAT MATNR MENGE MEINS NETPR PEINH
    FROM EKPO
    APPENDING TABLE IT_EKPO
    WHERE EBELN EQ WA_EKKO-EBELN.
    ENDLOOP.
    ENDFORM. " data_retrieval
    *& Form build_fieldcatalog
    text
    --> p1 text
    <-- p2 text
    FORM BUILD_FIELDCATALOG .
    Please not there are a number of differences between the structure of
    ALVtree fieldcatalogs and ALVgrid fieldcatalogs.
    For example the field seltext_m is replace by scrtext_m in ALVtree.
    FIELDCATALOG-FIELDNAME = 'EBELN'. "Field name in itab
    FIELDCATALOG-SCRTEXT_M = 'Purchase Order'. "Column text
    FIELDCATALOG-COL_POS = 0. "Column position
    FIELDCATALOG-OUTPUTLEN = 15. "Column width
    FIELDCATALOG-EMPHASIZE = 'X'. "Emphasize (X or SPACE)
    FIELDCATALOG-KEY = 'X'. "Key Field? (X or SPACE)
    fieldcatalog-do_sum = 'X'. "Sum Column?
    fieldcatalog-no_zero = 'X'. "Don't display if zero
    APPEND FIELDCATALOG TO GD_FIELDCAT.
    CLEAR FIELDCATALOG.
    FIELDCATALOG-FIELDNAME = 'EBELP'.
    FIELDCATALOG-SCRTEXT_M = 'PO Iten'.
    FIELDCATALOG-OUTPUTLEN = 15.
    FIELDCATALOG-COL_POS = 1.
    APPEND FIELDCATALOG TO GD_FIELDCAT..
    CLEAR FIELDCATALOG.
    FIELDCATALOG-FIELDNAME = 'STATU'.
    FIELDCATALOG-SCRTEXT_M = 'Status'.
    FIELDCATALOG-OUTPUTLEN = 15.
    FIELDCATALOG-COL_POS = 2.
    APPEND FIELDCATALOG TO GD_FIELDCAT..
    CLEAR FIELDCATALOG.
    FIELDCATALOG-FIELDNAME = 'AEDAT'.
    FIELDCATALOG-SCRTEXT_M = 'Item change date'.
    FIELDCATALOG-OUTPUTLEN = 15.
    FIELDCATALOG-COL_POS = 3.
    APPEND FIELDCATALOG TO GD_FIELDCAT..
    CLEAR FIELDCATALOG.
    FIELDCATALOG-FIELDNAME = 'MATNR'.
    FIELDCATALOG-SCRTEXT_M = 'Material Number'.
    FIELDCATALOG-OUTPUTLEN = 15.
    FIELDCATALOG-COL_POS = 4.
    APPEND FIELDCATALOG TO GD_FIELDCAT..
    CLEAR FIELDCATALOG.
    FIELDCATALOG-FIELDNAME = 'MENGE'.
    FIELDCATALOG-SCRTEXT_M = 'PO quantity'.
    FIELDCATALOG-OUTPUTLEN = 15.
    FIELDCATALOG-COL_POS = 5.
    APPEND FIELDCATALOG TO GD_FIELDCAT..
    CLEAR FIELDCATALOG.
    FIELDCATALOG-FIELDNAME = 'MEINS'.
    FIELDCATALOG-SCRTEXT_M = 'Order Unit'.
    FIELDCATALOG-OUTPUTLEN = 15.
    FIELDCATALOG-COL_POS = 6.
    APPEND FIELDCATALOG TO GD_FIELDCAT..
    CLEAR FIELDCATALOG.
    FIELDCATALOG-FIELDNAME = 'NETPR'.
    FIELDCATALOG-SCRTEXT_M = 'Net Price'.
    FIELDCATALOG-OUTPUTLEN = 15.
    FIELDCATALOG-COL_POS = 7.
    FIELDCATALOG-DATATYPE = 'CURR'.
    APPEND FIELDCATALOG TO GD_FIELDCAT..
    CLEAR FIELDCATALOG.
    FIELDCATALOG-FIELDNAME = 'PEINH'.
    FIELDCATALOG-SCRTEXT_M = 'Price Unit'.
    FIELDCATALOG-OUTPUTLEN = 15.
    FIELDCATALOG-COL_POS = 8.
    APPEND FIELDCATALOG TO GD_FIELDCAT..
    CLEAR FIELDCATALOG.
    ENDFORM. " build_fieldcatalog
    *& Form build_layout
    text
    --> p1 text
    <-- p2 text
    FORM BUILD_LAYOUT .
    GD_LAYOUT-NO_INPUT = 'X'.
    GD_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
    GD_LAYOUT-TOTALS_TEXT = 'Totals'(201).
    gd_layout-totals_only = 'X'.
    gd_layout-f2code = 'DISP'. "Sets fcode for when double
    "click(press f2)
    gd_layout-zebra = 'X'.
    gd_layout-group_change_edit = 'X'.
    gd_layout-header_text = 'helllllo'
    ENDFORM. " build_layout
    *& Form build_hierarchy_header
    text
    <--P_GD_HIERARCHY_HEADER text
    FORM BUILD_HIERARCHY_HEADER CHANGING
    P_HIERARCHY_HEADER TYPE TREEV_HHDR.
    P_HIERARCHY_HEADER-HEADING = 'Hierarchy Header'(013).
    P_HIERARCHY_HEADER-TOOLTIP = 'This is the Hierarchy Header !'(014).
    P_HIERARCHY_HEADER-WIDTH = 30.
    P_HIERARCHY_HEADER-WIDTH_PIX = ''.
    ENDFORM. " build_hierarchy_header
    *& Form build_report_title
    text
    -->P_GD_REPORT_TITLE text
    -->P_GD_LOGO text
    FORM BUILD_REPORT_TITLE USING PT_REPORT_TITLE TYPE SLIS_T_LISTHEADER
    P_GD_LOGO TYPE SDYDO_VALUE.
    DATA: LS_LINE TYPE SLIS_LISTHEADER,
    LD_DATE(10) TYPE C.
    List Heading Line(TYPE H)
    CLEAR LS_LINE.
    LS_LINE-TYP = 'H'.
    ls_line-key "Not Used For This Type(H)
    LS_LINE-INFO = 'PO ALVTree Display'.
    APPEND LS_LINE TO PT_REPORT_TITLE.
    Status Line(TYPE S)
    LD_DATE(2) = SY-DATUM+6(2).
    LD_DATE+2(1) = '/'.
    LD_DATE3(2) = SY-DATUM4(2).
    LD_DATE+5(1) = '/'.
    LD_DATE+6(4) = SY-DATUM(4).
    LS_LINE-TYP = 'S'.
    LS_LINE-KEY = 'Date'.
    LS_LINE-INFO = LD_DATE.
    APPEND LS_LINE TO PT_REPORT_TITLE.
    Action Line(TYPE A)
    CLEAR LS_LINE.
    LS_LINE-TYP = 'A'.
    CONCATENATE 'Report: ' SY-REPID INTO LS_LINE-INFO SEPARATED BY SPACE.
    APPEND LS_LINE TO PT_REPORT_TITLE.
    ENDFORM. " build_report_title
    *& Form build_variant
    text
    --> p1 text
    <-- p2 text
    FORM BUILD_VARIANT .
    Set repid for storing variants
    GD_VARIANT-REPORT = SY-REPID.
    ENDFORM. " build_variant
    Reward points for useful Answers
    Regards
    Anji

  • In Scripts how to print the values in currence format

    Dear abap guru's,
    I am working on Purchase Order Script, copy from the standard script, after that wrote a one perform , in that added one new field to script, but value is printed like this formate : 1000.00, but i want to print 1,000.00 like this currence format. let me know the any solution
    thanks to all
    raj.

    Hi ,
    When you are populating the value in perform instead of assigning the value (using = ) pass it using WRITE TO.
    Like :  WRITE lw_total TO output-value.
    Declare lw_total as currency field.
    Regards,
    Rajitha.

  • How to display values in top of page in ALV report

    Hai,
      This is my billing report program, i developed that object by using ALV but i could not able to use Top-of-page. please any one correct my code,
    *& Report  ZE0232_ALV_BILLING                                          *
    report  ze0232_alv_billing.
    type-pools: slis.
    data: repid like sy-repid.
    data: fieldcatalog type slis_t_fieldcat_alv,
          wa_fieldcatalog type slis_fieldcat_alv.
    data : ievent type slis_t_event,
    wevent type slis_alv_event.
    data: sal_text like tvkot-vtext,
          DIS_TEXT LIKE TVTWT-VTEXT,
          DIV_TEXT LIKE TSPAT-VTEXT.
    tables: vbrk.
    data: begin of i_vbrk occurs 0,
          vbeln like vbrk-vbeln,
          fkdat like vbrk-fkdat,
          erdat like vbrk-erdat,
          kunrg like vbrk-kunrg,
          name1 like kna1-name1,
          netwr like vbrk-netwr,
          stext like tvkot-vtext,
          dtext like tvtwt-vtext,
          divtext like tspat-vtext,
          end of i_vbrk.
    selection-screen begin of block billing with frame.
    parameters: salesorg like vbrk-vkorg.
    select-options: dischanl for vbrk-vtweg,
                    division for vbrk-spart,
                    bildat for vbrk-fkdat.
    selection-screen end of block billing.
    select vbeln fkdat erdat kunrg netwr from vbrk into corresponding fields of table i_vbrk where vkorg = salesorg
                                                                                    and vtweg in dischanl
                                                                                    and spart in division
                                                                                    and fkdat in bildat.
    select vtext from tvkot into sal_text where vkorg = salesorg and spras = 'EN'.
    endselect.
    select vtext from TVTWT into DIS_text where VTWEG IN dischanl and spras = 'EN'.
    endselect.
    select vtext from TSPAT into DIV_text where SPART IN DIVISION and spras = 'EN'.
    endselect.
    loop at i_vbrk.
      move: sal_text to i_vbrk-stext,
            DIS_TEXT TO I_VBRK-DTEXT,
            DIV_TEXT TO I_VBRK-DIVTEXT.
      modify i_vbrk.
    endloop.
    perform get_fieldcatalog.
    call function 'REUSE_ALV_GRID_DISPLAY'
    exporting
        i_callback_program                = repid
      I_GRID_TITLE                      =
        i_callback_top_of_page            = 'TOPS'
        it_fieldcat                       = fieldcatalog
      tables
        t_outtab                          = i_vbrk
    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.
    *&      Form  GET_FIELDCATALOG
          text
    <b>form tops.
      write :/ 'Hai Welcome'.
    endform.                    "tops</b>&----
    *&      Form  get_fieldcatalog
          text
    form get_fieldcatalog.
      wa_fieldcatalog-col_pos = '1'.
      wa_fieldcatalog-fieldname = 'VBELN'.
      wa_fieldcatalog-tabname   = 'I_VBAK'.
      wa_fieldcatalog-seltext_m = 'SALES DOCUMENT'.
    WA_fieldcatalog-rollname  = 'VBELN'.
      wa_fieldcatalog-hotspot   = 'X'.
      append wa_fieldcatalog to fieldcatalog.
      clear wa_fieldcatalog.
      wa_fieldcatalog-col_pos = '2'.
      wa_fieldcatalog-fieldname = 'FKDAT'.
      wa_fieldcatalog-tabname   = 'I_VBAK'.
      wa_fieldcatalog-seltext_m = 'BILL DATE'.
    WA_fieldcatalog-rollname  = 'VBELN'.
    WA_fieldcatalog-hotspot   = 'X'.
      append wa_fieldcatalog to fieldcatalog.
      clear wa_fieldcatalog.
      wa_fieldcatalog-col_pos = '3'.
      wa_fieldcatalog-fieldname = 'ERDAT'.
      wa_fieldcatalog-tabname   = 'I_VBAK'.
      wa_fieldcatalog-seltext_m = 'CREATED DATE'.
      append wa_fieldcatalog to fieldcatalog.
      clear wa_fieldcatalog.
      wa_fieldcatalog-col_pos = '4'.
      wa_fieldcatalog-fieldname = 'KUNRG'.
      wa_fieldcatalog-tabname   = 'I_VBAK'.
      wa_fieldcatalog-seltext_m = 'CUSTOMER NO'.
      append wa_fieldcatalog to fieldcatalog.
      clear wa_fieldcatalog.
      wa_fieldcatalog-col_pos = '5'.
      wa_fieldcatalog-fieldname = 'NAME1'.
      wa_fieldcatalog-tabname   = 'I_VBAK'.
      wa_fieldcatalog-seltext_m = 'CUSTOMER NAME'.
      append wa_fieldcatalog to fieldcatalog.
      clear wa_fieldcatalog.
      wa_fieldcatalog-col_pos = '6'.
      wa_fieldcatalog-fieldname = 'NETWR'.
      wa_fieldcatalog-tabname   = 'I_VBAK'.
      wa_fieldcatalog-seltext_m = 'NET VALUE'.
      append wa_fieldcatalog to fieldcatalog.
      clear wa_fieldcatalog.
      wa_fieldcatalog-col_pos = '7'.
      wa_fieldcatalog-fieldname = 'STEXT'.
      wa_fieldcatalog-tabname   = 'I_VBAK'.
      wa_fieldcatalog-seltext_m = 'SALES ORG'.
      append wa_fieldcatalog to fieldcatalog.
      clear wa_fieldcatalog.
      wa_fieldcatalog-col_pos = '8'.
      wa_fieldcatalog-fieldname = 'DTEXT'.
      wa_fieldcatalog-tabname   = 'I_VBAK'.
      wa_fieldcatalog-seltext_m = 'DIS.CHANNEL'.
      append wa_fieldcatalog to fieldcatalog.
      clear wa_fieldcatalog.
      wa_fieldcatalog-col_pos = '9'.
      wa_fieldcatalog-fieldname = 'DIVTEXT'.
      wa_fieldcatalog-tabname   = 'I_VBAK'.
      wa_fieldcatalog-seltext_m = 'DIVISION'.
      append wa_fieldcatalog to fieldcatalog.
      clear wa_fieldcatalog.
    endform.                    "GET_FIELDCATALOG

    HI see this report
    you can know how to write TOP-OF_PAGE code
    and insert LOGO also
    *& Report  ZTEST_ALV_LOGO
    REPORT  ztest_alv_logo.
    TYPE-POOLS : slis.
    *ALV Formatting tables /structures
    DATA: gt_fieldcat TYPE slis_t_fieldcat_alv.
    DATA: gt_events   TYPE slis_t_event.
    DATA: gs_layout   TYPE slis_layout_alv.
    DATA: gt_page     TYPE slis_t_listheader.
    DATA: gs_page     TYPE slis_listheader.
    DATA: v_repid     LIKE sy-repid.
    *ALV Formatting work area
    DATA: w_fieldcat TYPE slis_fieldcat_alv.
    DATA: w_events   TYPE slis_alv_event.
    DATA: gt_bsid TYPE TABLE OF bsid WITH HEADER LINE.
    INITIALIZATION.
      PERFORM build_events.
      PERFORM build_page_header.
    START-OF-SELECTION.
    *perform build_comment.     "top_of_page - in initialization at present
      SELECT * FROM bsid INTO TABLE gt_bsid UP TO 10 ROWS.
    *perform populate_for_fm using '1' '3' 'BUKRS' '8' 'GT_BSID' 'Whee'.
    *USING = Row, Column, Field name, display length, table name, heading
    *OR
      PERFORM build_fieldcat.
      gs_layout-zebra = 'X'.
    *top of page event does not work without I_callback_program
      v_repid = sy-repid.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program                = v_repid
          i_structure_name                  = 'BSID'
       i_background_id                   = 'ALV_BACKGROUND'
          i_grid_title                      = 'This is the grid title'
      I_GRID_SETTINGS                   =
          is_layout                         = gs_layout
          it_fieldcat                       = gt_fieldcat[]
          it_events                         = gt_events[]
        TABLES
          t_outtab                          = gt_bsid.
    Form..............:  populate_for_fm
    Description.......:  Populates fields for function module used in ALV
    FORM populate_for_fm USING p_row
                               p_col
                               p_fieldname
                               p_len
                               p_table
                               p_desc.
      w_fieldcat-row_pos      = p_row.          "Row Position
      w_fieldcat-col_pos      = p_col.          "Column Position
      w_fieldcat-fieldname    = p_fieldname.    "Field name
      w_fieldcat-outputlen    = p_len.          "Column Lenth
      w_fieldcat-tabname      = p_table.        "Table name
      w_fieldcat-reptext_ddic = p_desc.         "Field Description
      w_fieldcat-input        = '1'.
      APPEND w_fieldcat TO gt_fieldcat.
      CLEAR w_fieldcat.
    ENDFORM.                    " populate_for_fm
    *&      Form  build_events
    FORM build_events.
      DATA: ls_event TYPE slis_alv_event.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          i_list_type = 0
        IMPORTING
          et_events   = gt_events.
      READ TABLE gt_events
                 WITH KEY name =  slis_ev_user_command
                 INTO ls_event.
      IF sy-subrc = 0.
        MOVE slis_ev_user_command TO ls_event-form.
        APPEND ls_event TO gt_events.
      ENDIF.
      READ TABLE gt_events
                 WITH KEY name =  slis_ev_top_of_page
                 INTO ls_event.
      IF sy-subrc = 0.
        MOVE slis_ev_top_of_page TO ls_event-form.
        APPEND ls_event TO gt_events.
      ENDIF.
    ENDFORM.                    " build_events
    *&      Form  USER_COMMAND
    When user command is called it uses 2 parameters. The itab
    passed to the ALV is in whatever order it currently is on screen.
    Therefore, you can read table itab index rs_selfield-tabindex to get
    all data from the table. You can also check r_ucomm and code
    accordingly.
    FORM user_command USING  r_ucomm     LIKE sy-ucomm
                             rs_selfield TYPE slis_selfield.
      READ TABLE gt_bsid INDEX rs_selfield-tabindex.
    error checking etc.
      SET PARAMETER ID 'KUN' FIELD gt_bsid-kunnr.
      CALL TRANSACTION 'XD03' AND SKIP FIRST SCREEN.
    ENDFORM.                    "user_command
    *&      Form  top_of_page
    Your own company logo can go here if it has been saved (OAOR)
    If the logo is larger than the size of the headings in gt_page,
    the window will not show full logo and will have a scroll bar. Thus,
    it is a good idea to have a standard ALV header if you are going to
    use logos in your top of page.
    FORM top_of_page.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          it_list_commentary = gt_page
          i_logo             = 'ENJOYSAP_LOGO'.
    ENDFORM.                    "top_of_page
    *&      Form  build_fieldcat
    *Many and varied fields are available here. Have a look at documentation
    *for FM REUSE_ALV_LIST_DISPLAY and REUSE_ALV_FIELDCATALOG_MERGE
    FORM build_fieldcat.
      w_fieldcat-fieldname  = 'BUDAT'.
      w_fieldcat-seltext_m  = 'Dte pst'.
      w_fieldcat-ddictxt(1) = 'M'.
      w_fieldcat-edit = 'x'.
    Can change the position of fields if you do not want them in order
    of the DDIC or itab
    w_fieldcat-row_pos = '1'.
    w_fieldcat-col_pos = '10'.
      APPEND w_fieldcat TO gt_fieldcat.
      CLEAR w_fieldcat.
    ENDFORM.                    " build_fieldcat
    *&      Form  build_page_header
          gt_page is used in top of page (ALV subroutine - NOT event)
          *H = Header, S = Selection, A = Action
    FORM build_page_header.
    For Headers, Key is not printed and is irrelevant. Will not cause
    a syntax error, but is not used.
      gs_page-typ  = 'H'.
      gs_page-info = 'Header 1'.
      APPEND gs_page TO gt_page.
      gs_page-typ  = 'H'.
      gs_page-info = 'Header 2'.
      APPEND gs_page TO gt_page.
    For Selections, the Key is printed (bold). It can be anything up to 20
    bytes. It gets printed in order of code here, not by key value.
      gs_page-typ  = 'S'.
      gs_page-key  = 'And the winner is:'.
      gs_page-info = 'Selection 1'.
      APPEND gs_page TO gt_page.
      gs_page-typ  = 'S'.
      gs_page-key  = 'Runner up:'.
      gs_page-info = 'Selection 2'.
      APPEND gs_page TO gt_page.
    For Action, Key is also irrelevant.
      gs_page-typ  = 'A'.
      gs_page-info = 'Action goes here'.
      APPEND gs_page TO gt_page.
    ENDFORM.                    " build_page_header
    <b>Reward if useful</b>

  • ALV how to display page no in every page - Page break

    Hi All
    I would like to know how can i write an ALV page no in each of the page.
    Currently i manage to write the page no in the top , but only show "Page No : 1 "
    but when i send to spool the All the page no will break into "Page No : 1 , Page No :2 and up to end page .
    thank you

    Hi Check this program.
    A Simple ABAP ALV LIST VIEWER Example
    This ALV program have all the basic report requirements such as page heading, page no, sub-total and a grand total.
    This is a basic ALV with the followings:-
    - Page Heading
    - Page No
    - Sub-Total
    - Grand Total
    REPORT ZALV.
    TYPE-POOLS: SLIS.
    DATA: G_REPID LIKE SY-REPID,
    GS_PRINT            TYPE SLIS_PRINT_ALV,
    GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,
    GT_EVENTS           TYPE SLIS_T_EVENT,
    GT_SORT             TYPE SLIS_T_SORTINFO_ALV,
    GS_LAYOUT           TYPE SLIS_LAYOUT_ALV,
    GT_FIELDCAT         TYPE SLIS_T_FIELDCAT_ALV,
    FIELDCAT_LN LIKE LINE OF GT_FIELDCAT,
    COL_POS TYPE I.
    DATA: BEGIN OF ITAB,
      FIELD1(5) TYPE C,
      FIELD2(5) TYPE C,
      FIELD3(5) TYPE P DECIMALS 2,
    END OF ITAB.
    DATA: BEGIN OF ITAB1 OCCURS 0.
      INCLUDE STRUCTURE ITAB.
    DATA: END OF ITAB1.
    DATA: BEGIN OF ITAB_FIELDCAT OCCURS 0.
      INCLUDE STRUCTURE ITAB.
    DATA: END OF ITAB_FIELDCAT.
    Print Parameters
    PARAMETERS:
                P_PRINT  AS CHECKBOX DEFAULT ' ', "PRINT IMMEDIATE
                P_NOSINF AS CHECKBOX DEFAULT 'X', "NO SELECTION INFO
                P_NOCOVE AS CHECKBOX DEFAULT ' ', "NO COVER PAGE
                P_NONEWP AS CHECKBOX DEFAULT ' ', "NO NEW PAGE
                P_NOLINF AS CHECKBOX DEFAULT 'X', "NO PRINT LIST INFO
                P_RESERV TYPE I.                  "NO OF FOOTER LINE
    INITIALIZATION.
    G_REPID = SY-REPID.
    PERFORM PRINT_BUILD    USING GS_PRINT.      "Print PARAMETERS
    START-OF-SELECTION.
    TEST DATA
    MOVE 'TEST1' TO ITAB1-FIELD1.
    MOVE 'TEST1' TO ITAB1-FIELD2.
    MOVE '10.00' TO ITAB1-FIELD3.
    APPEND ITAB1.
    MOVE 'TEST2' TO ITAB1-FIELD1.
    MOVE 'TEST2' TO ITAB1-FIELD2.
    MOVE '20.00' TO ITAB1-FIELD3.
    APPEND ITAB1.
    DO 50 TIMES.
      APPEND ITAB1.
    ENDDO.
    END-OF-SELECTION.
    PERFORM BUILD.
    PERFORM EVENTTAB_BUILD CHANGING GT_EVENTS.
    PERFORM COMMENT_BUILD  CHANGING GT_LIST_TOP_OF_PAGE.
    PERFORM CALL_ALV.
    FORM BUILD.
    DATA FIELD CATALOG
    Explain Field Description to ALV
    DATA: FIELDCAT_IN TYPE SLIS_FIELDCAT_ALV.
    CLEAR FIELDCAT_IN.
    FIELDCAT_LN-FIELDNAME = 'FIELD1'.
    FIELDCAT_LN-TABNAME   = 'ITAB1'.
    *FIELDCAT_LN-NO_OUT    = 'X'.  "FIELD NOT DISPLAY, CHOOSE FROM LAYOUT
    FIELDCAT_LN-KEY       = ' '.   "SUBTOTAL KEY
    FIELDCAT_LN-NO_OUT    = ' '.
    FIELDCAT_LN-SELTEXT_L = 'HEAD1'.
    APPEND FIELDCAT_LN TO GT_FIELDCAT.
    CLEAR FIELDCAT_IN.
    FIELDCAT_LN-FIELDNAME = 'FIELD2'.
    FIELDCAT_LN-TABNAME   = 'ITAB1'.
    FIELDCAT_LN-NO_OUT    = 'X'.
    FIELDCAT_LN-SELTEXT_L = 'HEAD2'.
    APPEND FIELDCAT_LN TO GT_FIELDCAT.
    CLEAR FIELDCAT_IN.
    FIELDCAT_LN-FIELDNAME     = 'FIELD3'.
    FIELDCAT_LN-TABNAME       = 'ITAB1'.
    FIELDCAT_LN-REF_FIELDNAME = 'MENGE'. "<- REF FIELD IN THE DICTIONNARY
    FIELDCAT_LN-REF_TABNAME   = 'MSEG'.  "<- REF TABLE IN THE DICTIONNARY
    FIELDCAT_LN-NO_OUT        = ' '.
    FIELDCAT_LN-DO_SUM        = 'X'.   "SUM UPON DISPLAY
    APPEND FIELDCAT_LN TO GT_FIELDCAT.
    DATA SORTING AND SUBTOTAL
    DATA: GS_SORT TYPE SLIS_SORTINFO_ALV.
    CLEAR GS_SORT.
    GS_SORT-FIELDNAME = 'FIELD1'.
    GS_SORT-SPOS      = 1.
    GS_SORT-UP        = 'X'.
    GS_SORT-SUBTOT    = 'X'.
    APPEND GS_SORT TO GT_SORT.
    CLEAR GS_SORT.
    GS_SORT-FIELDNAME = 'FIELD2'.
    GS_SORT-SPOS      = 2.
    GS_SORT-UP        = 'X'.
    *GS_SORT-SUBTOT    = 'X'.
    APPEND GS_SORT TO GT_SORT.
    ENDFORM.
    FORM CALL_ALV.
    ABAP List Viewer
    CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    EXPORTING
    I_INTERFACE_CHECK = ' '
    I_BYPASSING_BUFFER =
    I_BUFFER_ACTIVE = ' '
    I_CALLBACK_PROGRAM = G_REPID
    I_CALLBACK_PF_STATUS_SET = ' '
    I_CALLBACK_USER_COMMAND = ' '
    I_STRUCTURE_NAME = 'ITAB1'
    IS_LAYOUT =  GS_LAYOUT
    IT_FIELDCAT = GT_FIELDCAT[]
    IT_EXCLUDING =
    IT_SPECIAL_GROUPS =
      IT_SORT = GT_SORT[]
    IT_FILTER =
    IS_SEL_HIDE =
    I_DEFAULT = 'X'
    I_SAVE = ' '
    IS_VARIANT =
      IT_EVENTS = GT_EVENTS[]
    IT_EVENT_EXIT =
      IS_PRINT = GS_PRINT
    IS_REPREP_ID =
    I_SCREEN_START_COLUMN = 0
    I_SCREEN_START_LINE = 0
    I_SCREEN_END_COLUMN = 0
    I_SCREEN_END_LINE = 0
    IMPORTING
    E_EXIT_CAUSED_BY_CALLER =
    ES_EXIT_CAUSED_BY_USER =
    TABLES
    T_OUTTAB = ITAB1
    EXCEPTIONS
    PROGRAM_ERROR = 1
    OTHERS = 2.
    ENDFORM.
    HEADER FORM
    FORM EVENTTAB_BUILD CHANGING LT_EVENTS TYPE SLIS_T_EVENT.
    CONSTANTS:
    GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.
    *GC_FORMNAME_END_OF_PAGE TYPE SLIS_FORMNAME VALUE 'END_OF_PAGE'.
      DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
           EXPORTING
                I_LIST_TYPE = 0
           IMPORTING
                ET_EVENTS   = LT_EVENTS.
      READ TABLE LT_EVENTS WITH KEY NAME =  SLIS_EV_TOP_OF_PAGE
                               INTO LS_EVENT.
      IF SY-SUBRC = 0.
        MOVE GC_FORMNAME_TOP_OF_PAGE TO LS_EVENT-FORM.
        APPEND LS_EVENT TO LT_EVENTS.
      ENDIF.
    define END_OF_PAGE event
    READ TABLE LT_EVENTS WITH KEY NAME =  SLIS_EV_END_OF_PAGE
                             INTO LS_EVENT.
    IF SY-SUBRC = 0.
      MOVE GC_FORMNAME_END_OF_PAGE TO LS_EVENT-FORM.
      APPEND LS_EVENT TO LT_EVENTS.
    ENDIF.
    ENDFORM.
    FORM COMMENT_BUILD CHANGING GT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
      DATA: GS_LINE TYPE SLIS_LISTHEADER.
      CLEAR GS_LINE.
      GS_LINE-TYP  = 'H'.
      GS_LINE-INFO = 'HEADER 1'.
      APPEND GS_LINE TO GT_TOP_OF_PAGE.
      CLEAR GS_LINE.
      GS_LINE-TYP  = 'S'.
      GS_LINE-KEY  = 'STATUS 1'.
      GS_LINE-INFO = 'INFO 1'.
      APPEND GS_LINE TO GT_TOP_OF_PAGE.
      GS_LINE-KEY  = 'STATUS 2'.
      GS_LINE-INFO = 'INFO 2'.
      APPEND GS_LINE TO GT_TOP_OF_PAGE.
    CLEAR GS_LINE.
    GS_LINE-TYP  = 'A'.
    GS_LINE-INFO = 'ACTION'.
    APPEND GS_LINE TO  GT_TOP_OF_PAGE.
    ENDFORM.
    FORM TOP_OF_PAGE.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
           EXPORTING
                IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.
      WRITE: SY-DATUM, 'Page No', SY-PAGNO LEFT-JUSTIFIED.
    ENDFORM.
    FORM END_OF_PAGE.
      WRITE at (sy-linsz) sy-pagno CENTERED.
    ENDFORM.
    PRINT SETTINGS
    FORM PRINT_BUILD USING LS_PRINT TYPE SLIS_PRINT_ALV.
      LS_PRINT-PRINT              = P_PRINT.  "PRINT IMMEDIATE
      LS_PRINT-NO_PRINT_SELINFOS  = P_NOSINF. "NO SELECTION INFO
      LS_PRINT-NO_COVERPAGE       = P_NOCOVE. "NO COVER PAGE
      LS_PRINT-NO_NEW_PAGE        = P_NONEWP.
      LS_PRINT-NO_PRINT_LISTINFOS = P_NOLINF. "NO PRINT LIST INFO
      LS_PRINT-RESERVE_LINES      = P_RESERV.
    ENDFORM.
    *END OF ZALV PROGRAM
    Reward if it helps you.

  • How to display the error and success message in ALV

    Hi expert,
    i am doing recording through call transaction,from the output list of a ALV,now my requirement is after recordig how many record get success and how many get failed ,i need to display in Another ALV .please any one help me in this .
    Regards
    Swaraj

    HI ,
                 Use this following Perform form statment to display error message.
    FORM format_message .
      g_row = g_row + 1.
      LOOP AT t_bdcmsgcoll.
        CALL FUNCTION 'FORMAT_MESSAGE'
          EXPORTING
            id        = t_bdcmsgcoll-msgid
            lang      = '-D'
            no        = t_bdcmsgcoll-msgnr
            v1        = t_bdcmsgcoll-msgv1
            v2        = t_bdcmsgcoll-msgv2
            v3        = t_bdcmsgcoll-msgv3
            v4        = t_bdcmsgcoll-msgv4
          IMPORTING
            msg       = G_MSG
          EXCEPTIONS
            not_found = 1
            OTHERS    = 2.
        IF sy-subrc = 0.
          CASE T_BDCmsgCOLL-msgtyp.
            WHEN 'E'.
              FORMAT COLOR 6 ON.
              WRITE:/  g_row,
                    /  T_BDCmsgCOLL-msgtyp, g_msg.
              FORMAT COLOR OFF.
            WHEN 'W'.
              FORMAT COLOR 3 ON.
              WRITE:/  g_row,
                    /  T_BDCmsgCOLL-msgtyp, g_msg.
              FORMAT COLOR OFF.
            WHEN 'I'.
              FORMAT COLOR 4 ON.
              WRITE:/ g_row,
                    / T_BDCmsgCOLL-msgtyp, g_msg.
              FORMAT COLOR OFF.
            WHEN 'S'.
              FORMAT COLOR 5 ON.
              WRITE:/ g_row,
                    / T_BDCmsgCOLL-msgtyp, g_msg.
              FORMAT COLOR OFF.
          ENDCASE.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " FORMAT_MESSAGE
    *&      Form  success
          text
    FORM success .
      LOOP AT i_message.
        CALL FUNCTION 'FORMAT_MESSAGE'
          EXPORTING
            id        = i_message-msgid
            lang      = sy-langu
            no        = i_message-msgnr
            v1        = i_message-msgv1
            v2        = i_message-msgv2
            v3        = i_message-msgv3
            v4        = i_message-msgv4
          IMPORTING
            msg       = g_msg
          EXCEPTIONS
            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.
        WRITE : /2 g_msg COLOR 1.
        CLEAR G_MSG.
      ENDLOOP.
    ENDFORM.                    " success
    *&      Form  error
    FORM error .
      DATA g_msg(255).
      LOOP AT i_message.
        CALL FUNCTION 'FORMAT_MESSAGE'
          EXPORTING
            id        = i_message-msgid
            lang      = sy-langu
            no        = i_message-msgnr
            v1        = i_message-msgv1
            v2        = i_message-msgv2
            v3        = i_message-msgv3
            v4        = i_message-msgv4
          IMPORTING
            msg       = g_msg
          EXCEPTIONS
            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.
        WRITE : /2 g_msg COLOR 6.
      ENDLOOP.
    ENDFORM.                    "error

  • How to display the fields using field catelog in ALV Report

    Hi,
    I have rquiremrnt in ALV report.I would need to add the new fileld in the ALV output screen.I have added the field but its appearing in the layout set but not directly displaying in the output screen.
    I have written the below logic for field catelog.
    CLEAR wa_fieldcatalog.
      wa_fieldcatalog-fieldname   = 'LOGGR'.
      wa_fieldcatalog-ref_tabname = 'MARC'.
      wa_fieldcatalog-col_pos     = l_pos.
      wa_fieldcatalog-outputlen   = 13.
       wa_fieldcatalog-seltext_s   = 'Log. group'.
      wa_fieldcatalog-seltext_m   = 'Logistics group'.
      wa_fieldcatalog-seltext_l   = 'Log. handling group'.
       wa_fieldcatalog-reptext_ddic = 'Log. handling group'.
      APPEND wa_fieldcatalog TO it_fieldcatalog.
      l_pos = l_pos + 1.
    Please let me know why the added field was not displaying automaticaly in the output screen.
    Regards,
    Reddy

    hi,
             try this
    clear wa_fieldcatalog.
    wa_fieldcat-tabname       = 'ITAB' ( give the internal table which has the field LOGGR)
    wa_fieldcatalog-fieldname = 'LOGGR'.
    wa_fieldcatalog-ref_tabname = 'MARC'.
    wa_fieldcatalog-col_pos = l_pos.
    wa_fieldcatalog-outputlen = 13.
    wa_fieldcatalog-seltext_s = 'Log. group'.
    wa_fieldcatalog-seltext_m = 'Logistics group'.
    wa_fieldcatalog-seltext_l = 'Log. handling group'.
    wa_fieldcatalog-reptext_ddic = 'Log. handling group'.
    APPEND wa_fieldcatalog TO it_fieldcatalog.
    l_pos = l_pos + 1.

  • Urgent : ALV , how to display long text in colum field

    Dear All,
                  Have mada an ALV report, but in some column have to show long text like.
    "Qty of Processed Finished Goods receive with wt/length/pieces / units "
    but while display of ALV it's showing only :
    " Qty of Processed Finished Goods receive with wt/length/p "
    Plz tell is it possible to show all the contents in that field, even in multiple row. like :
    "Qty of Processed Finished
    Goods  receive with wt/length/pieces
    / units  "
    Looking forward to your earliest response.
    Regards,
    Gulrez Alam

    Hi,
      In your field catelog
    w_fieldcat-tabname   = 'Internal table name'.
      w_fieldcat-fieldname = 'Field of the internal table'.
      w_fieldcat-outputlen = '90'.----Here you have to increse the length
      w_fieldcat-col_pos   = '1'.
      w_fieldcat-row_pos   = '1'.
      w_fieldcat-seltext_l = 'Qty of Processed Finished Goods receive
                                       with wt/length/pieces / units '.
    APPEND w_fieldcat TO i_fieldcat.
      CLEAR w_fieldcat.
    Pls. reward if useful...

  • ALV:   how to display only subtotals lines in theoutput

    hi
    in the alv list output
    if we display subtotals based on 3 feilds out of 10
    we see subtotals (sum) based on the end of each field
    now i want to display only the lines which are displayed as subtotals in the output
    we have parameter
    totals_only(1) type c,        " show only totals
    in the structrure slis_layout_alv
    i have used it but i can see no change in the output

    hai
    data : GT_SORT             TYPE SLIS_T_SORTINFO_ALV,
    ABAP List Viewer
    CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    EXPORTING
    I_INTERFACE_CHECK = ' '
    I_BYPASSING_BUFFER =
    I_BUFFER_ACTIVE = ' '
    I_CALLBACK_PROGRAM = G_REPID
    I_CALLBACK_PF_STATUS_SET = ' '
    I_CALLBACK_USER_COMMAND = ' '
    I_STRUCTURE_NAME = 'ITAB1'
    IS_LAYOUT =  GS_LAYOUT
    IT_FIELDCAT = GT_FIELDCAT[]
    IT_EXCLUDING =
    IT_SPECIAL_GROUPS =
      IT_SORT = GT_SORT[]
    IT_FILTER =
    IS_SEL_HIDE =
    I_DEFAULT = 'X'
    I_SAVE = ' '
    IS_VARIANT =
      IT_EVENTS = GT_EVENTS[]
    IT_EVENT_EXIT =
      IS_PRINT = GS_PRINT
    IS_REPREP_ID =
    I_SCREEN_START_COLUMN = 0
    I_SCREEN_START_LINE = 0
    I_SCREEN_END_COLUMN = 0
    I_SCREEN_END_LINE = 0
    IMPORTING
    E_EXIT_CAUSED_BY_CALLER =
    ES_EXIT_CAUSED_BY_USER =
    TABLES
    T_OUTTAB = ITAB1
    EXCEPTIONS
    PROGRAM_ERROR = 1
    OTHERS = 2.
    ENDFORM.
    DATA SORTING AND SUBTOTAL
    DATA: GS_SORT TYPE SLIS_SORTINFO_ALV.
    CLEAR GS_SORT.
    GS_SORT-FIELDNAME = 'FIELD1'.
    GS_SORT-SPOS      = 1.
    GS_SORT-UP        = 'X'.
    GS_SORT-SUBTOT    = 'X'.
    APPEND GS_SORT TO GT_SORT.
    CLEAR GS_SORT.
    GS_SORT-FIELDNAME = 'FIELD2'.
    GS_SORT-SPOS      = 2.
    GS_SORT-UP        = 'X'.
    *GS_SORT-SUBTOT    = 'X'.
    APPEND GS_SORT TO GT_SORT.
    ENDFORM.
    regard
    nawa

  • How to mask the amount in Euro currency format .

    Hi Gurus ,
    In my xml publisher report there is amount column where i need to display mask the value in euro currecnt format like 9.999,99 where "." represent thousand position and "," decimal position.
    i tried with
    1.)     Format mask 9.999,00
    2.) Format mask: #,##0.00
    3.)     <?format-number:fieldname;'999G999D99'?>
    I registered the report with German territory and language but no favorable result .
    any hint would be very helpful,Please suggest ,Thanks in advance .
    Thanks
    Pratap

    Hi ,
    Look the below thread that may helpful to you
    Euro sign in template
    and also look the below link
    http://download.oracle.com/docs/cd/B40078_02/doc/bi.1013/b40017/T421739T481157.htm#hor_table_brk (search for Data Source Requirements)
    you may get some additional information
    Thanks,
    Ananth

Maybe you are looking for

  • I want to go back to Firefox 3.6; how can I do that?

    I updated to Firefox 4 and I don't prefer it to Firefox 3,6, so I would like to unupdate. Can you tell me how to do that? One problem with FF4 is that everytime I open gmail, after a minute the screen notice says that it won't work with 64-bit, that

  • Exporting FCE mov file into .flv

    Quick question: I exported out of Final Cut Express on my MacBook Pro a .mov file using the "Quick Time Movie" option. Then, I pulled it into Mpeg Streamclip to transform it into an .flv (the only option our newspaper web system allows for videos). T

  • User provisioning with Sun Directory Server

    I'm migrating from the internal user data store to external with Sun Directory Server as the LDAP backend and I'm unable to provision new users. I use unidssearch to list the unprovisioned accounts and it lists the user I'd like to provision. I then

  • Adjust volume of m4v

    I have an m4v movie that I am trying to lower the audio volume. This movie will be synced to my AppleTV. I am using QT7 pro, but no matter if I export or save as, I can con not get the new volume level to stick. Anyone have any idea what I am missing

  • Migrate to New Server

    OES 11 SP2 on an older PE2850 that does not support virtualization!! This existing OES 11 install runs eDir, iFolder, LUM, and imanager (all installed from the disc). We need to migrate off the existing server, replace it with a new server and then m