Question

My program outputs a list with some invoice and details and I want them to appear by entity.

The list shows the entity number and name repeating in every line of the list, but I want it to appear grouped by.

e.g. there are 4 invoices: two from each entity, how to show the entity and all of the respective invoices and then the other entity, and so on?

The code I have is this one:

FORM select_data3 CHANGING lt_data LIKE gt_map1.
  FIELD-SYMBOLS: <fs_main> TYPE zimposto_consumo.

  SELECT a~belnr d~spart a~bldat a~waers c~wrbtr a~hwaer c~dmbtr
    INTO CORRESPONDING FIELDS OF TABLE lt_data
    FROM ( ( bkpf AS a
    INNER JOIN bsis AS c ON c~belnr = a~belnr
                          AND buzei = 1 )
    INNER JOIN vbrk AS d ON d~xblnr = c~belnr )
    WHERE a~gjahr in gjahr.


  LOOP AT lt_data ASSIGNING <fs_main>.


    clear <fs_main>-kbetr.
    clear <fs_main>-fwste.
    clear <fs_main>-hwste.
    SELECT SINGLE kbetr fwste hwste FROM bset
      INTO (<fs_main>-kbetr, <fs_main>-fwste, <fs_main>-hwste)
      WHERE belnr = <fs_main>-belnr.

    clear <fs_main>-koart.
    SELECT SINGLE koart kunnr FROM bseg
      INTO (<fs_main>-koart, wa_bseg-kunnr)
      WHERE belnr = <fs_main>-belnr.


    IF <fs_main>-koart = 'D'.

      SELECT SINGLE name1 FROM kna1
        INTO (wa_bseg-name1)
        WHERE kunnr = wa_bseg-kunnr.


      IF sy-subrc = 0.
        FORMAT COLOR COL_TOTAL INTENSIFIED ON.

        WRITE:/ sy-uline(137), / sy-vline NO-GAP,
                        2 'Entidade: ', wa_bseg-kunnr, wa_bseg-name1,
                        137 sy-vline NO-GAP, / sy-uline(137).

        FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
        WRITE:/
                sy-vline NO-GAP,
                (16) <fs_main>-belnr NO-GAP,
                sy-vline NO-GAP,
                (16) <fs_main>-spart NO-GAP,
                sy-vline NO-GAP,
                (10) <fs_main>-bldat NO-GAP,
                sy-vline NO-GAP.
                perc = <fs_main>-kbetr / 10.
        ...
      ENDIF.
    ENDIF.
  ENDLOOP.

ENDFORM.   
Was it helpful?

Solution

I used a block AT NEW ... ENDAT inside the block LOOP AT ... ENDLOOP.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top