Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

logic

Former Member
0 Kudos

Please use a meaningful subject in future

hi all,

i need to display the output in ALV format, the problem is

now the output is displaying as

MATERIAL PLANT DESCRITPTION

10001 99 SAMPLE DATA

10001 99 TESTING

10001 99 TEST DATA

10002 99 DATA

10002 99 TESTED

but the output should be as

MATERIAL PLANT DESCRITPTION

10001 99 SAMPLE DATA

TESTING

TEST DATA

10002 99 DATA

TESTED

for the above output i have kept sorting code on Material, but the problem is even i need to display the plant only once for that material as above . if i keep the sorting code for plant then it is displaying as below

MATERIAL PLANT DESCRITPTION

10001 99 SAMPLE DATA

TESTING

TEST DATA

10002 DATA

TESTED

for second material, plant is not displaying if it is same as above plant.plase see my code as below

lt_sort-fieldname = 'MATNR'.

lt_sort-tabname = 'GT_FINAL'.

  • lt_sort-spos = 1.

lt_sort-up = 'X'.

lt_sort-subtot = 'X'.

APPEND lt_sort TO gt_sort

thanks in advance.

Edited by: Matt on May 12, 2009 9:22 AM

14 REPLIES 14

Former Member
0 Kudos

Hi,

You can sort the internal table.

sort itab by material plant.

pass itab to 'reuse_alv_list_display' function module.

Former Member
0 Kudos

Hi ,

You use this code below.

lt_sort-fieldname = 'MATNR'.

lt_sort-tabname = 'GT_FINAL'.

lt_sort-spos = 1.

lt_sort-up = 'X'.

lt_sort-subtot = 'X'.

APPEND lt_sort TO gt_sort

lt_sort-fieldname = 'WERKS OR PLANT'.

lt_sort-tabname = 'GT_FINAL'.

lt_sort-spos = 2.

lt_sort-up = 'X'.

lt_sort-subtot = 'X'.

APPEND lt_sort TO gt_sort

Try this.

Former Member
0 Kudos

Hi,

Try like this:

lt_sort-fieldname = 'MATNR'.

lt_sort-tabname = 'GT_FINAL'.

lt_sort-spos = 1.

lt_sort-up = 'X'.

lt_sort-subtot = 'X'.

APPEND lt_sort TO gt_sort

lt_sort-fieldname = 'PLANT'.

lt_sort-tabname = 'GT_FINAL'.

lt_sort-spos = 2.

lt_sort-up = 'X'.

lt_sort-subtot = 'X'.

APPEND lt_sort TO gt_sort

Kiran....

0 Kudos

hi,

even if i keep the code as below i am not getting plant for the second material, if the plant is same as first material plant

lt_sort-fieldname = 'MATNR'.

lt_sort-tabname = 'GT_FINAL'.

lt_sort-spos = 1.

lt_sort-up = 'X'.

lt_sort-subtot = 'X'.

APPEND lt_sort TO gt_sort.

lt_sort-fieldname = 'WERKS'.

lt_sort-tabname = 'GT_FINAL'.

lt_sort-spos = 2.

lt_sort-up = 'X'.

lt_sort-subtot = 'X'.

APPEND lt_sort TO gt_sort.

0 Kudos

lt_sort-fieldname = 'MATNR'.

lt_sort-tabname = 'GT_FINAL'.

lt_sort-spos = 1.

lt_sort-up = 'X'.

lt_sort-subtot = ' '. "lt_sort-subtot = 'X'. this field as space instead of X

APPEND lt_sort TO gt_sort.

lt_sort-fieldname = 'WERKS'.

lt_sort-tabname = 'GT_FINAL'.

lt_sort-spos = 2.

lt_sort-up = 'X'.

lt_sort-subtot = 'X'.

APPEND lt_sort TO gt_sort.

Edited by: vijetasap on May 12, 2009 8:37 AM

Edited by: vijetasap on May 12, 2009 8:38 AM

0 Kudos

i tried but its not working .

0 Kudos

Did u try

lt_sort-group = 'X'.

0 Kudos

ya i tried even its not working

0 Kudos

hi,

try using this FM...

'reuse_alv_list_display_lvc' and pass on the sort table as well......

in the sort table sort it by material and plant .... then check what happens

Former Member
0 Kudos

sort GT_FINAL by matnr , werks.

lt_sort-fieldname = 'MATNR'.

lt_sort-tabname = 'GT_FINAL'.

  • lt_sort-spos = 1.

lt_sort-up = 'X'.

*lt_sort-group = 'X'.

lt_sort-subtot = ' '.

APPEND lt_sort TO gt_sort

lt_sort-fieldname = 'WERKS'.

lt_sort-tabname = 'GT_FINAL'.

  • lt_sort-spos = 1.

lt_sort-up = 'X'.

lt_sort-group = 'X'.

lt_sort-subtot = 'X'.

APPEND lt_sort TO gt_sort

vijeta

Edited by: vijetasap on May 12, 2009 8:31 AM

Former Member
0 Kudos

PART-I

FORM f_display.

  • Macro definition

DEFINE m_fieldcat.

ls_fieldcat-tabname = &1.

ls_fieldcat-fieldname = &2.

ls_fieldcat-ref_tabname = &3.

ls_fieldcat-cfieldname = &4. " Field with currency unit

append ls_fieldcat to lt_fieldcat.

END-OF-DEFINITION.

DEFINE m_sort.

ls_sort-tabname = &1.

ls_sort-fieldname = &2.

ls_sort-up = c_x.

append ls_sort to lt_sort.

END-OF-DEFINITION.

DATA:

ls_layout TYPE slis_layout_alv,

ls_keyinfo TYPE slis_keyinfo_alv,

ls_sort TYPE slis_sortinfo_alv,

lt_sort TYPE slis_t_sortinfo_alv," Sort table

ls_fieldcat TYPE slis_fieldcat_alv,

lt_fieldcat TYPE slis_t_fieldcat_alv." Field catalog

ls_layout-group_change_edit = c_x.

ls_layout-colwidth_optimize = c_x.

ls_layout-zebra = c_x.

ls_layout-detail_popup = c_x.

ls_layout-get_selinfos = c_x.

IF p_expand = c_x.

ls_layout-expand_fieldname = 'EXPAND'.

ENDIF.

  • Build field catalog and sort table

m_fieldcat c_gt_vbak 'VBELN' 'VBAK' ''.

m_fieldcat c_gt_vbak 'KUNNR' 'VBAK' ''.

m_fieldcat c_gt_vbak 'NETWR' 'VBAK' 'WAERK'.

m_fieldcat c_gt_vbak 'WAERK' 'VBAK' ''.

m_fieldcat c_gt_vbak 'ERDAT' 'VBAK' ''.

m_fieldcat c_gt_vbap 'POSNR' 'VBAP' ''.

m_fieldcat c_gt_vbap 'MATNR' 'VBAP' ''.

m_fieldcat c_gt_vbap 'ARKTX' 'VBAP' ''.

m_fieldcat c_gt_vbap 'NETWR' 'VBAP' 'WAERK'.

m_fieldcat c_gt_vbap 'WAERK' 'VBAP' ''.

m_sort c_gt_vbak 'KUNNR'.

m_sort c_gt_vbap 'NETWR'.

ls_keyinfo-header01 = 'VBELN'.

ls_keyinfo-item01 = 'VBELN'.

ls_keyinfo-item02 = 'POSNR'.

  • Dipslay Hierarchical list

Former Member
0 Kudos

SOME REMAING PART -II

CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'

EXPORTING

i_callback_program = sy-cprog

i_callback_user_command = 'USER_COMMAND'

is_layout = ls_layout

it_fieldcat = lt_fieldcat

it_sort = lt_sort

i_tabname_header = c_gt_vbak

i_tabname_item = c_gt_vbap

is_keyinfo = ls_keyinfo

i_save = 'A'

TABLES

t_outtab_header = gt_vbak

t_outtab_item = gt_vbap

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. " F_LIST_DISPLAY

----


  • Form USER_COMMAND *

----


FORM user_command USING i_ucomm TYPE sy-ucomm

is_selfield TYPE slis_selfield. "#EC CALLED

DATA ls_vbak TYPE ty_vbak.

CASE i_ucomm.

WHEN '&IC1'. " Pick

CASE is_selfield-tabname.

WHEN c_gt_vbap.

WHEN c_gt_vbak.

READ TABLE gt_vbak INDEX is_selfield-tabindex INTO ls_vbak.

IF sy-subrc EQ 0.

  • Sales order number

SET PARAMETER ID 'AUN' FIELD ls_vbak-vbeln.

  • Display Sales Order

CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.

ENDIF.

ENDCASE.

ENDCASE.

ENDFORM. " USER_COMMAND

Former Member
0 Kudos

Post with a meaningful Subject

matt
Active Contributor
0 Kudos

Please use a meaningful subject in future