on 09-24-2008 5:56 PM
Experts,
I have the following piece of Code in the start routine and my transformation is failing with the following Dump
GETWA_NOT_ASSIGNED
Error analysis
You attempted to access an unassigned field symbol
(data segment 32774).
This error may occur if
- You address a typed field symbol before it has been set wit
ASSIGN
- You address a field symbol that pointed to the line of an
internal table that was deleted
- You address a field symbol that was previously reset using
UNASSIGN or that pointed to a local field that no
longer exists
- You address a global function interface, although the
respective function module is not active - that is, is
not in the list of active calls. The list of active calls
can be taken from this short dump.
Here is my code and is failing at the line higlighted in bold.
Data: tab like line of SOURCE_PACKAGE.
Data: WA1 TYPE /BIC/PK_MINMAX-/BIC/K_MINPRC.
Data: WA2 TYPE /BIC/PK_MINMAX-/BIC/K_MINPRC.
Data: WA3(20) TYPE c.
Data: WA4(20) TYPE c.
Data: WA5 TYPE /BIC/PK_MINMAX-/BIC/K_MINPRC.
Data: WA6 TYPE /BIC/PK_MINMAX-/BIC/K_MINPRC.
LOOP AT SOURCE_PACKAGE ASSIGNING <SOURCE_FIELDS>.
IF <SOURCE_FIELDS>-BILL_TYPE = 'B1' OR
<SOURCE_FIELDS>-BILL_TYPE = 'B2' OR
<SOURCE_FIELDS>-BILL_TYPE = 'B3' OR
<SOURCE_FIELDS>-BILL_TYPE = 'B4' OR
( ( <SOURCE_FIELDS>-BILL_TYPE = 'L2' OR
<SOURCE_FIELDS>-BILL_TYPE = 'G2') AND
<SOURCE_FIELDS>-/BIC/K_BASEQTY = '0' AND
<SOURCE_FIELDS>-/BIC/K_PCLAMT > '10000').
DELETE SOURCE_PACKAGE INDEX SY-TABIX.
ENDIF.
SELECT SINGLE PRODH2 PRODH3 FROM /BIC/PK_MATERL INTO (WA3,WA4)
WHERE /BIC/K_MATERL EQ <SOURCE_FIELDS>-/BIC/K_MATERL.
IF SY-SUBRC = 0.
SELECT SINGLE /BIC/K_MINPRC /BIC/K_MAXPRC FROM /BIC/PK_MINMAX INTO
(WA1,
WA2)
WHERE /BIC/K_MINMAX EQ '100'
AND /BIC/K_BUSAREA EQ '2000'
AND PROD_HIER EQ WA3.
IF SY-SUBRC = 0.
IF <SOURCE_FIELDS>-/BIC/K_PCLAMT <= WA1
AND <SOURCE_FIELDS>-/BIC/K_PCLAMT >= WA2.
DELETE SOURCE_PACKAGE INDEX SY-TABIX.
ENDIF.
SELECT SINGLE /BIC/K_MINPRC /BIC/K_MAXPRC FROM /BIC/PK_MINMAX
INTO
(WA5,
WA6)
WHERE /BIC/K_MINMAX EQ '100'
AND /BIC/K_BUSAREA EQ '3000'
AND PROD_HIER EQ WA4.
IF SY-SUBRC = 0.
IF <SOURCE_FIELDS>-/BIC/K_PCLAMT <= WA5
AND <SOURCE_FIELDS>-/BIC/K_PCLAMT >= WA6.
DELETE SOURCE_PACKAGE INDEX SY-TABIX.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
*
CLEAR WA1.
CLEAR WA2.
CLEAR WA3.
CLEAR WA4.
CLEAR WA5.
CLEAR WA6.
ENDLOOP.
Any help is appreciated...
Thanks
Raj
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
how about:
- You address a field symbol that pointed to the line of an
internal table that was deleted
where do you check whether your line has been deleted before you hit the select statement?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
88 | |
23 | |
11 | |
9 | |
8 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.