‎2006 Mar 14 12:02 PM
Hi all,
im getting some problems with the program when im trying to achieving this
select all LIFSP from table TVLSP for LFART eq ' LF'
get description from table TVLST
i wrote the code like this.
FORM f_extract_delivery_blocks .
CLEAR i_tvlsp.
REFRESH i_tvlsp.
SELECT lifsp lfart INTO TABLE i_tvlsp
FROM tvlsp
WHERE lfart EQ c_lf. " c_lf value LF
IF sy-subrc NE 0.
PERFORM f_send_message USING 'TVLSP'.
RETURN.
ENDIF.
select spras lifsp vtext into corresponding fields of table i_tvlst
from tvlst
for all entries in i_tvlsp
where lifsp eq i_tvlsp-lifsp.
If sy-subrc = 0.
sort i_tvlst by lifsp vtext.
else.
PERFORM f_send_message USING 'TVLST'.
RETURN.
endif.
Transfer to the consolidated table
LOOP AT i_tvlsp.
CLEAR : i_cons_tab.
MOVE c_lf TO i_cons_tab-id.
MOVE i_tvlsp-lifsp TO i_cons_tab-dlb.
read table i_tvlst with table key lifsp = c_lf.
if sy-subrc = 0.
move i_tvlst-spras to i_cons_tab-spras.
MOVE i_tvlst-vtext TO i_cons_tab-text.
endif.
APPEND i_cons_tab.
ENDLOOP.
im getting error like
The declaration for the key field "VTEXT" is incomplete. However,"VTEXT" is is contained in the key of table "I_TVLST". and must be filled.
2)
SAP Config Table - TVAPT - Extract only Z prefixed values and text. how can extract value pstyv from table tvapt where pstyv starts with z.
could somebody help me with this.
thanks,
kiran.
‎2006 Mar 14 12:20 PM
Hi Kiran,
1. Couldn't figure out your first error.
2.SAP Config Table - TVAPT - Extract only Z prefixed values and text. how can extract value pstyv from table tvapt where pstyv starts with z.
You can extract field values starting with Z* with the following code.
RANGES range for tvapt-pstyv.
range-sign = 'I'.
range-option = 'CP'.
range-low = 'Z*'.
APPEND range.
TABLES tvapt.
SELECT * FROM tvapt INTO TABLE itab WHERE pstyv IN range.Regards,
Wenceslaus.
‎2006 Mar 14 12:09 PM
Hi Kiran.
instead of read, use Loop with where condition..dat works.
also for 2nd query u can use select **** where pstyv like 'Z%'.
Hope it helps.
Regards,
Bikash
‎2006 Mar 14 12:12 PM
I'll try to answer the secong question first.
do like this
select *
from tvapt
into table t_tvapt
where pstyv like 'Z%'.
Sample usage of like statement:
PARAMETERS srch_str(20) TYPE c.
CONCATENATE '%' srch_str '%' INTO srch_str.
DATA text_tab TYPE TABLE OF doktl.
SELECT *
FROM doktl
INTO TABLE text_tab
WHERE doktext LIKE srch_str.
REgards,
Ravi
‎2006 Mar 14 12:20 PM
Hi Kiran,
1. Couldn't figure out your first error.
2.SAP Config Table - TVAPT - Extract only Z prefixed values and text. how can extract value pstyv from table tvapt where pstyv starts with z.
You can extract field values starting with Z* with the following code.
RANGES range for tvapt-pstyv.
range-sign = 'I'.
range-option = 'CP'.
range-low = 'Z*'.
APPEND range.
TABLES tvapt.
SELECT * FROM tvapt INTO TABLE itab WHERE pstyv IN range.Regards,
Wenceslaus.
‎2006 Mar 14 12:30 PM
Regarding the first question of yours, the error is something related to the declaration, so paste your declaration of the variables.
And one more thing is that when you use the for all entries statement,
you better check for initial before the select.
if not i_tvlst[] is initial.
select spras lifsp vtext into corresponding fields of table i_tvlst
from tvlst
for all entries in i_tvlsp
where lifsp eq i_tvlsp-lifsp.
Endif.