<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Regarding ALV Heading in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-alv-heading/m-p/3714266#M894116</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;&lt;CODE&gt;REPORT zm07mkon MESSAGE-ID m7.
*ENHANCEMENT-POINT RM07MKON_G4 SPOTS ES_RM07MKON STATIC.
*ENHANCEMENT-POINT RM07MKON_G5 SPOTS ES_RM07MKON.
*ENHANCEMENT-POINT RM07MKON_G6 SPOTS ES_RM07MKON STATIC.
*ENHANCEMENT-POINT RM07MKON_G7 SPOTS ES_RM07MKON.

CLASS cl_mmim_auth DEFINITION LOAD.

TABLES: msku, makt, mara, t001w, kna1.

SELECTION-SCREEN: BEGIN OF BLOCK dba WITH FRAME TITLE text-001.
SELECT-OPTIONS: matnr FOR mara-matnr,
werks FOR t001w-werks MEMORY ID wrk,
charg FOR msku-charg,
kunnr FOR msku-kunnr.
PARAMETERS: sobkz_w LIKE am07m-kukns AS CHECKBOX DEFAULT 'X',
sobkz_v LIKE am07m-lhgut AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN: END OF BLOCK dba.

SELECTION-SCREEN: BEGIN OF BLOCK anz WITH FRAME TITLE text-005.
PARAMETERS: alv_def LIKE disvariant-variant,
zero LIKE am07m-xmnul AS CHECKBOX.
SELECTION-SCREEN: END OF BLOCK anz.

INCLUDE rm07alvi.

DATA: BEGIN OF itab OCCURS 0.
INCLUDE STRUCTURE msku.
DATA: maktx LIKE makt-maktx,
name1_w LIKE t001w-name1,
name1_k LIKE kna1-name1,
meins LIKE mara-meins,
dummy TYPE alv_dummy,
farbe TYPE slis_t_specialcol_alv, " color
kunres LIKE mbew-salk3, "total unrestricted stock
kinqul LIKE mbew-salk3, "total in quality inspection
krest LIKE mbew-salk3. "total restricted stock
* ctotal LIKE mbew-salk3.
DATA: END OF itab.

DATA: BEGIN OF list OCCURS 0.
INCLUDE STRUCTURE itab.
DATA: END OF list.

DATA: BEGIN OF header OCCURS 0,
kunnr LIKE kna1-kunnr,
name1_k LIKE kna1-name1,
ctotal LIKE mbew-salk3,
END OF header.

DATA: fc TYPE slis_fieldcat_alv OCCURS 0 WITH HEADER LINE.
DATA: detail.

INITIALIZATION.
*ENHANCEMENT-POINT RM07MKON_01 SPOTS ES_RM07MKON.
PERFORM alv_init.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR alv_def.
PERFORM alv_f4.

AT SELECTION-SCREEN.
CALL FUNCTION 'MMIM_ENTRYCHECK_MAIN'
TABLES
it_matnr = matnr
it_werks = werks
it_kunnr = kunnr.
IF sobkz_w = space AND sobkz_v = space.
* message changed from e159(at) to e831 "XJD 14.11.2001
SET CURSOR FIELD 'SOBKZ_W'. "XJD 14.11.2001
MESSAGE e831. "Please choose at least one stock type
ENDIF.
PERFORM alv_check.

START-OF-SELECTION.
PERFORM data_selection.

END-OF-SELECTION.
PERFORM calculate_and_colorize.
PERFORM fieldcatalog.
PERFORM list_display.


************************************************************************
FORM data_selection.
DATA: BEGIN OF makt_key OCCURS 0,
matnr LIKE makt-matnr,
END OF makt_key.
DATA: BEGIN OF imakt OCCURS 0,
matnr LIKE makt-matnr,
maktx LIKE makt-maktx,
END OF imakt.
DATA: BEGIN OF mara_key OCCURS 0,
matnr LIKE mara-matnr,
END OF mara_key.
DATA: BEGIN OF imara OCCURS 0,
matnr LIKE mara-matnr,
meins LIKE mara-meins,
END OF imara.
DATA: BEGIN OF t001w_key OCCURS 0,
werks LIKE t001w-werks,
END OF t001w_key.
DATA: BEGIN OF it001w OCCURS 0,
werks LIKE t001w-werks,
name1 LIKE t001w-name1,
END OF it001w.
DATA: BEGIN OF kna1_key OCCURS 0,
kunnr LIKE kna1-kunnr,
END OF kna1_key.
DATA: BEGIN OF ikna1 OCCURS 0,
kunnr LIKE kna1-kunnr,
name1 LIKE kna1-name1,
END OF ikna1.
* New table to hold the costs
DATA: BEGIN OF imbew_key OCCURS 0,
charg LIKE mchb-charg,
END OF imbew_key.

DATA: BEGIN OF imbew OCCURS 0,
matnr LIKE mbew-matnr,
bwkey LIKE mbew-bwkey,
salk3 LIKE mbew-salk3,
charg LIKE mchb-charg,
END OF imbew.
* DATA: imbew TYPE STANDARD TABLE OF smbew.

RANGES sobkz FOR msku-sobkz.
* Main data
REFRESH sobkz.
sobkz-sign = 'I'. sobkz-option = 'EQ'.
IF sobkz_w = 'X'. sobkz-low = 'W'. APPEND sobkz. ENDIF.
IF sobkz_v = 'X'. sobkz-low = 'V'. APPEND sobkz. ENDIF.
SELECT * FROM msku INTO CORRESPONDING FIELDS OF TABLE itab
WHERE matnr IN matnr
AND werks IN werks
AND charg IN charg
AND sobkz IN sobkz
AND kunnr IN kunnr.
* Additional info: material text, plant name, debitor name
LOOP AT itab.
makt_key-matnr = itab-matnr. COLLECT makt_key.
mara_key-matnr = itab-matnr. COLLECT mara_key.
t001w_key-werks = itab-werks. COLLECT t001w_key.
kna1_key-kunnr = itab-kunnr. COLLECT kna1_key.
imbew_key-charg = itab-charg. COLLECT imbew_key.
ENDLOOP.

READ TABLE makt_key INDEX 1.
IF sy-subrc = 0.
SELECT matnr maktx INTO CORRESPONDING FIELDS OF TABLE imakt
FROM makt FOR ALL ENTRIES IN makt_key
WHERE matnr = makt_key-matnr
AND spras = sy-langu.
SORT imakt BY matnr.
ENDIF.
READ TABLE mara_key INDEX 1.
IF sy-subrc = 0.
SELECT matnr meins INTO CORRESPONDING FIELDS OF TABLE imara
FROM mara FOR ALL ENTRIES IN mara_key
WHERE matnr = mara_key-matnr.
SORT imara BY matnr.
ENDIF.
READ TABLE t001w_key INDEX 1.
IF sy-subrc = 0.
SELECT werks name1 INTO CORRESPONDING FIELDS OF TABLE it001w
FROM t001w FOR ALL ENTRIES IN t001w_key
WHERE werks = t001w_key-werks.
SORT it001w BY werks.
**new code to get costs
*selecting data into imbew, later reading imbew based on batch number
*and placing the necessary values in the final structure itab-*.
* SELECT a~matnr a~bwkey a~salk3 b~charg INTO TABLE imbew
* FROM mbew AS a
* JOIN mchb AS b
* ON a~matnr = b~matnr AND
* a~bwkey = b~werks
* FOR ALL ENTRIES IN imbew_key
* WHERE b~charg = imbew_key-charg AND
* a~bwkey = t001w_key-werks.

SORT imbew BY matnr bwkey charg.
ENDIF.
READ TABLE kna1_key INDEX 1.
IF sy-subrc = 0.
SELECT kunnr name1 INTO CORRESPONDING FIELDS OF TABLE ikna1
FROM kna1 FOR ALL ENTRIES IN kna1_key
WHERE kunnr = kna1_key-kunnr.
SORT ikna1 BY kunnr.
ENDIF.
LOOP AT itab.
READ TABLE imakt WITH KEY matnr = itab-matnr BINARY SEARCH.
IF sy-subrc = 0. itab-maktx = imakt-maktx. ENDIF.
READ TABLE imara WITH KEY matnr = itab-matnr BINARY SEARCH.
IF sy-subrc = 0. itab-meins = imara-meins. ENDIF.
READ TABLE it001w WITH KEY werks = itab-werks BINARY SEARCH.
IF sy-subrc = 0. itab-name1_w = it001w-name1. ENDIF.
READ TABLE ikna1 WITH KEY kunnr = itab-kunnr BINARY SEARCH.
IF sy-subrc = 0. itab-name1_k = ikna1-name1. ENDIF.
*new code
*get data from imbew to final structure
* READ TABLE imbew WITH KEY matnr = itab-matnr
* bwkey = itab-werks
* charg = itab-charg BINARY SEARCH.
* IF sy-subrc = 0. itab-kunres = imbew-salk3. ENDIF.

MODIFY itab.
ENDLOOP.
SORT itab BY kunnr matnr charg.
ENDFORM. "data_selection

************************************************************************
FORM fieldcatalog.
REFRESH fc. CLEAR fc.

fc-tabname = 'HEADER'.
fc-fieldname = 'KUNNR'.
fc-ref_tabname = 'MSKU'.
APPEND fc. CLEAR fc.
fc-tabname = 'HEADER'.
fc-fieldname = 'NAME1_K'.
fc-ref_tabname = 'KNA1'.
fc-ref_fieldname = 'NAME1'.
* APPEND fc. CLEAR fc.
* fc-tabname = 'HEADER'.
* fc-fieldname = 'TOTAL'.
* fc-ref_tabname = 'MBEW'.
* fc-ref_fieldname = 'SALK3'.

APPEND fc. CLEAR fc.
fc-tabname = 'LIST'.
fc-fieldname = 'MATNR'.
fc-ref_tabname = 'MSKU'.
APPEND fc. CLEAR fc.
fc-tabname = 'LIST'.
fc-fieldname = 'MAKTX'.
fc-ref_tabname = 'MAKT'.
fc-no_out = 'X'.
APPEND fc. CLEAR fc.
fc-tabname = 'LIST'.
fc-fieldname = 'CHARG'.
fc-ref_tabname = 'MSKU'.
APPEND fc. CLEAR fc.
fc-tabname = 'LIST'.
fc-fieldname = 'WERKS'.
fc-ref_tabname = 'MSKU'.
fc-no_out = 'X'.
APPEND fc. CLEAR fc.
fc-tabname = 'LIST'.
fc-fieldname = 'NAME1_W'.
fc-ref_tabname = 'T001W'.
fc-ref_fieldname = 'NAME1'.
fc-no_out = 'X'.
APPEND fc. CLEAR fc.
fc-tabname = 'LIST'.
fc-fieldname = 'SOBKZ'.
fc-ref_tabname = 'MSKU'.
fc-no_out = 'X'.
APPEND fc. CLEAR fc.
fc-tabname = 'LIST'.
fc-fieldname = 'KULAB'.
fc-qfieldname = 'MEINS'.
fc-ref_tabname = 'MSKU'.
APPEND fc. CLEAR fc.
fc-tabname = 'LIST'.
fc-fieldname = 'KUINS'.
fc-qfieldname = 'MEINS'.
fc-ref_tabname = 'MSKU'.
APPEND fc. CLEAR fc.
fc-tabname = 'LIST'.
fc-fieldname = 'KUEIN'.
fc-qfieldname = 'MEINS'.
fc-ref_tabname = 'MSKU'.
APPEND fc. CLEAR fc.
fc-tabname = 'LIST'.
fc-fieldname = 'MEINS'.
fc-ref_tabname = 'MARA'.
fc-seltext_l = 'WMU'.
fc-seltext_m = 'WMU'.
fc-seltext_s = 'WMU'.
APPEND fc. CLEAR fc.

* fc-tabname = 'HEADER'.
* fc-fieldname = 'CTOTAL'.
* fc-ref_tabname = 'MARA'.
* fc-seltext_l = 'WMU'.
* fc-seltext_m = 'WMU'.
* fc-seltext_s = 'WMU'.
* APPEND fc. CLEAR fc.
*New code
fc-fieldname = 'DUMMY'.
fc-tabname = 'LIST'.
fc-row_pos = '2'.
fc-outputlen = 59.
APPEND fc. CLEAR fc.

fc-tabname = 'LIST'.
fc-fieldname = 'KUNRES'.
fc-row_pos = '2'.
fc-seltext_s = 'Total'.
fc-do_sum = 'X'.
APPEND fc. CLEAR fc.

fc-tabname = 'LIST'.
fc-fieldname = 'KINQUL'.
fc-row_pos = '2'.
fc-seltext_s = 'Total'.
fc-outputlen = 18.
fc-do_sum = 'X'.
APPEND fc. CLEAR fc.

fc-tabname = 'LIST'.
fc-fieldname = 'KREST'.
fc-row_pos = '2'.
fc-seltext_s = 'Total'.
fc-outputlen = 18.
fc-do_sum = 'X'.
APPEND fc. CLEAR fc.

ENDFORM. "fieldcatalog

************************************************************************
FORM list_display.
REFRESH header.

LOOP AT list.
ON CHANGE OF list-kunnr.
MOVE-CORRESPONDING list TO header.
APPEND header.
ENDON.

ENDLOOP.

alv_keyinfo-header01 = 'KUNNR'.
alv_keyinfo-item01 = 'KUNNR'.
alv_keyinfo-item02 = 'MATNR'.

CLEAR detail.

CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
i_interface_check = ' '
i_callback_program = alv_repid
i_callback_pf_status_set = 'SET_STATUS'
i_callback_user_command = 'USER_COMMAND'
is_layout = alv_layout
it_fieldcat = fc[]
i_default = 'X'
i_save = 'A'
is_variant = alv_variant
i_tabname_header = 'HEADER'
i_tabname_item = 'LIST'
is_keyinfo = alv_keyinfo
is_print = alv_print
TABLES
t_outtab_header = header
t_outtab_item = list.

ENDFORM. "list_display


************************************************************************

************************************************************************
FORM calculate_and_colorize.
DATA: sum LIKE msku-kulab,
cust_sum LIKE mbew-salk3.
REFRESH list.

LOOP AT itab.
* CHECK cl_mmim_auth=&amp;gt;check( i_object = 'M_MATE_WRK'
* i_value1 = itab-werks ) IS INITIAL.

* Authorization for total fields
* CHECK ZCL_NAME1_AUTH=&amp;gt;check( i_object = 'ZSALK3'
* i_value1 = itab-kunres ) IS INITIAL.

cust_sum = itab-kunres + cust_sum.

AT NEW kunnr.
* itab-ctotal = cust_sum.
* CLEAR cust_sum.
ENDAT.

IF zero = ' '.
sum = itab-kulab + itab-kuein + itab-kuins.
CHECK sum &amp;lt;&amp;gt; 0.
ENDIF.
MOVE-CORRESPONDING itab TO list.

PERFORM convert_to_ea.

APPEND list.
ENDLOOP.
ENDFORM. "calculate_and_colorize

************************************************************************
FORM set_status USING rt_extab TYPE slis_t_extab.
DATA: wa TYPE slis_extab.
IF cl_mmim_auth=&amp;gt;level( ) IS INITIAL.
APPEND 'AUTH' TO rt_extab.
ENDIF.
IF cl_mmim_auth=&amp;gt;level( ) = cl_mmim_auth=&amp;gt;c_error.
MESSAGE s124(m7).
ENDIF.
* Deactivate detail list if in detail list
IF detail = 'X'.
wa-fcode = 'DETAIL'.
APPEND wa TO rt_extab.
ENDIF.
SET PF-STATUS 'STANDARD' EXCLUDING rt_extab.
ENDFORM. "set_status

************************************************************************
FORM user_command USING rf_ucomm LIKE sy-ucomm
rs TYPE slis_selfield.

* Call from detail list: Change tablename
IF rs-tabname = '1'.
rs-tabname = 'LIST'.
ENDIF.
* Read the correct table
CLEAR: list, header.
CASE rs-tabname.
WHEN 'HEADER'.
READ TABLE header INDEX rs-tabindex.
MOVE-CORRESPONDING header TO list.
WHEN 'LIST'.
READ TABLE list INDEX rs-tabindex.
ENDCASE.
CHECK sy-subrc = 0.
* Double click targets
IF rf_ucomm = '&amp;amp;IC1'.
CASE rs-tabname.
WHEN 'HEADER'.
rf_ucomm = 'ADDR'.
WHEN 'LIST'.
CASE rs-fieldname.
WHEN 'MATNR'.
rf_ucomm = 'MMBE'.
WHEN OTHERS.
rf_ucomm = 'DOCU'.
ENDCASE.
ENDCASE.
ENDIF.
* Commands
CASE rf_ucomm.
WHEN 'MMBE'.
CHECK rs-tabname = 'LIST'. "only for items
SET PARAMETER ID 'MAT' FIELD list-matnr.
SET PARAMETER ID 'WRK' FIELD list-werks.
CALL TRANSACTION 'MMBE' AND SKIP FIRST SCREEN.
WHEN 'DOCU'.
CHECK rs-tabname = 'LIST'.
SUBMIT rm07docs WITH matnr = list-matnr
WITH werks = list-werks
WITH charg = list-charg
WITH sobkz = list-sobkz
WITH kunnr = list-kunnr
AND RETURN.
WHEN 'ADDR'.
SET PARAMETER ID 'KUN' FIELD list-kunnr.
CALL TRANSACTION 'VD03' AND SKIP FIRST SCREEN.
WHEN 'AUTH'.
CALL METHOD cl_mmim_auth=&amp;gt;display.
WHEN 'DETAIL'.
PERFORM detail_list.
ENDCASE.
CLEAR rf_ucomm.
ENDFORM. "user_command

************************************************************************
FORM detail_list.
DATA: fc_detail TYPE slis_fieldcat_alv OCCURS 0 WITH HEADER LINE.
DATA: variant_detail LIKE disvariant.
DATA: lt_base_list LIKE list[]. "401421
* The detail ALV may modify the list (sorting). If returned to the
* base list, the original list needs to be restored.
lt_base_list[] = list[]. "401421
REFRESH fc_detail.
LOOP AT fc.
MOVE-CORRESPONDING fc TO fc_detail.
CLEAR fc_detail-tabname.
APPEND fc_detail.
ENDLOOP.
CLEAR variant_detail.
variant_detail-report = alv_repid.
variant_detail-handle = 'DETA'.
detail = 'X'. "needed for GUI status differentiation

CALL FUNCTION alv_detail_func
EXPORTING
i_callback_program = alv_repid
i_callback_pf_status_set = 'SET_STATUS'
i_callback_user_command = 'USER_COMMAND'
it_fieldcat = fc_detail[]
i_default = 'X'
is_variant = variant_detail
i_save = 'A'
is_layout = alv_layout
is_print = alv_print
TABLES
t_outtab = list[].
CLEAR detail.
list[] = lt_base_list[]. "401421
ENDFORM. "detail_list
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Form convert_to_ea
*&amp;amp;---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --&amp;gt; p1 text
* &amp;lt;-- p2 text
*----------------------------------------------------------------------*
FORM convert_to_ea .
DATA: l_lvsme TYPE lvs_lvsme,
l_lgnum TYPE lgnum,
l_lbkum TYPE lbkum,
l_salk3 TYPE salk3,
l_peinh TYPE peinh,
l_verpr TYPE verpr,
l_bwtty TYPE bwtty_d,
factor TYPE f.

l_lgnum = list-werks+1.

SELECT SINGLE lvsme
INTO l_lvsme
FROM mlgn
WHERE matnr = list-matnr
AND lgnum = l_lgnum.

*...for Standard materials...
SELECT SINGLE lbkum salk3 peinh verpr bwtty
INTO (l_lbkum, l_salk3, l_peinh, l_verpr, l_bwtty)
FROM mbew
WHERE matnr = list-matnr
AND bwkey = list-werks.

IF l_lbkum = 0.
factor = l_verpr / l_peinh.
ELSE.
factor = l_salk3 / l_lbkum.
ENDIF.

*Totals
* Total unrestricted stock
list-kunres = list-kulab * factor.
* Total stock in quality
list-kinqul = list-kuins * factor.
* Total restricted stock
list-krest = list-kuein * factor.

*.......for Configurable items.........
IF l_bwtty = 'X'.
SELECT SINGLE salk3 INTO (l_salk3)
FROM mbew
WHERE matnr = list-matnr AND
bwkey = list-werks AND
bwtar = list-charg.
list-kunres = l_salk3.
ENDIF.
*.........................................
IF NOT l_lvsme IS INITIAL.
CALL FUNCTION 'MATERIAL_UNIT_CONVERSION'
EXPORTING
input = list-kulab
matnr = list-matnr
meinh = l_lvsme
meins = list-meins
charge = list-charg
werks = list-werks
IMPORTING
output = list-kulab
EXCEPTIONS
conversion_not_found = 1
input_invalid = 2
material_not_found = 3
meinh_not_found = 4
meins_missing = 5
no_meinh = 6
output_invalid = 7
overflow = 8
OTHERS = 9.

CALL FUNCTION 'MATERIAL_UNIT_CONVERSION'
EXPORTING
input = list-kuins
matnr = list-matnr
meinh = l_lvsme
meins = list-meins
charge = list-charg
werks = list-werks
IMPORTING
output = list-kuins
EXCEPTIONS
conversion_not_found = 1
input_invalid = 2
material_not_found = 3
meinh_not_found = 4
meins_missing = 5
no_meinh = 6
output_invalid = 7
overflow = 8
OTHERS = 9.

CALL FUNCTION 'MATERIAL_UNIT_CONVERSION'
EXPORTING
input = list-kuein
matnr = list-matnr
meinh = l_lvsme
meins = list-meins
charge = list-charg
werks = list-werks
IMPORTING
output = list-kuein
EXCEPTIONS
conversion_not_found = 1
input_invalid = 2
material_not_found = 3
meinh_not_found = 4
meins_missing = 5
no_meinh = 6
output_invalid = 7
overflow = 8
OTHERS = 9.

list-meins = l_lvsme.
ENDIF.

ENDFORM. " convert_to_ea&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 21 Apr 2008 18:38:27 GMT</pubDate>
    <dc:creator>former_member156446</dc:creator>
    <dc:date>2008-04-21T18:38:27Z</dc:date>
    <item>
      <title>Regarding ALV Heading</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-alv-heading/m-p/3714263#M894113</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi gurus,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to dispaly heading in ALV Grid. i want to shows my heading 3(three) times in primary page.  JE entry is posted so i want to display "Posted entry" heading, same as JE entry is not posted so i want to display   "yet not posted" , JE entry is parked so i want to display "Parked entry" heading&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;liek below:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Posted entry&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;C.code | Reference | Doc header text  &lt;/P&gt;&lt;P&gt;004        A502          Audit fees&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Parked entry&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;C.code | Reference | Doc header text  &lt;/P&gt;&lt;P&gt;001        A710          Audit fees&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Yet not Posted entry&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;C.code | Reference | Doc header text  &lt;/P&gt;&lt;P&gt;004        A501          Audit fees&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Give me some example code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;zeni&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 Apr 2008 17:44:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-alv-heading/m-p/3714263#M894113</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-21T17:44:17Z</dc:date>
    </item>
    <item>
      <title>Re: Regarding ALV Heading</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-alv-heading/m-p/3714264#M894114</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please refer the SAP standard demo program &lt;STRONG&gt;BCALV_TEST_HIERSEQ_LIST&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Sriram Ponna.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 Apr 2008 17:53:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-alv-heading/m-p/3714264#M894114</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-21T17:53:24Z</dc:date>
    </item>
    <item>
      <title>Re: Regarding ALV Heading</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-alv-heading/m-p/3714265#M894115</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Sriram,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I gone through your ALV prog, it contains no data. give some example code. give me some more idea.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;zeni&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 Apr 2008 18:33:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-alv-heading/m-p/3714265#M894115</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-21T18:33:22Z</dc:date>
    </item>
    <item>
      <title>Re: Regarding ALV Heading</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-alv-heading/m-p/3714266#M894116</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;&lt;CODE&gt;REPORT zm07mkon MESSAGE-ID m7.
*ENHANCEMENT-POINT RM07MKON_G4 SPOTS ES_RM07MKON STATIC.
*ENHANCEMENT-POINT RM07MKON_G5 SPOTS ES_RM07MKON.
*ENHANCEMENT-POINT RM07MKON_G6 SPOTS ES_RM07MKON STATIC.
*ENHANCEMENT-POINT RM07MKON_G7 SPOTS ES_RM07MKON.

CLASS cl_mmim_auth DEFINITION LOAD.

TABLES: msku, makt, mara, t001w, kna1.

SELECTION-SCREEN: BEGIN OF BLOCK dba WITH FRAME TITLE text-001.
SELECT-OPTIONS: matnr FOR mara-matnr,
werks FOR t001w-werks MEMORY ID wrk,
charg FOR msku-charg,
kunnr FOR msku-kunnr.
PARAMETERS: sobkz_w LIKE am07m-kukns AS CHECKBOX DEFAULT 'X',
sobkz_v LIKE am07m-lhgut AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN: END OF BLOCK dba.

SELECTION-SCREEN: BEGIN OF BLOCK anz WITH FRAME TITLE text-005.
PARAMETERS: alv_def LIKE disvariant-variant,
zero LIKE am07m-xmnul AS CHECKBOX.
SELECTION-SCREEN: END OF BLOCK anz.

INCLUDE rm07alvi.

DATA: BEGIN OF itab OCCURS 0.
INCLUDE STRUCTURE msku.
DATA: maktx LIKE makt-maktx,
name1_w LIKE t001w-name1,
name1_k LIKE kna1-name1,
meins LIKE mara-meins,
dummy TYPE alv_dummy,
farbe TYPE slis_t_specialcol_alv, " color
kunres LIKE mbew-salk3, "total unrestricted stock
kinqul LIKE mbew-salk3, "total in quality inspection
krest LIKE mbew-salk3. "total restricted stock
* ctotal LIKE mbew-salk3.
DATA: END OF itab.

DATA: BEGIN OF list OCCURS 0.
INCLUDE STRUCTURE itab.
DATA: END OF list.

DATA: BEGIN OF header OCCURS 0,
kunnr LIKE kna1-kunnr,
name1_k LIKE kna1-name1,
ctotal LIKE mbew-salk3,
END OF header.

DATA: fc TYPE slis_fieldcat_alv OCCURS 0 WITH HEADER LINE.
DATA: detail.

INITIALIZATION.
*ENHANCEMENT-POINT RM07MKON_01 SPOTS ES_RM07MKON.
PERFORM alv_init.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR alv_def.
PERFORM alv_f4.

AT SELECTION-SCREEN.
CALL FUNCTION 'MMIM_ENTRYCHECK_MAIN'
TABLES
it_matnr = matnr
it_werks = werks
it_kunnr = kunnr.
IF sobkz_w = space AND sobkz_v = space.
* message changed from e159(at) to e831 "XJD 14.11.2001
SET CURSOR FIELD 'SOBKZ_W'. "XJD 14.11.2001
MESSAGE e831. "Please choose at least one stock type
ENDIF.
PERFORM alv_check.

START-OF-SELECTION.
PERFORM data_selection.

END-OF-SELECTION.
PERFORM calculate_and_colorize.
PERFORM fieldcatalog.
PERFORM list_display.


************************************************************************
FORM data_selection.
DATA: BEGIN OF makt_key OCCURS 0,
matnr LIKE makt-matnr,
END OF makt_key.
DATA: BEGIN OF imakt OCCURS 0,
matnr LIKE makt-matnr,
maktx LIKE makt-maktx,
END OF imakt.
DATA: BEGIN OF mara_key OCCURS 0,
matnr LIKE mara-matnr,
END OF mara_key.
DATA: BEGIN OF imara OCCURS 0,
matnr LIKE mara-matnr,
meins LIKE mara-meins,
END OF imara.
DATA: BEGIN OF t001w_key OCCURS 0,
werks LIKE t001w-werks,
END OF t001w_key.
DATA: BEGIN OF it001w OCCURS 0,
werks LIKE t001w-werks,
name1 LIKE t001w-name1,
END OF it001w.
DATA: BEGIN OF kna1_key OCCURS 0,
kunnr LIKE kna1-kunnr,
END OF kna1_key.
DATA: BEGIN OF ikna1 OCCURS 0,
kunnr LIKE kna1-kunnr,
name1 LIKE kna1-name1,
END OF ikna1.
* New table to hold the costs
DATA: BEGIN OF imbew_key OCCURS 0,
charg LIKE mchb-charg,
END OF imbew_key.

DATA: BEGIN OF imbew OCCURS 0,
matnr LIKE mbew-matnr,
bwkey LIKE mbew-bwkey,
salk3 LIKE mbew-salk3,
charg LIKE mchb-charg,
END OF imbew.
* DATA: imbew TYPE STANDARD TABLE OF smbew.

RANGES sobkz FOR msku-sobkz.
* Main data
REFRESH sobkz.
sobkz-sign = 'I'. sobkz-option = 'EQ'.
IF sobkz_w = 'X'. sobkz-low = 'W'. APPEND sobkz. ENDIF.
IF sobkz_v = 'X'. sobkz-low = 'V'. APPEND sobkz. ENDIF.
SELECT * FROM msku INTO CORRESPONDING FIELDS OF TABLE itab
WHERE matnr IN matnr
AND werks IN werks
AND charg IN charg
AND sobkz IN sobkz
AND kunnr IN kunnr.
* Additional info: material text, plant name, debitor name
LOOP AT itab.
makt_key-matnr = itab-matnr. COLLECT makt_key.
mara_key-matnr = itab-matnr. COLLECT mara_key.
t001w_key-werks = itab-werks. COLLECT t001w_key.
kna1_key-kunnr = itab-kunnr. COLLECT kna1_key.
imbew_key-charg = itab-charg. COLLECT imbew_key.
ENDLOOP.

READ TABLE makt_key INDEX 1.
IF sy-subrc = 0.
SELECT matnr maktx INTO CORRESPONDING FIELDS OF TABLE imakt
FROM makt FOR ALL ENTRIES IN makt_key
WHERE matnr = makt_key-matnr
AND spras = sy-langu.
SORT imakt BY matnr.
ENDIF.
READ TABLE mara_key INDEX 1.
IF sy-subrc = 0.
SELECT matnr meins INTO CORRESPONDING FIELDS OF TABLE imara
FROM mara FOR ALL ENTRIES IN mara_key
WHERE matnr = mara_key-matnr.
SORT imara BY matnr.
ENDIF.
READ TABLE t001w_key INDEX 1.
IF sy-subrc = 0.
SELECT werks name1 INTO CORRESPONDING FIELDS OF TABLE it001w
FROM t001w FOR ALL ENTRIES IN t001w_key
WHERE werks = t001w_key-werks.
SORT it001w BY werks.
**new code to get costs
*selecting data into imbew, later reading imbew based on batch number
*and placing the necessary values in the final structure itab-*.
* SELECT a~matnr a~bwkey a~salk3 b~charg INTO TABLE imbew
* FROM mbew AS a
* JOIN mchb AS b
* ON a~matnr = b~matnr AND
* a~bwkey = b~werks
* FOR ALL ENTRIES IN imbew_key
* WHERE b~charg = imbew_key-charg AND
* a~bwkey = t001w_key-werks.

SORT imbew BY matnr bwkey charg.
ENDIF.
READ TABLE kna1_key INDEX 1.
IF sy-subrc = 0.
SELECT kunnr name1 INTO CORRESPONDING FIELDS OF TABLE ikna1
FROM kna1 FOR ALL ENTRIES IN kna1_key
WHERE kunnr = kna1_key-kunnr.
SORT ikna1 BY kunnr.
ENDIF.
LOOP AT itab.
READ TABLE imakt WITH KEY matnr = itab-matnr BINARY SEARCH.
IF sy-subrc = 0. itab-maktx = imakt-maktx. ENDIF.
READ TABLE imara WITH KEY matnr = itab-matnr BINARY SEARCH.
IF sy-subrc = 0. itab-meins = imara-meins. ENDIF.
READ TABLE it001w WITH KEY werks = itab-werks BINARY SEARCH.
IF sy-subrc = 0. itab-name1_w = it001w-name1. ENDIF.
READ TABLE ikna1 WITH KEY kunnr = itab-kunnr BINARY SEARCH.
IF sy-subrc = 0. itab-name1_k = ikna1-name1. ENDIF.
*new code
*get data from imbew to final structure
* READ TABLE imbew WITH KEY matnr = itab-matnr
* bwkey = itab-werks
* charg = itab-charg BINARY SEARCH.
* IF sy-subrc = 0. itab-kunres = imbew-salk3. ENDIF.

MODIFY itab.
ENDLOOP.
SORT itab BY kunnr matnr charg.
ENDFORM. "data_selection

************************************************************************
FORM fieldcatalog.
REFRESH fc. CLEAR fc.

fc-tabname = 'HEADER'.
fc-fieldname = 'KUNNR'.
fc-ref_tabname = 'MSKU'.
APPEND fc. CLEAR fc.
fc-tabname = 'HEADER'.
fc-fieldname = 'NAME1_K'.
fc-ref_tabname = 'KNA1'.
fc-ref_fieldname = 'NAME1'.
* APPEND fc. CLEAR fc.
* fc-tabname = 'HEADER'.
* fc-fieldname = 'TOTAL'.
* fc-ref_tabname = 'MBEW'.
* fc-ref_fieldname = 'SALK3'.

APPEND fc. CLEAR fc.
fc-tabname = 'LIST'.
fc-fieldname = 'MATNR'.
fc-ref_tabname = 'MSKU'.
APPEND fc. CLEAR fc.
fc-tabname = 'LIST'.
fc-fieldname = 'MAKTX'.
fc-ref_tabname = 'MAKT'.
fc-no_out = 'X'.
APPEND fc. CLEAR fc.
fc-tabname = 'LIST'.
fc-fieldname = 'CHARG'.
fc-ref_tabname = 'MSKU'.
APPEND fc. CLEAR fc.
fc-tabname = 'LIST'.
fc-fieldname = 'WERKS'.
fc-ref_tabname = 'MSKU'.
fc-no_out = 'X'.
APPEND fc. CLEAR fc.
fc-tabname = 'LIST'.
fc-fieldname = 'NAME1_W'.
fc-ref_tabname = 'T001W'.
fc-ref_fieldname = 'NAME1'.
fc-no_out = 'X'.
APPEND fc. CLEAR fc.
fc-tabname = 'LIST'.
fc-fieldname = 'SOBKZ'.
fc-ref_tabname = 'MSKU'.
fc-no_out = 'X'.
APPEND fc. CLEAR fc.
fc-tabname = 'LIST'.
fc-fieldname = 'KULAB'.
fc-qfieldname = 'MEINS'.
fc-ref_tabname = 'MSKU'.
APPEND fc. CLEAR fc.
fc-tabname = 'LIST'.
fc-fieldname = 'KUINS'.
fc-qfieldname = 'MEINS'.
fc-ref_tabname = 'MSKU'.
APPEND fc. CLEAR fc.
fc-tabname = 'LIST'.
fc-fieldname = 'KUEIN'.
fc-qfieldname = 'MEINS'.
fc-ref_tabname = 'MSKU'.
APPEND fc. CLEAR fc.
fc-tabname = 'LIST'.
fc-fieldname = 'MEINS'.
fc-ref_tabname = 'MARA'.
fc-seltext_l = 'WMU'.
fc-seltext_m = 'WMU'.
fc-seltext_s = 'WMU'.
APPEND fc. CLEAR fc.

* fc-tabname = 'HEADER'.
* fc-fieldname = 'CTOTAL'.
* fc-ref_tabname = 'MARA'.
* fc-seltext_l = 'WMU'.
* fc-seltext_m = 'WMU'.
* fc-seltext_s = 'WMU'.
* APPEND fc. CLEAR fc.
*New code
fc-fieldname = 'DUMMY'.
fc-tabname = 'LIST'.
fc-row_pos = '2'.
fc-outputlen = 59.
APPEND fc. CLEAR fc.

fc-tabname = 'LIST'.
fc-fieldname = 'KUNRES'.
fc-row_pos = '2'.
fc-seltext_s = 'Total'.
fc-do_sum = 'X'.
APPEND fc. CLEAR fc.

fc-tabname = 'LIST'.
fc-fieldname = 'KINQUL'.
fc-row_pos = '2'.
fc-seltext_s = 'Total'.
fc-outputlen = 18.
fc-do_sum = 'X'.
APPEND fc. CLEAR fc.

fc-tabname = 'LIST'.
fc-fieldname = 'KREST'.
fc-row_pos = '2'.
fc-seltext_s = 'Total'.
fc-outputlen = 18.
fc-do_sum = 'X'.
APPEND fc. CLEAR fc.

ENDFORM. "fieldcatalog

************************************************************************
FORM list_display.
REFRESH header.

LOOP AT list.
ON CHANGE OF list-kunnr.
MOVE-CORRESPONDING list TO header.
APPEND header.
ENDON.

ENDLOOP.

alv_keyinfo-header01 = 'KUNNR'.
alv_keyinfo-item01 = 'KUNNR'.
alv_keyinfo-item02 = 'MATNR'.

CLEAR detail.

CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
i_interface_check = ' '
i_callback_program = alv_repid
i_callback_pf_status_set = 'SET_STATUS'
i_callback_user_command = 'USER_COMMAND'
is_layout = alv_layout
it_fieldcat = fc[]
i_default = 'X'
i_save = 'A'
is_variant = alv_variant
i_tabname_header = 'HEADER'
i_tabname_item = 'LIST'
is_keyinfo = alv_keyinfo
is_print = alv_print
TABLES
t_outtab_header = header
t_outtab_item = list.

ENDFORM. "list_display


************************************************************************

************************************************************************
FORM calculate_and_colorize.
DATA: sum LIKE msku-kulab,
cust_sum LIKE mbew-salk3.
REFRESH list.

LOOP AT itab.
* CHECK cl_mmim_auth=&amp;gt;check( i_object = 'M_MATE_WRK'
* i_value1 = itab-werks ) IS INITIAL.

* Authorization for total fields
* CHECK ZCL_NAME1_AUTH=&amp;gt;check( i_object = 'ZSALK3'
* i_value1 = itab-kunres ) IS INITIAL.

cust_sum = itab-kunres + cust_sum.

AT NEW kunnr.
* itab-ctotal = cust_sum.
* CLEAR cust_sum.
ENDAT.

IF zero = ' '.
sum = itab-kulab + itab-kuein + itab-kuins.
CHECK sum &amp;lt;&amp;gt; 0.
ENDIF.
MOVE-CORRESPONDING itab TO list.

PERFORM convert_to_ea.

APPEND list.
ENDLOOP.
ENDFORM. "calculate_and_colorize

************************************************************************
FORM set_status USING rt_extab TYPE slis_t_extab.
DATA: wa TYPE slis_extab.
IF cl_mmim_auth=&amp;gt;level( ) IS INITIAL.
APPEND 'AUTH' TO rt_extab.
ENDIF.
IF cl_mmim_auth=&amp;gt;level( ) = cl_mmim_auth=&amp;gt;c_error.
MESSAGE s124(m7).
ENDIF.
* Deactivate detail list if in detail list
IF detail = 'X'.
wa-fcode = 'DETAIL'.
APPEND wa TO rt_extab.
ENDIF.
SET PF-STATUS 'STANDARD' EXCLUDING rt_extab.
ENDFORM. "set_status

************************************************************************
FORM user_command USING rf_ucomm LIKE sy-ucomm
rs TYPE slis_selfield.

* Call from detail list: Change tablename
IF rs-tabname = '1'.
rs-tabname = 'LIST'.
ENDIF.
* Read the correct table
CLEAR: list, header.
CASE rs-tabname.
WHEN 'HEADER'.
READ TABLE header INDEX rs-tabindex.
MOVE-CORRESPONDING header TO list.
WHEN 'LIST'.
READ TABLE list INDEX rs-tabindex.
ENDCASE.
CHECK sy-subrc = 0.
* Double click targets
IF rf_ucomm = '&amp;amp;IC1'.
CASE rs-tabname.
WHEN 'HEADER'.
rf_ucomm = 'ADDR'.
WHEN 'LIST'.
CASE rs-fieldname.
WHEN 'MATNR'.
rf_ucomm = 'MMBE'.
WHEN OTHERS.
rf_ucomm = 'DOCU'.
ENDCASE.
ENDCASE.
ENDIF.
* Commands
CASE rf_ucomm.
WHEN 'MMBE'.
CHECK rs-tabname = 'LIST'. "only for items
SET PARAMETER ID 'MAT' FIELD list-matnr.
SET PARAMETER ID 'WRK' FIELD list-werks.
CALL TRANSACTION 'MMBE' AND SKIP FIRST SCREEN.
WHEN 'DOCU'.
CHECK rs-tabname = 'LIST'.
SUBMIT rm07docs WITH matnr = list-matnr
WITH werks = list-werks
WITH charg = list-charg
WITH sobkz = list-sobkz
WITH kunnr = list-kunnr
AND RETURN.
WHEN 'ADDR'.
SET PARAMETER ID 'KUN' FIELD list-kunnr.
CALL TRANSACTION 'VD03' AND SKIP FIRST SCREEN.
WHEN 'AUTH'.
CALL METHOD cl_mmim_auth=&amp;gt;display.
WHEN 'DETAIL'.
PERFORM detail_list.
ENDCASE.
CLEAR rf_ucomm.
ENDFORM. "user_command

************************************************************************
FORM detail_list.
DATA: fc_detail TYPE slis_fieldcat_alv OCCURS 0 WITH HEADER LINE.
DATA: variant_detail LIKE disvariant.
DATA: lt_base_list LIKE list[]. "401421
* The detail ALV may modify the list (sorting). If returned to the
* base list, the original list needs to be restored.
lt_base_list[] = list[]. "401421
REFRESH fc_detail.
LOOP AT fc.
MOVE-CORRESPONDING fc TO fc_detail.
CLEAR fc_detail-tabname.
APPEND fc_detail.
ENDLOOP.
CLEAR variant_detail.
variant_detail-report = alv_repid.
variant_detail-handle = 'DETA'.
detail = 'X'. "needed for GUI status differentiation

CALL FUNCTION alv_detail_func
EXPORTING
i_callback_program = alv_repid
i_callback_pf_status_set = 'SET_STATUS'
i_callback_user_command = 'USER_COMMAND'
it_fieldcat = fc_detail[]
i_default = 'X'
is_variant = variant_detail
i_save = 'A'
is_layout = alv_layout
is_print = alv_print
TABLES
t_outtab = list[].
CLEAR detail.
list[] = lt_base_list[]. "401421
ENDFORM. "detail_list
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Form convert_to_ea
*&amp;amp;---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --&amp;gt; p1 text
* &amp;lt;-- p2 text
*----------------------------------------------------------------------*
FORM convert_to_ea .
DATA: l_lvsme TYPE lvs_lvsme,
l_lgnum TYPE lgnum,
l_lbkum TYPE lbkum,
l_salk3 TYPE salk3,
l_peinh TYPE peinh,
l_verpr TYPE verpr,
l_bwtty TYPE bwtty_d,
factor TYPE f.

l_lgnum = list-werks+1.

SELECT SINGLE lvsme
INTO l_lvsme
FROM mlgn
WHERE matnr = list-matnr
AND lgnum = l_lgnum.

*...for Standard materials...
SELECT SINGLE lbkum salk3 peinh verpr bwtty
INTO (l_lbkum, l_salk3, l_peinh, l_verpr, l_bwtty)
FROM mbew
WHERE matnr = list-matnr
AND bwkey = list-werks.

IF l_lbkum = 0.
factor = l_verpr / l_peinh.
ELSE.
factor = l_salk3 / l_lbkum.
ENDIF.

*Totals
* Total unrestricted stock
list-kunres = list-kulab * factor.
* Total stock in quality
list-kinqul = list-kuins * factor.
* Total restricted stock
list-krest = list-kuein * factor.

*.......for Configurable items.........
IF l_bwtty = 'X'.
SELECT SINGLE salk3 INTO (l_salk3)
FROM mbew
WHERE matnr = list-matnr AND
bwkey = list-werks AND
bwtar = list-charg.
list-kunres = l_salk3.
ENDIF.
*.........................................
IF NOT l_lvsme IS INITIAL.
CALL FUNCTION 'MATERIAL_UNIT_CONVERSION'
EXPORTING
input = list-kulab
matnr = list-matnr
meinh = l_lvsme
meins = list-meins
charge = list-charg
werks = list-werks
IMPORTING
output = list-kulab
EXCEPTIONS
conversion_not_found = 1
input_invalid = 2
material_not_found = 3
meinh_not_found = 4
meins_missing = 5
no_meinh = 6
output_invalid = 7
overflow = 8
OTHERS = 9.

CALL FUNCTION 'MATERIAL_UNIT_CONVERSION'
EXPORTING
input = list-kuins
matnr = list-matnr
meinh = l_lvsme
meins = list-meins
charge = list-charg
werks = list-werks
IMPORTING
output = list-kuins
EXCEPTIONS
conversion_not_found = 1
input_invalid = 2
material_not_found = 3
meinh_not_found = 4
meins_missing = 5
no_meinh = 6
output_invalid = 7
overflow = 8
OTHERS = 9.

CALL FUNCTION 'MATERIAL_UNIT_CONVERSION'
EXPORTING
input = list-kuein
matnr = list-matnr
meinh = l_lvsme
meins = list-meins
charge = list-charg
werks = list-werks
IMPORTING
output = list-kuein
EXCEPTIONS
conversion_not_found = 1
input_invalid = 2
material_not_found = 3
meinh_not_found = 4
meins_missing = 5
no_meinh = 6
output_invalid = 7
overflow = 8
OTHERS = 9.

list-meins = l_lvsme.
ENDIF.

ENDFORM. " convert_to_ea&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 Apr 2008 18:38:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-alv-heading/m-p/3714266#M894116</guid>
      <dc:creator>former_member156446</dc:creator>
      <dc:date>2008-04-21T18:38:27Z</dc:date>
    </item>
    <item>
      <title>Re: Regarding ALV Heading</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-alv-heading/m-p/3714267#M894117</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN __default_attr="blue" __jive_macro_name="color"&gt;
Hi Zeni, 
Using ALV Grid, It is not possible as per my knowledge, But you can display each part differently one by one using Blocked ALV.

Regards,
Venkat.O
&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Apr 2008 04:06:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-alv-heading/m-p/3714267#M894117</guid>
      <dc:creator>venkat_o</dc:creator>
      <dc:date>2008-04-22T04:06:19Z</dc:date>
    </item>
    <item>
      <title>Re: Regarding ALV Heading</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-alv-heading/m-p/3714268#M894118</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN __default_attr="blue" __jive_macro_name="color"&gt;
Hi Zeni,
But it is somewhat possible using REUSE_ALV_LIST_DISPLAY. I have just changed TOP_OF_PAGE to make it .
Check the sample program..
&lt;PRE&gt;&lt;CODE&gt;
REPORT  zvenkat_alv_1_list.
TYPES:
      BEGIN OF t_mard,
       werks TYPE mard-werks,
       lgort TYPE mard-lgort,
       matnr TYPE mard-matnr,
       insme TYPE mard-insme,
       einme TYPE mard-einme,
       speme TYPE mard-speme,
      END OF t_mard.
DATA:
      w_mard TYPE t_mard.
DATA:
      i_mard TYPE STANDARD TABLE OF t_mard.
*&amp;amp;---------------------------------------------------------------------*
* ALV Declarations
*----------------------------------------------------------------------*
* Types Pools
TYPE-POOLS:
   slis.
* Types
TYPES:
   t_fieldcat         TYPE slis_fieldcat_alv,
   t_events           TYPE slis_alv_event,
   t_layout           TYPE slis_layout_alv.
* Workareas
DATA:
   w_fieldcat         TYPE t_fieldcat,
   w_events           TYPE t_events,
   w_layout           TYPE t_layout.
* Internal Tables
DATA:
   i_fieldcat         TYPE STANDARD TABLE OF t_fieldcat,
   i_events           TYPE STANDARD TABLE OF t_events.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      START-OF-SELECTION
*&amp;amp;---------------------------------------------------------------------*
START-OF-SELECTION.

  PERFORM get_data_from_database .

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      END-OF-SELECTION
*&amp;amp;---------------------------------------------------------------------*
END-OF-SELECTION.

  PERFORM build_fieldcatalog.
  PERFORM build_events.
  PERFORM display_data.
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  get_data_from_database
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM get_data_from_database .
  CLEAR :i_mard,
         i_mard[].

  SELECT werks lgort matnr insme einme speme
  FROM mard
  INTO CORRESPONDING FIELDS OF TABLE i_mard
    UP TO 100 ROWS.

ENDFORM.                    " get_data_from_database
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  build_fieldcatalog
*&amp;amp;---------------------------------------------------------------------*
FORM build_fieldcatalog .
  CLEAR :
    w_fieldcat,
   i_fieldcat[].

  PERFORM build_fcat USING:
        "Field   Int Tab  Text
        'WERKS' 'I_MARD' 'WERKS',
        'LGORT' 'I_MARD' 'LGORT',
        'MATNR' 'I_MARD' 'MATNR',
        'INSME' 'I_MARD' 'INSME',
        'EINME' 'I_MARD' 'EINME',
        'SPEME' 'I_MARD' 'SPEME'.
ENDFORM.                    " build_fieldcatalog
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  build_events
*&amp;amp;---------------------------------------------------------------------*
FORM build_events .
  CLEAR:
        w_events, i_events[].
  w_events-name = 'TOP_OF_PAGE'. "Events Name
  w_events-form = 'TOP_OF_PAGE'. "Call back subroutine name
  APPEND w_events TO i_events.
  CLEAR  w_events.
  "You can see all the events existed for REUSE_ALV_LIST_DISPLAY by
  "executing REUSE_ALV_EVENTS_GET function modul by giving input = 0.
ENDFORM.                    " build_events

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  display_data
*&amp;amp;---------------------------------------------------------------------*
FORM display_data .
  DATA :program LIKE sy-repid VALUE sy-repid.

  CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    EXPORTING
      i_callback_program = program
      it_fieldcat        = i_fieldcat
      it_events          = i_events
    TABLES
      t_outtab           = i_mard.
  IF sy-subrc &amp;lt;&amp;gt; 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.


ENDFORM.                    " display_data
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  top_of_page
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM top_of_page.

  ULINE (66).
  WRITE / sy-vline.
  WRITE AT 66 sy-vline.
  WRITE AT 3  'Material1'.
  WRITE AT 35 'Material2'.
  WRITE AT 33 sy-vline.

ENDFORM.                    "top_of_page
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  BUILD_FCAT
*&amp;amp;---------------------------------------------------------------------*

FORM build_fcat  USING  l_field l_tab l_text.

  w_fieldcat-fieldname = l_field.
  w_fieldcat-tabname   = l_tab.
  w_fieldcat-seltext_m = l_text.
  APPEND w_fieldcat TO i_fieldcat.
  CLEAR w_fieldcat.

ENDFORM.                    " BUILD_FCAT
&lt;/CODE&gt;&lt;/PRE&gt;
regards,
Venkat.O
&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Apr 2008 04:19:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-alv-heading/m-p/3714268#M894118</guid>
      <dc:creator>venkat_o</dc:creator>
      <dc:date>2008-04-22T04:19:31Z</dc:date>
    </item>
    <item>
      <title>Re: Regarding ALV Heading</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-alv-heading/m-p/3714269#M894119</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi venkat,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;suppose i use "block_alv" in my report so its not possible for secondary window, my requirement is when primary window comes, then we double click on BELNR(Document No). thats directly goes to FB03 or FB50 T-code.........&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;so give me any other idea&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;zeni&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Apr 2008 19:21:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/regarding-alv-heading/m-p/3714269#M894119</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-25T19:21:38Z</dc:date>
    </item>
  </channel>
</rss>

