cancel
Showing results for 
Search instead for 
Did you mean: 

Start routine error - Short dump

Former Member
0 Kudos

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

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

take a look at these links they should help you:

/thread/702726 [original link is broken]

/thread/133728 [original link is broken]

Regards

Andreas

Former Member
0 Kudos

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?