05-12-2009 7:10 AM
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
05-12-2009 7:22 AM
Hi,
You can sort the internal table.
sort itab by material plant.
pass itab to 'reuse_alv_list_display' function module.
05-12-2009 7:24 AM
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.
05-12-2009 7:25 AM
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....
05-12-2009 7:32 AM
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.
05-12-2009 7:37 AM
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
05-12-2009 7:42 AM
05-12-2009 7:44 AM
05-12-2009 7:55 AM
05-12-2009 7:58 AM
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
05-12-2009 7:30 AM
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
05-12-2009 7:57 AM
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
05-12-2009 7:59 AM
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
05-12-2009 8:10 AM
05-12-2009 8:22 AM