Report header to display dimensions

All,
I am trying to make the text box in my report header display member names of our C2 dimension, which is departments. This dimension is in a column which has a prompt for values. When the report is ran, I would like users to be able to select departments and have the header display the chosen departments. The following syntax displays only the first member selected in the prompt, and not every member selected:
<<GetHeading("Grid1",1,A,3)>>
Any suggestions to pull in the missing members?
Jim

I have often had to experiment with the location criteria in text functions depending on the info and the location of the formula. Try different combinations of the col, row and page info being included.

Similar Messages

  • SSRS - Is there a multi thread safe way of displaying information from a DataSet in a Report Header?

     In order to dynamically display data in the Report Header based in the current record of the Dataset, we started using Shared Variables, we initially used ReportItems!SomeTextbox.Value, but we noticed that when SomeTextbox was not rendered in the body
    (usually because a comment section grow to occupy most of the page if not more than one page), then the ReportItem printed a blank/null value.
    So, a method was defined in the Code section of the report that would set the value to the shared variable:
    public shared Params as String
    public shared Function SetValues(Param as String ) as String
    Params = Param
    Return Params 
    End Function
    Which would be called in the detail section of the tablix, then in the header a textbox would hold the following expression:
    =Code.Params
    This worked beautifully since, it now didn't mattered that the body section didn't had the SetValues call, the variable persited and the Header displayed the correct value. Our problem now is that when the report is being called in different threads with
    different data, the variable being shared/static gets modified by all the reports being run at the same time. 
    So far I've tried several things:
    - The variables need to be shared, otherwise the value set in the Body can't be seen by the header.
    - Using Hashtables behaves exactly like the ReportItem option.
    - Using a C# DLL with non static variables to take care of this, didn't work because apparently when the DLL is being called by the Body generates a different instance of the DLL than when it's called from the header.
    So is there a way to deal with this issue in a multi thread safe way?
    Thanks in advance!
     

    Hi Angel,
    Per my understanding that you want to dynamic display the group data in the report header, you have set page break based on the group, so when click to the next page, the report hearder will change according to the value in the group, when you are using
    the shared variables you got the multiple thread safe problem, right?
    I have tested on my local environment and can reproduce the issue, according to the multiple safe problem the better way is to use the harshtable behaves in the custom code,  you have mentioned that you have tryied touse the harshtable but finally got
    the same result as using the ReportItem!TextBox.Value, the problem can be cuased by the logic of the code that not works fine.
    Please reference to the custom code below which works fine and can get all the expect value display on every page:
    Shared ht As System.Collections.Hashtable = New System.Collections.Hashtable
    Public Function SetGroupHeader( ByVal group As Object _
    ,ByRef groupName As String _
    ,ByRef userID As String) As String
    Dim key As String = groupName & userID
    If Not group Is Nothing Then
    Dim g As String = CType(group, String)
    If Not (ht.ContainsKey(key)) Then
    ' must be the first pass so set the current group to group
    ht.Add(key, g)
    Else
    If Not (ht(key).Equals(g)) Then
    ht(key) = g
    End If
    End If
    End If
    Return ht(key)
    End Function
    Using this exprssion in the textbox of the reportheader:
    =Code.SetGroupHeader(ReportItems!Language.Value,"GroupName", User!UserID)
    Links belowe about the hashtable and the mutiple threads safe problem for your reference:
    http://stackoverflow.com/questions/2067537/ssrs-code-shared-variables-and-simultaneous-report-execution
    http://sqlserverbiblog.wordpress.com/2011/10/10/using-custom-code-functions-in-reporting-services-reports/
    If you still have any problem, please feel free to ask.
    Regards
    Vicky Liu

  • Display multiple parameters in report header

    i am attempting to display a multiple parameter selection in my report header
    i user
    join({?parameter},",")
    in the stored proc it is a varchar
    in the formula editor i receive this error
    a string array is required here
    what do i need to do to display the selected parameter values
    i have used this function before with varchars and have had no problems

    i used the following syntax in my sp which produced the correct results. i just placed the parameter in the header without using the join function and it works like a charm.
    ALTER   PROCEDURE [dbo].[Pr_orn_whse_rcpts]          
         (@From_Crt_Dte     datetime ,
          @To_Crt_Dte     datetime,
         @whse          varchar(90))
    AS          
    CREATE TABLE #T_Localwhs
         warehouse varchar(6) null
    DECLARE
         @var     varchar(6),
         @i     numeric,
         @whs     varchar(6),
         @chk     numeric
    SET @i = 1
    SET @var = (charindex(',',@whse))
    IF @var <> 0
         BEGIN
         WHILE (@i < @var)
              BEGIN
                   --SET @var = (CHARINDEX(',',@whse))
                   SET @whs = LTRIM(LEFT(@whse, (@var-1)))
                   INSERT #T_Localwhs (warehouse) VALUES (@whs)
                   SET @whse = RIGHT(@whse, (LEN(@whse)-@var))
                   SET @var = (CHARINDEX(',',@whse))
              END
         INSERT #T_Localwhs (warehouse) VALUES (LTRIM(@whse))
         END
    ELSE
         BEGIN
         INSERT #T_Localwhs (warehouse) VALUES (LTRIM(@whse))
         END
    then you add a nested query to join it to the sp. as below. above your where statement.
    JOIN     
              SELECT DISTINCT
                   Warehouse
              FROM      #T_Localwhs
              ) TW
         ON     in_wthdr_tbl.in_wthdr_frwhs = TW.warehouse
    WHERE

  • Displaying Date Parameters in Report Heading

    Post Author: Jim-1003
    CA Forum: Formula
    Hello,
    I am new to Crystal Reports, and I am trying to improve an existing report definition so that the beginning and end dates selected by the user are displayed as part of the report heading.  I saw something similar in the report samples, but the sample uses custom functions that apply only to that report -- cdFormatDateRange and cdSpecialDateRange.  I have not found any documentation on how those functions were created or how to use them. Any help you can give me would be greatly appreciated!
    Thanks,
    Jim

    Post Author: Jim-1003
    CA Forum: Formula
    After some digging, I did find out more.  First of all, in the options for my Parameter, the option to allow multiple entries was set to true, so I didn't really have a range, but an array of ranges, which confused the editor.
    Second, I finally did find the source code for cdFormatDateRange, which allowed me to reuse it by copying it into the clipboard and pasting it into my report. 

  • Displaying report header in spool

    Hi
    I need to find a way to display the my report header in the spool. Currently, the spool is only displaying the ALV grid of my report. In my report, I generate the header using the I_CALLBACK_HTML_TOP_OF_PAGE parameter of the REUSE_ALV_GRID_DISPLAY. Guess that's the problem of why the report header is not displaying in the spool. Is there any other way to create the report header and to enable it to be displayed in the spool?
    By the way, is the spool max length only 255? My report has a lot of columns and most of the columns are the back are not displayed in the spool. Any workarounds for this?
    Appreciate any help provided.

    Hi,
    The contents displayed using I_CALLBACK_HTML_TOP_OF_PAGE is generally not shown in the spool. You need to code the TOP_OF_LIST  as well as you do it in REUSE_ALV_LIST_DISPLAY for getting the header contents in the spool.
    For the second part of the question you can think of saving different variants in ALV and print them one by one. Another thing you can do is to try to optimize column width to see if it fits within 255 chars.
    Thanks and regards,
    S. Chandra Mouli.

  • How to make dynamic report heading in bex query

    Hi Experts,
    i have a bex query for the following rows and columns.
    Proj   WBS   NETWROK   ACTIVITY  are in Rows.  
    Scope  work      total work are in Columns.
    now i have to    show  the report heading dynamically based on proj.
    HEADING1.                         PROJ TEXT
    HEADIND2                       REPORT FROM    XXX  TO YYY   where XXX & YYY  are dates input by the user on selection screen.
    Please help me how i can achieve this heading in BEX.
    Regards
    vikas

    Hi,
    If you are using BEx analyzer :
    On the top yo will find button say Insertnavigation pan, here you will get option to display the rows ( in your case Project) look for multiple options like tab dimension, display setting - explore it
    If you are using BOBJ ANALYSIS, there also in display setting you have options to display variables, filters and even the characteristics.
    Thank-You.
    Regards,
    VB

  • Report header is missng while printing or spooling

    Hi All,
    I have a problem in print a report.its
    After getting selection screen of the report ,If i click a print button (it's for execute and print)
    the header details are missing in spool ( does not print selection fields of the report are missing in spool).
    If i execute the report and got the output ,then i click the print button it's execute properly means in spool i am getting all the output properly ,header details also printed. means selection screen fields means what i entered in selection screen is printing.Its a AVL report.While debugging i am not getting solution.i have investigated in menu painter also.
    but i am not getting proper idea to fix the bug.
    i am sending the code also.please let me know ASAP
    code:
    REPORT  ZMXXR048 LINE-SIZE   1023  "255 deleted AW2150 GLDK9AAYU9
                     LINE-COUNT  65
                     MESSAGE-ID  zm
                     NO STANDARD PAGE HEADING.
    *eject
    TABLES declaration.
    TABLES:ekko,      "Purchasing Document: Header
           ekpo,      "Purchasing Document: Item
         a016,      "Contract Item                              AMT25JAN05
         a019,      "Contract Header                            AMT25JAN05
           t024,      "Purchasing Groups
           t024e,     "Purchasing Organizations
           t161,      "Purchasing Document Types
           t001w,     "Plants/branches
         lfa1,      "Vendor Master (General Section)            AMT25JAN05
           eket,      "Scheduling Agreement Schedule Lines
         ekbe,      "Purchasing Document: History               AMT25JAN05
         ekab,      "Release Documentation                      AMT25JAN05
           zbsart_doc."Purchasing documents custom structure     "GA01
         ekkn.      "Account Assignment in Purchasing Document "GA19062003
                    Comment AMT25JAN05
    *eject
    TYPE-POOLS  definition.
    TYPE-POOLS slis.                                            "KAK01
    *eject
    CONSTANTS declaration.
    CONSTANTS:
            c_t(1)      TYPE c         VALUE 'T',             "AMT25JAN05
              c_l(1)      TYPE c         VALUE 'L',
            c_m(1)      TYPE c         VALUE '4',             "AMT25JAN05
            c_y(1)      TYPE c         VALUE 'Y',             "AMT25JAN05
              c_i(1)      TYPE c         VALUE 'I',
              c_ne(2)     TYPE c         VALUE 'NE',
            c_eq(2)     TYPE c         VALUE 'EQ',            "AMT25JAN05
              c_lp(2)     TYPE c         VALUE 'LP',
              c_nb(2)     TYPE c         VALUE 'NB',
              c_ec(2)     TYPE c         VALUE 'EC',
              c_lpa(3)    TYPE c         VALUE 'LPA',
              c_zlp(3)    TYPE c         VALUE 'ZLP',
              c_znba(4)   TYPE c         VALUE 'ZNBA',
            c_mk(2)     TYPE c         VALUE 'MK',            "AMT25JAN05
            c_wk(2)     TYPE c         VALUE 'WK',            "AMT25JAN05
            c_doqot(1)  TYPE c         VALUE '"',             "AMT25JAN05
              c_totals(6) TYPE c         VALUE 'TOTALS',
              c_x(1)      TYPE c         VALUE 'X',
            c_k(1)      TYPE c         VALUE 'K',             "AMT25JAN05
              c_a(1)      TYPE c         VALUE 'A',
              C_S(1)      TYPE C         VALUE 'S',"insert AW2150 GLDK9AAYU9
              c_55(2)     TYPE c         VALUE '55',
              c_56(2)     TYPE c         VALUE '56',
            c_44(2)     TYPE c         VALUE '44',            "AMT25JAN05
              c_45(2)     TYPE c         VALUE '45',
              c_1(1)      TYPE c         VALUE '1',
              c_2(1)      TYPE c         VALUE '2',
              c_h(1)      TYPE c         VALUE 'H',
              c_(1)      TYPE c         VALUE '',             "GA18062003.
              c_n(1)      TYPE c         VALUE 'N',             "SRI24062003
              c_o(1)      TYPE c         VALUE 'O',             "SRI24062003
              c_maxdays   TYPE p         VALUE '93',            "GA29072003
              c_wk1(10)   type c         VALUE 'WK1'.           "NAR10NOV06
    *Begin of Addition by AMT25JAN05
    CONSTANTS :
                c_3           TYPE i VALUE 3               ,
                c_4           TYPE i VALUE 4               ,
                c_5           TYPE i VALUE 5               ,
                c_8           TYPE i VALUE 8               ,
                c_10          TYPE i VALUE 10              ,
                c_11          TYPE i VALUE 11              ,
                c_12          TYPE i VALUE 12              ,
              c_15          TYPE i VALUE 15              ,
                c_18          TYPE i VALUE 18              ,
                c_20          TYPE i VALUE 20              ,
              c_23          TYPE i VALUE 23 , "TUL02022005  "KVI04Feb05
                c_40          TYPE i VALUE 40              ,
                c_all(4)      TYPE c VALUE '&ALL'          ,
                c_sa(3)       TYPE c VALUE '&SA'           ,
                c_bs(3)       TYPE c VALUE '&BS'           ,
                c_sum(4)      TYPE c VALUE '&SUM'          ,
                c_eb3(4)      TYPE c VALUE '&EB3'          ,
                c_xpa(4)      TYPE c VALUE '&XPA'          ,
                c_omp(4)      TYPE c VALUE '&OMP'          ,
                c_crb(4)      TYPE c VALUE '&CRB'          ,
                c_cre(4)      TYPE c VALUE '&CRE'          ,
                c_ave(4)      TYPE c VALUE '&AVE'          ,
                c_pc10(4)     TYPE c VALUE 'PC10'          ,
                c_coltab(6)   TYPE c VALUE 'COLTAB'        ,
                c_excel(5)    TYPE c VALUE 'EXCEL'         ,
                c_ic1(4)      TYPE c VALUE '&IC1'          ,
                c_dload(5)    TYPE c VALUE 'DLOAD'         ,
                c_refrs(5)    TYPE c VALUE 'REFRS'         ,
                c_waers(5)    TYPE c VALUE 'WAERS'         ,
                c_bprme(5)    TYPE c VALUE 'BPRME'         ,
                c_ekbe(4)     TYPE c VALUE 'EKBE'          ,
                c_meins2(6)   TYPE c VALUE 'MEINS2'        ,
                c_meins3(6)   TYPE c VALUE 'MEINS3'        ,
                c_ekkn(4)     TYPE c VALUE 'EKKN'          ,
                c_ekpo(4)     TYPE c VALUE 'EKPO'          ,
                c_ekko(4)     TYPE c VALUE 'EKKO'          ,
                c_lfa1(4)     TYPE c VALUE 'LFA1'          ,
                c_meins(5)    TYPE c VALUE 'MEINS'         ,
                c_eket(4)     TYPE c VALUE 'EKET'          ,
                c_me33l(5)    TYPE c VALUE 'ME33L'         ,
                c_me23(4)     TYPE c VALUE 'ME23'          ,
                c_bes(3)      TYPE c VALUE 'BES'           ,
                c_bedat(11)   TYPE c VALUE 'S_BEDAT-LOW',
                c_pur(15)     TYPE c VALUE 'PURCHASING DOC.',
                c_item(4)     TYPE c VALUE 'ITEM'           ,
                c_doc(8)      TYPE c VALUE 'DOC.DATE'       ,
                c_vendor(6)   TYPE c VALUE 'VENDOR'         ,
                c_vname(11)   TYPE c VALUE 'VENDOR NAME'    ,
                c_plant(5)    TYPE c VALUE 'PLANT'          ,
                c_pdesc(17)   TYPE c VALUE 'PLANT DESCRIPTION',
                c_sloc(4)     TYPE c VALUE 'SLOC'            ,
                c_pgr(3)      TYPE c VALUE 'PGR'            ,
                c_porg(4)     TYPE c VALUE 'PORG'            ,
                c_mat(8)      TYPE c VALUE 'MATERIAL'        ,
                c_standard(8) TYPE c VALUE 'STANDARD'        ,
                c_matdesc(20) TYPE c VALUE 'MATERIAL DESCRIPTION',
                c_deldate(13) TYPE c VALUE 'DELIVERY DATE'       ,
                c_qty(13)     TYPE c VALUE 'SCHEDULED QTY'       ,
                c_quom(4)     TYPE c VALUE 'OUOM'                ,
                c_net(9)      TYPE c VALUE 'NET PRICE'           ,
                c_curr(4)     TYPE c VALUE 'CURR'                ,
                c_per(3)      TYPE c VALUE 'PER'                 ,
                c_opuom(5)    TYPE c VALUE 'OPUOM'               ,
                c_grqty(6)    TYPE c VALUE 'GR QTY'              ,
                c_gruom(6)    TYPE c VALUE 'GR UOM'              ,
                c_irqty(6)    TYPE c VALUE 'IR QTY'              ,
                c_iruom(6)    TYPE c VALUE 'IR UOM'              ,
                c_trnum(15)   TYPE c VALUE 'TRACKING NUMBER'     ,
                c_rec(12)     TYPE c VALUE 'RECEIVER-BBP'        ,
                c_tcont(18)   TYPE c VALUE 'T_CONDITIONS-EBELN'  .
    *End   of Addition by AMT25JAN05
    *BEGIN INSERT BB1097 - add a constant for the vendor mat field
    CONSTANTS C_VENDMAT(15)   TYPE C VALUE 'VENDOR MATERIAL'.
    *END INSERT BB1097
    *eject
    DATA Work fields definition.
    DATA    : w_repid       LIKE sy-repid,
              w_color       TYPE i,
            w_info        LIKE sy-lisel,                      "AMT25JAN05
            w_lifnr       LIKE eina-lifnr,                    "AMT25JAN05
            w_matnr       LIKE eina-matnr,                    "AMT25JAN05
            w_werks       LIKE marc-werks,                    "AMT25JAN05
            w_tabkey      LIKE cdpos-tabkey,                  "AMT25JAN05
            w_objectid    LIKE konp-knumh,                    "AMT25JAN05
            w_len         TYPE i ,                            "AMT25JAN05
            w_field       LIKE konp-kopos,                    "AMT25JAN05
            w_eindt       LIKE eket-eindt,                    "AMT25JAN05
              w_ebeln       LIKE ekko-ebeln,                    "ujo1jul
              zsort(6)      TYPE c,                             "KAK01
              w_fldname(20) TYPE c,                             "GA16062003.
              w_titel       LIKE spop-titel,                    "GA25062003.
              w_text1       LIKE spop-textline1,                "GA25062003.
              w_text2       LIKE spop-textline2,                "GA25062003.
              W_FLAG(1)     TYPE C,                             "KVI04Feb05
    Start of GLDK9A8WWS (AS3848)
    Defined variable for line size.
              w_linsz       LIKE sy-linsz.
    End of GLDK9A8WWS (AS3848)
    DATA: date_diff LIKE ekko-aedat.
    *BEGIN OF SRI26062003
    *DATA: w_s1     LIKE ekbe-menge,                              AMT25JAN05
         w_s2     LIKE ekbe-bamng,                              AMT25JAN05
         w_s3     LIKE ekbe-bpmng,                              AMT25JAN05
         w_s4     LIKE ekpo-netpr.                              AMT25JAN05
         w_s5     LIKE ekkn-wempf.                              AMT25JAN05
         w_s6     LIKE ekpo-webaz,                              AMT25JAN05
    *END   OF SRI26062003
    *eject
    DATA Structure definition.
    DATA: e_coltab TYPE slis_specialcol_alv.
    *eject
    DATA Internal table definition with INCLUDE STRUCTURE
    *Begin of comment by AMT25JAN05
    *DATA: BEGIN OF ibdcdata OCCURS 0.
           INCLUDE STRUCTURE bdcdata.
    *DATA: END OF ibdcdata.
    *End   of comment by AMT25JAN05
    *eject
    DATA Other internal table definition.
    DATA: BEGIN OF t_documents OCCURS 0,   "Main initial internal table
               ekgrp     LIKE ekko-ekgrp,
               ekorg     LIKE ekko-ekorg,
               eknam     LIKE t024-eknam,
               ebeln     LIKE ekko-ebeln,
               ebelp     LIKE ekpo-ebelp,
               lgort     LIKE ekpo-lgort,
               kschl     LIKE a016-kschl,
               datbi     LIKE a016-datbi,
               datab     LIKE a016-datab,
               LOEKZ     LIKE EKPO-LOEKZ,          "insert AW2150 GLDK9AAYU9
               infnr     LIKE ekpo-infnr,
               pstyp     LIKE ekpo-pstyp,
               konnr     LIKE ekpo-konnr,
               ematn     LIKE ekpo-ematn,
               txz01     LIKE ekpo-txz01,
               werks     LIKE ekpo-werks,
               aedat     LIKE ekpo-aedat,
               epstp     LIKE rm06e-epstp,
               lifnr     LIKE ekko-lifnr,
               waers     LIKE ekko-waers,                       "SRI26062003
               name1     LIKE lfa1-name1,
               name2     LIKE t001w-name1,
               ktmng     LIKE ekpo-ktmng,
               meins     LIKE ekpo-meins,
               meins2    LIKE ekpo-meins,                       "GA23062003
               meins3    LIKE ekpo-meins,                       "GA23062003
               bednr     LIKE ekpo-bednr,
               loevm_ko  LIKE konp-loevm_ko,
               bsart     LIKE ekko-bsart,
               eindt     LIKE eket-eindt,                       "SBH01
               netpr     LIKE ekpo-netpr,                       "SBh01
               peinh     LIKE ekpo-peinh,                       "GA01
               bprme     LIKE ekpo-bprme,                       "GA01
               menge     LIKE ekpo-menge,
             menge2    like ekbe-menge,                       "GA23062003.
               bamng     LIKE ekbe-bamng,                       "GA23062003.
               bpmng     LIKE ekbe-bpmng,
               vgabe     LIKE ekbe-vgabe,                       "GA01
               webaz     LIKE ekpo-webaz,
               wempf     LIKE ekkn-wempf,                       "GA19062003.
               flgdel(1) TYPE c,                                "ujo9jul
    Start of GLDK9A8WWS (AS3848)
    Added fields WEPOS (GR indicator), REPOS (IR indicator) and WEBRE (GR-
    based IV indicator).
               wepos     LIKE ekpo-wepos,             "GR indicator
               repos     LIKE ekpo-repos,             "IR indicator
               webre     LIKE ekpo-webre,             "GR-based IV indicator
    End of GLDK9A8WWS (AS3848)
               ELIKZ     LIKE ekpo-ELIKZ,             "Delivery "TUL02022005
               EREKZ     LIKE EKPO-EREKZ,         "Invoice AW2150 GLDK9AAYU9
    *BEGIN INSERT BB1097 - add column for the vendor mat field. this field
                         will hold the value of the vendor material #
               IDNLF     LIKE EKPO-IDNLF,
    *END INSERT BB1097
          END OF t_documents.
    Added begin ujo9jul
    *DATA: t_documents_tmp LIKE t_documents OCCURS 0 WITH HEADER LINE.
    *Comment by AMT25JAN05
    *eject
    DATA Other internal table definition.
    *Begin of Comment by AMT25JAN05
    *DATA: BEGIN OF t_ekko OCCURS 0,
           ebeln LIKE ekko-ebeln,
           bsart LIKE ekko-bsart,
           loekz LIKE ekko-loekz,
           aedat LIKE ekko-aedat,
           lifnr LIKE ekko-lifnr,
           ekorg LIKE ekko-ekorg,
           ekgrp LIKE ekko-ekgrp,
           waers LIKE ekko-waers,
           name1 LIKE lfa1-name1,
         END OF t_ekko.
    *End   of Comment by AMT25JAN05
    Added end ujo9jul
    *Begin of SRI26062003
    DATA:BEGIN OF t_t024  OCCURS 0 ,
           ekgrp LIKE t024-ekgrp,
           eknam LIKE t024-eknam,
         END OF t_t024.
    DATA:BEGIN OF t_t001w OCCURS 0 ,
           werks LIKE t001w-werks,
           name1 LIKE t001w-name1,
         END OF t_t001w.
    *End of SRI26062003
    DATA: BEGIN OF t_conditions OCCURS 0,         "Main final internal table
            ebeln    LIKE ekpo-ebeln,
            ekgrp    LIKE ekko-ekgrp,
            ekorg    LIKE ekko-ekorg,
            waers    LIKE ekko-waers,                      "SRI26062003
            eknam    LIKE t024-eknam,
            ebelp    LIKE ekpo-ebelp,
            lgort    LIKE ekpo-lgort,
            kschl    LIKE a016-kschl,
            datbi    LIKE a016-datbi,
            datab    LIKE a016-datab,
            infnr    LIKE ekpo-infnr,
            pstyp    LIKE ekpo-pstyp,
            konnr    LIKE ekpo-konnr,
            ematn    LIKE ekpo-ematn,
            txz01    LIKE ekpo-txz01,
            werks    LIKE ekpo-werks,
            aedat    LIKE ekpo-aedat,
            epstp    LIKE rm06e-epstp,
            lifnr    LIKE ekko-lifnr,
            name1    LIKE lfa1-name1,
            name2    LIKE t001w-name1,
            ktmng    LIKE ekpo-ktmng,
            meins    LIKE ekpo-meins,
            meins2   LIKE ekpo-meins,                      "GA23062003.
            meins3   LIKE ekpo-meins,                      "GA23062003.
            bednr    LIKE ekpo-bednr,
            loevm_ko LIKE konp-loevm_ko,
            bsart    LIKE ekko-bsart,
            eindt    LIKE eket-eindt,
            netpr    LIKE ekpo-netpr,
            peinh    LIKE ekpo-peinh,
            bprme    LIKE ekpo-bprme,
            menge    LIKE ekpo-menge,
          menge2   like ekbe-menge,                      "GA23062003.
            bamng    LIKE ekbe-bamng,                      "GA23062003.
            bpmng    LIKE ekbe-bpmng,
            vgabe    LIKE ekbe-vgabe,                           "GA01
            webaz    LIKE ekpo-webaz,
            wempf    LIKE ekkn-wempf,                      "GA19062003.
            AGING    TYPE I,                  "insert AW2150 GLDK9AAYU9
            ELIKZ    LIKE ekpo-ELIKZ,                      "TUL02022005
            EREKZ    LIKE EKPO-EREKZ,         "insert AW2150 GLDK9AAYU9
            coltab   TYPE slis_t_specialcol_alv,           "SRI24062003
    *BEGIN INSERT BB1097 - add column for the vendor mat field. this field
                         will hold the value of the vendor material #
            IDNLF    LIKE EKPO-IDNLF,
    *END INSERT BB1097
          END OF t_conditions.
    Internal Table for the Purchasing Group name
    *Begin of Comment by AMT25JAN05
    *DATA: BEGIN OF t_purchgr OCCURS 0,
           name2 LIKE t024-eknam,
         END OF t_purchgr.
    *End   of Comment by AMT25JAN05
    internal table for the plant name
    *Begin of Comment by AMT25JAN05
    *DATA: BEGIN OF t_plant OCCURS 0,
           name1 LIKE t001w-name1,
         END OF t_plant.
    *End   of Comment by AMT25JAN05
    *Begin of Comment by AW2150
    Internal Table for the Vendor Number and Vendor Name
    *DATA: BEGIN OF t_lfa1 OCCURS 0,
           lifnr LIKE lfa1-lifnr,
           name1 LIKE lfa1-name1,
         END OF t_lfa1.
    *End of Comment by AW2150
    *Start of GA19062003
    Internal table for the Good Recipient in case of BBP
    DATA: BEGIN OF t_ekkn OCCURS 0,
            ebeln LIKE ekkn-ebeln,                              "SRI26062003
            ebelp LIKE ekkn-ebelp,                              "SRI26062003
            wempf LIKE ekkn-wempf,
          END OF t_ekkn.
    *End of GA19062003
    Internal Table for EXCEL DOWNLOADING
    DATA: BEGIN OF t_conditions_exe OCCURS 0,
            ebeln(15)    TYPE c,
            ebelp(11)    TYPE c,
            aedat(11)    TYPE c,
            lifnr(16)    TYPE c,
            name1(35)    TYPE c,
            werks(5)     TYPE c,
            name2(30)    TYPE c,                                "GA16062003.
            lgort(4)     TYPE c,
            ekgrp(3)     TYPE c,
            ekorg(4)     TYPE c,
    "       eknam(30)    type c,                                "GA16062003.
            ematn(20)    TYPE c,
            txz01(40)    TYPE c,
    *BEGIN INSERT BB1097 - this field will hold the value of the vendor
                         material #
            IDNLF(35)    TYPE C,
    *END INSERT BB1097
            eindt(13)    TYPE c,
            menge(13)    TYPE c,
            meins(4)     TYPE c,
            netpr(11)    TYPE c,
            waers(5)     TYPE c,                                "ujo7jul
            peinh(4)     TYPE c,
            bprme(4)     TYPE c,
          menge2(11)   type c,
            bamng(11)    TYPE c,
            meins2(6)    TYPE c,
            bpmng(11)    TYPE c,
            meins3(6)    TYPE c,
            bednr(21)    TYPE c,
            wempf(12)    TYPE c,                                "GA19062003.
            AGING(7)     TYPE C,                   "insert AW2150 GLDK9AAYU9
            ELIKZ(23)    TYPE c,                                "TUL02022005
            EREKZ(23)    TYPE C,                   "insert AW2150 GLDK9AAYU9
          END OF t_conditions_exe.
    *eject
    *INTERNAL TABLE TO FIND THE RECEIVED AND INVOICED QUANTITY
    DATA: BEGIN OF t_ekbe OCCURS 0,
            ebelp LIKE ekbe-ebelp,
            ebeln LIKE ekbe-ebeln,
            vgabe LIKE ekbe-vgabe,
          BELNR LIKE EKBE-BELNR,
    *Begin Of Change BH9511 20-Aug-07
           menge LIKE ekbe-menge,
            menge(16) TYPE P DECIMALS 3,
    *End Of Change BH9511 20-Aug-07
            shkzg LIKE ekbe-shkzg,
          END OF t_ekbe.
    *INTERNAL TABLE TO FIND THE RECEIVED AND INVOICED UoM
    DATA: BEGIN OF t_ekbe_temp OCCURS 0,
            ebelp LIKE ekbe-ebelp,
            ebeln LIKE ekbe-ebeln,
            vgabe LIKE ekbe-vgabe,
            menge LIKE ekbe-menge,
          END OF t_ekbe_temp.
    Added begin ujo7jul
    DATA: BEGIN OF t_totals OCCURS 0,
            menge  LIKE ekpo-menge,
            meins  LIKE ekpo-meins,
            bamng  LIKE ekbe-bamng,
            meins2 LIKE ekpo-meins,
            bpmng  LIKE ekbe-bpmng,
            meins3 LIKE ekpo-meins,
          END OF t_totals.
    DATA: BEGIN OF t_tot_netpr OCCURS 0,
            netpr  LIKE ekpo-netpr,
            waers  LIKE ekko-waers,
          END   OF t_tot_netpr.
    DATA: BEGIN OF t_tot_peinh OCCURS 0,
            peinh  LIKE ekpo-peinh,
            bprme  LIKE ekpo-bprme,
          END   OF t_tot_peinh.
    *Begin of Comment by AW2150
    *DATA: BEGIN OF t_eket OCCURS 0,
           ebeln LIKE eket-ebeln,
           ebelp LIKE eket-ebelp,
           eindt LIKE eket-eindt,
         END   OF t_eket.
    Added end ujo7jul
    *End of Comment by AW2150
    BEGIN OF KAK01
    FOR ALV Related Details.
    DATA: alv_fieldcat  TYPE slis_t_fieldcat_alv,
          alv_layout    TYPE slis_layout_alv,
          alv_exclude   TYPE slis_t_extab,
          alv_sort      TYPE slis_t_sortinfo_alv,
          g_variant     LIKE disvariant,
          gx_variant    LIKE disvariant,
          gt_event_exit TYPE slis_t_event_exit,                 "GA23062003.
          g_save(1)     TYPE c,                                 "GA23062003.
        g_exit(1)     TYPE c,                                 "AMT25JAN05
        lt_dynpread   LIKE dynpread OCCURS 1 WITH HEADER LINE,"AMT25JAN05
          g_repid       LIKE d020s-prog,
    END OF KAK01
    Start of GLDK9A8WWS (AS3848)
    Added the definition of structure for the events that will be used
    in the logic for generating the standard report header for the report.
          v_events      TYPE slis_t_event.
    End of GLDK9A8WWS (AS3848)
    *eject
    PARAMETERS and SELECT-OPTIONS definition
    Start of GLDK9A8WWS (AS3848)
    Changed the text-100 in the list of text elements.  It was changed
    from OPEN PURCHASE DOCUMENTS LIST DISPLAY to Open Purchaser Order
    Report.
    SELECTION-SCREEN: BEGIN OF BLOCK three WITH FRAME TITLE text-100.
    End of GLDK9A8WWS (AS3848)
    SELECTION-SCREEN: BEGIN OF BLOCK one WITH FRAME TITLE text-060.
    SELECT-OPTIONS : s_ekorg FOR  ekko-ekorg OBLIGATORY MEMORY ID eko
                                  NO INTERVALS,
                     s_lifnr FOR  ekko-lifnr,
                     s_werks FOR  ekpo-werks MEMORY ID wrk,
                     s_ekgrp FOR  ekko-ekgrp MEMORY ID ekg
                                  NO INTERVALS,
                     s_ebeln FOR  ekko-ebeln MEMORY ID bes,
                     s_ebelp FOR  ekpo-ebelp MEMORY ID bsp,
                     s_bsart FOR  zbsart_doc-bsart MEMORY ID bsa,"GA01
                     s_pstyp FOR  ekpo-pstyp,
                     s_loekz FOR  ekko-loekz,
                     s_knttp FOR  ekpo-knttp MEMORY ID knt,
                     s_matnr FOR  ekpo-matnr MEMORY ID mat,
                     s_matkl FOR  ekpo-matkl MEMORY ID mkl,
      start of modifications AW2150 GLDK9AAYU9
                    s_bedat FOR  ekko-bedat OBLIGATORY,        "GA29072003
                     S_BEDAT FOR  EKKO-BEDAT,
      end of modifications AW2150 GLDK9AAYU9
                     S_EINDT FOR  EKET-EINDT.
    PARAMETERS:      p_sum AS CHECKBOX,                         "SRI26062003
    start of modification AW2150 GLDK9ABI53
    deleted checkbox for manually closed PO
               p_pod AS CHECKBOX DEFAULT 'X'."insert AW2150 GLDK9AAYU9
    added checkbox for DCI and FI.
                P_DCI AS CHECKBOX DEFAULT 'X', "insert AW2150 GLDK9ABI53
                P_FI  AS CHECKBOX.             "insert AW2150 GLDK9ABI53
    end of modification AW2150 GLDK9ABI53
    SELECTION-SCREEN: END OF BLOCK one .
    SELECTION-SCREEN: BEGIN OF BLOCK two  WITH FRAME TITLE text-070.
    start of insert AW2150 GLDK9ABSZ8
    PARAMETERS:     P_ALLPO AS CHECKBOX DEFAULT 'X'.
    end of insert AW2150 GLDK9ABSZ8
    start of insert AW2150 GLDK9AAYU9
    this was just moved from the block below. this is not a new
    requirement.
    PARAMETERS: P_VARI LIKE DISVARIANT-VARIANT NO-DISPLAY. " ALV Variant
    SELECTION-SCREEN COMMENT 47(40) VARNAME FOR FIELD P_VARI.
    end of insert AW2150 GLDK9AAYU9
    *Start of GA16062003
    PARAMETERS:      p_qty   RADIOBUTTON GROUP qtvl,
                     p_date  RADIOBUTTON GROUP qtvl,
                     p_date1 RADIOBUTTON GROUP qtvl.
    *End of GA16062003
    SELECTION-SCREEN: END OF BLOCK two .
    start of modification AW2150 GLDK9AAYU9
    Start of GLDK9A8WWS (AS3848)
    Commented out the following portion of the source code to remove the
    field VARIANT under Settings on the report selection screen.
    *SELECTION-SCREEN: BEGIN OF BLOCK four WITH FRAME
                                         TITLE text-073.       "TUL0202200
    *selection-screen: begin of block four with frame title text-1
    *Start of GA23062003
    *PARAMETERS: p_vari LIKE disvariant-variant NO-DISPLAY. " ALV Variant
    *SELECTION-SCREEN COMMENT 47(40) varname FOR FIELD p_vari.
    *Select-Options : S_ELIKZ FOR  ekpo-ELIKZ .                  "TUL0202200
    End of modification  AW2150 GLDK9AAYU9
    Ext. check warning ignored for the comment.                 AMT25JAN05
    *SELECTION-SCREEN: END OF BLOCK four.
    End of GLDK9A8WWT (AS3848)
    *selection-screen: end of block three.
    PARAMETERS p_loggrp(4) TYPE c NO-DISPLAY DEFAULT 'PC10'.
    SELECTION-SCREEN: END OF BLOCK three.
    *End of GA23062003
    *eject
    *eject
    INITIALIZATION
    INITIALIZATION.
    *Deletion Indicator
      s_loekz-low    = c_l.
      s_loekz-sign   = c_i.
      s_loekz-option = c_ne.
      APPEND s_loekz.
    *start of insert AW2150 GLDK9ABSZ8
      IF P_ALLPO EQ C_X.
        LOOP AT SCREEN.
          IF SCREEN-NAME EQ 'P_QTY'.
            SCREEN-ACTIVE = 0.
          ELSEIF SCREEN-NAME EQ 'P_DATE'.
            SCREEN-ACTIVE = 0.
          ELSEIF SCREEN-NAME EQ 'P_DATE1'.
            SCREEN-ACTIVE = 0.
          ENDIF.
          MODIFY SCREEN.
        ENDLOOP.
      ELSEIF P_ALLPO NE C_X.
        LOOP AT SCREEN.
          IF SCREEN-NAME EQ 'P_QTY'.
            SCREEN-ACTIVE = 1.
          ELSEIF SCREEN-NAME EQ 'P_DATE'.
            SCREEN-ACTIVE = 1.
          ELSEIF SCREEN-NAME EQ 'P_DATE1'.
            SCREEN-ACTIVE = 1.
          ENDIF.
          MODIFY SCREEN.
        ENDLOOP.
      ENDIF.
    *end of insert AW2150 GLDK9ABSZ8
    *Start of GA23062003
    Settings for display variants
    *INITIALIZATION.                                            "GA03122003.
      g_repid = sy-repid.
      g_save  = c_a(1).
      CLEAR g_variant.
      g_variant-report    = g_repid.
      g_variant-log_group = p_loggrp.
      g_variant-username  = sy-uname.
    Get default variant
      gx_variant = g_variant.
      CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
           EXPORTING
                i_save     = g_save
           CHANGING
                cs_variant = gx_variant
           EXCEPTIONS
                not_found  = 2.
      IF sy-subrc EQ 0.
        p_vari = gx_variant-variant.
      ENDIF.
      varname = gx_variant-text.
    VALIDATE INITIAL DATA ENTERED BY THE USERS ***************
    *Start of GA29072003.
      IF NOT s_bedat IS INITIAL.
    Start of GLDK9A8WWS (AS3848)
    Changed sequence in subroutine name to comply with coding standards
    based on the review tool ZZCHK.
        PERFORM f0100_check_s_bedat.
    End of GLDK9A8WWS (AS3848)
      ENDIF.
    *End of GA29072003.
    *eject
    *start of insert AW2150 GLDK9ABSZ8
    AT SELECTION-SCREEN OUTPUT.
      IF P_ALLPO EQ C_X.
        LOOP AT SCREEN.
          IF SCREEN-NAME EQ 'P_QTY'.
            SCREEN-ACTIVE = 0.
          ELSEIF SCREEN-NAME EQ 'P_DATE'.
            SCREEN-ACTIVE = 0.
          ELSEIF SCREEN-NAME EQ 'P_DATE1'.
            SCREEN-ACTIVE = 0.
          ENDIF.
          MODIFY SCREEN.
        ENDLOOP.
      ELSEIF P_ALLPO NE C_X.
        LOOP AT SCREEN.
          IF SCREEN-NAME EQ 'P_QTY'.
            SCREEN-ACTIVE = 1.
          ELSEIF SCREEN-NAME EQ 'P_DATE'.
            SCREEN-ACTIVE = 1.
          ELSEIF SCREEN-NAME EQ 'P_DATE1'.
            SCREEN-ACTIVE = 1.
          ENDIF.
          MODIFY SCREEN.
        ENDLOOP.
      ENDIF.
    *end of insert AW2150 GLDK9ABSZ8
    *eject
    *start of insert by AW2150 GLDK9AAYU9
    AT SELECTION SCREEN ON S_EINDT.
    AT SELECTION-SCREEN ON S_EINDT.
      IF NOT S_EINDT IS INITIAL.
        PERFORM F17200_CHECK_S_EINDT.
      ENDIF.
    *end of insert by AW2150 GLDK9AAYU9
    *eject
    AT SELECTION SCREEN ON S_EKORG
    AT SELECTION-SCREEN ON s_ekorg.
    Validate value of purchasing org(s) entered on the selection         *
    screen by executing subroutine 0100_VALIDATE_PURC_ORG.               *
      IF NOT s_ekorg IS INITIAL.
        PERFORM f0200_validate_purc_org.
      ENDIF.
    *eject
    AT SELECTION SCREEN ON S_EKGRP
    AT SELECTION-SCREEN ON s_ekgrp.
    Validate value of purchasing group(s) entered on the selection       *
    screen by executing subroutine 0200_VALIDATE_PURC_GROUP.             *
      IF NOT s_ekgrp IS INITIAL.
        PERFORM f0300_validate_purc_group.
      ENDIF.
    *eject
    AT SELECTION SCREEN ON S_EBELN
    AT SELECTION-SCREEN ON s_ebeln.
    Validate value of purchase order(s) entered on the selection         *
    screen by executing subroutine F0310_VALIDATE_PURC_ORDER.
      IF NOT s_ebeln IS INITIAL.
        PERFORM f0310_validate_purc_order.
      ENDIF.
    *eject
    AT SELECTION SCREEN ON S_WERKS
    AT SELECTION-SCREEN ON s_werks.
    Validate value of plant(s) entered on the selection                  *
    screen by executing subroutine F0400_VALIDATE_PLANT.
      IF NOT s_werks IS INITIAL.
        PERFORM f0400_validate_plant.
      ENDIF.
    *eject
    AT SELECTION SCREEN ON S_BSART
    AT SELECTION-SCREEN ON s_bsart.
    Validate value of Document type(s) entered on the selection          *
    screen by executing subroutine F0500_VALIDATE_DOC_TYPE.
      IF NOT s_bsart IS INITIAL.
        PERFORM f0500_validate_doc_type.
      ENDIF.
    *eject
    AT SELECTION SCREEN ON S_PSTYP
    AT SELECTION-SCREEN ON s_pstyp.
    Validate value of Item Category entered on the selection             *
    screen by executing subroutine F0600_VALIDATE_ITEM_CATEGORY.
      IF NOT s_pstyp IS INITIAL.
        PERFORM f0600_validate_item_category.
      ENDIF.
    *eject
    AT SELECTION SCREEN ON S_MATNR
    AT SELECTION-SCREEN ON s_matnr.
    Validate value of Material Number entered on the selection           *
    screen by executing subroutine F0700_validate_mat_number
      IF NOT s_matnr IS INITIAL.
        PERFORM f0700_validate_mat_number.
      ENDIF.
    *eject
    AT SELECTION SCREEN ON S_LIFNR
    AT SELECTION-SCREEN ON s_lifnr.
    Validate value of Vendor entered on the selection by executing       *
    subroutine F0800_VALIDATE_VENDOR_NUMBER
      IF NOT s_lifnr IS INITIAL.
        PERFORM f0800_validate_vendor_number.
      ENDIF.
    *eject
    AT SELECTION SCREEN ON S_MATKL
    AT SELECTION-SCREEN ON s_matkl.
    Validate value of material group entered on the selection screen     *
    by executing subroutine F0900_validate_mat_group.
      IF NOT s_matkl IS INITIAL.
        PERFORM f0900_validate_mat_group.
      ENDIF.
    *eject
    AT SELECTION SCREEN ON S_KNTTP
    AT SELECTION-SCREEN ON s_knttp.
    Validate the value of account assignment category entered on the     *
    selection screen by executing subroutine 1000_validate_mat_group.    *
      IF NOT s_knttp IS INITIAL.
        PERFORM f1000_validate_***_category.
      ENDIF.
    *eject
    AT SELECTION SCREEN ON S_EBELP
    AT SELECTION-SCREEN ON s_ebelp.
    Validate the value of PO line item entered on the                    *
    selection screen by executing subroutine F1100_VALIDATE_PO_ITEM.
      IF NOT s_ebelp IS INITIAL.
        PERFORM f1100_validate_po_item.
      ENDIF.
    *eject
    AT SELECTION SCREEN ON S_LOEKZ
    AT SELECTION-SCREEN ON s_loekz.
    Validate the value of deletion indicator enterd on the selection     *
    selection screen by executing subroutine F1200_VALIDATE_DEL_IND.
      IF NOT s_loekz IS INITIAL.
        PERFORM f1200_validate_del_ind.
      ENDIF.
    Start of GLDK9A8WWS (AS3848)
    Commented out the following block of code as a result of the removal
    of the field VARIANT from the selection screen.
    *at selection-screen on value-request for p_vari.
    perform 14000_f4_for_variant.
    End of GLDK9A8WWS (AS3848)
    *Start of deletion AW2150
    *eject
    Block Added From Here TUL02022005
    AT SELECTION SCREEN ON S_ELIKZ
    *AT SELECTION-SCREEN ON s_ELIKZ.
    Validate the value of Delivery Completed Indicator entered.
    IF NOT s_ELIKZ IS INITIAL.
      Check the Valid Values.
       IF  not SPACE in S_ELIKZ
       AND not C_X   in S_ELIKZ .
         MESSAGE e999 WITH
                 'Invalid Delivery Completed Flag entered'(006).
       ENDIF.
    ENDIF.
    Block Added Till Here TUL02022005
    *End of deletion AW2150
    *eject
    AT SELECTION SCREEN
    AT SELECTION-SCREEN.
      PERFORM f15000_pai_of_selection_screen.
    *End of GA23062003
    start of insert AW2150 GLDK9AAYU9
      IF S_BEDAT IS INITIAL
         AND S_EINDT IS INITIAL.
        MESSAGE E999 WITH TEXT-E01.
      ENDIF.
    end of insert AW2150 GLDK9AAYU9
                            MAIN PROCESSING                            **
    *eject
    START-OF-SELECTION.
    START-OF-SELECTION.
    Store report name and report size into temp. varaibles for later use.
      w_repid = sy-repid.
    Select OAs and Info Records to be displayed into internal table
      PERFORM f2000_get_pos.
    Store data into final reporting internal table
      PERFORM f3000_store_data.
    Begin of KAK01
    Start of GLDK9A8WWS (AS3848)
    Calls the subroutine for building the event catalog for ALV.  This
    event catalog will be used in the function module that will generate
    the ALV report.  Logic will eventually be used for the generation of
    the standard report header on top of each page.
      CLEAR v_events.
      w_linsz = sy-linsz.
      PERFORM f17100_build_events USING v_events.
    End of GLDK9A8WWS (AS3848)
    Use ALV instead of normal list.
    Write data to the screen.
    Populate ALV Field Category Structure.
      PERFORM f8000_field_cat.
    Populate ALV Exclude Structure.
      PERFORM f9000_alv_exclude.
    *eject
    END-OF-SELECTION.
    END-OF-SELECTION.
    Begin of KVI04Feb05
      IF W_FLAG EQ C_X.
        CLEAR W_FLAG.
        STOP.
      ENDIF.
    End of "KVI04Feb05
    Display Report.
      PERFORM f10000_call_disp.
    *eject
    AT USER-COMMAND .
    *AT USER-COMMAND.
    CASE SY-UCOMM.
       WHEN 'EXEL'.
         PERFORM F5000_DOWNLOAD_TO_EXCEL.
       WHEN 'CLIK'.
         IF SY-LISEL+1(2) EQ '45'.
           PERFORM F6000_see_po_details.
         ELSE.
           PERFORM F7000_see_oa_details.
         ENDIF.
    ENDCASE.
    End of KAK01
    *eject
      Form(s)/Subroutine(s)   ************************
    *Start of GA29072003.
    *&      FORM F0100_CHECK_S_BEDAT
    Check if user entered appropriate date values as selection criteria *
    ----

    Hi!
    After you click on the printer icon, a popup will apeear. Depends on the SAP system version, you are using, somewhere on the popup, you can find a filed, which is called SAP COVER PAGE.
    Here you can choose, coverpage, without cover page, or standard cover page.
    Regards
    Tamá

  • REPORT HEADING ON TOP CENTRE

    Hi experts,
    actually in my ALV report i want to display the name of the report on top centre of the page. for this i used FM
    ALV_REUSE_COMMENTARY_WRITE.
    AT PRESENT I AM GETTING THE REPORT HEADING ON TOP LEFT.
    COULD U PLZ HELP  HOW TO GET THE REPORT HEADING ON TOP CENTRE .
    REGARDS,
    SIRI.

    Hi Sireesha,
    Just try like this and see
    WRITE 'Centered Text'(120) TO LS_LINE-KEY centered.
    APPEND LS_LINE TO IT_TOP.
    CONCATENATE v_date v_time INTO LS_LINE-INFO
                               SEPARATED BY ' '.
    APPEND LS_LINE TO IT_TOP.
          CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
            EXPORTING
              IT_LIST_COMMENTARY       = IT_TOP
            I_LOGO                   = I_LOGO
            I_END_OF_LIST_GRID       = I_END_OF_LIST_GRID
            I_ALV_FORM               = I_ALV_FORM
    Regards,
    Vidya

  • Paramteter in Portal Report Header

    Hi
    Is there a a way of showing the parameter that a user enters in
    a report header, perhaps with some text
    eg given the query
    select * from SCOTT.EMP
    where DEPTNO = :department
    I would want to show something like 'Department is :':department
    number in the page header of the report, and hide deptno in the
    result set displayed. I am trying to emulate something similar
    to the way that Discoverer users 'Page items'.
    Thanks in advance
    Tim

    To display the parameter, you could enter the following code
    into the '...After displaying the header' event on the PL/SQL
    tab.
    htp.prn(htf.bold('Department is ')
    ||portal30.wwv_name_value.get_string( l_arg_names,
    l_arg_values, 'department'));
    htp.br;
    Then just change the display type of Department to Hidden.
    Hope this helps.

  • How to print the selection screen variant as a report header

    I want to print the variant selected on the selection screen as a report header in the report painter.....Kindly help....The variant selected prior to generating the report painter output must be displayed on the final output screen as the header on the screen...

    Hi
    Here you've to use 'Z_HEADER_FOOTER' function module at TOP-OF-PAGE
    Just pass parameters for report_name                 as repid
                                              show_select_options  as 'Y'
                                              show_parameters       as 'Y'
                                              line_size                       as you wish
                                              action                           as 'X'
    Hope this fulfills your requirement
    Thanks
    Suren

  • Dynamic lenght in report heading

    Hi experts,
    I need to pass dynamic length in report heading.
    i.e.., REPORT zrep LINE-SIZE dyn_len NO STANDARD PAGE HEADING.
    So that my report output width will be in different length based on value dyn_len.
    Any solution or alternative in simple list display. Pls suggest ....
    Thanks in advance.
    Zak.

    Hello,
    Do not specify LINE SIZE in that case.
    Thanks,
    Jayant

  • To change the colour of the particular cell of ALV report in Grid display.

    Hai Friends,
                      I have created an Alv report in grid display .In that i want to change the colour of the particular cell.Plz provide the answer with a solved example.
             Thank u.

    This works for a Custom Control and OO ALV in a Dialog Module
    TABLES: kna1.
    * Data (for the ALV Grid)
    TYPES:
      BEGIN OF t_alv_data,
        cust_id    TYPE kunnr,        "Customer Number
        cust_name  TYPE name1_gp,     "Customer Name
        cust_color TYPE i,
    *   cell coloring field
        color     TYPE lvc_t_scol,   "Cell coloring
      END OF t_alv_data.
    DATA:
      v_alv_data TYPE t_alv_data,
      i_alv_data TYPE STANDARD TABLE OF t_alv_data.
    * ALV grid containers and objects
    DATA:
      o_alv_grid TYPE REF TO cl_gui_alv_grid,
      o_alv_cont TYPE REF TO cl_gui_custom_container.
    * ALV field catalog
    DATA:
      i_alv_fc TYPE lvc_t_fcat,
      v_alv_fc LIKE lvc_s_fcat.
    * ALV Layout (colors)
    DATA:
      v_alv_layout TYPE lvc_s_layo,
      i_alv_color TYPE lvc_t_scol,
      v_alv_color TYPE lvc_s_scol,
      v_alv_color_cell TYPE lvc_s_colo.
    * ALV variant
    DATA:
      v_alv_variant  TYPE disvariant.
    PARAMETERS:
      p_alvvar TYPE disvariant-variant DEFAULT 'DEFAULT'.
    DATA: ok_code LIKE sy-ucomm.
    * Class for event handling
    *       CLASS lcl_event_receiver DEFINITION
    * [+] Event listener for the ALV grid
    * [+] Handles hotspots and data changes
    CLASS lcl_event_receiver DEFINITION.
      PUBLIC SECTION.
        METHODS:
    *     Hotspot clicking
          hotspot_click
               FOR EVENT hotspot_click OF cl_gui_alv_grid
                 IMPORTING e_row_id
                           e_column_id
                           es_row_no,
    *     Data changed (such as checkbox clicking)
          handle_data_changed
            FOR EVENT data_changed OF cl_gui_alv_grid
                IMPORTING er_data_changed.
    ENDCLASS.                    "lcl_event_receiver DEFINITION
    *       CLASS lcl_event_receiver IMPLEMENTATION
    * [+] Implementation of the ALV Grid event handler class
    CLASS lcl_event_receiver IMPLEMENTATION.
    *       METHOD hotspot_click                                          *
    * [+] Calls evvent_hotspot_click when a hotspot is clicked in the ALV
      METHOD hotspot_click.
        PERFORM event_hotspot_click
                      USING e_row_id
                            e_column_id.
      ENDMETHOD.                    "hotspot_click
    *       METHOD handle_data_changed                                    *
    * [+] Updates the source data when the data in the ALV display has
    * been changed, such as by clicking a checkbox.
      METHOD handle_data_changed.
        DATA: lv_changed TYPE lvc_s_modi.
        LOOP AT er_data_changed->mt_good_cells INTO lv_changed
          WHERE fieldname = 'CUST_NAME'.
          READ TABLE i_alv_data INTO v_alv_data INDEX lv_changed-row_id.
          IF sy-subrc = 0.
            MOVE lv_changed-value TO v_alv_data-cust_name.
            MODIFY i_alv_data FROM v_alv_data INDEX lv_changed-row_id.
          ENDIF.
        ENDLOOP.
      ENDMETHOD.                    "handle_data_changed
    ENDCLASS.                    "lcl_event_receiver IMPLEMENTATION
    * Reference to the event listener class
    DATA: event_receiver TYPE REF TO lcl_event_receiver.
    *       FORM build_event_listener
    * [+] Set the event handler on the ALV Grid
    FORM build_event_listener.
    * Assigning the event listener to the ALV
      CREATE OBJECT event_receiver.
      SET HANDLER event_receiver->handle_data_changed FOR o_alv_grid.
      SET HANDLER event_receiver->hotspot_click       FOR o_alv_grid.
    ENDFORM.                    "build_event_listener
    *       AT SELECTION-SCREEN
    *         ON VALUE-REQUEST FOR p_alvvar
    * [+] Calls choose_alv_variant to ask the user to select an alv grid
    *     layout variant
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_alvvar.
      PERFORM choose_alv_variant
        CHANGING
          p_alvvar
          v_alv_variant.
    *       START_OF_SELECTION
    START-OF-SELECTION.
      PERFORM get_data.
      SET PF-STATUS 'ALVSCREEN' IMMEDIATELY.
      CALL SCREEN 2000.
    *       FORM get_data
    * [+] Gets the data for the ALV grid
    FORM get_data.
      SELECT kunnr name1
        INTO (v_alv_data-cust_id,
              v_alv_data-cust_name)
        FROM kna1.
        APPEND v_alv_data TO i_alv_data.
      ENDSELECT.
    ENDFORM.                    "get_data
    *       MODULE build_alv_grid
    *   THIS SHOULD BE IN THE "PROCESS BEFORE OUTPUT" OF THE ALV SCREEN
    * [+] Builds the ALV Grid objects
    * [+] Calls to build the field catalog table
    * [+] Loads the field catalog table into the ALV Grid
    * [+] Loads the table data into the ALV Grid
    MODULE build_alv_grid OUTPUT.
      SET TITLEBAR  '2000'.
    * Also enables layout saving
      PERFORM set_alv_variant
        USING
          p_alvvar
        CHANGING
          v_alv_variant.
    * Building the grid and container on the screen
    * NOTE: the container name MUST be upper-case
    * Also, we don't want the objects to be created if in batch mode!
      IF sy-batch IS INITIAL.
        CREATE OBJECT o_alv_cont
          EXPORTING
            container_name = 'O_ALV_TABLE'.
      ENDIF.
      CREATE OBJECT o_alv_grid
        EXPORTING
          i_parent = o_alv_cont.
    * builds the event listener
      PERFORM build_event_listener.
    * Color the cells
      PERFORM color_cells.
    * Build the field catalog
      PERFORM build_alv_fc.
    * Loads the data into the grid
      CALL METHOD o_alv_grid->set_table_for_first_display
        EXPORTING
          i_save          = 'A'
          i_default       = 'X'
          is_variant      = v_alv_variant
          is_layout       = v_alv_layout
        CHANGING
          it_outtab       = i_alv_data
          it_fieldcatalog = i_alv_fc.
    ENDMODULE.                    "build_alv_grid OUTPUT
    *       FORM build_alv_fc
    * [+] Constructs the ALV Grid field catalog table
    FORM build_alv_fc.
      CLEAR i_alv_fc.
      REFRESH i_alv_fc.
    * NOTE: the field name MUST be upper-case
    *                   field       heading         hide  hot
    *                   name                        zero  spot  just
      PERFORM:
        alv_field USING 'CUST_ID'    'Cust ID'        ' '  'X'  'R',
        alv_field USING 'CUST_NAME'  'Customer Name'  ' '  ' '  'L',
        alv_field USING 'CUST_COLOR' 'Color'          ' '  ' '  'R'.
    ENDFORM.                    "build_alv_fc
    *       FORM alv_field
    * [+] Describes and constructs a single field for the ALV Grid field
    *     catalog. The field length and type are both obtained from the
    *     actual field passed in to this method.
    * [+] Adds the constructed field to the ALV Grid field catalog table
    FORM alv_field
      USING
        p_field_name TYPE c
        p_heading    TYPE c
        p_hide_zeros TYPE c
        p_hotspot    TYPE c
        p_justify    TYPE c.
      CLEAR v_alv_fc.
      DATA:
        lv_type(1) TYPE c,
        lv_length TYPE i,
        lv_heading_length TYPE i.
    * get the type and length of this field
      FIELD-SYMBOLS <field>.
      ASSIGN p_field_name TO <field>.
      DESCRIBE FIELD <field> TYPE lv_type OUTPUT-LENGTH lv_length.
    * re-adjust the length to the length of the header, if too short
      lv_heading_length = strlen( p_heading ).
      IF lv_length < lv_heading_length.
        lv_length = lv_heading_length.
      ENDIF.
    * NOTE: the field name MUST be upper-case
      v_alv_fc-fieldname = p_field_name.
      TRANSLATE v_alv_fc-fieldname TO UPPER CASE.
      v_alv_fc-inttype   = lv_type.
      v_alv_fc-outputlen = lv_length.
      v_alv_fc-coltext   = p_heading.
      v_alv_fc-seltext   = p_heading.
      v_alv_fc-hotspot   = p_hotspot.
    * Determining which fields should show zeros
      IF p_hide_zeros = 'X'.
        v_alv_fc-no_zero = 'X'.
        v_alv_fc-lzero   = ' '.
      ELSE.
        v_alv_fc-no_zero = ' '.
        v_alv_fc-lzero   = 'X'.
      ENDIF.
      v_alv_fc-just = p_justify.
    * Add the field to the field catalog
      APPEND v_alv_fc TO i_alv_fc.
    ENDFORM.                    "alv_field
    *       FORM choose_alv_variant
    * [+] Shows a popup that allows the user to choose the layout variant
    *     for the alv grid of the current program
    * [+] Usually called by an AT SELECTION-SCREEN method.
    FORM choose_alv_variant
      CHANGING
        p_variant_name TYPE disvariant-variant
        p_variant      TYPE disvariant.
      CLEAR p_variant.
      DATA:
        p_exit_check(1) TYPE c.
      MOVE sy-repid TO p_variant-report.
      CALL FUNCTION 'LVC_VARIANT_F4'
           EXPORTING
                is_variant = p_variant
                i_save     = 'A'
           IMPORTING
                e_exit     = p_exit_check
                es_variant = p_variant
           EXCEPTIONS
                not_found  = 1
                OTHERS     = 99.
      IF sy-subrc = 0.
        IF p_exit_check <> 'X'.
          p_variant_name = p_variant-variant.
        ENDIF.
      ENDIF.
    ENDFORM.                    "choose_alv_variant
    *       FORM set_alv_variant
    * [+] Sets the alv grid layout variant. Used for setting the variant
    *     when its name is entered in a parameter rather than by using the
    *     popup, or when loading the variant from a variable of type C
    FORM set_alv_variant
      USING
        p_variant_name TYPE disvariant-variant
      CHANGING
        p_variant      TYPE disvariant.
      MOVE sy-repid TO p_variant-report.
      p_variant-variant = p_variant_name.
    ENDFORM.                    "set_alv_variant
    *       FORM color_cells
    * [+] Loop through the data and apply coloring
    FORM color_cells.
      DATA:
        my_color  TYPE i.
    * tell the ALV grid what field in v_alv_data contains color information
      v_alv_layout-ctab_fname = 'COLOR'.
      my_color = 0.
    * loop through each row of the table
      LOOP AT i_alv_data INTO v_alv_data.
    *   clear the variables
        CLEAR:
          v_alv_color,
          v_alv_color_cell,
          i_alv_color.
        REFRESH:
          i_alv_color.
        v_alv_data-cust_color = my_color.
        PERFORM color_cell USING 'CUST_COLOR' my_color. "negative
    *   apply the colors
    *    IF v_alv_data-cust_name = 'Testing Credit'.
    *      PERFORM color_cell USING 'CUST_NAME' 6. "negative
    *    ELSEIF v_alv_data-cust_name = 'Goober Goober Also'.
    *      PERFORM color_cell USING 'CUST_NAME' 5. "positive
    *    ENDIF.
    *   set the color data for this table row
        v_alv_data-color = i_alv_color.
        MODIFY i_alv_data FROM v_alv_data.
        my_color = my_color + 1.
        IF my_color GT 7.
          CLEAR my_color.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    "color_cells
    *       FORM color_cell
    * [+] Colors a cell in the ALV grid
    FORM color_cell
      USING
        p_cellname TYPE c
        p_color    TYPE i.
      CLEAR:
        v_alv_color_cell,
        v_alv_color.
    * set the color for the cell
    *  IF p_color = 0.
    *    v_alv_color_cell-col = 0. "cl_gui_resources=>list_col_background.
    *  ELSEIF p_color = 1.
    *    v_alv_color_cell-col = 1. "cl_gui_resources=>list_col_heading.
    *  ELSEIF p_color = 2.
    *    v_alv_color_cell-col = 2. "cl_gui_resources=>list_col_normal.
    *  ELSEIF p_color = 3.
    *    v_alv_color_cell-col = 3. "cl_gui_resources=>list_col_total.
    *  ELSEIF p_color = 4.
    *    v_alv_color_cell-col = 4. "cl_gui_resources=>list_col_key.
    *  ELSEIF p_color = 5.
    *    v_alv_color_cell-col = 5. "cl_gui_resources=>list_col_positive.
    *  ELSEIF p_color = 6.
    *    v_alv_color_cell-col = 6. "cl_gui_resources=>list_col_negative.
    *  ELSEIF p_color = 7.
    *    v_alv_color_cell-col = 7. "cl_gui_resources=>list_col_group.
    *  ENDIF.
      v_alv_color_cell-col = p_color.
      v_alv_color-nokeycol = 'X'.
      v_alv_color-fname = p_cellname.
    *  v_alv_color-color = p_color.
      v_alv_color-color = v_alv_color_cell.
      APPEND v_alv_color TO i_alv_color.
    ENDFORM.                    "color_cell
    *       FORM event_hotspot_click
    * [+] What to do when clicking on a hotspot in the ALV Grid
    FORM event_hotspot_click
      USING
        p_row    TYPE lvc_s_row
        p_column TYPE lvc_s_col.
      DATA:
        lv_docnum TYPE kunnr.
      READ TABLE i_alv_data INTO v_alv_data INDEX p_row-index.
      IF p_column = 'CUST_ID'.
    *   call a transaction when the cust_id is clicked
        SET PARAMETER ID 'AUN' FIELD v_alv_data-cust_id.
        CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
      ENDIF.
    ENDFORM.                    "event_hotspot_click
    *&      Module  USER_COMMAND_2000  INPUT
    *       text
    MODULE user_command_2000 INPUT.
      CASE ok_code.
        WHEN 'BACK'
          OR 'STOP'
          OR 'CANCEL'.
          LEAVE TO SCREEN 0.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_2000  INPUT

  • Page Header Not Displaying at Top of Page

    Report Builder 3
    We have a number of reports that include navigation links in the page header. The links use the Bookmarks Action to move the user to a different page. The pages are separated using Page Breaks. Below is an example:
    > Top row is the Page Header.
    > Second section is the Resource Listing & Alerts page.
    > After the first page a rectangle is placed which has Page Break set to Start.
    > After the rectangle comes the start of the "Data Extract" page. The title is in a rectangle with a Bookmark called Page2.
    > Click the link to be forwarded to the Data Extract.
    > Page displays, but the Page Header is not visible because the screen is scrolled down slightly.
    I have not been able to fix this or find a workaround that forces the Page Header to always display at the top. It has been suggested that putting the page break before the bookmark would force this to work, but that is not working.
    Any ideas?     Thank you! Naamkeek

    Hi  Naamkeek,
    Based on my understanding, you add a bookmark link for “Data Extract” in page header, however, when clicking this fields, other page displays without visible page header.
    In Reporting Service, when setting page header in a report, the page header will display in each report page. In your scenario, since you set BreakLocation as Start in PageBreak property, the rectangle could make the page header upper and screen scroll down
    lightly. So please change this property to End. As we tested in our environment, we set BreakLocation as End in PageBreak property for the blank rectangle. Then adding a bookmark link in page header, when we click “Data Extract”, the page header will appear
    on a new page. Please refer to screenshots below:
    Reference:
    Page Headers and Footers (Report Builder and SSRS)
    Best regards,
    Qiuyun Yu

  • How can I include date in report header

    How can I display the current date in my report header? I do not wish to modify the sql statement to include the sysdate.
    Can I add the date in the 'Report and Customization Form Text' or in 'Additional PL/SQL Code'? If so then how?

    Maxine,
    In the last tab of the report wizard,
    you can add the plsql to display the date.
    Alternately,create an unstructured UI template and add the [oracle][oracle] tag
    and insert the plsql in it to display the
    date

  • Hide/show text boxes in report header

    Hi All,
    I'm trying to implement a request to have a tablix header frozen in excel. So, I'm placing it in the report header as text boxes. However, there are two different tablixes (a one per page) with two different headings. I'm trying to place those two headings
    into two rectangles in the report header hiding and showing a one of it based on the Page No. It works but only for the first tablix heading as it's shown on the first page and hidden on the second page. But, the second tablix heading is not shown on the second
    page for some reason. It's probably due to the Page No rendering is  going later than the text boxes  appearances on the second page or something else causing it. 
    I did try to use the Global Page No in if visibility statement for those two rectangles, trying to get Page No through a function, using it as a parameter,  but nothing is making the second rectangle to show on the second page report header.
    Please, help with how it could be done.
    Thanks

    Hi al-dol,
    Per my understanding that you have put the textbox in the page header to display the table head instead of in the tablix thus you will got the frozen head when export to excel, you have two table header, so you need to add two rectangle to display both in
    two different page, now the issue is the second page header didn't display, right?
    I have testted on my local environment and can reproduce the issue, the issue can be caused by when you move the rectangle2 on the position of the rectangle1 then the rectangle becomes the child of rectangle1 but not the child of page header thus you will
    not shown the rectangle2.
    Please check the details information below to see if you have got the rectangle2 inside the rectangle1 like below:
    if so, please move the rectangle2 one time and check to make sure you got the "Page Header" in the parent section of both rectangle:
    Please also make sure you have use below expression to show/hide the rectangle:
    rectangle1:
    =iif(Globals!PageNumber=1,false,true)
    rectangle2:
    =iif(Globals!PageNumber=2,false,true)
    If you still have any problem, please feel free to ask.
    Regars,
    Vicky Liu
    Vicky Liu
    TechNet Community Support

Maybe you are looking for

  • Key Mapping for Forms

    Hi All, I have 100+ forms, I want to disable some keys in them. e.g. Key-Menu, key-duprec. I can not put a trigger with trigger text 'null;' in each form or inherit an object group and generate again. Can I do something global to remove these key map

  • Photo stream questions, sharing, etc.

    Shared photo stream questions Camera Roll (CR), Photo Stream (PS) If I create a shared PS and share it with a friend, is this temporary like the main PS (most recent 1000 images)? For example, if I put one photo in a shared PS and then take 1000 new

  • Mac user in Windows instuttion needs help

    I am being denied IMAP for my .mac mail by the syst. adm. and firewall provider. I think they are blowing me off but my tech understanding on this matter is lacking in order to defend my case. Please read the email exchange below and provide a counte

  • Trouble Viewing PDFs on iMac using OS 10.7.5

    I am having trouble reading or viewing certain PDFs, primarily from various web sites, on my Intel Core 2 Duo iMac using OS 10.7.5.  I have the latest version of Adobe Reader but certain PDFs are scrambled.  The sources for the PDFs are very random. 

  • I need a redemption code

    I need a redemption code. I did not receive one I purchased Creative Cloud online, and all the products I installed are asking for a Serial Number!