2008 Aug 12 7:15 AM
hi friends,
I have following code......
data:wa_matnr like j_1iexcdtl-matnr.
data: l_name1 like thead-tdname.
data:p_num2 type string.
data:p_matnr type matnr.
data:p_vkorg type vkorg.
data:p_vtweg type vtweg.
read table in_tab with key 'J_1IEXCDTL-MATNR'.
move in_tab-value to wa_matnr.
call function 'CONVERSION_EXIT_ALPHA_INPUT'
exporting
input = wa_matnr
importing
output = wa_matnr
.
select single matnr vkorg vtweg from mvke into (p_matnr,p_vkorg,p_vtweg) where matnr = wa_matnr.
concatenate p_matnr p_vkorg p_vtweg into l_name1.
call function 'READ_TEXT'
exporting
client = sy-mandt
id = '0001'
language = sy-langu
name = l_name1
object = 'MVKE'
tables
lines = tbl_lines
exceptions
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
wrong_access_to_archive = 7
others = 8.
.
if sy-subrc eq 0.
loop at tbl_lines.
write tbl_lines-tdline.
if tbl_lines-tdline ne space.
p_num2 = tbl_lines-tdline.
exit.
endif.
endloop.
endif.
refresh tbl_lines.
read table out_tab with key 'J_1IEXCDTL-MAKTX'.
move p_num2 to out_tab-value.
modify out_tab index sy-tabix.
I'm displaying sales text maintained in material master.
Problem is tbl_lines-tdline is reading only first line eventhough they have maintained continuous text....
How to get all the text
hi ilesh,
better to close this thread now......will open new thread for better understanding
2008 Aug 12 7:23 AM
how did u declare internal table 'tbl_lines'?
it should be with header line.
Regards,
Aparna Gaikwad
2008 Aug 12 7:25 AM
hi aparna,
ya declared as follow only......
data: begin of tbl_lines occurs 0.
include structure tline.
data: end of tbl_lines.
2008 Aug 12 7:31 AM
hi,
In the loop instead of EXIT use CONTINUE.
loop at tbl_lines.
write tbl_lines-tdline.
if tbl_lines-tdline ne space.
p_num2 = tbl_lines-tdline.
CONTINUE "exit.
endif.
endloop.
endif.
OR
USE concatenate instead of write
DATA : V_TEXT TYPE STRING
loop at tbl_lines.
CONCATENATE V_TEXT tbl_lines-tdline into V_TEXT separated by space.
endloop.
Edited by: krishna prasad on Aug 12, 2008 8:32 AM
2008 Aug 12 7:35 AM
friends,
-
>loop at tbl_lines.
In debugging, tbl_lines here only it's reading single line..........
2008 Aug 12 7:27 AM
Hi,
Before you do this
loop at tbl_lines.
write tbl_lines-tdline.
if tbl_lines-tdline ne space.
p_num2 = tbl_lines-tdline.
exit.
endif.
endloop.
endif.
check count of lines in tbl_lines, in debugging mode.
As soon as you write first line, i think you are exiting the loop.
That may be the problem, that you see only one line in output.
Regards
Meenakshi
2008 Aug 12 7:37 AM
Hi Hosmath,
DATA:WA_MATNR LIKE J_1IEXCDTL-MATNR.
DATA: L_NAME1 LIKE THEAD-TDNAME.
DATA:P_NUM2 TYPE STRING.
DATA:P_MATNR TYPE MATNR.
DATA:P_VKORG TYPE VKORG.
DATA:P_VTWEG TYPE VTWEG.
READ TABLE IN_TAB WITH KEY 'J_1IEXCDTL-MATNR'.
MOVE IN_TAB-VALUE TO WA_MATNR.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = WA_MATNR
IMPORTING
OUTPUT = WA_MATNR.
SELECT SINGLE MATNR VKORG VTWEG FROM MVKE INTO (P_MATNR,P_VKORG,P_VTWEG) WHERE MATNR = WA_MATNR.
CONCATENATE P_MATNR P_VKORG P_VTWEG INTO L_NAME1.
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
ID = '0001'
LANGUAGE = SY-LANGU
NAME = L_NAME1
OBJECT = 'MVKE'
TABLES
LINES = TBL_LINES
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8.
.
IF SY-SUBRC EQ 0.
Commented EXIT statement...
*Remove below EXIT statement..due to this it exit from the loop after printing first line of TBL_LINES
LOOP AT TBL_LINES.
WRITE TBL_LINES-TDLINE.
IF TBL_LINES-TDLINE NE SPACE.
P_NUM2 = TBL_LINES-TDLINE.
* EXIT.
ENDIF.
ENDLOOP.
ENDIF.
REFRESH TBL_LINES.
READ TABLE OUT_TAB WITH KEY 'J_1IEXCDTL-MAKTX'.
MOVE P_NUM2 TO OUT_TAB-VALUE.
MODIFY OUT_TAB INDEX SY-TABIX.Hope it will solve your problem..
Thanks & Regards
ilesh 24x7
2008 Aug 12 7:46 AM
no friend you didn't get me......
right after the function module read_text......
LOOP AT TBL_LINES.----->this TBL_LINES has taken only single line........whole text is not populated here only ....that's the problem.
2008 Aug 12 10:21 AM
Hi,
LOOP AT TBL_LINES.
WRITE TBL_LINES-TDLINE.
IF TBL_LINES-TDLINE NE SPACE.
P_NUM2 = TBL_LINES-TDLINE.
ENDIF.
ENDLOOP.
ENDIF.
REFRESH TBL_LINES.
READ TABLE OUT_TAB WITH KEY 'J_1IEXCDTL-MAKTX'.
MOVE P_NUM2 TO OUT_TAB-VALUE.
MODIFY OUT_TAB INDEX SY-TABIX.
I removed the EXIT.
It is passing only last line to out_tab-value eventhough I got all the texts in TBL_LINES.
How to get all the lines to my out_tab-value.
2008 Aug 12 10:47 AM
Hi Hosmath,
I am not sure exactly wht u need but try below code it will help you out... For moving all the TDLINE of Table TBL_LINES u need to update the Table OUT_TAB withing the loop... Check out below code and modify according to ur exact need...
LOOP AT TBL_LINES.
WRITE TBL_LINES-TDLINE.
IF TBL_LINES-TDLINE NE SPACE.
P_NUM2 = TBL_LINES-TDLINE.
* Inserted below 3 line of code here
READ TABLE OUT_TAB WITH KEY 'J_1IEXCDTL-MAKTX'.
MOVE P_NUM2 TO OUT_TAB-VALUE.
MODIFY OUT_TAB INDEX SY-TABIX.
ENDIF.
ENDLOOP.
REFRESH TBL_LINES.Hope it will solve your problem..
Thanks & Regards
ilesh 24x7
2008 Aug 12 11:09 AM
hi ilesh,
better to close this thread now......will open new thread for better understanding
2008 Aug 12 7:44 AM
Hi,
I have used READ_TEXT for DOC_ITEM.This is for F-02.
Here is an example.Hope this will be helpful to you.
REPORT zbank_voucher.
TABLES: bseg,bkpf,skat,spell.
TYPES: BEGIN OF i_bseg,
bukrs TYPE bseg-bukrs,
belnr TYPE bseg-belnr,
gjahr TYPE bseg-gjahr,
hkont TYPE bseg-hkont,
kunnr TYPE bseg-kunnr,
lifnr TYPE bseg-lifnr,
sgtxt TYPE bseg-sgtxt,
shkzg TYPE bseg-shkzg,
wrbtr TYPE bseg-wrbtr,
dmbtr TYPE bseg-dmbtr,
kostl TYPE bseg-kostl,
aufnr TYPE bseg-aufnr,
prctr TYPE bseg-prctr,
hbkid TYPE bseg-hbkid,
END OF i_bseg.
TYPES: BEGIN OF i_bkpf,
bukrs TYPE bkpf-bukrs,
belnr TYPE bkpf-belnr,
gjahr TYPE bkpf-gjahr,
budat TYPE bkpf-budat,
bldat TYPE bkpf-bldat,
blart TYPE bkpf-blart,
kursf TYPE bkpf-kursf,
waers TYPE bkpf-waers,
monat TYPE bkpf-monat,
END OF i_bkpf.
TYPES: BEGIN OF i_skat,
saknr TYPE skat-saknr,
txt50 TYPE skat-txt50,
END OF i_skat.
TYPES: BEGIN OF i_kna1,
kunnr TYPE kna1-kunnr,
name1 TYPE kna1-name1,
END OF i_kna1.
TYPES: BEGIN OF i_lfa1,
lifnr TYPE lfa1-lifnr,
name1 TYPE lfa1-name1,
END OF i_lfa1.
TYPES:BEGIN OF i_payr,
zbukr TYPE payr-zbukr,
hbkid TYPE payr-hbkid,
chect TYPE payr-chect,
lifnr TYPE payr-lifnr,
vblnr TYPE payr-vblnr,
gjahr TYPE payr-gjahr,
END OF i_payr.
DATA: BEGIN OF it_final OCCURS 10,
bukrs TYPE bseg-bukrs,
belnr TYPE bseg-belnr,
gjahr TYPE bseg-gjahr,
hkont TYPE bseg-hkont,
lifnr TYPE bseg-lifnr,
kunnr TYPE bseg-kunnr,
name1 TYPE kna1-name1,
txt50 TYPE skat-txt50,
budat TYPE bkpf-budat,
bldat TYPE bkpf-bldat,
blart TYPE bkpf-blart,
kursf TYPE bkpf-kursf,
shkzg TYPE bseg-shkzg,
debit TYPE bseg-wrbtr,
credit TYPE bseg-wrbtr,
ldebit TYPE bseg-dmbtr,
lcredit TYPE bseg-dmbtr,
kostl TYPE bseg-kostl,
sgtxt TYPE bseg-sgtxt,
aufnr TYPE bseg-aufnr,
prctr TYPE bseg-prctr,
hbkid TYPE bseg-hbkid,
waers TYPE bkpf-waers,
monat TYPE bkpf-monat,
zbukr TYPE payr-zbukr,
chect TYPE payr-chect,
vblnr TYPE payr-vblnr,
END OF it_final.
DATA: it_bseg TYPE TABLE OF i_bseg INITIAL SIZE 10,
wa_bseg TYPE i_bseg.
DATA: it_skat TYPE TABLE OF i_skat INITIAL SIZE 10,
wa_skat TYPE i_skat.
DATA: it_bkpf TYPE TABLE OF i_bkpf INITIAL SIZE 10,
wa_bkpf TYPE i_bkpf.
DATA: it_kna1 TYPE TABLE OF i_kna1 INITIAL SIZE 10,
wa_kna1 TYPE i_kna1.
DATA: it_lfa1 TYPE TABLE OF i_lfa1 INITIAL SIZE 10,
wa_lfa1 TYPE i_lfa1.
DATA: it_payr TYPE TABLE OF i_payr INITIAL SIZE 10,
wa_payr TYPE i_payr.
DATA: sdebit TYPE bseg-wrbtr,
scredit TYPE bseg-wrbtr,
ddebit TYPE bseg-dmbtr,
dcredit TYPE bseg-dmbtr,
word1(100) TYPE c,
word2(100) TYPE c,
num1(20) TYPE c,
word TYPE pc207-betrg,
text(20) TYPE c,
txtid(4) TYPE c,
a(10),
b(10),
var TYPE thead-tdname,
num(10),
fi(4) TYPE c,
count TYPE i.
DATA: BEGIN OF item OCCURS 1,
belnr TYPE bkpf-belnr,
blart TYPE bkpf-blart,
END OF item.
DATA: itab LIKE tline OCCURS 10 WITH HEADER LINE.
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE tit1.
SELECTION-SCREEN SKIP.
PARAMETERS: docno TYPE bkpf-belnr,
code TYPE bkpf-bukrs,
year TYPE bkpf-gjahr,
dtype TYPE bkpf-blart.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN END OF BLOCK blk1.
INITIALIZATION.
GET PARAMETER ID 'BLN' FIELD num.
docno = num.
GET PARAMETER ID 'GJR' FIELD fi.
year = fi.
code = '1000'.
tit1 = 'SELECTION-CRITERIA'.
count = 0.
START-OF-SELECTION.
SELECT bukrs
belnr
gjahr
budat
bldat
blart
kursf
waers
monat
FROM bkpf
INTO TABLE it_bkpf
WHERE belnr = docno
AND bukrs = code
AND gjahr = year
AND blart = dtype.
LOOP AT it_bkpf INTO wa_bkpf.
a = wa_bkpf-blart.
ENDLOOP.
SELECT SINGLE ltext FROM t003t INTO text WHERE blart = a
AND spras = 'EN'.
IF sy-subrc EQ 0.
SELECT bukrs
belnr
gjahr
hkont
kunnr
lifnr
sgtxt
shkzg
wrbtr
dmbtr
kostl
aufnr
prctr
hbkid
FROM bseg
INTO TABLE it_bseg
FOR ALL ENTRIES IN it_bkpf
WHERE belnr = it_bkpf-belnr
AND bukrs = it_bkpf-bukrs
AND gjahr = it_bkpf-gjahr.
ELSE.
MESSAGE 'No Data Selected' TYPE 'I'.
EXIT.
ENDIF.
SELECT saknr
txt50
FROM skat
INTO TABLE it_skat
FOR ALL ENTRIES IN it_bseg
WHERE saknr = it_bseg-hkont
AND spras = 'EN'.
SELECT kunnr
name1
FROM kna1
INTO TABLE it_kna1
FOR ALL ENTRIES IN it_bseg
WHERE kunnr = it_bseg-kunnr.
SELECT lifnr
name1
FROM lfa1
INTO TABLE it_lfa1
FOR ALL ENTRIES IN it_bseg
WHERE lifnr = it_bseg-lifnr.
SELECT zbukr
hbkid
chect
lifnr
vblnr
gjahr
FROM payr
INTO TABLE it_payr
FOR ALL ENTRIES IN it_bseg
WHERE zbukr = it_bseg-bukrs
AND lifnr = it_bseg-lifnr
AND vblnr = it_bseg-belnr
AND gjahr = it_bseg-gjahr.
SELECT SINGLE tdid FROM stxl INTO txtid WHERE tdobject = 'DOC_ITEM'
AND tdspras = 'EN'.
CONCATENATE code docno year txtid+1(3) INTO var.
CALL FUNCTION 'READ_TEXT'
EXPORTING
client = sy-mandt
id = txtid
language = sy-langu
name = var
object = 'DOC_ITEM'
ARCHIVE_HANDLE = 0
LOCAL_CAT = ' '
IMPORTING
HEADER =
TABLES
lines = itab[]
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
not_found = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT it_final.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'HEADER_TEXT'
function = 'SET'
type = 'TOP'
window = 'MAIN'.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'CONTINUOUS_TEXT'
function = 'SET'
type = 'BODY'
window = 'MAIN'.
endloop.
Using this i got all the Continuos Text Data.
with Regards,
Sharmishta.
| User | Count |
|---|---|
| 6 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |