Доброе время суток! В общем, есть кусок кода. Алгоритм выбора суммы по показателю. Code:
Data: I_SUM LIKE ZTAXREGT OCCURS 0 WITH HEADER LINE.
DATA:
FNAME(30).
FIELD-SYMBOLS:
<SUM> LIKE I_SUM-HSL01,
<REP_SUM> LIKE I_SUM-HSL01.
.....
DATA: begin of itab2 occurs 0,
HIER_KEY like J_3RFTAX_OBJSEL-HIER_KEY,
NODE_CODE like J_3RFTAX_OBJSEL-NODE_CODE,
RTAXOBJ LIKE J_3RFTAX_OBJSEL-LOW,
RTAXOBJ_HIGH like J_3RFTAX_OBJSEL-HIGH,
LOW like J_3RFTAX_OBJSEL-LOW,
HIGH like J_3RFTAX_OBJSEL-HIGH,
HSL like ZTAXREGT-HSLVT,
LINENUM like J_3RFTAX_OBJSEL-LINENUM.
DATA: end of itab2.
....
SELECT SUM( HSL01 ) AS HSL01 SUM( HSL02 ) AS HSL02
SUM( HSL03 ) AS HSL03 SUM( HSL04 ) AS HSL04
SUM( HSL05 ) AS HSL05 SUM( HSL06 ) AS HSL06
SUM( HSL07 ) AS HSL07 SUM( HSL08 ) AS HSL08
SUM( HSL09 ) AS HSL09 SUM( HSL10 ) AS HSL10
SUM( HSL11 ) AS HSL11 SUM( HSL12 ) AS HSL12
FROM ZTAXREGT
INTO CORRESPONDING FIELDS OF table I_SUM
WHERE RLDNR = 'JS'
AND RRCTY = '0'
AND RVERS = '004'
AND RYEAR = RYEAR
AND RBUKRS = RBUKRS
AND RTAXOBJ = itab2-RTAXOBJ.
"динамически определить ссылку на поле с суммой за период
CONCATENATE 'I_SUM-HSL' POPER+1(2) INTO FNAME.
ASSIGN (FNAME) TO <SUM>.
IF SY-SUBRC = 0.
I_SUM-HSL01 = <SUM>.
ENDIF.
IF <SUM> IS ASSIGNED.
ITAB2-HSL = <SUM> .
ENDIF.
Вот где-то что-то не так. Помогите-а?