Material search by description
Hi,
we want to use TREX for material search from MM03 F4 search .
we are able to search based on material no , EAN no , but not with material description.
I dont want to use full text search field because it do the search on other fields as well.
Let me know what could be the cause that material is not getting searched by description.
Regards
Yashpal Gupta
Please see the attached screen shot.
Hi Gupta
Just refer the SCN link
TREX_Search Not working
BR
SS
Similar Messages
-
Unable to get Material No and Description from VBAP
Hi Gurus
Can anyone please help me to get material number and description from vbap table, The report is fine but I am unable to get material no and description.
regards
report ZCHGDOC_BY_SALES no standard page heading
line-size 132.
type-pools:
slis. " ALV types
Tables
tables:
cdhdr, " Change documents: Header
cdpos, " Change documents: Items
vbak, " Sales order: Header
mara, " Material No
user_addr, " User Address
vbap. " Contract order: Items
Types
types:
begin of ty_cdhdr,
objectclas like cdhdr-objectclas, " Object class
objectid like cdhdr-objectid, " Object value
changenr like cdhdr-changenr, " Document change number
username like cdhdr-username, " Changed by
udate like cdhdr-udate, " Changed on
utime like cdhdr-utime, " Changed at
tcode like cdhdr-tcode, " Transaction code
end of ty_cdhdr,
ty_it_cdhdr type ty_cdhdr occurs 0,
begin of ty_cdpos,
objectclas like cdpos-objectclas, " Object class
objectid like cdpos-objectid, " Object value
changenr like cdpos-changenr, " Document change number
tabname like cdpos-tabname, " Table name
tabkey like cdpos-tabkey, " Table key
fname like cdpos-fname, " Field name
chngind like cdpos-chngind, " Change indicator
value_new like cdpos-value_new, " New value of field
value_old like cdpos-value_old, " Old value of field
end of ty_cdpos,
ty_it_cdpos type ty_cdpos occurs 0,
begin of ty_dd03l,
tabname like dd03l-tabname,
fieldname like dd03l-fieldname,
as4local like dd03l-as4local,
as4vers like dd03l-as4vers,
rollname like dd03l-rollname,
end of ty_dd03l,
ty_it_dd03l type ty_dd03l occurs 0,
begin of ty_dd04t,
rollname like dd04t-rollname,
ddlanguage like dd04t-ddlanguage,
as4local like dd04t-as4local,
as4vers like dd04t-as4vers,
scrtext_l like dd04t-scrtext_l,
end of ty_dd04t,
ty_it_dd04t type ty_dd04t occurs 0,
begin of ty_kna1,
kunnr like kna1-kunnr, " Customer number
name1 like kna1-name1, " Customer name
end of ty_kna1,
ty_it_kna1 type ty_kna1 occurs 0,
begin of ty_user_addr,
bname like user_addr-bname, " user no
name_textc like user_addr-name_textc , " Username
end of ty_user_addr,
ty_it_user_addr type ty_user_addr occurs 0,
begin of ty_vbap,
matnr like vbap-matnr, " Material No
arktx like vbap-arktx, " Production Description
end of ty_vbap,
ty_it_vbap type ty_vbap occurs 0,
ty_text(500) type c,
ty_lines type tline,
ty_it_lines type ty_lines occurs 0,
begin of ty_merged,
vbeln like vbak-vbeln, " Sales order number
erdat like vbak-erdat, " Created on
auart like vbak-auart, " Order type
faksk like vbak-faksk, " Billing block in SD document
netwr like vbak-netwr, " Net value
waerk like vbak-waerk, " Currency
vkorg like vbak-vkorg, " Sales organisation
vtweg like vbak-vtweg, " Distribution channel
vkbur like vbak-vkbur, " Sales office
fkara like vbak-fkara, " Proposed billing type
kunnr like vbak-kunnr, " Sold-to party
bname like vbak-bname , " User No
xblnr like vbak-xblnr, " Reference
fbuda like vbkd-fbuda, " Date services rendered
username like cdhdr-username, " Changed by
udate like cdhdr-udate, " Changed on
utime like cdhdr-utime, " Changed at
tcode like cdhdr-tcode, " Transaction code
tabname like cdpos-tabname, " Table name
tabkey like cdpos-tabkey, " Table key
fname like cdpos-fname, " Field name
chngind like cdpos-chngind, " Change indicator
value_new like cdpos-value_new, " New value of field
value_old like cdpos-value_old, " Old value of field
scrtext_l like dd04t-scrtext_l, " Description of field
intnote type ty_text, " Internal note
hdrnote type ty_text, " Header note
name1 like adrc-name1, " Sold-to party name
matnr like vbap-matnr, " Material No
arktx like vbap-arktx, " Product Description
end of ty_merged,
ty_it_merged type ty_merged occurs 0,
begin of ty_vbak,
vbeln like vbak-vbeln, " Sales order number
erdat like vbak-erdat, " Created on
auart like vbak-auart, " Order type
faksk like vbak-faksk, " Billing block in SD document
netwr like vbak-netwr, " Net value
waerk like vbak-waerk, " Currency
vkorg like vbak-vkorg, " Sales organisation
vtweg like vbak-vtweg, " Distribution channel
vkbur like vbak-vkbur, " Sales office
fkara like vbak-fkara, " Proposed billing type
kunnr like vbak-kunnr, " Sold-to party
xblnr like vbak-xblnr, " Reference
objectid like cdhdr-objectid, " Change document object
end of ty_vbak,
ty_it_vbak type ty_vbak occurs 0,
begin of ty_vbkd,
vbeln like vbkd-vbeln, " Sales order number
posnr like vbkd-posnr, " Sales order item
fbuda like vbkd-fbuda, " Date services rendered
end of ty_vbkd,
ty_it_vbkd type ty_vbkd occurs 0.
Internal tables
data:
it_cdhdr type ty_it_cdhdr,
it_cdpos type ty_it_cdpos,
it_fieldcat type slis_t_fieldcat_alv,
it_kna1 type ty_it_kna1,
it_user_addr type ty_it_user_addr,
it_merged type ty_it_merged,
it_vbak type ty_it_vbak,
Material No
it_vbap type ty_it_vbap,
it_vbkd type ty_it_vbkd.
data:
wa_vbak type ty_vbak.
data:
st_tvariant like disvariant,
st_variant like disvariant.
constants:
co_as4local_a like dd03l-as4local " Active version
value 'A',
co_objectclas_verkbeleg like cdhdr-objectclas
value 'VERKBELEG',
co_posnr_initial like vbkd-posnr " Initial item number
value is initial,
co_posnr_initial_2 like vbap-posnr " Initial item number
value is initial,
co_save_u type c " User display variant
value 'U', " saving allowed.
co_trvog_0 like vbak-trvog " Sales order
value '0'.
data:
va_exit type c, " ALV display
va_tabix like sy-tabix.
selection-screen: begin of block b1 with frame title text-001.
select-options:
s_vkorg for vbak-vkorg OBLIGATORY, " Sales organisation
s_vkbur for vbak-vkbur, " Sales office
s_vtweg for vbak-vtweg, " Distribution channel
s_vbeln for vbak-vbeln, " Sales order number
s_usrnme for cdhdr-username, " Changed by
s_udate for cdhdr-udate. " Changed on
selection-screen: end of block b1,
begin of block b2 with frame title text-002.
parameters:
p_varint like disvariant-variant. " Display variant.
selection-screen: end of block b2.
Initialization
initialization.
Load display variant.
if not p_varint is initial.
move st_variant to st_tvariant.
move p_varint to st_tvariant-variant.
call function 'REUSE_ALV_VARIANT_EXISTENCE'
exporting
i_save = co_save_u
changing
cs_variant = st_tvariant.
st_variant = st_tvariant.
else.
clear st_variant.
st_variant-report = sy-repid.
endif.
at selection-screen on value-request for p_varint.
Provide display variant list for this program.
call function 'REUSE_ALV_VARIANT_F4'
exporting
is_variant = st_variant
i_save = co_save_u
importing
e_exit = va_exit
es_variant = st_tvariant
exceptions
not_found = 2.
if sy-subrc eq 2.
message id sy-msgid type 'S'
number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
else.
if va_exit eq space.
st_variant = st_tvariant.
p_varint = st_tvariant-variant.
endif.
endif.
At selection screen
at selection-screen.
Load display variant.
if not p_varint is initial.
move st_variant to st_tvariant.
move p_varint to st_tvariant-variant.
call function 'REUSE_ALV_VARIANT_EXISTENCE'
exporting
i_save = co_save_u
changing
cs_variant = st_tvariant.
st_variant = st_tvariant.
else.
clear st_variant.
st_variant-report = sy-repid.
endif.
Start of selection
Extract order details from VBAK
select vbeln erdat auart faksk netwr waerk vkorg vtweg vkbur fkara
kunnr xblnr
from vbak
into table it_vbak
where vkorg in s_vkorg
and vkbur in s_vkbur
and vbeln in s_vbeln.
if sy-subrc ne 0.
No data found for selection
message s001(zgen).
exit.
endif.
loop at it_vbak into wa_vbak.
va_tabix = sy-tabix.
wa_vbak-objectid = wa_vbak-vbeln.
modify it_vbak from wa_vbak
index va_tabix
transporting objectid.
endloop.
if sy-subrc ne 0.
No data found for selection
message s001(zgen).
exit.
endif.
loop at it_vbak into wa_vbak.
va_tabix = sy-tabix.
wa_vbak-objectid = wa_vbak-vbeln.
modify it_vbak from wa_vbak
index va_tabix
transporting objectid.
endloop.
Extract Change data
select objectclas objectid changenr username udate utime tcode
from cdhdr
into table it_cdhdr
for all entries in it_vbak
where objectclas eq co_objectclas_verkbeleg
and objectid eq it_vbak-objectid
and username in s_usrnme
and udate in s_udate.
if sy-subrc eq 0.
select objectclas objectid changenr tabname tabkey fname chngind
value_new value_old
from cdpos
into table it_cdpos
for all entries in it_cdhdr
where fname NE 'CMPRE_FLT'
and objectclas eq it_cdhdr-objectclas
and objectid eq it_cdhdr-objectid
and changenr eq it_cdhdr-changenr.
endif.
Extract customer details from KNA1
select kunnr name1
from kna1
into table it_kna1
for all entries in it_vbak
where kunnr eq it_vbak-kunnr.
---- Changes are made here -
Extract Material details from vbap
select matnr arktx
from vbap
into table it_vbap
for all entries in it_vbak
where
vbeln eq it_vbak-vbeln
and posnr eq co_posnr_initial.
-----------------End of Change ----------------------*
Extract Contract No from vbkd.
select vbeln posnr fbuda
from vbkd
into table it_vbkd
for all entries in it_vbak
where vbeln eq it_vbak-vbeln
and posnr eq co_posnr_initial.
perform merge_data tables it_cdhdr
it_cdpos
it_kna1
it_user_addr
it_merged
it_vbak
it_vbap
it_vbkd.
if it_merged[] is initial.
message s001(zgen).
exit.
endif.
Release memory no longer required.
free: it_cdhdr,
it_cdpos,
it_kna1,
it_user_addr,
it_vbak,
it_vbap,
it_vbkd.
Build field catalog for call to report function
perform build_field_catalog tables it_fieldcat.
Output report.
perform output_report tables it_fieldcat
it_merged.
*& Form merge_data
text
form merge_data tables pa_it_cdhdr type ty_it_cdhdr
pa_it_cdpos type ty_it_cdpos
pa_it_kna1 type ty_it_kna1
pa_it_user_addr type ty_it_user_addr
pa_it_merged type ty_it_merged
pa_it_vbak type ty_it_vbak
pa_it_vbap type ty_it_vbap
pa_it_vbkd type ty_it_vbkd.
Local internal tables
data:
lit_dd03l type ty_it_dd03l,
lit_dd04t type ty_it_dd04t.
Local work areas
data:
lwa_cdhdr type ty_cdhdr,
lwa_cdpos type ty_cdpos,
lwa_dd03l type ty_dd03l,
lwa_dd04t type ty_dd04t,
lwa_kna1 type ty_kna1,
lwa_user_addr type ty_user_addr,
lwa_merged type ty_merged,
lwa_vbak type ty_vbak,
lwa_vbap type ty_vbap,
lwa_vbkd type ty_vbkd.
Local variables
data:
lva_dd03l_tabix like sy-tabix,
lva_dd04t_tabix like sy-tabix.
Sort Data
sort pa_it_cdhdr by objectid changenr.
sort pa_it_cdpos by objectid changenr tabname tabkey fname.
sort pa_it_kna1 by kunnr.
sort pa_it_user_addr by bname.
sort pa_it_vbak by vbeln.
sort pa_it_vbkd by vbeln.
loop at pa_it_vbak into lwa_vbak.
clear lwa_merged.
Assign sales order fields to reporting work area
lwa_merged-vbeln = lwa_vbak-vbeln.
lwa_merged-erdat = lwa_vbak-erdat.
lwa_merged-auart = lwa_vbak-auart.
lwa_merged-faksk = lwa_vbak-faksk.
lwa_merged-netwr = lwa_vbak-netwr.
lwa_merged-waerk = lwa_vbak-waerk.
lwa_merged-vkorg = lwa_vbak-vkorg.
lwa_merged-vtweg = lwa_vbak-vtweg.
lwa_merged-vkbur = lwa_vbak-vkbur.
lwa_merged-fkara = lwa_vbak-fkara.
lwa_merged-kunnr = lwa_vbak-kunnr.
lwa_merged-bname = 1wa_user_addr-bname.
lwa_merged-xblnr = lwa_vbak-xblnr.
Assgin Material to reporting work area
lwa_merged-matnr = lwa_vbap-vbeln.
Get name of sold-to party from PA_IT_KNA1
clear lwa_kna1.
read table pa_it_kna1 into lwa_kna1
with key kunnr = lwa_vbak-kunnr
binary search.
lwa_merged-name1 = lwa_kna1-name1.
Get name from PA_it_user_addr
clear lwa_user_addr.
read table pa_it_user_addr into lwa_user_addr
with key = lwa_user_addr-bname
binary search.
lwa_merged-username = lwa_user_addr-name_textc.
Get business data from PA_IT_VBKD.
clear lwa_vbkd.
read table pa_it_vbkd into lwa_vbkd
with key vbeln = lwa_vbak-vbeln
binary search.
lwa_merged-fbuda = lwa_vbkd-fbuda.
Get Material Data
clear lwa_vbap.
read table pa_it_vbap into lwa_vbap
with key matnr = lwa_vbap-matnr
with key vbeln = lwa_vbak-vbeln
binary search.
lwa_merged-arktx = lwa_vbap-arktx.
Get internal note text for sales order
perform read_text using '0002'
'1'
lwa_merged-vbeln
'VBBK'
lwa_merged-intnote.
Get header note 1 text for sales order
perform read_text using 'Z002'
'1'
lwa_merged-vbeln
'VBBK'
lwa_merged-hdrnote.
Determine if change documents exist for sales order.
clear lwa_cdhdr.
read table pa_it_cdhdr into lwa_cdhdr
with key objectid = lwa_vbak-objectid.
if sy-subrc ne 0.
continue.
endif.
loop at pa_it_cdhdr into lwa_cdhdr
from sy-tabix.
lwa_merged-username = lwa_cdhdr-username.
lwa_merged-udate = lwa_cdhdr-udate.
lwa_merged-utime = lwa_cdhdr-utime.
lwa_merged-tcode = lwa_cdhdr-tcode.
clear lwa_cdpos.
read table pa_it_cdpos into lwa_cdpos
with key objectid = lwa_cdhdr-objectid
changenr = lwa_cdhdr-changenr
binary search.
loop at pa_it_cdpos into lwa_cdpos
from sy-tabix.
lwa_merged-tabname = lwa_cdpos-tabname.
lwa_merged-tabkey = lwa_cdpos-tabkey.
lwa_merged-fname = lwa_cdpos-fname.
lwa_merged-chngind = lwa_cdpos-chngind.
lwa_merged-value_new = lwa_cdpos-value_new.
lwa_merged-value_old = lwa_cdpos-value_old.
Get description for field - determine date element
clear lwa_dd03l.
read table lit_dd03l into lwa_dd03l
with key tabname = lwa_cdpos-tabname
fieldname = lwa_cdpos-fname
binary search.
lva_dd03l_tabix = sy-tabix.
if sy-subrc ne 0.
select single tabname fieldname as4local as4vers rollname
from dd03l
into lwa_dd03l
where tabname eq lwa_cdpos-tabname
and fieldname eq lwa_cdpos-fname
and as4local eq co_as4local_a.
if sy-subrc eq 0.
insert lwa_dd03l into lit_dd03l
index lva_dd03l_tabix.
endif.
endif.
If data element was found, get description
if not lwa_dd03l is initial.
clear lwa_dd04t.
read table lit_dd04t into lwa_dd04t
with key rollname = lwa_dd03l-rollname
ddlanguage = sy-langu
binary search.
lva_dd04t_tabix = sy-tabix.
if sy-subrc ne 0.
select single rollname ddlanguage as4local as4vers scrtext_l
from dd04t
into lwa_dd04t
where rollname eq lwa_dd03l-rollname
and ddlanguage eq sy-langu.
if sy-subrc eq 0.
insert lwa_dd04t into lit_dd04t
index lva_dd04t_tabix.
else.
lwa_dd04t-scrtext_l = 'Description for field not found'.
endif.
endif.
endif.
lwa_merged-scrtext_l = lwa_dd04t-scrtext_l.
append lwa_merged to pa_it_merged.
at end of changenr.
Only process field changes for this change document.
exit.
endat.
endloop.
at end of objectid.
Initialise work area so we know change document for order has
been processed.
clear lwa_merged.
Only process change documents for this sales order.
exit.
endat.
endloop.
endloop.
endform. " merge_data
*& Form build_field_catalog
text
form build_field_catalog tables pa_it_fieldcat type slis_t_fieldcat_alv.
data:
Local variable
lva_col_pos type slis_fieldcat_alv-col_pos,
Local structure
st_fieldcat type slis_fieldcat_alv.
lva_col_pos = 0.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname = 'PA_IT_MERGED'.
st_fieldcat-fieldname = 'VBELN'.
st_fieldcat-ref_tabname = 'VBAK'.
st_fieldcat-ref_fieldname = 'VBELN'.
st_fieldcat-row_pos = '1'.
st_fieldcat-col_pos = lva_col_pos.
append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname = 'PA_IT_MERGED'.
st_fieldcat-fieldname = 'VKBUR'.
st_fieldcat-ref_tabname = 'VBAK'.
st_fieldcat-ref_fieldname = 'VKBUR'.
st_fieldcat-row_pos = '1'.
st_fieldcat-outputlen = '6'.
st_fieldcat-col_pos = lva_col_pos.
append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname = 'PA_IT_MERGED'.
st_fieldcat-fieldname = 'VKORG'.
st_fieldcat-ref_tabname = 'VBAK'.
st_fieldcat-ref_fieldname = 'VKORG'.
st_fieldcat-row_pos = '1'.
st_fieldcat-outputlen = '6'.
st_fieldcat-col_pos = lva_col_pos.
append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname = 'PA_IT_MERGED'.
st_fieldcat-fieldname = 'KUNNR'.
st_fieldcat-ref_tabname = 'VBAK'.
st_fieldcat-ref_fieldname = 'KUNNR'.
st_fieldcat-row_pos = '1'.
st_fieldcat-col_pos = lva_col_pos.
st_fieldcat-outputlen = '6'.
append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname = 'PA_IT_MERGED'.
st_fieldcat-fieldname = 'NAME1'.
st_fieldcat-ref_tabname = 'KNA1'.
st_fieldcat-ref_fieldname = 'NAME1'.
st_fieldcat-row_pos = '1'.
st_fieldcat-outputlen = '15'.
st_fieldcat-col_pos = lva_col_pos.
append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname = 'PA_IT_MERGED'.
st_fieldcat-fieldname = 'MATNR'.
st_fieldcat-ref_tabname = 'VBAP'.
st_fieldcat-ref_fieldname = 'MATNR'.
st_fieldcat-row_pos = '1'.
st_fieldcat-col_pos = lva_col_pos.
st_fieldcat-outputlen = '6'.
append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname = 'PA_IT_MERGED'.
st_fieldcat-fieldname = 'SCRTEXT_L'.
st_fieldcat-ref_tabname = 'DD04T'.
st_fieldcat-ref_fieldname = 'SCRTEXT_L'.
st_fieldcat-row_pos = '1'.
st_fieldcat-outputlen = '20'.
st_fieldcat-col_pos = lva_col_pos.
append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname = 'PA_IT_MERGED'.
st_fieldcat-fieldname = 'UDATE'.
st_fieldcat-ref_tabname = 'CDHDR'.
st_fieldcat-ref_fieldname = 'UDATE'.
st_fieldcat-row_pos = '1'.
st_fieldcat-outputlen = '10'.
st_fieldcat-col_pos = lva_col_pos.
append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname = 'PA_IT_MERGED'.
st_fieldcat-fieldname = 'USERNAME'.
st_fieldcat-ref_tabname = 'CDHDR'.
st_fieldcat-ref_fieldname = 'USERNAME'.
st_fieldcat-row_pos = '1'.
st_fieldcat-outputlen = '6'.
st_fieldcat-col_pos = lva_col_pos.
append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname = 'PA_IT_MERGED'.
st_fieldcat-fieldname = 'FNAME'.
st_fieldcat-ref_tabname = 'CDPOS'.
st_fieldcat-ref_fieldname = 'FNAME'.
st_fieldcat-row_pos = '4'.
st_fieldcat-outputlen = '8'.
st_fieldcat-col_pos = lva_col_pos.
append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname = 'PA_IT_MERGED'.
st_fieldcat-fieldname = 'CHNGIND'.
st_fieldcat-ref_tabname = 'CDPOS'.
st_fieldcat-ref_fieldname = 'CHNGIND'.
st_fieldcat-row_pos = '1'.
st_fieldcat-outputlen = '8'.
st_fieldcat-col_pos = lva_col_pos.
append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname = 'PA_IT_MERGED'.
st_fieldcat-fieldname = 'WAERK'.
st_fieldcat-ref_tabname = 'VBAK'.
st_fieldcat-ref_fieldname = 'WAERK'.
st_fieldcat-row_pos = '1'.
st_fieldcat-outputlen = '5'.
st_fieldcat-col_pos = lva_col_pos..
append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname = 'PA_IT_MERGED'.
st_fieldcat-fieldname = 'VALUE_NEW'.
st_fieldcat-ref_tabname = 'CDPOS'.
st_fieldcat-ref_fieldname = 'VALUE_NEW'.
st_fieldcat-row_pos = '1'.
st_fieldcat-outputlen = '20'.
st_fieldcat-col_pos = lva_col_pos.
append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname = 'PA_IT_MERGED'.
st_fieldcat-fieldname = 'VALUE_OLD'.
st_fieldcat-ref_tabname = 'CDPOS'.
st_fieldcat-ref_fieldname = 'VALUE_OLD'.
st_fieldcat-row_pos = '1'.
st_fieldcat-outputlen = '20'.
st_fieldcat-col_pos = lva_col_pos.
append st_fieldcat to pa_it_fieldcat.
endform. " build_field_catalog
*& Form output_report
text
form output_report tables pa_it_fieldcat type slis_t_fieldcat_alv
pa_it_merged type ty_it_merged.
Local variables
data:
lva_formname type slis_formname,
lva_repid like sy-repid.
lva_repid = sy-repid.
lva_formname = 'ALV_USER_COMMAND'.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = lva_repid
i_callback_user_command = lva_formname
i_save = 'A'
is_variant = st_variant
it_fieldcat = pa_it_fieldcat[]
tables
t_outtab = pa_it_merged
exceptions
program_error = 1
others = 2.
endform. " output_report
*& Form alv_user_command
text
form alv_user_command using pa_ucomm like sy-ucomm
pa_selfield type slis_selfield.
Local work areas
data:
lwa_merged type ty_merged.
clear lwa_merged.
read table it_merged into lwa_merged
index pa_selfield-tabindex.
case pa_selfield-fieldname.
when 'VBELN'.
Contract Number
set parameter id 'AUN' field lwa_merged-vbeln.
call transaction 'VA03' and skip first screen.
S_BCE_68001393
when 'USERNAME'.
Username
set parameter id 'username' field lwa_merged-username.
call transaction 'S_BCE_68001393' and skip first screen.
when 'KUNNR'.
Customer number
set parameter id 'KUN' field lwa_merged-kunnr.
set parameter id 'VKO' field space.
set parameter id 'VTW' field space.
set parameter id 'SPA' field space.
call transaction 'XD03' and skip first screen.
endcase.
endform. " alv_user_command
*& Form read_text
text
form read_text using pa_id
pa_inline_count
pa_name
pa_object
pa_text.
Local internal tables
data:
lit_inlines type ty_it_lines,
lit_lines type ty_it_lines.
Local work areas
data:
lwa_lines type ty_lines.
Local variables
data:
lva_tdname like thead-tdname.
refresh: lit_inlines,
lit_lines.
lva_tdname = pa_name.
call function 'READ_TEXT_INLINE'
exporting
id = pa_id
inline_count = pa_inline_count
language = sy-langu
name = lva_tdname
object = pa_object
tables
inlines = lit_inlines
lines = lit_lines
exceptions
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
others = 7.
loop at lit_lines into lwa_lines.
concatenate pa_text
lwa_lines-tdline
into pa_text separated by space.
endloop.
endform. " read_text ENDLOOP.Hi
As per your code here:
"-------------- Changes are made here ----------------
*Extract Material details from vbap
select matnr arktx
from vbap
into table it_vbap
for all entries in it_vbak
where
vbeln eq it_vbak-vbeln
and posnr eq co_posnr_initial. " Here the condition specifies you want to select sales order items where there is no item number, which i beleive shouldnt be the case
" -----------------End of Change ----------------------
Try as below by commenting the Item Number is INITIAL condition:
select matnr arktx
from vbap
into table it_vbap
for all entries in it_vbak
where
vbeln eq it_vbak-vbeln.
"and posnr eq co_posnr_initial.
Regards
Eswar -
Hi expert,
I am trying to make custom FM for material search based on certain search criteria.
It give me error like" In unicode programs, the " " character can not appears in names, as it does here in names "LT_MATNRSEL TYPE TABLE OF BAPIMATRAM".
Also it giving option for me as use " type range of" instead of "type table of"
also when i am making changes saying it is not expected. I am pasting the sample code below.
""Local Interface:
*" IMPORTING
*" VALUE(IV_MAXROWS) TYPE BAPIMAXROW DEFAULT 100
*" VALUE(IV_MATERIAL_NBR) TYPE MATNR OPTIONAL
*" VALUE(IV_PLANT) TYPE WERKS_D
*" VALUE(IV_MATERIAL_DESC) TYPE TEXT40 OPTIONAL
*" EXPORTING
*" VALUE(EV_PLANT) TYPE WERKS
*" TABLES
*" RETURN STRUCTURE BAPIRET2
*" RT_MATNRLIST STRUCTURE BAPIMATLST
DATA: lt_matnrsel TYPE TABLE OF bapimatram,
ls_matnrsel TYPE bapimatram,
lt_matdescsel TYPE TABLE OF bapimatras,
ls_matdescsel TYPE bapimatras,
lt_plantsel TYPE TABLE OF bapimatraw,
ls_plantsel TYPE bapimatraw,
lt_return TYPE TABLE OF bapiret2,
ls_return TYPE bapiret2,
ls_matnrlist TYPE bapimatlst,
lt_generaldata TYPE TABLE OF bapimatdoa,
ls_generaldata TYPE bapimatdoa,
lt_materialvaluationdata TYPE TABLE OF bapimatdobew,
ls_materialvaluationdata TYPE bapimatdobew.
*--- Returning the plant so it can be used as a MBO attribute
ev_plant = iv_plant.
*--- fill search ranges value
*--- Material Description
IF iv_material_desc IS NOT INITIAL.
ls_matdescsel-sign = 'I'.
ls_matdescsel-option = 'CP'.
ls_matdescsel-descr_low = iv_material_desc.
APPEND ls_matdescsel TO lt_matdescsel.
ENDIF.
IF iv_material_nbr IS NOT INITIAL.
ls_matnrsel-sign = 'I'.
ls_matnrsel-option = 'EQ'.
ls_matnrsel-matnr_low = iv_material_nbr.
APPEND ls_matnrsel TO lt_matnrsel.
ENDIF.
*--- Material Description
ls_plantsel-sign = 'I'.
ls_plantsel-option = 'EQ'.
ls_plantsel-plant_low = iv_plant.
APPEND ls_plantsel TO lt_plantsel.
*--- call BAPI
CALL FUNCTION 'BAPI_MATERIAL_GETLIST'
EXPORTING
maxrows = iv_maxrows
TABLES
matnrselection = lt_matnrsel
materialshortdescsel = lt_matdescsel
plantselection = lt_plantsel
matnrlist = lt_matnrlist
return = lt_return.
Thanks And Regards
Ranjeet SinghThis post is successful. Only error was in formatting. In my screen there are some dots which was creating problems.
Thanks for Reply.
Ranjeet Singh. -
How do i get a Base code (Material) from a description through BOM?
Hi,
the right base code(material) for the production order '68647' is 100827 descriotion 'PIPE BASIC' .
my requirement is i have an production order and relevent plant, how do i get a basecode ?
from my previous finding i read that All BOMs will have are associated with the description.
Targeting this description will always return the right base code for the order.
but i did not get any idea out of it.
Please tell me how do i get a Base code (Material) from a description through BOM?
Thanks in advance.
Edited by: gulab zehra on Sep 22, 2009 9:17 AMHi Keven,
I had a look at the example "programmaticbuild2.vi" that you can find at this link:
in this application the error that eventually comes out from the "BuildTargetBuildSpecification.vi" is written in the error_log.txt through a case structure.
You can change the code inside the Error case if you want to handle the error in a different way. For example you could connect the error wire to a General Error Handler, that displays a message if an error occurs, or you could light up a led that inform you the error has occurred.
Best regards,
Serena M. -
CRM 7.0 Material Search and MDM
How could MDM be used in CRM 70 , in order to have a better/quicker material search functionality ? can the same be done for ECC ( pre-requisite, having all the characteristic defined in MDM) . Any presentation on the topic will help . Thank you.
Hi Christophe
this can be done. You can call MDM web services for either doing a Free form search or even run a MDM matching strategy to find potential duplicates defined based on rules in MDM.
In one of our projects we have used Web services call from CRM ecommerce portal to MDM for doing a Customer search.
Thanks-Ravi -
How to search show descriptions in Podcasts
Most podcasts provide a show description accessible by right clicking the show. My question is how to search these descriptions by keyword. Is this possible? If so how?
Thanks!iTunes will search the Description if you turn that column on in your current view. Right-click on the column headings, then select "Description" to mark it with a check.
-
Querying characteristics in Enhanced Material Search
Hi Glen,
I'm glad you are interested in the Enhanced Material Search. I am the solution manager responsible for this function. Your requirement is well known, but so far I don't see a simple, standard worthy solution to allow a search for (hundreds or even thousants of) characteristic values while keeping the user interface simple when selecting or displaying the desired value(s).
Maybe you have an idea for an appropriate customer specific solution that fits your own requirements. Therefore you can use some Business Add-Ins to create customer specific search criteria (see my blog /people/ingo.woesner/blog/2009/03/05/enhanced-material-search-with-creation--part-4-how-to-create-new-search-criteria-wo-modification). Using the badi described therein you could create a new search criteria "Classicification Characteristics " and select specific characteristics. Of course you have to add all characteristics to the SES business object BUS1001006 before, as you have mentioned.
More Business Add-ins for various topics are mentioned in my other blog http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/12999. [original link is broken] [original link is broken] [original link is broken]
I hope this brings you a step further. In case you need more guidance, you can give me a call on +49 6227 771737, and we will then find a time for a webinar/conference call. I will try to get a developer invited as well.
Best regards,
Ingo
Dr. Ingo Woesner
Solution Manager
IS Trading Industries
Wholesale Distribution
SAP AG
Neue Bahnhostrasse 21
66386 St. Ingbert, Germany
T +49 6227 7-71737
F +49 6227 78-28405
M +49 173 309 0119
P +49 6227 7-66261Thanks for your response, Ingo.
Whilst I really like the current design for simple requirements (extend a structure, change some config and, voila!, you have new search criteria), when the requirements become more complicated, it would be nice to have more flexibility to dynamically influence which index is used to do the search. The results of the search could then just feed into the results view as per normal.
Here are a few ideas which are based on my own situation but might be suitable and/or scalable to other situations. I haven't put too much thought into them so they may or may not be feasible.
As mentioned in my original post, we only have a small number of variant classes for which our material variants are created. My thought it that we could create a separate index and business object class for each variant class (all the indexes would be very similar to BUS1001006 but have their own extra attributes for their own characteristics) and a dropdown field on the search view that allows you to choose the variant class via which you want to search. Changing the selection in the dropdown field would change the available search fields in the view and when the search is executed the index that corresponds to the chosen variant class would used for the search.
I'm happy to discuss this further to refine the requirements and/or design.
Regards
Glen -
How can I create SC without material number only description?
hi,
I have a problem . I want to create SC without material number only description.
How can I create SC only use description.
Thanks for your help.Hi
Use the 'Describe Requirement' option in the Shopping cart creation screen.
Regards
Reddy -
Configuring the Enhanced material search in sales order
I am trying to add our own fields to the extended material search help scren in VA02.
- From the config, logistics-generail/material master/enhanced material search/define search parameters - and in here added the custom fields, whihc happend to be 'Z' fields that we have added to the material characteristics.
- the new fields then appear on the extended material seach screen in VA02, but they don;t retain the data inputtted, or work in the actual search
- AS part of this work we have also configured SES Material Master Business Object BUS1001006 - and setup our own 'Z@ class, whihc adds these 'Z' attributes to the material search help.
- THis all works on the materials search help, but not on the extended material help screen
I have also looked at the BADIs part of the enhanced search help, but these only appear to be called once the results have been extracted. So can anyone give any gudience on how we get the new fields in this screen actually working..The problem was simple. The table include used field names ZZ, where as all the other besoke fields and data elements were just Z, so once we sync'd everything it magically worked
-
Search site description not showing results
I have the site description set (from site setting-> title, description and logo) in the site but when i search the description, the site won't show up in results. we have the url covered in content source and crawl rule, and a full crawl ran, actually
the page content can be searchable in the site.
any idea?Hi Zhongmingzhao,
As per my understanding, you had created site with description and when you search with created site description, you are not getting search results.
Had you tried searching any documents in the site.
Is there crawled propertied mapped.
I recommend try searching with site name or any documents inside the site, hope that could help you.
Thanks.
Badri -
Enhanced material search with creation
hi guys,
i need your support to start using the enhanced material search in SD environment.
I´ve done the settings in theconfiguration guide mention based on ECC 6.0 EHP2,
but i didnt get the button to start the search in VA01 / VA21 etc !? don´t know why.
Is there anyone having the same problem ?
Isn´t it possible to run this funktion without TREX Search Engine, do i really need
to setup a new server ?!
Looking forward for your help.
Thanks
CarstenHave you gone through this blog
Enhanced Material Search - Part 5: Major improvements in Enhancement Package 5
posted by Ingo Woesner
G. Lakshmipathi -
Intrastat2007 Missing Functionality:commodity code search by description
Hello,
it would be very helpful that the customer can the commodity code search by description.
(Item Master data -> Intrastat Settings)
Kind Regards
Doreen CieslewskiHi,
I don't seem a search by description would be possible in a database to be handled by an application as Business One. Descriptions can be very long. This kind of search is more suitable for search engines in internet
One thing that you can do is entering in the Commodity Code table,the upper levels codes 2, 4 or 6 that contain more generic descriptions. So you can do any use of the search function
Note 1241606
There are several sites in the internet that provides this kind of search engines:
http://www.businesslink.gov.uk/bdotg/action/tariff -
Enhanced Material search - more than 100 results?
Is there any way to return more than 100 results in the enhanced material search?
Thanks!Yes this possible - th'o config.
When you do your initial set-up for Configure & Activate Enhanced Search with creation -
> (SPRO>SD>Basis Func-->Add. Func. for Mat) you can specify the search max entries. In your current system, looks like it is defaulted as 100 for that Sales Order Type. You can try changing this & it should work.
Regards,
Andy -
Hi Gurus,
I am working in a portal related project, Where i need to material master search.
Any suggestions on what would be Important Search parameters i can use in searching for material master Numbers?
Thank you
ANilHi Anil,
Look, Every material has one division, and is assigned to sales area, so i will suggest,
Go for
Mat Description,
Sales Org,
Division,
Distribution channel ( SODCDiv= Sales Area)
Plant
Storage Location
Reward Point if helpful.
Thanks,
raja -
Material group long description
In the item overview section of a PO we're only able to see the short description of a material group when a search is done. However, when we go to the item detail section of the PO and do a search on the material group field there, we get both the short and long description. Is there a way to get both the long and short descriptions when you do a search on any material group field?
Hi Eric;
I'm in version ECC 7 - and both the short/long description are available at the item search by material group in the PO. What version are you on? Have you looked through SAP Notes (p.k.a. OSS Notes) for the patch that may resolve this issue?
Good luck!
Edited by: DeLong Gina on Jan 8, 2008 6:48 PM
Edited by: DeLong Gina on Jan 8, 2008 6:52 PM
Maybe you are looking for
-
SRM 7.0 New custom fields added to view do not appear in the component conf
Hi I added two custom fields to the view V_QTE_DOFC_I_DESC of the WD componenet /SAPSRM/WDC_DODC_QTE_I_DS. This view gets called when bidder is trying to create a bid and clicks on add Substitute Item in the Item tab. This view is simply a popup wind
-
Hi everyone, Here is the 411 about my network Your Network Magic Version installed= : 5.5.9195.0-Pure0 The type of connection to the Internet, like DSL, Cable, or Verizon FIOS Internet Connection: = Comcast Cable 20K up / 5K down The Brand of Mode
-
The following is the entire message: Couuld not initialize the application's security component. The most likely cause is problems with files in your application's profile directory. Please check that this directory has no read/write restrictions and
-
For Japanies Currency Yen - Getting Warnig message Decimal places not permi
Hi SRM, For Japanies Currency Yen - Getting Warnig message Decimal places are not permitted, while creating Shopping Cart. Could you please provide solution for this. If you provied OSS notes on Japanies currencies ( > Support Pack -14). Thanks in ad
-
Remote enabled Function module for a simple report program
Hi Experts , I have to convert a Simple list report program to a remote enabled function module, so that it can be used from the online applications. One option that comes to my mind is to create some import parameters for all the selection screen fi