Database - reports - suppress empty fields

I have a fairly large database which frequently has a number of empty fields in the records. Is there a way I can suppress the empty fields when I print a report? It might reduce a nearly 60 page report to 30. A significant saving.
Thanks for any help or ideas.

Here is an enhanced version.
--[SCRIPT report visible records]
Enregistrer en tant que Script: report visible records.scpt
déplacer le fichier créé dans le dossier
<VolumeDeDémarrage>:Users:<votreCompte>:Library:Scripts:Applications:AppleWorks 6:
Il vous faudra peut-être créer le dossier AppleWorks 6 et peut-être même le dossier Applications.
Ouvrir votre base de données,
rendre visible les fiches à imprimer
menu Scripts > AppleWorks 6 > report visible records
Le script crée un document traitement de texte à partir du contenu de ces fiches
À droite des noms de champs, le script insère un caractère 'deux points' suivi d'un TAB ce qui permet d'aligner aisément le début des données affichées.
--=====
L'aide du Finder explique:
L'Utilitaire AppleScript permet d'activer le Menu des scripts :
Ouvrez l'Utilitaire AppleScript situé dans le dossier Applications/AppleScript.
Cochez la case "Afficher le menu des scripts dans la barre de menus".
+++++++
Save the script as Script: report visible records.scpt
Move the newly created file into the folder:
<startup Volume>:Users:<yourAccount>:Library:Scripts:Applications:AppleWorks 6:
Maybe you would have to create the folder AppleWorks 6 and even the folder Applications by yourself.
Open your database
Make visibles the records to print.
menu Scripts > AppleWorks 6 > report visible records
The script creates a new WP document with the contents of these records.
After the fields name, it inserts a colon and a TAB so it would be easy to align the beginning of data values
--=====
The Finder's Help explains:
To make the Script menu appear:
Open the AppleScript utility located in Applications/AppleScript.
Select the "Show Script Menu in menu bar" checkbox.
--=====
Yvan KOENIG (VALLAURIS, France)
2009/09/20
--=====
property myWP : "my report.cwk"
property doWhat : 1
1 = skip empty fields
2 = display fieldName for empty fields
3 = display fieldName and "unavailable" for empty fields
property liste : {}
property nomsChamps : {}
property nbf : missing value
--=====
on run
my nettoie()
tell application "AppleWorks 6"
activate
if document kind of document 1 is not database document then error "Document 1 is not a database !"
set myDB to name of document 1
tell document myDB
set my nomsChamps to name of fields
set my liste to index of every record whose visible is true
end tell -- document 1
end tell -- AppleWorks
if my liste is {} then error number -128
set nbf to count of my nomsChamps
tell application "AppleWorks 6"
make new document with properties {document kind:text document, name:myWP}
set nbr to count of my liste
repeat with rec from 1 to nbr
set the clipboard to my readRecord(myDB, rec)
tell document myWP
paste
if rec < nbr then select menu item 12 of menu 4 (* Inserts Page break *)
end tell -- document
end repeat
end tell -- AppleWorks
my nettoie()
end run
--=====
on nettoie()
set my liste to {}
set my nomsChamps to {}
set nbf to missing value
end nettoie
--=====
on readRecord(d, r)
tell application "AppleWorks 6" to tell document d
set l_fiche to {}
repeat with f from 1 to nbf
set valF to value of field f of record r
if doWhat = 1 then
if valF is not unavailable then copy (item f of my nomsChamps) & " :" & tab & valF & return to end of l_fiche
else if doWhat = 2 then
if valF is unavailable then set valF to ""
copy (item f of my nomsChamps) & " :" & tab & valF & return to end of l_fiche
else
copy (item f of my nomsChamps) & " :" & tab & valF & return to end of l_fiche
end if
end repeat
end tell
return my recolle(l_fiche, return)
end readRecord
--=====
on recolle(l, d)
local t
set AppleScript's text item delimiters to d
set t to l as text
set AppleScript's text item delimiters to ""
return t
end recolle
--=====
--[/SCRIPT]
Yvan KOENIG (VALLAURIS, France) lundi 21 septembre 2009 15:32:47

Similar Messages

  • How to Suppress Empty Field in XML File

    My xml file sometimes has fields that are empty. No problem
    in ie, but in Firefox the Spry tabbed panel displays the data as
    "undefined".
    Any suggestions would be helpful.
    Thanks!

    You can check for it:
    <span spry:if=" '{your_dataref}' !=
    undefined">{your_dataref}</span>
    You may have to put 'undefined' in single quotes. I can never
    remember...

  • Suppress embedded field blank lines in Crystal Reports XI is not working

    Hi,
    We have a text box in a Crytal Reports XI report which has address information in it as follows:
    These are individual fields from the database. We check the  "suppress embedded field blank lines" option for the text box and preview it in the designer and the suppression works as expected in that when the unit field is blank the whole address line isn't suppressed. However when we run this report using the Report Viewer control in a VB.NET 2005 application the whole address line is suppressed when the unit field is blank.
    This appears to be a bug in the suppression logic when the Report Viewer is used to view a report. While yes we can embed a formula into the address line this adds extra maintenance and confusion which is not necessary as it works as expected in the report designer.
    I have seen others which are having a similiar issue and the only suggestions are to create your own suppression using formulas, etc. which is only a bandaid and is not the best solution as the suppression works as stated in the designer but not in the viewer embedded in an application. Please indicate if this is a known bug and if this issue has been addressed and fixed in a new merge module.
    We are running Crystal XI 11.5.0.313 for the report designer and have deployed the needed dlls to run the reports with our application using the CrystalReports11_5_NET_2005.msm merge module.
    Thanks in advance for any assistance in resolving this issue!

    Hello,
    Moved to .NET SDK forum.
    Upgrade to XI R2 SP 6, you are using the original release:
    https://smpdl.sap-ag.de/~sapidp/012002523100011802732008E/crxir2_sp4_full_build.exe
    https://smpdl.sap-ag.de/~sapidp/012002523100015859952009E/crxir2win_sp6.exe
    And the distribution files are for Visual Studio version of Cr, not R2 build.
    https://smpdl.sap-ag.de/~sapidp/012002523100013451312010E/crxir2_fp64_server_ins.zip
    Or
    https://smpdl.sap-ag.de/~sapidp/012002523100013451332010E/crxir2_fp64_net_mm.zip
    Don

  • Replace the empty field with below data content field in xml pub report

    Hi Gurus,
    Please give me the solution for the Replacement of empty field with below data content field in XML PUBLISHER REPORT.
    ex:
    Name:Philips.M
    Address 1:XP APPTS,
    Address 2:S:R ROAD
    Address 3:
    COUNTRY:INDIA
    Here i have to get only address 1,address 2 and the COUNTRY data.I dont want to display Address 3 field here.
    Thanks,
    David

    I'm not sure if this answers your question but you could try putting out the address all in one item in the SQL eg somthing like:
    address1 || DECODE(address1, NULL, NULL, 'newline character') ||
    address2 || DECODE(address2, NULL, NULL, 'newline character') ||
    address3 || DECODE(address3, NULL, NULL, 'newline character')
    where 'newline character' is somthing like CHR(12)
    Dave

  • How can I suppress a sub report if a field contains the charcaters N/A

    I have created a report (using Crystal Reports 10) containing several sub reports.  I have used the Selection Expert and checked the Suppress Blank Section check box for all the sub reports.  This will hide the sub report if the fields have null values.  I would like to be able to suppress the sub report if any fields contain the characters N/A.  Is there a formula or a method I can use that will suppress a sub report if the only field value is N/A?

    You can have a summary field for counting if there're any 'N/A'. If there are any, you can then suppress the corr. section. Further in the section in which the subreport is placed, within the main one, you can tick 'Suppress blank section' in the section expert.

  • Not printing line in report if the field is empty

    How can I avoid printing a blank line in my report if the field is blank. eg in an address you do not want blank lines.
    Thank you
    Michael

    You need to configure the elasticty of the field and the repeating frame.
    Set both to variable and the field should "collapse" if it is blank and the repeating frame will do so as well

  • Report using Parameter Field

    Hi,
    I have designed one report using Parameter Field which is Cost Code (string).
    When I run my report, I ask to enter cost code. When I enter cost code 30, I get report for all transaction of cost code 30 and 300.
    How could I avoid this problem.
    Thanks
    Mithani

    Try with this
    {Project_cost.EXPENSES_Code} IN {?Cost Code}
    and also
    Check the query formed after giving the input parameter. Goto Database --> Show Sql Query.

  • In VB Programming code -- How to access the formula for suppressing a field

    In VB Programming code -- How to access the formula for suppressing a field
    I am using Crystal Reports 2008 v1
    Using VB code, I am attempting to modify a Crystal Report before exporting it into a PDF format and then displaying it on the Web.
    My problem is that I am unable to access the formula used to dynamically suppress a field.
    The following code is working:
    mySections = rd.ReportDefinition.Sections
    For Each mySection As CrystalDecisions.CrystalReports.Engine.Section In mySections
       ' myFieldToChange is a String set to the text of the field I need to adjust the Suppression
       iloop = 0
       For Each RecObj As CrystalDecisions.CrystalReports.Engine.ReportObject In mySection.ReportObjects
               If mySection.ReportObjects.Item(iloop).Name.ToLower = myFieldToChange Then
                   myTextObject = CType(mySection.ReportObjects.Item(iloop), CrystalDecisions.CrystalReports.Engine.TextObject)
                   myTextObject.Text = "new field text goes here"
                   mySection.SectionFormat.EnableSuppress = True
                   '  Here is where I want to change the formula for the Suppression
                End if
                iloop = iloop + 1
        Next
    Next
    I can not find any reference to the actual suppression formula in the SDK help file.
    Note, the EnableSuppress can be set to True for False, but if there is a formula for dynamic suppression, the True or False value is overwritten.  The results of the formula determine the suppression.
    Is there a way to reference this formula.  I know that I can put on in using the Crystal Report Designer software, I need to modify this formula using VB code and the SDK.

    Hello, Mark;
    If you are using the ReportDocument object you do not have access to the Conditional Suppression formula. You can get around it by using a formula field in the report for the supression and then using the FormulaField code to change it at runtime.
    If you want to change the supression condition directly at runtime you need to use RAS and the ReportClientDocument.
    Elaine

  • Change output of abap logical database report

    Hello
    I have an abap report that is using a logical database to display some fields.My problem is that i have to change it and display more fields for output ,how can i control this?
    Thank you

    Hi,
    We need to add the required (additional) fields to the internal table structure, fill the fields with relevant data and display them on the screen. How is the output fields related to using a LDB..?
    Can you explain me a little bit more on the below stmt?
    " I have an abap report that is using a logical database to display some fields."
    I am not clear in understanding the relation b/w 'using LDB' and 'fields in output'. I dont think the fields displayed in the output screen will be restricted while using a LDB. Pls correct me if i understood wrong.
    Thanks,
    teja.

  • Display empty fields in between the output, urgent

    hi
    i need to display some empty fields in the output txt file, in between teh normal database fields i am displaying
    for eg if first field is f1 (1-10)
    second is f2 (11-35)
    third field is empty i need todisplay as (12-45)
    and again f4 as (13-60) so on
    such there are multiple fields in between dattabase field which just needs to be displayed as empty only and all fields should be seperated by space as showni above eg
    regards
    arora

    closed got solution

  • Populating Empty Fields for Existing Internal Table Using For All Entries

    I have an internal table called itab_extract that populates without any issues in SELECT A and SELECT B below. Trying to avoid looping, I am using select DB table 'for all entries' in itab_extract. I want the empty fields in itab_extract to populate from the values in the database. However, about 200,000 entries are being appended to the table, and, the values that existed for the already populated fields in itab_extract are gone, and the new fields are populated.
    I've played with the syntax and cannot seem to get it to work. My next option is a time consuming loop.
    How should the for all entries syntax look to accomplish filling the empty fields in the itab?   Thank-You
    *read ekko
        select ebeln lifnr aedat bsart from ekko                                                     *SELECT A*
               into  CORRESPONDING FIELDS OF TABLE me->itab_extract
               where aedat in r_aedat.
        select ebeln lifnr aedat BSART from ekko                                                  *SELECT B*
               appending CORRESPONDING FIELDS OF TABLE me->itab_extract
               where aedat in S_DATE2 AND
                     BSART IN S_BSART.
          select ebelp werks matnr                                                                           *SELECT C*
            into CORRESPONDING FIELDS OF TABLE itab_extract
            from ekpo
            FOR ALL ENTRIES IN itab_extract
            where ebeln = itab_extract-ebeln.

    Hi Tom,
               This SQL statement will be time consuming, Do not use a loop.
    There are two options.
    1. Select EKKO and EKPO details based on standard SAP view. (You can type EKKO in se11 view to find the correct view).
        also use one range table populate r_aedat and s_date2 in the same. So you where condition will have r_newrange and   
        s_bsart. Also do not use into corresponding fields, it is not a good idea. It will increase your performance. Maintain the proper 
        sequence (Based on database structure of EKKO and EKPO)
    2. If you are keen to use for all entries, then first select ekko then after your sy-subrc check get the data from EKPO.
    Should be like this.
    select ebeln bsart aedat lifnr from ekko into table gt_ekko where aedat in r_newrange and bsart in s_bsart.
    if sy-subrc eq 0.
    sort gt_ekko by ebeln ascending.
    select ebeln ebelp werks matnr  into table gt_ekpo for all entries in gt_ekko where ebeln eq gt_ekko-ebeln.
    endif.
    Hope it helps,
    Best Regards,
    Tapodipta Khan.

  • Suppress empty legend/group in pie graph

    Hi,
    I've created a pie graph using BAM datacontrol.
    In the pie graph, the legend area shows an extra empty group.
    For eg. in the pie graph if there are 3 slices : High,Medium & Low, then in the legend area 4 legends will be displayed; 3 legends corresponds to the 3 respective groups but an additional legend shows up.
    How can we hide/suppress the empty legend/group.
    In BAM dashboard we have an option 'Suppress Empty Group' but I didn't found any similar property in the pie dvt component.
    I'm using JDev 11.1.1.4.0

    the values from our column are from database , then how can we edit the data(values) in that columnErrr..Ohkk. There are 3 methods you can do this:
    1) Correct the spelling in underlying DB table by updating the column name (check all the references) - Most Recommended
    2) In case you don't want to go for 1st option, you can remove the default legend option in Pie Chart by setting it to none and ADD a new Legend View to this Chart View with correct names
    3) Change the fx of that column in criteria like
    case when col = 'abd' then 'abc' else col end
    All above will solve your problem....

  • Suppressing empty nodes in ALV tree grid

    Hi,  I'm writing an ALV tree report with financial data broken down by cost element hierarchy. We've determined that the maximum number of levels in our hierarchy is seven so have to build the program to accept seven node levels. Most times when it runs it will find fewer than seven nodes.  Is there an easy to to suppress empty columns in the report so that the end user does not not see a bunch of empty nodes in the report?

    Expand or Collapse Branches or Hide Areas
    You are able to expand and collapse the branches of the tree structure individually or together. Beyond that you are able to make a node or an item completely invisible.
    Methods
    Function                                       Class                                   Method
    Expand individual branch               CL_SALV_NODE                  EXPAND 
    Collapse individual branch                                                        COLLAPSE
    Expand all branches                    CL_SALV_NODES                EXPAND_ALL
    Collapse all branches                                                              COLLAPSE_ALL
    Change visibility of a node            CL_SALV_NODE                  SET_VISIBLE
    Check whether the node is visible                                             IS_VISIBLE
    Change visibility of an item             CL_SALV_ITEM                 SET_VISIBLE
    Check whether the item is visible                                             IS_VISIBLE

  • ALV report using the field catalog

    which is the quickest way to generate an ALV report using the field catalog merge.  without needing to build the field catalog manually .
    is it easier to create a structure and passe it in the field catalog merge .  if yes can i have an example plzzzz

    hI
    Supports the creation of the field catalog for the ALV function modules
    based either on a structure or table defined in the ABAP Data
    Dictionary, or a program-internal table.
    The program-internal table must either be in a TOP Include or its
    Include must be specified explicitly in the interface.
    The variant based on a program-internal table should only be used for
    rapid prototyping since the following restrictions apply:
    o Performance is affected since the code of the table definition must
    always be read and interpreted at runtime.
    o Dictionary references are only considered if the keywords LIKE or
    INCLUDE STRUCTURE (not TYPE) are used.
    If the field catalog contains more than 90 fields, the first 90 fields
    are output in the list by default whereas the remaining fields are only
    available in the field selection.
    If the field catalog is passed with values, they are merged with the
    'automatically' found information.
    Below is an example ABAP program which will populate a simple internal table(it_ekpo) with data and
    display it using the basic ALV grid functionality(including column total). The example details the main
    sections of coding required to implement the ALV grid functionality:
                             Data declaration
                             Data retrieval
                             Build fieldcatalog
                             Build layout setup
    *& Report  ZDEMO_ALVGRID                                               *
    *& Example of a simple ALV Grid Report                                 *
    *& The basic requirement for this demo is to display a number of       *
    *& fields from the EKKO table.                                         *
    REPORT  zdemo_alvgrid                 .
    TABLES:     ekko.
    type-pools: slis.                                 "ALV Declarations
    *Data Declaration
    TYPES: BEGIN OF t_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 t_ekko.
    DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
          wa_ekko TYPE t_ekko.
    *ALV data declarations
    data: fieldcatalog type slis_t_fieldcat_alv with header line,
          gd_tab_group type slis_t_sp_group_alv,
          gd_layout    type slis_layout_alv,
          gd_repid     like sy-repid.
    *Start-of-selection.
    START-OF-SELECTION.
    perform data_retrieval.
    perform build_fieldcatalog.
    perform build_layout.
    perform display_alv_report.
    *&      Form  BUILD_FIELDCATALOG
    *       Build Fieldcatalog for ALV Report
    form build_fieldcatalog.
    * There are a number of ways to create a fieldcat.
    * For the purpose of this example i will build the fieldcatalog manualy
    * by populating the internal table fields individually and then
    * appending the rows. This method can be the most time consuming but can
    * also allow you  more control of the final product.
    * Beware though, you need to ensure that all fields required are
    * populated. When using some of functionality available via ALV, such as
    * total. You may need to provide more information than if you were
    * simply displaying the result
    *               I.e. Field type may be required in-order for
    *                    the 'TOTAL' function to work.
      fieldcatalog-fieldname   = 'EBELN'.
      fieldcatalog-seltext_m   = 'Purchase Order'.
      fieldcatalog-col_pos     = 0.
      fieldcatalog-outputlen   = 10.
      fieldcatalog-emphasize   = 'X'.
      fieldcatalog-key         = 'X'.
    *  fieldcatalog-do_sum      = 'X'.
    *  fieldcatalog-no_zero     = 'X'.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'EBELP'.
      fieldcatalog-seltext_m   = 'PO Item'.
      fieldcatalog-col_pos     = 1.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'STATU'.
      fieldcatalog-seltext_m   = 'Status'.
      fieldcatalog-col_pos     = 2.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'AEDAT'.
      fieldcatalog-seltext_m   = 'Item change date'.
      fieldcatalog-col_pos     = 3.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'MATNR'.
      fieldcatalog-seltext_m   = 'Material Number'.
      fieldcatalog-col_pos     = 4.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'MENGE'.
      fieldcatalog-seltext_m   = 'PO quantity'.
      fieldcatalog-col_pos     = 5.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'MEINS'.
      fieldcatalog-seltext_m   = 'Order Unit'.
      fieldcatalog-col_pos     = 6.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'NETPR'.
      fieldcatalog-seltext_m   = 'Net Price'.
      fieldcatalog-col_pos     = 7.
      fieldcatalog-outputlen   = 15.
      fieldcatalog-do_sum      = 'X'.        "Display column total
      fieldcatalog-datatype     = 'CURR'.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'PEINH'.
      fieldcatalog-seltext_m   = 'Price Unit'.
      fieldcatalog-col_pos     = 8.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
    endform.                    " BUILD_FIELDCATALOG
    *&      Form  BUILD_LAYOUT
    *       Build layout for ALV grid report
    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  DISPLAY_ALV_REPORT
    *       Display report using ALV grid
    form display_alv_report.
      gd_repid = sy-repid.
      call function 'REUSE_ALV_GRID_DISPLAY'
           exporting
                i_callback_program      = gd_repid
    *            i_callback_top_of_page   = 'TOP-OF-PAGE'  "see FORM
    *            i_callback_user_command = 'USER_COMMAND'
    *            i_grid_title           = outtext
                is_layout               = gd_layout
                it_fieldcat             = fieldcatalog[]
    *            it_special_groups       = gd_tabgroup
    *            IT_EVENTS                = GT_XEVENTS
                i_save                  = 'X'
    *            is_variant              = z_template
           tables
                t_outtab                = it_ekko
           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.
    endform.                    " DISPLAY_ALV_REPORT
    *&      Form  DATA_RETRIEVAL
    *       Retrieve data form EKPO table and populate itab it_ekko
    form data_retrieval.
    select ebeln ebelp statu aedat matnr menge meins netpr peinh
    up to 10 rows
      from ekpo
      into table it_ekko.
    endform.                    " DATA_RETRIEVAL

  • Create a Procedural ALV Report with editable fields and save the changes

    Hi,
    I am new to ABAP. I have created a Procedural ALV Report with 3 fields. I want to make 2 fields editable. When executed, if the fields are modified, I want to save the changes. All this I want to do without using OO concepts. Please help . Also, I checked out the forum and also the examples
    BCALV_TEST_GRID_EDIT_01
    BCALV_TEST_GRID_EDIT_02
    BCALV_TEST_GRID_EDIT_04_FORMS
    BCALV_TEST_GRID_EDITABLE
    BCALV_EDIT_01
    BCALV_EDIT_02
    BCALV_EDIT_03
    BCALV_EDIT_04
    BCALV_EDIT_05
    BCALV_EDIT_06
    BCALV_EDIT_07
    BCALV_EDIT_08
    BCALV_FULLSCREEN_GRID_EDIT
    But all these are using OO Concepts.
    Please help.
    Regards,
    Smruthi

    TABLES:     ekko.
    TYPE-POOLS: slis.                                 "ALV Declarations
    *Data Declaration
    TYPES: BEGIN OF t_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,
      line_color(4) TYPE c,     "Used to store row color attributes
    END OF t_ekko.
    DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
          wa_ekko TYPE t_ekko.
    *ALV data declarations
    DATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE,
          gd_tab_group TYPE slis_t_sp_group_alv,
          gd_layout    TYPE slis_layout_alv,
          gd_repid     LIKE sy-repid.
    START-OF-SELECTION.
      PERFORM data_retrieval.
      PERFORM build_fieldcatalog.
      PERFORM build_layout.
      PERFORM display_alv_report.
    *&      Form  BUILD_FIELDCATALOG
          Build Fieldcatalog for ALV Report
    FORM build_fieldcatalog.
      fieldcatalog-fieldname   = 'EBELN'.
      fieldcatalog-seltext_m   = 'Purchase Order'.
      fieldcatalog-col_pos     = 0.
      fieldcatalog-outputlen   = 10.
      fieldcatalog-emphasize   = 'X'.
      fieldcatalog-key         = 'X'.
    fieldcatalog-do_sum      = 'X'.
    fieldcatalog-no_zero     = 'X'.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'EBELP'.
      fieldcatalog-seltext_m   = 'PO Item'.
      fieldcatalog-col_pos     = 1.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'STATU'.
      fieldcatalog-seltext_m   = 'Status'.
      fieldcatalog-col_pos     = 2.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'AEDAT'.
      fieldcatalog-seltext_m   = 'Item change date'.
      fieldcatalog-col_pos     = 3.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'MATNR'.
      fieldcatalog-seltext_m   = 'Material Number'.
      fieldcatalog-col_pos     = 4.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'MENGE'.
      fieldcatalog-seltext_m   = 'PO quantity'.
    fieldcatalog-edit             = 'X'
      fieldcatalog-col_pos     = 5.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'MEINS'.
      fieldcatalog-seltext_m   = 'Order Unit'.
      fieldcatalog-col_pos     = 6.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'NETPR'.
      fieldcatalog-seltext_m   = 'Net Price'.
      fieldcatalog-col_pos     = 7.
      fieldcatalog-outputlen   = 15.
      fieldcatalog-datatype     = 'CURR'.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'PEINH'.
      fieldcatalog-seltext_m   = 'Price Unit'.
      fieldcatalog-col_pos     = 8.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
    ENDFORM.                    " BUILD_FIELDCATALOG
    *&      Form  BUILD_LAYOUT
          Build layout for ALV grid report
    FORM build_layout.
      gd_layout-no_input          = 'X'.
      gd_layout-colwidth_optimize = 'X'.
      gd_layout-totals_text       = 'Totals'(201).
      gd_layout-info_fieldname =      'LINE_COLOR'.
    ENDFORM.                    " BUILD_LAYOUT
    *&      Form  DISPLAY_ALV_REPORT
          Display report using ALV grid
    FORM display_alv_report.
      gd_repid = sy-repid.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
           EXPORTING
                i_callback_program      = gd_repid
                i_callback_pf_status_set = 'STATUS'
                i_callback_top_of_page   = 'TOP-OF-PAGE'
               i_callback_user_command = 'USER_COMMAND'
               i_grid_title           = outtext
                is_layout               = gd_layout
                it_fieldcat             = fieldcatalog[]
               it_special_groups       = gd_tabgroup
               IT_EVENTS                = GT_XEVENTS
                i_save                  = 'X'
               is_variant              = z_template
           TABLES
                t_outtab                = it_ekko
           EXCEPTIONS
                program_error           = 1
                OTHERS                  = 2.
    ENDFORM.                    " DISPLAY_ALV_REPORT
    *&      Form  DATA_RETRIEVAL
          Retrieve data form EKPO table and populate itab it_ekko
    FORM data_retrieval.
      DATA: ld_color(1) TYPE c.
      SELECT ebeln ebelp statu aedat matnr menge meins netpr peinh
       UP TO 10 ROWS
        FROM ekpo
        INTO TABLE it_ekko.
      LOOP AT it_ekko INTO wa_ekko.
        ld_color = ld_color + 1.
        IF ld_color = 8.
          ld_color = 1.
        ENDIF.
        CONCATENATE 'C' ld_color '10' INTO wa_ekko-line_color.
        MODIFY it_ekko FROM wa_ekko.
      ENDLOOP.
    ENDFORM.                    " DATA_RETRIEVAL
          FORM top-of-page                                              *
    FORM top-of-page.
      WRITE:/ 'This is First Line of the Page'.
    ENDFORM.
          FORM status                                                   *
    FORM status USING rt_extab TYPE slis_t_extab.  .
      SET PF-STATUS 'ALV'.
    ENDFORM.
          FORM USER_COMMAND                                          *
    -->  RF_UCOMM                                                      *
    -->  RS                                                            *
    FORM user_command USING rf_ucomm LIKE sy-ucomm
                             rs TYPE slis_selfield.            
      DATA ref1 TYPE REF TO cl_gui_alv_grid.
      CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
        IMPORTING
          e_grid = ref1.
      CALL METHOD ref1->check_changed_data.
      CASE rf_ucomm.
    when 'SAVE'.
    get all the modified entries and store them in an internal table and udpate them in to the required transaction or your custom table.
    endcase.
    endform.
    ENDFORM.
    here u need to 2 performs for PF status and USER_COMMAND in the ALV parameters.
    create a custom PF status and create push buttons and assign your ok codes in your PF status.
    if the field has to be edited in the ALV then pass EDIT = 'X' for that field in the fieldcatlog preparation.
    Hope this will help you.
    Regards,
    phani.

Maybe you are looking for

  • Open Vi reference for Vis with same names

    Using VI server, is there any way to open reference to a VI on the hard disk even thought a VI with the same name (but different path) is already loaded in memory? I'm trying to see if it's possible without renaming and making sure every single VI I

  • How to install 11.5.9 on RedHat Linux 9, Redhat AS 2.1/3

    Hi all... I am doing a fresh installation of 11.5.9 on RedHat Linux 9, Redhat AS 3. Can u all help me in this. Plz provide me with the pre-requisite that needs to be done before installing 11.5.9. My system configuration is: Pentium IV 2.4 GHz proces

  • Does apple still sell the iSight?

    I have a G5 tower and don't have a camera built into my monitor and was looking to buy the iSight. But I can't find it on the applr store website. Do they still sell them? Thanks for any help.

  • Render glitch in FCP7 (and AE)

    Every so often I will get glitched frames in AE, and also in FCP7 . The glitch happens when a clip is rendered. Most often, a diagonal line appears in a frame. Sometimes there are other issues, such as artifacting. The glitches never appear for more

  • Interpretation of status lights colours when starting up a new time capsule

    Time capsule documentation on the booklet included in the packaging about the light status is relatively uncomplete and leading to confusion when interpreting the colours on the fisrt start up. The light indeed may not come green at all despite the f