Go to a specific line in a report.

Hi<
How can i, using the at-line-selection or the at-user-command, scroll to a specific line in a report?
I've using the scroll statement but nothing have done it.
imagine a 12 pages report, y want to go to the line 756 no matter in what page is it.

Hi,
These is and example that i made.
If you can make it work, ill be more than thank full.
Hi,
These is and example that i made.
If you can make it work, ill be more than thank full.
REPORT z_example .                                                     
DATA: i TYPE i,                                                        
      c TYPE i,                                                        
      s TYPE i.    
SELECTION-SCREEN BEGIN OF BLOCK one WITH FRAME TITLE text-001.         
PARAMETERS:     max_num TYPE i OBLIGATORY.                             
SELECTION-SCREEN END OF BLOCK one.                                     
START-OF-SELECTION.                                                    
  SET PF-STATUS 'MENU'.                                                
  i = 0.                                                               
  c = 0.                                                               
  DO max_num TIMES.                                                    
    WRITE: /10 i COLOR 5 HOTSPOT.                                      
    i = i + 1.                                                         
    c = c + 1.                                                         
    IF c = 31.                                                         
      NEW-PAGE.                                                        
      c = 0.                                                           
    ENDIF.                                                             
  ENDDO.        
*&      Top-of-page                                                    
TOP-OF-PAGE.                                                           
  PERFORM top_of_page.                                                 
*&      Top-of-page                                                    
TOP-OF-PAGE DURING LINE-SELECTION.                                     
  PERFORM top_of_page.                                                 
  PERFORM top_of_page.                                                 
*&     from Top-of-page                                                
FORM top_of_page.                                                      
  WRITE: 10 'my example' COLOR 1, 70 'Page:' COLOR 1, sy-pagno COLOR 2.
ENDFORM.                                                               
*&   Event AT USER-COMMAND.                                            
AT USER-COMMAND.                                                       
  CASE sy-ucomm.                                                       
    WHEN 'SELEC'.                                                      
      s = sy-lisel+9(12).                                              
      i = 0.                                                           
      c = 0.                                                           
      DO max_num TIMES.                                                
        IF i = s.                                                      
          WRITE: /10 i COLOR 6.                                        
          s = 0.                                                       
        ELSE.                                                          
          WRITE: /10 i COLOR 5 HOTSPOT.                                
        ENDIF.                                                         
        i = i + 1.                                                     
        c = c + 1.                                                     
        IF c = 31.                                                     
          NEW-PAGE.                                                    
          c = 0.                                                       
        ENDIF.                                                         
      ENDDO.                                                           
  ENDCASE.

Similar Messages

  • Coloring of a (specific) row in ALV report-How?

    Hi Experts,
    Am looking to assign a color for a (specific)row in ALV report.......so, pls. let me know How to get it done?
    thanq

    TABLES:LFA1.
    SELECT-OPTIONS:LIFNR FOR LFA1-LIFNR.
    DATA:BEGIN OF ITAB OCCURS 0,
    LIFNR LIKE LFA1-LIFNR,
    NAME1 LIKE LFA1-NAME1,
    LAND1 LIKE LFA1-LAND1,
    ORT01 LIKE LFA1-ORT01,
    REGIO LIKE LFA1-REGIO,
    SORTL LIKE LFA1-SORTL,
    CFIELD(4) TYPE C,
    END OF ITAB.
    data:col(4).
    data:num value '1'.
    SELECT * FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE ITAB WHERE LIFNR
    IN LIFNR.
    LOOP AT ITAB.
    concatenate 'C' num '10' into col .
    ITAB-CFIELD = col.
    num = num + 1.
    if num = '8'.
    num = '1'.
    endif.
    MODIFY ITAB.
    ENDLOOP.
    TYPE-POOLS:SLIS.
    DATA:FCAT TYPE SLIS_T_FIELDCAT_ALV.
    DATA:LAYOUT TYPE SLIS_LAYOUT_ALV.
    DATA:SORT TYPE slis_t_sortinfo_alv WITH HEADER LINE.
    DATA:EVE TYPE SLIS_T_EVENT WITH HEADER LINE.
    LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
    LAYOUT-WINDOW_TITLEBAR = 'VENDORS DETAILS SCREEN'.
    LAYOUT-EDIT = 'X'.
    LAYOUT-info_fieldname = 'CFIELD'.
    CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
    EXPORTING
    I_PROGRAM_NAME = SY-REPID
    I_INTERNAL_TABNAME = 'ITAB'
    I_INCLNAME = SY-REPID
    CHANGING
    CT_FIELDCAT = FCAT.
    CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    EXPORTING
    I_CALLBACK_PROGRAM = SY-REPID
    IS_LAYOUT = LAYOUT
    IT_FIELDCAT = FCAT
    TABLES
    T_OUTTAB = ITAB.
    this is for coloring cols
    REPORT ZBHCOLOR_COLS.
    TABLES:LFA1.
    SELECT-OPTIONS:C_LIFNR FOR LFA1-LIFNR. " FOR GRID ONLY
    PARAMETERS:LIST RADIOBUTTON GROUP ALV DEFAULT 'X',
    GRID RADIOBUTTON GROUP ALV.
    DATA:BEGIN OF ITAB OCCURS 0,
    LIFNR LIKE LFA1-LIFNR,
    NAME1 LIKE LFA1-NAME1,
    LAND1 LIKE LFA1-LAND1,
    ORT01 LIKE LFA1-ORT01,
    SORTL LIKE LFA1-SORTL,
    REGIO LIKE LFA1-REGIO,
    COL TYPE LVC_T_SCOL,
    END OF ITAB.
    DATA:COLR TYPE LVC_S_SCOL.
    SELECT * FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE ITAB.
    LOOP AT ITAB.
    IF ITAB-LIFNR IN C_LIFNR.
    COLR-FNAME = 'NAME1'.
    COLR-COLOR-COL = '5'.
    COLR-COLOR-INT = '1'.
    COLR-COLOR-INV = '0'.
    COLR-NOKEYCOL = 'X'.
    APPEND COLR TO ITAB-COL.
    COLR-FNAME = 'LIFNR'.
    APPEND COLR TO ITAB-COL.
    MODIFY ITAB.
    ENDIF.
    ENDLOOP.
    TYPE-POOLS:SLIS.
    DATA:FCAT TYPE SLIS_T_FIELDCAT_ALV.
    DATA:LAYOUT TYPE SLIS_LAYOUT_ALV.
    LAYOUT-ZEBRA = 'X'.
    layout-coltab_fieldname = 'COL'.
    CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
    EXPORTING
    I_PROGRAM_NAME = SY-REPID
    I_INTERNAL_TABNAME = 'ITAB'
    I_INCLNAME = SY-REPID
    CHANGING
    CT_FIELDCAT = FCAT.
    IF LIST = 'X'.
    CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    EXPORTING
    I_CALLBACK_PROGRAM = SY-REPID
    IS_LAYOUT = LAYOUT
    IT_FIELDCAT = FCAT
    TABLES
    T_OUTTAB = ITAB.
    ELSEIF GRID = 'X'.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    I_CALLBACK_PROGRAM = SY-REPID
    IS_LAYOUT = LAYOUT
    IT_FIELDCAT = FCAT
    TABLES
    T_OUTTAB = ITAB.
    ENDIF.
    Reward points if useful.

  • Editable ALV - how to throw an error message for a specific line & field

    Hi all,
    I've implemented an editable ALV and also the ON_DATA_CHECK event to check the values, entered in the ALV. So this works fine and I can check the values.
    But now, I want to throw an error message corresponding to the field in the ALV, where the error occured.
    How can I throw this error message corresponding to a specific line/field in the ALV?
    I was using REPORT_ATTRIBUTE_ERROR_MESSAGE and REPORT_ELEMENT_ERROR_MESSAGE but without success.
    I'm also using a loop over the "CHANGES" in the ALV and within this loop, I use
    elem_alv = node_alv->get_element( index = <change>-element_index ) 
    to get the element for the message.
    CALL METHOD lo_message_manager->REPORT_ELEMENT_ERROR_MESSAGE
      EXPORTING
        MESSAGE_TEXT              = 'my message'
        ELEMENT                   = elem_alv
    *    ATTRIBUTES                =
    *    PARAMS                    =
    *    MSG_USER_DATA             =
    *    IS_PERMANENT              = ABAP_FALSE
    *    SCOPE_PERMANENT_MSG       = CO_MSG_SCOPE_CTXT_ELEMENT
    *    MSG_INDEX                 =
    *    CANCEL_NAVIGATION         =
    *    IS_VALIDATION_INDEPENDENT = ABAP_FALSE.
    2.) is it right, that for an editable ALV, I can't use the WDDOBEFOREACTION to do the checks?
    If I try to use this, I can't get the values of my ALV table to check it.
    Thanks,
    Andreas

    Hi Andreas,
    I have tried to replicate your problem and I am getting the desired output. I have a row by name TEMP_NEW in my ALV and I want to throw an error message whenever the user enters a value of 4 for that particular field. Please find my coding as below. The important thing is where we perform the actual comparison between the r_value and 4. r_value is defined in SALV_WD_S_TABLE_MOD_CELL as reference to type DATA. So suppose the user enters a value of say 3 in the TEMP_NEW field of the ALV then r_value would contain 3 but if you observe its type in debugging mode it would be as TYPE REF TO I and not TYPE I. So you cannot directly say something like:
    "if ls_modified_cells-r_value = 3" as this would lead to a syntax error. Define a field-symbol say <temp> and then use it to get the actual value into it by saying like:
    ASSIGN ls_modified_cells-r_value->* TO <temp>.
    Then you can use this <temp> for comparison in your IF statement like:
    IF  <temp> = 3.
    Find the entire coding as below:
    METHOD check_data.
      DATA: lr_node TYPE REF TO if_wd_context_node,
            lr_element TYPE REF TO if_wd_context_element,
            ls_modified_cells TYPE salv_wd_s_table_mod_cell.
      FIELD-SYMBOLS <temp> TYPE data.
    " get message manager
      DATA lo_api_controller     TYPE REF TO if_wd_controller.
      DATA lo_message_manager    TYPE REF TO if_wd_message_manager.
      lo_api_controller ?= wd_this->wd_get_api( ).
      CALL METHOD lo_api_controller->get_message_manager
        RECEIVING
          message_manager = lo_message_manager.
      lr_node = wd_context->get_child_node( name = 'NODE' ).
      LOOP AT r_param->t_modified_cells INTO ls_modified_cells.
        lr_element = lr_node->get_element( index = ls_modified_cells-index ).
        IF ls_modified_cells-attribute = 'TEMP_NEW'.
    " Get the value extracted into the field symbol from the reference variable
          ASSIGN ls_modified_cells-r_value->* TO <temp>.
    " Use the value present in this field-symbol for your comparison
          IF  <temp> = 4.
    " report message
            CALL METHOD lo_message_manager->report_attribute_error_message
              EXPORTING
                message_text   = 'Sample message text'
                element        = lr_element
                attribute_name = ls_modified_cells-attribute.
          ENDIF.
        ENDIF.
      ENDLOOP.
    ENDMETHOD.
    Hope this helps resolve your problem.
    Regards,
    Uday

  • Having trouble reading specific lines from a text file and displaying them in a listbox

    I am trying to read specific lines from all of the text files in a folder that are reports. When I run the application I get the information from the first text file and then it returns this error: "A first chance exception of type 'System.ArgumentOutOfRangeException'
    occurred in mscorlib.dll"
    Below is the code from that form. 
    Option Strict On
    Option Infer Off
    Option Explicit On
    Public Class frmInventoryReport
    Public Function ReadLine(ByVal lineNumber As Integer, ByVal lines As List(Of String)) As String
    Dim intTemp As Integer
    intTemp = lineNumber
    Return lines(lineNumber - 1)
    lineNumber = intTemp
    End Function
    Public Function FileMatches(ByVal folderPath As String, ByVal filePattern As String, ByVal phrase As String) As Boolean
    For Each fileName As String In IO.Directory.GetFiles(folderPath, filePattern)
    If fileName.ToLower().Contains(phrase.ToLower()) Then
    Return True
    End If
    Next
    Return False
    End Function
    Private Sub frmInventoryReport_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim intcase As Integer = 1
    Dim strTemp, strlist, strFile As String
    Dim blnCheck As Boolean = True
    strFile = "Report Q" & intcase.ToString & ".txt"
    Do While blnCheck = True
    strFile = "Report Q" & intcase.ToString & ".txt"
    Dim objReader As New System.IO.StreamReader("E:\Furry Friends Animal Shelter Solution\Furry Friends Animal Shelter\" & strFile)
    Dim allLines As List(Of String) = New List(Of String)
    Do While objReader.Peek <> -1
    allLines.Add(objReader.ReadLine())
    Loop
    objReader.Close()
    strlist = ReadLine(1, allLines) & "" & ReadLine(23, allLines)
    lstInventory.Items.Add(strlist)
    intcase += 1
    strTemp = intcase.ToString
    strFile = "Report Q" & intcase.ToString & ".txt"
    blnCheck = FileMatches("E:\Furry Friends Animal Shelter Solution\Furry Friends Animal Shelter\", "*.txt", intcase.ToString)
    Loop
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim intcase As Integer = 1
    Dim strTemp, strlist, strFile As String
    Dim blnCheck As Boolean = True
    strFile = "Report Q" & intcase.ToString & ".txt"
    Do While blnCheck = True
    strFile = "Report Q" & intcase.ToString & ".txt"
    Dim objReader As New System.IO.StreamReader("E:\Furry Friends Animal Shelter Solution\Furry Friends Animal Shelter\" & strFile)
    Dim allLines As List(Of String) = New List(Of String)
    Do While objReader.Peek <> -1
    allLines.Add(objReader.ReadLine())
    Loop
    objReader.Close()
    strlist = ReadLine(1, allLines) & "" & ReadLine(23, allLines)
    lstInventory.Items.Add(strlist)
    intcase += 1
    strTemp = intcase.ToString
    strFile = "Report Q" & intcase.ToString & ".txt"
    blnCheck = FileMatches("E:\Furry Friends Animal Shelter Solution\Furry Friends Animal Shelter\", "*.txt", intcase.ToString)
    Loop
    End Sub
    End Class
    Sorry I'm just beginning coding and I'm still a noob. Any help is appreciated. Thank you!

    Ok, so if I'm following this correctly you should be able to just loop through all of the files in that folder whose file name matches the pattern and then read the first 22 lines, recording only the first and the last.
    Exactly how you store the animal data probably depends on how you are going to display it and what else you are going to do with it.  Is there anything other than name and cage number that should be associated with each animal?
    You might want to make a dataset with a datatable to describe the animal, or you might write a class, or you might just use something generic like a Tuple.  Here's a simple class example:
    Public Class Animal
    Public Property Name As String
    Public Property Cage As String
    Public Overrides Function ToString() As String
    Return String.Format("{0} - {1}", Name, Cage)
    End Function
    End Class
    With that you can use a routine like the following to loop through all of the files and read each one:
    Dim animals As New List(Of Animal)
    Dim folderPath As String = "E:\Furry Friends Animal Shelter Solution\Furry Friends Animal Shelter\"
    For Each filePath As String In System.IO.Directory.GetFiles(folderPath, "Report Q?.txt")
    Using reader As New System.IO.StreamReader(filePath)
    Dim lineIndex As Integer = 0
    Dim currentAnimal As New Animal
    While Not reader.EndOfStream
    Dim line As String = reader.ReadLine
    If lineIndex = 0 Then
    currentAnimal.Name = line
    ElseIf lineIndex = 22 Then
    currentAnimal.Cage = line
    Exit While
    End If
    lineIndex += 1
    End While
    animals.Add(currentAnimal)
    End Using
    Next
    'do something to display the animals list
    Then you might bind the animals list to a ListBox, or loop through the list and populate a ListView.  If you decided to fill a datatable instead of making Animal instances, then you might bind the resulting table to a DataGridView.
    There are lots of options depending on what you want and what all you need to do.
    Reed Kimble - "When you do things right, people won't be sure you've done anything at all"

  • ALV - Desactivate Check box on a specific line

    Hello all,
    I need your help for desactivate my checkbox on ALV GRID on specific line.
    See on the screen shot on the link :
    http://www.casimages.com/img.php?i=101006040322252671.jpg
    See the implementation of my ALV and my Catalog :
    g_container type scrfname value 'BCALV_GRID_DEMO_0100_CONT1',
          g_grid  type ref to cl_gui_alv_grid,
          g_custom_container type ref to cl_gui_custom_container,
          g_event_receiver type ref to lcl_event_receiver,
          gt_fieldcat type lvc_t_fcat,
          gs_layout type lvc_s_layo.
    types: begin of gs_outtab.
    types: checkbox type c.                "field for checkbox
    * §B1.Extend your output table by a field to dis- or enable
    *     cells for input.
    types: celltab type lvc_t_styl.        "field to switch editability
            include structure zpvprevmaj.
    types: end of gs_outtab.
    form build_fieldcat changing pt_fieldcat type lvc_t_fcat.
      call function 'LVC_FIELDCATALOG_MERGE'
        EXPORTING
          i_structure_name = 'ZPVPREVMAJ'
        CHANGING
          ct_fieldcat      = pt_fieldcat.
    *§A2.Add an entry for the checkbox in the fieldcatalog
      clear ls_fcat.
      ls_fcat-fieldname = 'CHECKBOX'.
    * Essential: declare field as checkbox and
    *            mark it as editable field:
      ls_fcat-checkbox = 'X'.
      ls_fcat-edit = 'X'.
    * do not forget to provide texts for this extra field
      ls_fcat-coltext = text-f01.
      ls_fcat-tooltip = text-f02.
      ls_fcat-seltext = text-f03.
    * optional: set column width
      ls_fcat-outputlen = 2.
      append ls_fcat to pt_fieldcat.
    endform.                    "build_field
    gs_layout-stylefname = 'CELLTAB'.
      gs_layout-info_fname = 'LINE_COLOR'.
      perform color_line.
      call method g_grid->set_table_for_first_display
        EXPORTING
          is_layout            = gs_layout
          it_toolbar_excluding = lt_exclude
        CHANGING
          it_fieldcatalog      = gt_fieldcat
          it_outtab            = gt_outtab[].
          "it_sort              = it_sortcat.
    Thank you very much for your answers
    Edited by: Emilien P. on Oct 6, 2010 4:10 PM
    Edited by: Emilien P. on Oct 6, 2010 4:13 PM

    I think is no possible with the style i try a little tutorial. I have test the style for normal cell  and in comment i test with the check box and the checkbox always display !! :
    You can easly test this program in SAP and if anyone arrive to no display the checkbox in line 6, he will be my god Thank you :
    report ZCO_AFFACT_TEST.
    TYPE-POOLS: SLIS.
    *- Fieldcatalog
    DATA: IT_FIELDCAT TYPE LVC_T_FCAT.
    DATA: X_FIELDCAT TYPE LVC_S_FCAT.
    DATA: X_LAYOUT TYPE LVC_S_LAYO.
    " FOR DISABLE
    DATA: LS_EDIT TYPE LVC_S_STYL,
    LT_EDIT TYPE LVC_T_STYL.
    " FOR DISABLE
    DATA: BEGIN OF IT_VBAP OCCURS 0,
    VBELN LIKE VBAP-VBELN,
    POSNR LIKE VBAP-POSNR,
    STYLE TYPE LVC_T_STYL, "FOR DISABLE
    END OF IT_VBAP.
    DATA: LS_OUTTAB LIKE LINE OF IT_VBAP.
    SELECT VBELN
    POSNR
    UP TO 10 ROWS
    INTO CORRESPONDING FIELDS OF TABLE IT_VBAP
    FROM VBAP.
    DATA:L_POS TYPE I VALUE 1.
    CLEAR: L_POS.
    L_POS = L_POS + 1.
    X_FIELDCAT-SELTEXT = 'VBELN'.
    X_FIELDCAT-FIELDNAME = 'VBELN'.
    X_FIELDCAT-TABNAME = 'ITAB'.
    X_FIELDCAT-COL_POS = L_POS.
    X_FIELDCAT-EDIT = 'X'.
    "Delete commentary for test with check box.
    "X_FIELDCAT-CHECKBOX = 'X'.
    X_FIELDCAT-OUTPUTLEN = '10'.
    x_fieldcat-ref_field = 'VBELN'.
    x_fieldcat-ref_table = 'VBAK'.
    APPEND X_FIELDCAT TO IT_FIELDCAT.
    CLEAR X_FIELDCAT.
    L_POS = L_POS + 1.
    X_FIELDCAT-SELTEXT = 'POSNR'.
    X_FIELDCAT-FIELDNAME = 'POSNR'.
    X_FIELDCAT-TABNAME = 'ITAB'.
    X_FIELDCAT-COL_POS = L_POS.
    X_FIELDCAT-EDIT = 'X'.
    X_FIELDCAT-OUTPUTLEN = '5'.
    APPEND X_FIELDCAT TO IT_FIELDCAT.
    CLEAR X_FIELDCAT.
    L_POS = L_POS + 1.
    "FOR DISABLE HERE 6ROW IS DISABLED
    SY-TABIX = 6.
    LS_EDIT-FIELDNAME = 'VBELN'.
    LS_EDIT-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.
    LS_EDIT-STYLE2 = SPACE.
    LS_EDIT-STYLE3 = SPACE.
    LS_EDIT-STYLE4 = SPACE.
    LS_EDIT-MAXLEN = 10.
    INSERT LS_EDIT INTO TABLE LT_EDIT.
    LS_EDIT-FIELDNAME = 'POSNR'.
    LS_EDIT-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.
    LS_EDIT-STYLE2 = SPACE.
    LS_EDIT-STYLE3 = SPACE.
    LS_EDIT-STYLE4 = SPACE.
    LS_EDIT-MAXLEN = 6.
    INSERT LS_EDIT INTO TABLE LT_EDIT.
    INSERT LINES OF LT_EDIT INTO TABLE LS_OUTTAB-STYLE.
    MODIFY IT_VBAP INDEX SY-TABIX FROM LS_OUTTAB TRANSPORTING
    STYLE .
    X_LAYOUT-STYLEFNAME = 'STYLE'.
    " UP TO HERE
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
      EXPORTING
        I_CALLBACK_PROGRAM = SY-REPID
        IS_LAYOUT_LVC      = X_LAYOUT
        IT_FIELDCAT_LVC    = IT_FIELDCAT
      TABLES
        T_OUTTAB           = IT_VBAP[]
      EXCEPTIONS
        PROGRAM_ERROR      = 1
        OTHERS             = 2.
    IF SY-SUBRC NE 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
      WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    Edited by: Emilien P. on Oct 7, 2010 3:09 PM

  • I want to display specific line to be color in alvlist how

    i want to display specific line to be color in alvlist
    i write the code as follows here document type is initial. then that line is to be
    appeared as color line but problem is initially it is appeared correct later i moved to next previous screens  error lines are to be colored where i have to clear 
      loop at it_doclist where blart eq space.
          gt_layout-info_fieldname  = 'COLOR_LINE'.
          it_doclist-color_line = 'C600'.
          modify it_doclist .
          clear:it_doclist.
      endloop.
    please help me exactly
    Thanks
    Ramana reddy

    u r requiremnt is not clear...but any how check this code....
    it has a form for assigning colors....
    rewardif useful
    REPORT zppb001_prd_posting_upload
           NO STANDARD PAGE HEADING LINE-SIZE 255
           MESSAGE-ID zpp.
    INCLUDE bdcrecx1.
    TYPE-POOLS  :slis.
    DATA:   wk_success(5) TYPE c,     "To store the successfull Hits
            wk_failure(5) TYPE c,     "To store the failed Hits
            l_mstring(600),           "To store Message texts
            t_date TYPE zservice_date,"To store Uploaded Date
            wk_lines(5) TYPE c,       "To store No of Records
            lines(5) TYPE c,          "To store No of Records
            wk_len(150) TYPE c,       "To store File path
            wk_alp TYPE i,            "To store path length
            lent TYPE i,              "To store path length
            b(4).                     "To store File extension
    DATA:   alvfld TYPE slis_t_fieldcat_alv WITH HEADER LINE,
            v_events TYPE slis_t_event WITH HEADER LINE,
            wk_events LIKE LINE OF v_events,
            it_list_comments TYPE slis_t_listheader,
            wk_list_comments LIKE LINE OF it_list_comments,
            wk_layout TYPE slis_layout_alv.
    CONSTANTS: c_formname_top_of_page TYPE slis_formname
                                   VALUE 'F_TOP_OF_PAGE'.
    --TO STORE FINAL DATA TO BE POSTED--
    Generated data section with specific formatting - DO NOT CHANGE  ***
    DATA: BEGIN OF record OCCURS 0,
            budat_002(010),
            bktxt_004(025),
            matnr_005(018),
            werks_006(004),
            alort_007(004),
            erfmg_008(017),
          END OF record.
    End generated data section ***
    DATA: BEGIN OF messages OCCURS 0,       "TO STORE FINAL STATUS DISPLAY
           budat_002(010),
           bktxt_004(025),
           matnr_005(018),
           maktx TYPE makt-maktx,
           werks_006(004),
           alort_007(004),
           erfmg_008(017),
           msg_e(400),
           msg_s(600),
           msgtyp TYPE c,
           line_color(4),
          END OF messages.
    DATA: BEGIN OF st_record1 ,
           matnr_005(018),
           werks_006(004),
           budat_002(010),
           bktxt_004(025),
           erfmg_007(017),
           erfmg_008(017),
           alort_007(004),
          END OF st_record1.
    DEFINE alv_macro.
      move : &1 to alvfld-col_pos,
             &2 to alvfld-fieldname,
             &3 to alvfld-seltext_m.
      if &2 = 'MATNR_005' or &2 = 'MAKTX'.
        alvfld-fix_column = 'X'.
      endif.
      append alvfld.clear alvfld.
    END-OF-DEFINITION.
    DATA : record1 LIKE TABLE OF st_record1 WITH HEADER LINE,
           it_excel LIKE TABLE OF alsmex_tabline WITH HEADER LINE,
           messtab1 LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE,
           it_acc LIKE TABLE OF record WITH HEADER LINE,
           it_rej LIKE TABLE OF record WITH HEADER LINE.
    SELECTION-SCREEN SKIP 1.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-002.
    PARAMETERS: p_file TYPE localfile OBLIGATORY .
    SELECTION-SCREEN END OF BLOCK b1.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
        EXPORTING
          static    = 'X'
        CHANGING
          file_name = p_file.
    AT SELECTION-SCREEN ON p_file.
      wk_len = p_file.
      CONDENSE wk_len NO-GAPS.
      lent = STRLEN( wk_len ).
      wk_alp = lent - 4.
      b = wk_len+wk_alp(lent).
      IF ( b NE '.txt' ) AND ( b NE '.xls' ).
        MESSAGE e939.
        CLEAR p_file.
        STOP.
      ENDIF.
    START-OF-SELECTION.
      PERFORM upload_fun.
      PERFORM open_group.
      PERFORM fill_bdc_table.
      PERFORM close_group.
      PERFORM assign_colors.
      PERFORM f_event_build.
      SORT messages BY matnr_005 ASCENDING.
      PERFORM assign_columns.
      PERFORM count.
      IF ctu = 'X'.
        PERFORM alv.
      ENDIF.
      FREE:messages,messtab1,record1.
    END-OF-SELECTION.
    --FORM UPLOAD_FUN--
    FORM upload_fun.
    REFRESH: record1, it_acc, it_rej, record, messages, messtab1, it_excel.
      PERFORM fetch_from_flat_file.
      CLEAR it_excel.
      DESCRIBE TABLE it_excel.
      IF sy-tfill = 0.
        MESSAGE i937. STOP.
      ENDIF.
      LOOP AT it_excel.
        CASE it_excel-col.
          WHEN '0001'. MOVE: it_excel-value TO record1-matnr_005.
          WHEN '0002'. MOVE: it_excel-value TO record1-werks_006.
          WHEN '0003'. MOVE: it_excel-value TO record1-budat_002.
          WHEN '0004'. MOVE: it_excel-value TO record1-bktxt_004.
          WHEN '0005'. MOVE: it_excel-value TO record1-erfmg_007.
          WHEN '0006'. MOVE: it_excel-value TO record1-erfmg_008.
          WHEN '0007'. MOVE: it_excel-value TO record1-alort_007.
        ENDCASE.
        AT END OF row.
          APPEND record1. CLEAR record1.
        ENDAT.
      ENDLOOP.
      DELETE record1 WHERE matnr_005 EQ ' '.
    --DO NOT UPLOAD WHERE PRD QTY = 0--
      DELETE record1 WHERE ( erfmg_007 = 0 OR erfmg_007 = ' ' )
                      AND  ( erfmg_008 = 0 OR erfmg_008 = ' ' ).
      DESCRIBE TABLE record1[].
      IF sy-tfill > 0.
    --MOVE ACCEPTED QTY AND FETCH THE RESPECTIVE STGLOC-**
        LOOP AT record1 WHERE erfmg_007 NE 0 AND erfmg_007 NE ' '.
          MOVE:    record1-budat_002 TO it_acc-budat_002,
                   record1-bktxt_004 TO it_acc-bktxt_004,
                   record1-matnr_005 TO it_acc-matnr_005,
                   record1-werks_006 TO it_acc-werks_006,
                   record1-erfmg_007 TO it_acc-erfmg_008.
          APPEND it_acc. CLEAR: it_acc,record1.
        ENDLOOP.
    --MOVE ELPRO FOR THE ACCEPTED ENTRIES--
        LOOP AT it_acc.
          SELECT SINGLE elpro INTO it_acc-alort_007
                                            FROM mkal CLIENT SPECIFIED
                                            WHERE mandt = sy-mandt
                                            AND matnr = it_acc-matnr_005
                                            AND werks = it_acc-werks_006.
          MODIFY it_acc TRANSPORTING alort_007. CLEAR: it_acc.
        ENDLOOP.
    --MOVE PRD QTY FOR REJECTED QTY--
        LOOP AT record1 WHERE erfmg_008 NE 0 AND erfmg_008 NE ' '.
          MOVE: record1-budat_002 TO it_rej-budat_002,
                record1-bktxt_004 TO it_rej-bktxt_004,
                record1-matnr_005 TO it_rej-matnr_005,
                record1-werks_006 TO it_rej-werks_006,
                record1-erfmg_008 TO it_rej-erfmg_008,
                record1-alort_007 TO it_rej-alort_007.
          APPEND it_rej. CLEAR: it_rej, record1.
        ENDLOOP.
    --MOVE ACCEPTED AND REJECTED READINGS TO FINAL TABLE
        APPEND LINES OF it_acc TO record. APPEND LINES OF it_rej TO record.
        FREE : it_rej, it_acc, record1.
      ELSE.
        MESSAGE i937.
        STOP.
      ENDIF.
    ENDFORM.                    " UPLOAD_FUN
    --FORM fill_bdc_table--
    FORM fill_bdc_table.
      IF NOT record[] IS INITIAL.
        LOOP AT record.
          PERFORM bdc_dynpro USING 'SAPLBARM' '0800'.
          PERFORM bdc_field  USING 'BDC_CURSOR' 'RM61B-BKTXT'.
          PERFORM bdc_field  USING 'BDC_OKCODE' '=ISTDA'.
          PERFORM bdc_field  USING 'RM61B-BUDAT' record-budat_002.
          PERFORM bdc_field  USING 'RM61B-BKTXT' record-bktxt_004.
          PERFORM bdc_field  USING 'RM61B-MATNR' record-matnr_005.
          PERFORM bdc_field  USING 'RM61B-WERKS' record-werks_006.
          PERFORM bdc_field  USING 'RM61B-ALORT' record-alort_007.
          PERFORM bdc_field  USING 'RM61B-ERFMG' record-erfmg_008.
          PERFORM bdc_dynpro USING 'SAPLCOWB' '0130'.
          PERFORM bdc_field  USING 'BDC_OKCODE' '=WEIT'.
          PERFORM bdc_field  USING 'BDC_CURSOR' 'G_COWB_HEADER-MNGTXT'.
          PERFORM bdc_transaction USING 'MFBF'.
          CLEAR messtab.
          messtab1[] = messtab[].
          LOOP AT messtab1 WHERE msgtyp = 'S' OR msgtyp = 'E'.
            SELECT SINGLE * FROM t100 WHERE sprsl = messtab1-msgspra
                                      AND   arbgb = messtab1-msgid
                                      AND   msgnr = messtab1-msgnr.
            IF sy-subrc = 0.
              l_mstring = t100-text.
              PERFORM store_messages.
              CLEAR l_mstring.
            ENDIF.
          ENDLOOP.
          MOVE-CORRESPONDING record TO messages.
         SELECT SINGLE maktx INTO messages-maktx FROM makt CLIENT SPECIFIED
                                                 WHERE mandt = sy-mandt
                                              AND matnr = messages-matnr_005
                                              AND spras = 'EN'.
          APPEND messages.
          CLEAR: messages, messtab1. REFRESH messtab1.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    "fill_bdc_table
    --FORM assign_columns--
    FORM assign_columns .
      REFRESH alvfld.
      alv_macro '1' 'MATNR_005' 'PART NO'.
      alv_macro '2' 'MAKTX' 'DESCRIPTION'.
      alv_macro '3' 'WERKS_006' 'PLANT'.
      alv_macro '4' 'BUDAT_002' 'POSTING DATE'.
      alv_macro '5' 'BKTXT_004' 'SHIFT'.
      alv_macro '6' 'ERFMG_008' 'QUANTITY'.
      alv_macro '7' 'ALORT_007' 'STGLOC'.
      alv_macro '8' 'MSG_E' 'ERRORS DUE TO'.
      alv_macro '9' 'MSG_S' 'STATUS'.
    ENDFORM.                    " assign_columns
    --FORM f_event_build--
    FORM f_event_build .
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          i_list_type = 0
        IMPORTING
          et_events   = v_events[].
      READ TABLE v_events WITH KEY name = slis_ev_top_of_page
                                               INTO wk_events.
      wk_layout-info_fieldname = 'LINE_COLOR'.
      wk_layout-colwidth_optimize    = 'X'.
      IF sy-subrc = 0.
        MOVE c_formname_top_of_page TO wk_events-form.
        MODIFY v_events FROM wk_events INDEX sy-tabix.
      ENDIF.
    ENDFORM.                    " f_event_build
    --FORM f_top_of_page--
    FORM f_top_of_page.
      WRITE sy-datum TO t_date.
      CLEAR: it_list_comments[].
      wk_list_comments-typ  = 'H'. "H=Header, S=Selection, A=Action
      wk_list_comments-key  = ''.
    CONCATENATE 'UPLOADED STATUS FOR PRODUCTION POSTING ON - ' t_date INTO
                                 wk_list_comments-info SEPARATED BY space.
      APPEND wk_list_comments TO it_list_comments.
      CLEAR wk_list_comments.
      DESCRIBE TABLE messages LINES wk_lines.
      lines = wk_lines.
      wk_list_comments-typ  = 'S'. "H=Header, S=Selection, A=Action
      wk_list_comments-key  = ''.
      CONCATENATE 'Total No of Hits:' lines INTO wk_list_comments-info
                                                      SEPARATED BY space.
      APPEND wk_list_comments TO it_list_comments.
      CLEAR wk_list_comments.
      wk_list_comments-typ  = 'S'. "H=Header, S=Selection, A=Action
      wk_list_comments-key  = ''.
      CONCATENATE 'Successfull Hits:' wk_success INTO
                wk_list_comments-info SEPARATED BY space.
      APPEND wk_list_comments TO it_list_comments.
      CLEAR wk_list_comments.
      wk_list_comments-typ  = 'S'. "H=Header, S=Selection, A=Action
      wk_list_comments-key  = ''.
      CONCATENATE '    Failed Hits:' '   ' wk_failure INTO
                              wk_list_comments-info
                              SEPARATED BY space.
      APPEND wk_list_comments TO it_list_comments.
      CLEAR wk_list_comments.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          i_logo             = 'ENJOYSAP_LOGO'
          it_list_commentary = it_list_comments.
    ENDFORM.                    "F_TOP_OF_PAGE
    --FORM assign_colors--
    FORM assign_colors .
      LOOP AT messages.
        CASE messages-msgtyp.
          WHEN 'E'.
            messages-line_color = 'C601'.
          WHEN 'S'.
            messages-line_color = 'C501'.
        ENDCASE.
        MODIFY messages TRANSPORTING line_color.
      ENDLOOP.
    ENDFORM.                    " assign_colors
    --FORM COUNT--
    FORM count .
      CLEAR: wk_failure, wk_success.
      LOOP AT messages.
        CASE messages-msgtyp.
          WHEN 'E'.
            ADD 1 TO wk_failure.
          WHEN 'S'.
            ADD 1 TO wk_success.
        ENDCASE.
      ENDLOOP.
    ENDFORM.                    " COUNT
    --FORM ALV--
    FORM alv .
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
        EXPORTING
          i_callback_program = sy-repid
          is_layout          = wk_layout
          it_fieldcat        = alvfld[]
          it_events          = v_events[]
        TABLES
          t_outtab           = messages
        EXCEPTIONS
          program_error      = 1
          OTHERS             = 2.
    ENDFORM.                    " ALV
    --FETCH_FROM_FLAT_FILE--
    FORM fetch_from_flat_file .
      CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
        EXPORTING
          filename                = p_file
          i_begin_col             = 1 "From 1st Column
          i_begin_row             = 2 "From 2nd row
          i_end_col               = 7 "Till 7th Column
          i_end_row               = 65000 "Till Row
        TABLES
          intern                  = it_excel
        EXCEPTIONS
          inconsistent_parameters = 1
          upload_ole              = 2
          OTHERS                  = 3.
    ENDFORM.                    " FETCH_FROM_FLAT_FILE
    --FORM STORE_MESSAGES--
    FORM store_messages.
      IF l_mstring CS '&1'.
        REPLACE '&1' WITH messtab1-msgv1 INTO l_mstring.
        REPLACE '&2' WITH messtab1-msgv2 INTO l_mstring.
        REPLACE '&3' WITH messtab1-msgv3 INTO l_mstring.
        REPLACE '&4' WITH messtab1-msgv4 INTO l_mstring.
      ELSE.
        REPLACE '&' WITH messtab1-msgv1 INTO l_mstring.
        REPLACE '&' WITH messtab1-msgv2 INTO l_mstring.
        REPLACE '&' WITH messtab1-msgv3 INTO l_mstring.
        REPLACE '&' WITH messtab1-msgv4 INTO l_mstring.
      ENDIF.
      CONDENSE l_mstring.
      IF messtab1-msgtyp = 'E'.
    CONCATENATE messages-msg_s l_mstring INTO l_mstring SEPARATED BY space.
        MOVE l_mstring TO messages-msg_e.
        MOVE 'E' TO messages-msgtyp.
        MOVE 'Document Not Posted' TO messages-msg_s.
      ELSEIF messtab1-msgtyp = 'S'.
    CONCATENATE messages-msg_s l_mstring INTO l_mstring SEPARATED BY space.
        MOVE l_mstring TO messages-msg_s.
        MOVE 'S' TO messages-msgtyp.
      ENDIF.
    ENDFORM.                    " store_messages

  • Specific Line Chart Graph

    I
    I......................................................................................           ->> Upper Threshhold point
    I
    I   ...         ......                                                                                ^
    I  .   ...    ...                                                                                Y - axis
    I ..     ....
    I..
    I.......................................................................................            ->> Lower Threshhold point
    I..............................................................................................
    X- axis...........................>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    Dear Experts,
    I have a requiremnet to generate a specific Line Chart in SAP. User will execute one program which will provide a report. The report will be a simple ALV grid report where User needs a customized Graph button. On clicking the button the program should generate the sample graph provided above. Curently I am working in SAP 4.6C version. I know SAP has already provide few chart and diagram display functionalities which are present in ALV. But above Line Chart is not among those. How to acheive the above objective?
    Regards,
    Pulokesh

    Dear Mathews and Kai,
                   Thanks for the help extended by you all regarding the problem faced by me. I didn't adopt the ways as per explained by you, but I studied a lot and procedures to create custom graph as per said by you. I found a unique way to achive my target by manipulating the variable list data and calculating the constant value of Upper/ Lower Threshold level. In this way I used the same old ALV grid technique to obtain the graph. Thanks for your help.
    Regards,
    Pulokesh

  • Please update the functional specifications for Vendor Balance Report

    Dear All,
    Please update the functional specifications for Vendor Balance Report with
    proper descriptions.
    Please include
    1. How your selection screen should look like..
    2. Output format ( in an excel sheet)
    3. Logic for every field in the output format (viz. .. how do link the
    vendors from the selection screen to the BKPf and BSEG tables, how do you
    find open and closed items in BSEG , etc.)
    Please avoid statements like 'The total value of all the break-up should
    tally with the balance as shown in FBL1N for a given vendor for the given
    day.'
    You need to give the logic for the FBL1N, in that case.
    Regards
    Rama Mohan

    Hello again,
    Regarding having them update the specs, one can dream. Dreams are free. LOL. Hopefully the memory makers will update their specs as more makers start supporting a large memory configuration.
    The 4GB sticks I am using are http://shop.kingston.com/partsinfo.asp?ktcpartno=KTL-TP667/4G
    I did not do an extended test of the sticks in my MBP. Their home is in the ThinkPad I have because it is running Windows Server 2008 with Hyper-V.
    As you can see from the link above, these little suckers are pricey. But consider the price of 2GB SoDIMMs were $950 when they entered the market a couple of years ago. The price will drop.
    I asked the Kingston rep that sent these to me if online sites like newegg.com would have them soon. She indicated no, but the corporate buying sites like CDW and Zone would. So check around. They just started shipped a couple of weeks ago so be patient.
    If you have any other questions, please stop by http://blogs.technet.com/keithcombs/archive/2008/07/05/testing-my-apple-macbook- pro-with-8gb-of-ram.aspx and ask there. I'll see them much more quickly.
    Cheers,
    Keith Combs
    Microsoft

  • How to insert horizontal lines in alv report?

    hi,
        i have to insert horizontal lines in alv report.( RM07MLBB )
            actually my requirement is:
                               basis list = RM07MLBB.
    first secondary list = another report is called here ( RM07DOCS )
                      i want to insert horizontal lines in the first secondary list, when i execute individually RM07DOCS , i can get horizontal lines, but when i dounle click in the basic list --> in the first secondary list , i am not getting the horizontal lnes.
    functional modules used are REUSE_ALV_HIERSEQ_LIST_DISPLAY & REUSE_ALV_GRID_DISPLAY.
        here in this program,
                        is_layout = alv_layout.
    hence i tried to give     
                  alv_layout-no_hline = ' '. 
    but not effecting.
              can some one please tell me , how to insert lines in the alv report.
    thanks in advance,
    Dastagir.

    hello,
         so i cannot insert horizontal lines in the first secondary list according to my sorting condition, i.e., in a single block there should be :
           if same delivery challan number is repeating they should come in the same block,
    for the corresponding delivery challen number, if have po number, is repeating , they also should come in the same block.
                       in this way i have to seperate the blocks containing EXNUM , EBELN CONDITIONED.

  • Control User Specific button in ALV report

    Hi,
    Can anybody please suggest me how to control "USER SPECIFIC" button in ALV report layout using authorization object. I mean if you can tell me which authorization object is responsible to control the "USER SPECIFIC" button.

    additional info to what Lakshmi already said:-
    normally the restrictions for saving layouts/display variants are done at 2 levels:
    1) The developer of an ALV list first predetermines the authorization in the 'i_save' parameter within the code.
    I_SAVE = ' '     -
    layouts cannot be saved
    I_SAVE = 'A'   -
    user-specific and cross-user layouts can be saved
    I_SAVE = 'X'   --- cross-user layouts can be saved
    I_SAVE = 'U'  ---  user-specific layouts can be saved
    2) The second level comes to us restriciting the S_ALV_LAYO which gives access to users to save global layouts if I_SAVE for that particular transaction is A or X.
    for example, a report has I_SAVE= 'A', which means
    it will allow to save  User-specific  layouts without any restrictions.
    and if user has S_ALV_LAYO then he can save both User-Specific and Global Layouts(variants).
    it would be better to keep this object separate.

  • How to read a specific line of a .dat file?

    can we read a specific line of a .dat file, if so, how?
    i have this .dat files for each customer, which contain their name on the first line, their id on the second line
    and a list of items and an item id between each item.
    John Doe
    455689
    milk
    1
    orange
    9
    Here is what I am trying to do, please correct me
    //list out .dat file in dir
    File customer_dir = new File ("Customer")
    if (customer_dir.isDirectory())
    String[] listofdat=dir.list();
    for (int i=0;i<listofdat.length();i++)
    Scanner dat_read = new Scanner (new File listfodat);
    dat_read.nextLine();
    if (dat_read.nextLine().equals("455689")) <--is this okay?

    bibiancheng wrote:
    would you please explain to me what
    String[] tokens = line.trim().split("\\s*,\\s*")"\\s*,\\s*" is a regex where \\s means whitespace and the * means "any number of".
    so \\s* means that it will grab all the whitespace if there is any.
    trim() removes white space from the beginning and end of the string.
    dont put a comma in the name.
    spaces allowed: "jane doe, 12-14-09, 428438, 6, 388473, 7, 187374, 3"
    it was just a recommendation. breaking it into separate lines would be fine.

  • Provision that MRP is not be considered for specific line item of Sales Ord

    Is their any provision that MRP is not be considered for specific line item of Sales Order in MRP run? (Ex: Planned order is also generated for free/ADC sample quantity entered in Sales order)

    Dear
    Go to Sales and distribution--> Sales --> Sales Documents -->Schedule Lines --> Assign schedule line categories.
    Choose the item category (eg. TAN)  which is coming in the sales order and enter CN - No. Mat. Planning in the the manual schedule line category (MSL Ca) for MRP type PD.
    This will enable you to choose while creating sales order in the Tab procurement column SL Ca.
    Choose CN - No mat.planning for the schedule items which you don;t want MRP.
    Regards
    Soundar

  • How to create 2 lines header in Report painter

    Hi. I am not good at Report painter. I want to create 2 lines header in Report painter just like SAP std report.
    When I create a new form, I only have one line header form but cannot add additional header line.
    I am looking at the 0SAPFS10-01 Trans.Fig.- Balances. which has two header lines
                               Debit              Credit            Balance       Accumulated Balanc
    Periods                     &1FY               &1FY               &1FY               &1FY
    I can create only one header just like
    Periods                 Debit              Credit            Balance       Accumulated Balanc
    cannot add additional line for
          &1FY               &1FY               &1FY               &1FY
    please advise me
    thanks in advance.

    In report painter you can select variouselements based on which the data will be pulled. I haven't seen any report painter with two header lines and don't think report painter allows that. But for your requirement I believe you can select the periods in the header line itself.

  • Line item actuals report for Profit center group

    I am looking for a Line Item Actuals report for a Profit Center Group  on the lines of KSB 1 report for Cost center /groups.
    I tried report "KE5Z but only profit centers can be selected, not profit center groups.
    Any help on this

    Try out the following report
    S_ALR_87013326 - Profit Center Group: Plan/Actual/Variance
    Call up Actual line items, here we go you would get the profit center group reports in similar lines as KSB1.
    Award points so as to say thanks.
    Regards,
    Suraj

  • Cumulative GL Line Item Balance Report

    Hi,
    Can anybody suggest Cumulative GL Line Item Balance Report in SAP.
    thanks in advance
    Muhammed Riyas

    Hi Ryas,
    This means you are looking for a report of GL Account Statement, where you can have all GL Line item (documents) and thier total also,
    You can use S_ALR_87012332 report, you can also add column total debit and total credit column, then sum of all the line item you can see against each gl, please see below output snapshot.
    Regards
    Javed

Maybe you are looking for