2008 Aug 17 11:07 AM
Hi All,
I am using field symbol to point at dynamic internal table. Now i want to fetch data based on dynamic internal table pointed by field symbol using for all entries .
The system is showing error message as when i tried to use for all entries code as
The specified type has no structure and therefore no component called "KNUMH" . . . .
BEGIN OF ty_konp,
knumh TYPE knumh,
kappl TYPE kappl,
kbetr TYPE kbetr_kond,
konwa TYPE konwa,
kpein TYPE kpein,
kmein TYPE kmein,
loevm_ko TYPE loevm_ko,
END OF ty_konp.
DATA: it_final TYPE TABLE OF ty_final,
it_konp TYPE TABLE OF ty_konp .
start-of-selection.
CREATE DATA dref TYPE TABLE OF (p_contab).
ASSIGN dref->* TO <fs>.
SELECT *
INTO CORRESPONDING FIELDS OF TABLE <fs>
FROM (p_contab) " dynamic internal table from selection screen
WHERE kschl = p_kschl .
IF sy-subrc NE 0 .
ENDIF.
IF NOT <fs> IS INITIAL.
SELECT knumh
kappl
kbetr
konwa
kpein
kmein
loevm_ko
FROM konp
INTO CORRESPONDING FIELDS OF TABLE it_konp
FOR ALL ENTRIES IN <fs>
WHERE knumh = <fs>-knumh .
if sy-subrc ne 0.
endif.
Please provide me with solution.
Thanks & Regards,
Sunil
2008 Aug 17 11:35 AM
You can do this..
DATA: CONDITION TYPE STRING.
....
....
IF NOT <fs> IS INITIAL.
CONDITION = 'KNUMH = <FS>-KNUMH'.
SELECT knumh
kappl
kbetr
konwa
kpein
kmein
loevm_ko
FROM konp
INTO CORRESPONDING FIELDS OF TABLE it_konp
FOR ALL ENTRIES IN <fs>
WHERE (CONDITION). "knumh = <fs>-knumh .
if sy-subrc ne 0.
endif.
ENDIF.
it works , i checked it.
2008 Aug 17 11:35 AM
You can do this..
DATA: CONDITION TYPE STRING.
....
....
IF NOT <fs> IS INITIAL.
CONDITION = 'KNUMH = <FS>-KNUMH'.
SELECT knumh
kappl
kbetr
konwa
kpein
kmein
loevm_ko
FROM konp
INTO CORRESPONDING FIELDS OF TABLE it_konp
FOR ALL ENTRIES IN <fs>
WHERE (CONDITION). "knumh = <fs>-knumh .
if sy-subrc ne 0.
endif.
ENDIF.
it works , i checked it.