2007 Feb 18 6:43 AM
Hi all,
what kind of problems we can expect for tables i mean ztables when we go from non unicode system to unicode system
also aboutt he table maintenance generator do we need to regenerate the table maintenance.
please let me what all things will be effected when we move from non unicode sytem to unicode system
thanks
2007 Feb 18 7:02 AM
SAP DB as UNICODE Database
SAP DB can be used as a UNICODE database.
UNICODE
Installing a UNICODE-Enabled Database
UNICODE and SQL
UNICODE in Programming Languages
_______________________________________________
Data types such as CHAR ASCII and CHAR EBCDIC are mainly suited to English and central European languages. With other character sets, a code attribute is usually used for these data types. This code attribute uses a different presentation code to ASCII and EBCDIC, even for internal storage in the database system. This causes problems if you want to access these database systems using a different character set, or if you want to exchange data between database systems with different character sets.
You can avoid these problems by using internal character coding in accordance with UNICODE. Internally, the UNICODE data is stored in UTF-16/UCS-2 format. In UTF-16/UCS-2 format, all characters are two bytes long.
SAP DB is able to display various presentation codes in UNICODE format (UNICODE code in line with ISO 10646, page 1).
Metadata in UNICODE
The names of the database objects (such as table or column names) can be stored internally in UNICODE and can therefore then be displayed in the required presentation code in the database tools.
Application data in UNICODE
SAP DB supports the code attribute UNICODE for the data types CHAR[ACTER], VARCHAR and LONG[VARCHAR].
See also:
Installing a UNICODE-Enabled Database
Reference Manual: SAP DB 7.4, Code attribute
Installing a UNICODE-Enabled Database
To make storage of metadata and application data in UNICODE , proceed as follows:
Metadata in UNICODE
When installing the database instance, set the database parameter _UNICODE to YES.
Application data in UNICODE
When installing the database instance, set the database parameter _UNICODE to YES.
Enter the code attribute UNICODE.
Please note that SAP DB UNICODE data is stored internally in UTF-16/UCS-2 format. As a result, double the space is required to store the UNICODE data in the database instance.
Procedure
Setting Database Parameter _UNICODE
Setting Code Attribute UNICODE
Setting the Database Parameter _UNICODE
In order to install a UNICODE-enabled database, the database parameter _UNICODE must be set to YES.
Note that you cannot change the database parameter _UNICODE once it has been set.
You can use the Database Manager to set the database parameter _UNICODE when you install the database instance.
Database Manager GUI
...
1. Start the Database Wizard.
2. Perform the first five installation steps.
3. In step 6 (Parameters), choose Extended.
4. Set the _UNICODE parameter to YES.
5. Continue with the installation.
See also: Database Manager GUI: SAP DB 7.4, section Creating or Initializing a New Database Instance
Database Manager CLI
A script with configuration information for the database instance contains, among other things, lines for definition of the database parameters. You must insert the following line at this point:
param_put _UNICODE YES
See also: Database Manager CLI: SAP DB 7.4, Changing the Value of a Database Parameter
Setting Code Attribute UNICODE
To be able to store the application data in UNICODE, the database must be UNICODE-enabled and you must set the code attribute UNICODE for the required application data (Installing a UNICODE-Enabled Database). You can set the code attribute in the following ways:
· Database parameter DEFAULT_CODE is not set to value UNICODE:
...
¡ If you specify the code attribute UNICODE in the column definition, then the application data is stored in UNICODE, only for this column.
¡ If you do not enter a code attribute, the code entered in the parameter DEFAULT_CODE is used for these column values.
· Database parameter DEFAULT_CODE is set to value UNICODE:
If you do not specify a code attribute or specify the code attribute UNICODE in the column definition, then the application data is stored in UNICODE for this column.
¡ If you specify a different code attribute, the data is stored using this code attribute.
Database parameter DEFAULT_CODE is set to value UNICODE.
Column definition
Result
CHAR (n) UNICODE
UNICODE column
CHAR (n)
UNICODE column
CHAR (n) ASCII
ASCII column
CHAR (n) BYTE
Code neutral, that is, the column values are not converted by the database system
For information on setting database parameters, see the following documentation:
· Database Manager GUI: SAP DB 7.4, Displaying and Changing Database Parameters
· Database Manager CLI: SAP DB 7.4, Changing the Value of a Database Parameter
___________________________________________________________________________________________________
Assignment Between Structures I
In this example, includes are handled with group names.
Before Unicode conversion
types:
begin of T_STRUC,
F1 type c,
F2 type c,
F3 type i,
F4 type p,
end of T_STRUC.
data: begin of STRUC1.
include type T_STRUC.
data: F5 type x.
data: end of STRUC1.
data: begin of STRUC2.
include type T_STRUC.
data: F6 type p.
data: end of STRUC2.
STRUC1 = STRUC2. ß Unicode error
In this case, only the contents of the include, that is the components F1 to F4, were to be assigned. The system accepted that the component was overwritten with an invalid value.
After Unicode conversion
The introduction of group names for the includes and the use of these group names for assignment allows you to simply change this part of the program.
types:
begin of T_STRUC,
F1 type c,
F2 type c,
F3 type i,
F4 type p,
end of T_STRUC.
data: begin of STRUC1.
include type T_STRUC as PART1.
data: F5 type x.
data: end of STRUC1.
data: begin of STRUC2.
include type T_STRUC as PART1.
data: F6 type p.
data: end of STRUC2.
STRUC1-PART1 = STRUC2-PART1. ß ok
________________________________________________________________________________________________________
Assignment Between Structures II
In this example, offset/length accesses to structures are handled.
Before Unicode conversion:
data:
begin of STRUC1,
F1(10) type c,
F2(20) type c,
F3 type i,
F4 type p,
end of STRUC1,
begin of STRUC2,
C1(10) type c,
C2(20) type c,
C3 type x,
C4 type f,
end of STRUC2.
STRUC1 = STRUC2. ß Unicode error
In this example, it is assumed that only the content of the first two components C1 and C2 is transferred to F1 and F2 in the conversion, since the following components F3 and F4 are overwritten with invalid values anyway.
After Unicode conversion
Since the initial part of the structures, which is relevant to the intended assignment, is purely character-type, the assignment operands can each be selected using offset/length accesses.
....
STRUC1(30) = STRUC2(30). ß ok
________________________________________________________________________________________________________
Assignments Between Structures III
*----
-
MOVE: structure <-> structure (Offset)
*----
-
report ZCH_UNIEXP_3.
Before Unicode enabling:
data: begin of STRUC1,
F0 type x,
F1(10) type c,
F2(20) type c,
F3 type i,
F4 type p,
end of STRUC1,
begin of STRUC2,
C0 type i,
C1(10) type c,
C2(20) type c,
C3 type x,
C4 type f,
end of STRUC2.
STRUC11(30) = STRUC24(30). <---- Unicode error !!
After Unicode enabling:
types: begin of PART1,
F1(10) type c,
F2(20) type c,
end of PART1,
begin of PART 2,
C1(10) type c,
C2(20) type c,
end of PART 2.
data: begin of STRUC1,
F0 type x.
include type PART1 as PART.
data: f3 type i,
f4 type p,
end of STRUC1,
begin of STRUC2,
C0 type i.
include type PART2 as PART.
data: C3 type x,
C4 type f,
end of STRUC2.
STRUC1-PART = STRUC2-PART.
________________________________________________________________________________________________________
Assignments Between Structures IV
*----
-
MOVE: structure <-> structure
*----
-
report ZCH_UNIEXP_4.
Before Unicode enabling:
data: begin of STRUC1,
F0(1) type x,
F1(10) type c,
F2(20) type c,
F3 type i,
F4 type p,
end of STRUC1,
begin of STRUC2,
C0(1) type c,
C1(10) type c,
C2(20) type c,
C3 type i,
C4 type f,
end of STRUC2,
begin of STRUC3,
G0(1) type c,
G1(10) type c,
G2(20) type c,
end of STRUC3.
STRUC11(35) = STRUC21(35). <---- Unicode error !!
STRUC3 = STRUC2.
INCLUDE STRUCTURE does not work here:
types: begin of PART1,
F1(10) type c,
F2(20) type c,
F3 type i,
end of PART1,
begin of PART2,
C1(10) type c,
C2(20) type c,
C3 type i,
end of PART2.
data: begin of STRUC1,
F0(1) type x.
include type PART1 as PART.
data: F4 type p,
end of struc1.
data: begin of STRUC2,
C0(1) type c.
include type PART2 as PART.
data: C4 type f,
end of STRUC2,
begin of STRUC3,
G0(1) type c,
G1(10) type c,
G2(20) type c,
end of STRUC3.
STRUC1-PART = STRUC2-PART.
STRUC3 = STRUC2. <---- new Unicode error !!
Due to the insertion of include PART2 in STRUC2, there is a
new alignment gap between STRUC2-C0 and STRUC2-C1
After Unicode enabling:
Please use MOVE-CORRESPONDING if the fieldnames do match,
otherwise move single fields
data: begin of STRUC1,
F0(1) type x,
F1(10) type c,
F2(20) type c,
F3 type i,
F4 type p,
end of STRUC1,
begin of STRUC2,
C0(1) type c,
C1(10) type c,
C2(20) type c,
C3 type i,
C4 type f,
end of STRUC2,
begin of STRUC3,
G0(1) type c,
G1(10) type c,
G2(20) type c,
end of STRUC3.
STRUC1-F1 = STRUC2-C1.
STRUC1-F2 = STRUC2-C2.
STRUC1-F3 = STRUC2-C3.
STRUC3 = STRUC2.
________________________________________________________________________________________________________
Assignment Between Structure and Single Field I
*----
-
MOVE: structure <-> single field
*----
-
report ZCH_UNIEXP_5.
data: begin of STRUC,
YEAR(4) type n,
MONTH(2) type n,
DAY(2) type n,
F4 type p,
end of STRUC,
DATE type d.
Before Unicode enabling
date = struc. <---- Unicode error
After Unicode enabling
date = struc(8).
________________________________________________________________________________________________________
Assignment Between Structure and Single Field II
*----
-
MOVE: structure <-> single field
-
-
report ZCH_UNIEXP_6.
data: begin of STRUC,
NUMBER(20) type n,
F2 type p,
end of STRUC,
NUMBER(20) type n.
Before Unicode enabling
NUMBER = STRUC. <---- Unicode error
After Unicode enabling
NUMBER = STRUC-NUMBER.
__________________________________________________________________
Assignment Between Structure and Single Field III
*----
-
MOVE: structure <-> single field
*----
-
report ZCH_UNIEXP_7.
data: begin of TAB,
X(1) type x value '09',
end of tab,
C(10) type c.
Before Unicode enabling:
c+5(1) = tab. <---- Unicode error
After Unicode enabling
class cl_abap_char_utilities definition load.
c+5(1) = cl_abap_char_utilities=>horizontal_tab
_____________________________________________________________
Assignment Between Structure and Single Field V
*----
-
MOVE: structure <-> single field
*----
-
report ZCH_UNIEXP_9.
types: begin of T_VALUE_WA,
TABNAME(30) type c,
DUMMY_ALIGN type f,
CONTAINER(1000) type c,
end of T_VALUE_WA,
T_VALUE_LIST type table of T_VALUE_WA.
data: L_VALUES type T_VALUE_LIST,
L_VALUE_WA type T_VALUE_WA,
L_D010SINF type D010SINF,
L_CO2MAP type CO2MAP.
L_VALUE_WA-TABNAME = 'D010SINF'.
L_D010SINF-DATALG = 41.
L_VALUE_WA-CONTAINER = L_D010SINF. <---- Unicode error
append L_VALUE_WA to L_VALUES.
L_VALUE_WA-TABNAME = 'CO2MAP'.
L_CO2MAP-ID = 42.
L_VALUE_WA-CONTAINER = L_CO2MAP. <---- Unicode error
append L_VALUE_WA to L_VALUES.
Pass L_VALUES to processing routine ...
Do something
data: L_DFIES_TAB type table of DFIES.
field-symbols: <DT> type DFIES,
<VALUE_WA> type T_VALUE_WA,
<f>.
clear L_VALUES_WA.
loop at L_VALUES assigning <VALUE_WA>.
call function 'DDIF_NAMETAB_GET'
exporting
tabname = <VALUE_WA>-TABNAME
tables
DFIES_TAB = L_DFIES_TAB.
loop at L_DFIES_TAB assigning <DT>.
assign <VALUE_WA>-CONTAINER+<DT>-OFFSET(<DT>-INLEN)
to <F> type <DT>-INTTYPE.
write <F>.
endloop.
endloop.
After using (Unicode enabled) new reference technique
and EXPORT TO DATA BUFFER:
types: begin of T_VALUE_WA,
TABNAME(30) type c,
XWA type xstring,
CONTAINER(1000) type c,
end of T_VALUE_WA,
T_VALUE_LIST type table of T_VALUE_WA.
data: L_VALUES type T_VALUE_LIST,
L_VALUE_WA type T_VALUE_WA,
L_D010SINF type D010SINF,
L_CO2MAP type CO2MAP.
L_D010SINF-DATALG = 41.
L_VALUE_WA-TABNAME = 'D010SINF'.
export WA from L_D010SINF to data buffer L_VALUE_WA-XWA.
append L_VALUE_WA to L_VALUES.
L_CO2MAP-ID = 42.
L_VALUE_WA-TABNAME = 'CO2MAP'.
export WA from L_CO2MAP to data buffer L_VALUE_WA-XWA.
append L_VALUE_WA to L_VALUES.
Pass L_VALUE to processing routine ...
Do something
data: DREF type ref to data,
L_NUMBER type i,
L_TYPE type c.
field-symbols: .
enddo.
endloop.
Hi all,
what kind of problems we can expect for tables i mean ztables when we go from non unicode system to unicode system
also aboutt he table maintenance generator do we need to regenerate the table maintenance.
please let me what all things will be effected when we move from non unicode sytem to unicode system
thanks
2007 Feb 18 7:02 AM
SAP DB as UNICODE Database
SAP DB can be used as a UNICODE database.
UNICODE
Installing a UNICODE-Enabled Database
UNICODE and SQL
UNICODE in Programming Languages
_______________________________________________
Data types such as CHAR ASCII and CHAR EBCDIC are mainly suited to English and central European languages. With other character sets, a code attribute is usually used for these data types. This code attribute uses a different presentation code to ASCII and EBCDIC, even for internal storage in the database system. This causes problems if you want to access these database systems using a different character set, or if you want to exchange data between database systems with different character sets.
You can avoid these problems by using internal character coding in accordance with UNICODE. Internally, the UNICODE data is stored in UTF-16/UCS-2 format. In UTF-16/UCS-2 format, all characters are two bytes long.
SAP DB is able to display various presentation codes in UNICODE format (UNICODE code in line with ISO 10646, page 1).
Metadata in UNICODE
The names of the database objects (such as table or column names) can be stored internally in UNICODE and can therefore then be displayed in the required presentation code in the database tools.
Application data in UNICODE
SAP DB supports the code attribute UNICODE for the data types CHAR[ACTER], VARCHAR and LONG[VARCHAR].
See also:
Installing a UNICODE-Enabled Database
Reference Manual: SAP DB 7.4, Code attribute
Installing a UNICODE-Enabled Database
To make storage of metadata and application data in UNICODE , proceed as follows:
Metadata in UNICODE
When installing the database instance, set the database parameter _UNICODE to YES.
Application data in UNICODE
When installing the database instance, set the database parameter _UNICODE to YES.
Enter the code attribute UNICODE.
Please note that SAP DB UNICODE data is stored internally in UTF-16/UCS-2 format. As a result, double the space is required to store the UNICODE data in the database instance.
Procedure
Setting Database Parameter _UNICODE
Setting Code Attribute UNICODE
Setting the Database Parameter _UNICODE
In order to install a UNICODE-enabled database, the database parameter _UNICODE must be set to YES.
Note that you cannot change the database parameter _UNICODE once it has been set.
You can use the Database Manager to set the database parameter _UNICODE when you install the database instance.
Database Manager GUI
...
1. Start the Database Wizard.
2. Perform the first five installation steps.
3. In step 6 (Parameters), choose Extended.
4. Set the _UNICODE parameter to YES.
5. Continue with the installation.
See also: Database Manager GUI: SAP DB 7.4, section Creating or Initializing a New Database Instance
Database Manager CLI
A script with configuration information for the database instance contains, among other things, lines for definition of the database parameters. You must insert the following line at this point:
param_put _UNICODE YES
See also: Database Manager CLI: SAP DB 7.4, Changing the Value of a Database Parameter
Setting Code Attribute UNICODE
To be able to store the application data in UNICODE, the database must be UNICODE-enabled and you must set the code attribute UNICODE for the required application data (Installing a UNICODE-Enabled Database). You can set the code attribute in the following ways:
· Database parameter DEFAULT_CODE is not set to value UNICODE:
...
¡ If you specify the code attribute UNICODE in the column definition, then the application data is stored in UNICODE, only for this column.
¡ If you do not enter a code attribute, the code entered in the parameter DEFAULT_CODE is used for these column values.
· Database parameter DEFAULT_CODE is set to value UNICODE:
If you do not specify a code attribute or specify the code attribute UNICODE in the column definition, then the application data is stored in UNICODE for this column.
¡ If you specify a different code attribute, the data is stored using this code attribute.
Database parameter DEFAULT_CODE is set to value UNICODE.
Column definition
Result
CHAR (n) UNICODE
UNICODE column
CHAR (n)
UNICODE column
CHAR (n) ASCII
ASCII column
CHAR (n) BYTE
Code neutral, that is, the column values are not converted by the database system
For information on setting database parameters, see the following documentation:
· Database Manager GUI: SAP DB 7.4, Displaying and Changing Database Parameters
· Database Manager CLI: SAP DB 7.4, Changing the Value of a Database Parameter
___________________________________________________________________________________________________
Assignment Between Structures I
In this example, includes are handled with group names.
Before Unicode conversion
types:
begin of T_STRUC,
F1 type c,
F2 type c,
F3 type i,
F4 type p,
end of T_STRUC.
data: begin of STRUC1.
include type T_STRUC.
data: F5 type x.
data: end of STRUC1.
data: begin of STRUC2.
include type T_STRUC.
data: F6 type p.
data: end of STRUC2.
STRUC1 = STRUC2. ß Unicode error
In this case, only the contents of the include, that is the components F1 to F4, were to be assigned. The system accepted that the component was overwritten with an invalid value.
After Unicode conversion
The introduction of group names for the includes and the use of these group names for assignment allows you to simply change this part of the program.
types:
begin of T_STRUC,
F1 type c,
F2 type c,
F3 type i,
F4 type p,
end of T_STRUC.
data: begin of STRUC1.
include type T_STRUC as PART1.
data: F5 type x.
data: end of STRUC1.
data: begin of STRUC2.
include type T_STRUC as PART1.
data: F6 type p.
data: end of STRUC2.
STRUC1-PART1 = STRUC2-PART1. ß ok
________________________________________________________________________________________________________
Assignment Between Structures II
In this example, offset/length accesses to structures are handled.
Before Unicode conversion:
data:
begin of STRUC1,
F1(10) type c,
F2(20) type c,
F3 type i,
F4 type p,
end of STRUC1,
begin of STRUC2,
C1(10) type c,
C2(20) type c,
C3 type x,
C4 type f,
end of STRUC2.
STRUC1 = STRUC2. ß Unicode error
In this example, it is assumed that only the content of the first two components C1 and C2 is transferred to F1 and F2 in the conversion, since the following components F3 and F4 are overwritten with invalid values anyway.
After Unicode conversion
Since the initial part of the structures, which is relevant to the intended assignment, is purely character-type, the assignment operands can each be selected using offset/length accesses.
....
STRUC1(30) = STRUC2(30). ß ok
________________________________________________________________________________________________________
Assignments Between Structures III
*----
-
MOVE: structure <-> structure (Offset)
*----
-
report ZCH_UNIEXP_3.
Before Unicode enabling:
data: begin of STRUC1,
F0 type x,
F1(10) type c,
F2(20) type c,
F3 type i,
F4 type p,
end of STRUC1,
begin of STRUC2,
C0 type i,
C1(10) type c,
C2(20) type c,
C3 type x,
C4 type f,
end of STRUC2.
STRUC11(30) = STRUC24(30). <---- Unicode error !!
After Unicode enabling:
types: begin of PART1,
F1(10) type c,
F2(20) type c,
end of PART1,
begin of PART 2,
C1(10) type c,
C2(20) type c,
end of PART 2.
data: begin of STRUC1,
F0 type x.
include type PART1 as PART.
data: f3 type i,
f4 type p,
end of STRUC1,
begin of STRUC2,
C0 type i.
include type PART2 as PART.
data: C3 type x,
C4 type f,
end of STRUC2.
STRUC1-PART = STRUC2-PART.
________________________________________________________________________________________________________
Assignments Between Structures IV
*----
-
MOVE: structure <-> structure
*----
-
report ZCH_UNIEXP_4.
Before Unicode enabling:
data: begin of STRUC1,
F0(1) type x,
F1(10) type c,
F2(20) type c,
F3 type i,
F4 type p,
end of STRUC1,
begin of STRUC2,
C0(1) type c,
C1(10) type c,
C2(20) type c,
C3 type i,
C4 type f,
end of STRUC2,
begin of STRUC3,
G0(1) type c,
G1(10) type c,
G2(20) type c,
end of STRUC3.
STRUC11(35) = STRUC21(35). <---- Unicode error !!
STRUC3 = STRUC2.
INCLUDE STRUCTURE does not work here:
types: begin of PART1,
F1(10) type c,
F2(20) type c,
F3 type i,
end of PART1,
begin of PART2,
C1(10) type c,
C2(20) type c,
C3 type i,
end of PART2.
data: begin of STRUC1,
F0(1) type x.
include type PART1 as PART.
data: F4 type p,
end of struc1.
data: begin of STRUC2,
C0(1) type c.
include type PART2 as PART.
data: C4 type f,
end of STRUC2,
begin of STRUC3,
G0(1) type c,
G1(10) type c,
G2(20) type c,
end of STRUC3.
STRUC1-PART = STRUC2-PART.
STRUC3 = STRUC2. <---- new Unicode error !!
Due to the insertion of include PART2 in STRUC2, there is a
new alignment gap between STRUC2-C0 and STRUC2-C1
After Unicode enabling:
Please use MOVE-CORRESPONDING if the fieldnames do match,
otherwise move single fields
data: begin of STRUC1,
F0(1) type x,
F1(10) type c,
F2(20) type c,
F3 type i,
F4 type p,
end of STRUC1,
begin of STRUC2,
C0(1) type c,
C1(10) type c,
C2(20) type c,
C3 type i,
C4 type f,
end of STRUC2,
begin of STRUC3,
G0(1) type c,
G1(10) type c,
G2(20) type c,
end of STRUC3.
STRUC1-F1 = STRUC2-C1.
STRUC1-F2 = STRUC2-C2.
STRUC1-F3 = STRUC2-C3.
STRUC3 = STRUC2.
________________________________________________________________________________________________________
Assignment Between Structure and Single Field I
*----
-
MOVE: structure <-> single field
*----
-
report ZCH_UNIEXP_5.
data: begin of STRUC,
YEAR(4) type n,
MONTH(2) type n,
DAY(2) type n,
F4 type p,
end of STRUC,
DATE type d.
Before Unicode enabling
date = struc. <---- Unicode error
After Unicode enabling
date = struc(8).
________________________________________________________________________________________________________
Assignment Between Structure and Single Field II
*----
-
MOVE: structure <-> single field
-
-
report ZCH_UNIEXP_6.
data: begin of STRUC,
NUMBER(20) type n,
F2 type p,
end of STRUC,
NUMBER(20) type n.
Before Unicode enabling
NUMBER = STRUC. <---- Unicode error
After Unicode enabling
NUMBER = STRUC-NUMBER.
__________________________________________________________________
Assignment Between Structure and Single Field III
*----
-
MOVE: structure <-> single field
*----
-
report ZCH_UNIEXP_7.
data: begin of TAB,
X(1) type x value '09',
end of tab,
C(10) type c.
Before Unicode enabling:
c+5(1) = tab. <---- Unicode error
After Unicode enabling
class cl_abap_char_utilities definition load.
c+5(1) = cl_abap_char_utilities=>horizontal_tab
_____________________________________________________________
Assignment Between Structure and Single Field V
*----
-
MOVE: structure <-> single field
*----
-
report ZCH_UNIEXP_9.
types: begin of T_VALUE_WA,
TABNAME(30) type c,
DUMMY_ALIGN type f,
CONTAINER(1000) type c,
end of T_VALUE_WA,
T_VALUE_LIST type table of T_VALUE_WA.
data: L_VALUES type T_VALUE_LIST,
L_VALUE_WA type T_VALUE_WA,
L_D010SINF type D010SINF,
L_CO2MAP type CO2MAP.
L_VALUE_WA-TABNAME = 'D010SINF'.
L_D010SINF-DATALG = 41.
L_VALUE_WA-CONTAINER = L_D010SINF. <---- Unicode error
append L_VALUE_WA to L_VALUES.
L_VALUE_WA-TABNAME = 'CO2MAP'.
L_CO2MAP-ID = 42.
L_VALUE_WA-CONTAINER = L_CO2MAP. <---- Unicode error
append L_VALUE_WA to L_VALUES.
Pass L_VALUES to processing routine ...
Do something
data: L_DFIES_TAB type table of DFIES.
field-symbols: <DT> type DFIES,
<VALUE_WA> type T_VALUE_WA,
<f>.
clear L_VALUES_WA.
loop at L_VALUES assigning <VALUE_WA>.
call function 'DDIF_NAMETAB_GET'
exporting
tabname = <VALUE_WA>-TABNAME
tables
DFIES_TAB = L_DFIES_TAB.
loop at L_DFIES_TAB assigning <DT>.
assign <VALUE_WA>-CONTAINER+<DT>-OFFSET(<DT>-INLEN)
to <F> type <DT>-INTTYPE.
write <F>.
endloop.
endloop.
After using (Unicode enabled) new reference technique
and EXPORT TO DATA BUFFER:
types: begin of T_VALUE_WA,
TABNAME(30) type c,
XWA type xstring,
CONTAINER(1000) type c,
end of T_VALUE_WA,
T_VALUE_LIST type table of T_VALUE_WA.
data: L_VALUES type T_VALUE_LIST,
L_VALUE_WA type T_VALUE_WA,
L_D010SINF type D010SINF,
L_CO2MAP type CO2MAP.
L_D010SINF-DATALG = 41.
L_VALUE_WA-TABNAME = 'D010SINF'.
export WA from L_D010SINF to data buffer L_VALUE_WA-XWA.
append L_VALUE_WA to L_VALUES.
L_CO2MAP-ID = 42.
L_VALUE_WA-TABNAME = 'CO2MAP'.
export WA from L_CO2MAP to data buffer L_VALUE_WA-XWA.
append L_VALUE_WA to L_VALUES.
Pass L_VALUE to processing routine ...
Do something
data: DREF type ref to data,
L_NUMBER type i,
L_TYPE type c.
field-symbols: .
enddo.
endloop.
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |