Hi experts,
I have a Z transaction for creating contract for imported goods. The first screen gets a list of input (vendor no, agmt type, etc) and i have a button for selecting a file. On clicking this button, the file path input screen should get display. This file path selection worked correctly in our earlier system 4.6C.
Now this system is upgrade to ECC 6.0. Now this file selection returns the following error when i click the 'Select file' button in the new system.
ERROR ANALYSIS
" A field symbol that was not assigned was accessed
(data segment no. 16).
The field symbol is no longer assigned because there was an attempt
makde previously in a Unicode program to set the field symbol using
ASSIGN with offset and/or length specification. Here, the memory
addressed by the offset/length specification was not within the
allowed area. "
How to correct the error
If the error occures in a non-modified SAP program, you may be able to
find an interim solution in an SAP Note.
If you have access to SAP Notes, carry out a search with the following
keywords:
"GETWA_NOT_ASSIGNED_RANGE" " "
"YMMIMP01" or "YMMIMP01"
"%_SEL_SCREEN"
Information on where terminated
Termination occurred in the ABAP program "YMMIMP01" - in "%_SEL_SCREEN".
The main program was "YMMIMP01 ".
The source code of the file path selection is as below:
AT SELECTION-SCREEN.
IF SSCRFIELDS-UCOMM = 'ABCD'.
IF GLOBAL_FILEMASK_MASK IS INITIAL.
TMP_MASK = ',.,..'.
ELSE.
TMP_MASK = ','.
WRITE GLOBAL_FILEMASK_TEXT TO TMP_MASK+1.
WRITE ',' TO TMP_MASK+21.
WRITE GLOBAL_FILEMASK_MASK TO TMP_MASK+22.
WRITE '.' TO TMP_MASK+42.
CONDENSE TMP_MASK NO-GAPS.
ENDIF.
IF NOT GLOBAL_FILEMASK_ALL IS INITIAL.
TMP_MASK = GLOBAL_FILEMASK_ALL.
ENDIF.
TMP_PATH = GLOBAL_UPLOAD_PATH.
FIELDLN = STRLEN( TMP_PATH ) - 1.
ASSIGN TMP_PATH+FIELDLN(1) TO <TMP_SYM>.
IF <TMP_SYM> = '/' OR <TMP_SYM> = '\'.
CLEAR <TMP_SYM>.
ENDIF.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
DEF_FILENAME = RLGRAP-FILENAME
DEF_PATH = TMP_PATH
mask = ',.prn,.txt.'
MASK = TMP_MASK
MODE = 'O'
TITLE = ' '
IMPORTING
FILENAME = TMP_FILENAME
RC =
EXCEPTIONS
INV_WINSYS = 01
NO_BATCH = 02
SELECTION_CANCEL = 03
SELECTION_ERROR = 04.
I get the error in the following line of the above code.
IF <TMP_SYM> = '/' OR <TMP_SYM> = '\'.
Could anyone explain me how to correct the error?.