Skip to Content
author's profile photo Former Member
Former Member

ALV list append is not showing PF_STATUS

Hi,

I am using the following code to append ALV Lists but it is not showing the PF_STATUS.

I want to save the layout, please let me know how to get PF_STATUS.

CLEAR gs_layout.

gs_layout-list_append = 'X'.

LOOP AT gt_bsik INTO gs_bsik.

AT NEW lifnr.

REFRESH gt_agingd.

CLEAR: lc_lifnr, lc_bukrs, lc_name1, lc_ort01.

READ TABLE gt_lfa1 INTO gs_lfa1 WITH KEY lifnr = gs_bsik-lifnr.

IF sy-subrc = 0.

lc_name1 = gs_lfa1-name1.

lc_ort01 = gs_lfa1-ort01.

ENDIF.

lc_lifnr = gs_bsik-lifnr.

lc_bukrs = gs_bsik-bukrs.

ENDAT.

gs_agingd-belnr = gs_bsik-belnr.

gs_agingd-umskz = gs_bsik-umskz.

gs_agingd-blart = gs_bsik-blart.

gs_agingd-bldat = gs_bsik-bldat.

gs_agingd-zbd1t = gs_bsik-zbd1t.

gs_agingd-nedat = gs_bsik-bldat + gs_bsik-zbd1t.

gs_agingd-days = p_bldat - gs_bsik-bldat.

IF p_doc = 'X'.

gs_agingd-dmbtr = gs_bsik-wrbtr.

ENDIF.

IF p_loc = 'X'.

gs_agingd-dmbtr = gs_bsik-dmbtr.

ENDIF.

gs_agingd-waers = gs_bsik-waers.

IF gs_agingd-days LE bucket_1.

gs_agingd-gv_1 = gs_agingd-dmbtr.

ELSEIF gs_agingd-days GT bucket_1 AND gs_agingd-days LE bucket_2.

gs_agingd-gv_2 = gs_agingd-dmbtr.

ELSEIF gs_agingd-days GT bucket_2 AND gs_agingd-days LE bucket_3.

gs_agingd-gv_3 = gs_agingd-dmbtr.

ELSEIF gs_agingd-days GT bucket_3.

gs_agingd-gv_4 = gs_agingd-dmbtr.

ENDIF.

gs_agingd-total = gs_agingd-gv_1 + gs_agingd-gv_2 + gs_agingd-gv_3 + gs_agingd-gv_4.

APPEND gs_agingd TO gt_agingd.

CLEAR gs_agingd.

AT END OF lifnr.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

i_interface_check = ' '

i_callback_program = lv_prog

i_callback_pf_status_set = ' PF_STATUS_SET'

it_fieldcat = ct_fcat

i_default = 'X'

i_save = 'X'

it_events = gt_events

is_layout = gs_layout

TABLES

t_outtab = gt_agingd

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.

ENDAT.

CLEAR gs_bsik.

ENDLOOP.

&----


*& Form pf_status

&----


  • text

----


  • -->T_EXTAB text

----


FORM pf_status_set USING t_extab TYPE slis_t_extab.

SET PF-STATUS 'PF_STATUS'.

ENDFORM. "pf_status

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

3 Answers

  • author's profile photo Former Member
    Former Member
    Posted on Jul 20, 2011 at 07:01 AM

    Hi Pulibhuvana,

    Does the lv_prog contain the name of your custom program?

    Filippo

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jul 20, 2011 at 07:37 AM

    you may try to change the " i_save = 'A' ".

    and have a test.

    tks.

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member

      NOT working, because gs_layout-list_append = 'X' it is suppressing PF_STATUS.

      I tried like this

      LOOP AT gt_bsid INTO gs_bsid.

      AT NEW .

      if SY-TABIX NE '1'.

      gs_layout-list_append = 'X'

      endif.

      ENDLOOP.

      It shows PF_STATUS but appending list from 2nd list onwards 1 st list is on seperate page with GUI.

  • author's profile photo Former Member
    Former Member
    Posted on Jul 20, 2011 at 08:14 AM

    Can i have suggession on this issue..?

    Add a comment
    10|10000 characters needed characters exceeded

    • Please check the below documentation for list_append

      list_append

      value set: SPACE, 'X'

      only relevant for block lists which are not output with the REUSE_ALV_BLOCK_... modules.

      It is only useful to output block-lists without specifying the above modules if the number of list blocks exceeds, or may exceed, the maximum number specified in the block module documentation.

      These operations are not possible for user-defined block lists.

      Principle: to output a list of n blocks

      Call the function module for the list type for the first block.

      The caller must enter the maximum list width of the n blocks in the parameter LAYOUT-MIN_LINESIZE in the first call. The event table IT_EVENTS of the event END_OF_LIST must contain the associated form routine name (see also the documentation of the interface parameter

      IT_EVENTS).

      The parameter LAYOUT-LIST_APPEND must be initial.

      After the first list has been output, the form routine specified in the event END_OF_LIST is called by Callback. The remaining n-1 blocks are then output by calling the function module for the list type. The parameter LAYOUT-LIST_APPEND must be set = 'X' for these n-1 calls. The event table IT_EVENTS should not contain the event END_OF_LIST or at least be assigned to a different form routine name from the first call.

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.