Question:
Hi!
I need to load long text label (more than 60 characters) into characteristic. It's wider than long text length. How can I do it
BW 3.1 SP4
kindest regards
Answer:
you can't unless you split it up over 2 InfoObjects
Answer:
thank you 4 solution, but in BEx such combination of characteristics will be in separate cells
Answer:
I know... unless you concatenate them using VB
Answer:
Helo.
I know another workaround - it's a little bit difficult but works: use conversion exits! (I got this idea from another post here in sapfans)
Let's say your material (0MATERIAL) has a 100-character long description too (uploaded from flat file).
1, Create a new infoobject (as long as the length of material) /ZMATERIAL/ and set a newly developed conversion exit to it. (ZTEST, code in point 5) Long description of 0MATERIAL will be the output value of this infoobject.
2, Create 2 infoobjects - they will store your description split up. /ZDESC1, ZDESC2/
3, Make these 3 infoobjects attribute of material
4, When uploading master data, fill ZMATERIAL with 0MATERIAL value, split description into ZDESC1, ZDESC2.
5, Create conversion exit function module (just example, I'm not in front of the system)
function CONVERSION_EXIT_ZTEST_INPUT.
...
INPUT = OUTPUT.
endfunction.
function CONVERSION_EXIT_ZTEST_OUTPUT.
...
tables /BI0/PMATERIAL.
select single * from /BI0/PMATERIAL
where MATERIAL = INPUT and
OBJVERS = 'A'.
concatenate /BI0/PMATERIAL-ZDESC1
/BI0/PMATERIAL-ZDESC2
into OUTPUT.
endfunction.
6, When you want to see the description of 0MATERIAL turn on display attribute ZMATERIAL which will show long description of 0MATERIAL.
I don't say it's an easy-to-understand solution but I hope somebody can use it
Bye,
gerist
Answer:
Another way.. but it only works on the web queries is to create a "ZMATERIAL" table that contains a CHAR 255 field. Then, use table interface to intercept the formating of your 0MATERIAL characteristic and replace with Z table decription via the CHARACTERISTIC_CELL method.
ie.
DATA: ZMAT_LONG_DESC TYPE ZMATERIAL.
if I_IOBJNM = 'OMATERIAL'.
Select Single * From ZMATERIAL Into ZMAT_LONG_DESC
Where MATERIAL EQ I_CHAVL_EXT.
if sy-subrc NE 0.
c_cell_content = 'No description'.
else.
c_cell_content = ZMAT_LONG_DESC-MYLONGTEXT.
endif.
Mark.
_________________
MV
Answer:
@ gerist: sweet solution!
Answer:
Hi gerist,
I did follow your instruction for storing the text longer than 60. It works ok. However, when I produced the report using BEX analyser the text show only 60 Chars. What else I miss /left out?
Best Regards,
Pam