• No se han encontrado resultados

Luisa Valenzuela edo sabotajea idazketa praxi gisa

VALENZUELAREN ADIBIDEA

2. Luisa Valenzuela edo sabotajea idazketa praxi gisa

Write an executable program that performs the following calculation: 2 + 3 * 5

Solution:

REPORT z_abap101_041.

START-OF-SELECTION.

DATA v_result TYPE i.

v_result = 2 + 3 * 5. " 25 or 17?

WRITE v_result.

Write an executable program that get two integers inside variables and perform the addition, subtraction, multiplication, division and power between them.

Solution:

REPORT z_abap101_042.

DATA v_number_a TYPE i.

DATA v_number_b LIKE v_number_a VALUE 2.

DATA v_result TYPE f .

START-OF-SELECTION.

v_number_a = 5.

v_result = v_number_a + v_number_b.

WRITE: 'Adition:', v_result EXPONENT 0 . NEW-LINE.

v_result = v_number_a - v_number_b.

WRITE: 'Subtraction:', v_result.

NEW-LINE.

v_result = v_number_a * v_number_b.

WRITE: 'Multiplication:', v_result.

NEW-LINE.

v_result = v_number_a / v_number_b.

WRITE: 'Division:', v_result.

NEW-LINE.

v_result = v_number_a ** v_number_b.

WRITE: 'Power:', v_result.

Write an executable program that get two integers inside parameters and perform the addition, subtraction, multiplication, division and power between them.

Solution:

REPORT z_abap101_043.

PARAMETERS p_num_a TYPE i.

PARAMETERS p_num_b LIKE p_num_a DEFAULT 2.

DATA v_result TYPE f.

START-OF-SELECTION.

p_num_a = 5.

v_result = p_num_a + p_num_b.

WRITE: 'Addition:', v_result EXPONENT 0 . NEW-LINE.

v_result = p_num_a - p_num_b.

WRITE: 'Subtraction:', v_result.

NEW-LINE.

v_result = p_num_a * p_num_b.

WRITE: 'Multiplication:', v_result.

NEW-LINE.

v_result = p_num_a / p_num_b.

WRITE: 'Division:', v_result.

NEW-LINE.

v_result = p_num_a ** p_num_b.

WRITE: 'Power:', v_result.

Write an executable program that concatenates two words and write the result.

Solution:

REPORT z_abap101_044.

CONSTANTS c_abap TYPE c LENGTH 4 VALUE 'ABAP'.

DATA v_whole_text TYPE string.

START-OF-SELECTION.

CONCATENATE c_abap '101' INTO v_whole_text . WRITE v_whole_text.

Write an executable program that concatenates two words and the current month, separating each part by a "-" and write the result.

Solution:

REPORT z_abap101_045.

CONSTANTS c_abap TYPE c LENGTH 7 VALUE 'ABAP999'.

CONSTANTS c_separator TYPE c VALUE '-'.

DATA v_whole_text TYPE string.

START-OF-SELECTION.

CONCATENATE c_abap(4) '101' sy-datum+4(2) INTO v_whole_text SEPARATED BY c_separator.

WRITE v_whole_text.

Write an executable program that reads the current system date and write it in your language in text format.

Ex: 20140727 should be written as July the Twenty-Seventh, 2014

Solution:

REPORT z_abap101_046.

DATA v_day TYPE string.

DATA v_month TYPE string.

DATA v_year TYPE string.

START-OF-SELECTION.

* Handle month

CASE sy-datum+4(2).

WHEN '01'.

ELSEIF sy-datum+6(2) = '03'.

WHEN '23'.

Write an executable program that reads the current system time and write the time in 6 different zones (3 of them should be compulsorily Greenwich, Delhi and Brasilia).

Solution:

REPORT z_abap101_047.

DATA v_timezone1 TYPE tznzone VALUE 'GMTUK'. " Greenwich DATA v_timezone2 TYPE tznzone VALUE 'INDIA'. " Delhi DATA v_timezone3 TYPE tznzone VALUE 'BRAZIL'. " Brasilia DATA v_timezone4 TYPE tznzone VALUE 'CST'.

DATA v_timezone5 TYPE tznzone VALUE 'ISRAEL'.

DATA v_timezone6 TYPE tznzone VALUE 'RUS06'.

DATA v_timestamp TYPE tzonref-tstamps.

DATA v_timestamp_string TYPE string.

START-OF-SELECTION.

CONCATENATE sy-datum sy-uzeit INTO v_timestamp_string.

v_timestamp = v_timestamp_string.

WRITE v_timestamp TIME ZONE v_timezone1. NEW-LINE.

WRITE v_timestamp TIME ZONE v_timezone2. NEW-LINE.

WRITE v_timestamp TIME ZONE v_timezone3. NEW-LINE.

WRITE v_timestamp TIME ZONE v_timezone4. NEW-LINE.

WRITE v_timestamp TIME ZONE v_timezone5. NEW-LINE.

WRITE v_timestamp TIME ZONE v_timezone6. NEW-LINE.

Write an executable program that counts how many vowels are in the name of the user running the program and print the result

Solution:

REPORT z_abap101_048.

DATA v_vowels_count TYPE i.

DATA v_vowels_total TYPE i.

DATA v_user LIKE sy-uname.

START-OF-SELECTION.

v_user = sy-uname.

TRANSLATE v_user TO UPPER CASE.

* One option

FIND ALL OCCURRENCES OF 'A' IN v_user MATCH COUNT v_vowels_count.

v_vowels_total = v_vowels_total + v_vowels_count.

FIND ALL OCCURRENCES OF 'E' IN v_user MATCH COUNT v_vowels_count.

v_vowels_total = v_vowels_total + v_vowels_count.

FIND ALL OCCURRENCES OF 'I' IN v_user MATCH COUNT v_vowels_count.

v_vowels_total = v_vowels_total + v_vowels_count.

FIND ALL OCCURRENCES OF 'O' IN v_user MATCH COUNT v_vowels_count.

v_vowels_total = v_vowels_total + v_vowels_count.

FIND ALL OCCURRENCES OF 'U' IN v_user MATCH COUNT v_vowels_count.

v_vowels_total = v_vowels_total + v_vowels_count.

* Another option

FIND ALL OCCURRENCES OF REGEX 'A|E|I|O|U' IN v_user MATCH COUNT v_vowels_count.

WRITE v_vowels_total.

Write an executable program that counts a string length and if it's bigger than 2o characteres, write 'Too big'. If not, write the string length.

Solution:

REPORT z_abap101_049.

DATA v_string TYPE string VALUE '1234567890ABCDEFGHIJ'.

DATA v_string_length TYPE i.

START-OF-SELECTION.

v_string_length = strlen( v_string ).

IF v_string_length > 20 . WRITE 'Too big'.

ELSE.

WRITE v_string_length.

ENDIF.

Write an executable program that counts from 1 to 100 and for each multiple of 8, write the message: "The number [number] is a multiple of 8 ".

Solution:

REPORT z_abap101_050.

DATA v_current_number TYPE i VALUE 1.

START-OF-SELECTION.

WHILE v_current_number <= 100.

IF ( v_current_number MOD 8 ) = 0.

WRITE: 'The number', v_current_number, ' is a multiple of 8'.

NEW-LINE.

ENDIF.

ADD 1 TO v_current_number.

ENDWHILE.

Write an executable program that contains a routine which prints all usernames in the system. (Check table USR04 and its content in transaction SE11, SE16 or SE16N).

Solution:

REPORT z_abap101_051.

TYPES ty_users TYPE TABLE OF usr04-bname.

DATA it_users TYPE ty_users.

START-OF-SELECTION.

SELECT bname FROM usr04

INTO TABLE it_users.

PERFORM print_users USING it_users.

*&---*

*& Form print_users

*&---*

* Prints all usernames in the system

*---*

* -->US_T_USERS usernames

*---*

FORM print_users USING us_t_users TYPE ty_users.

DATA lwa_user TYPE LINE OF ty_users.

LOOP AT us_t_users INTO lwa_user.

WRITE lwa_user. NEW-LINE.

ENDLOOP.

ENDFORM. "print_users

For this exercise, you should Read the help from command FORM completely. Then, write an executable program that has a routine that receives four global variables and change their value.

Each variable will be received in a different way: 2 of them using the addition USING and the other 2 using the addition CHANGING from the FORM command. For each pair use and omit the adding VALUE. Print the contents of all global variables before the routine is called, at the beginning of the routine, at the end of the routine (after all values are changed) and after the PERFORM statement.

See how the contents of variables behave using the debugger.

Solution:

REPORT z_abap101_052.

DATA gv_a TYPE i VALUE 1.

DATA gv_b TYPE i VALUE 2.

DATA gv_c TYPE i VALUE 3.

DATA gv_d TYPE i VALUE 4.

*&---*

*& Form form_parameters

*&---*

* Get 4 parameters in different ways

*---*

WRITE 'Inside FORM.'. NEW-LINE.

WRITE: 'us_a: ', us_a. NEW-LINE.

WRITE: 'usv_b: ', usv_b. NEW-LINE.

WRITE: 'ch_c: ', ch_c. NEW-LINE.

WRITE: 'chv_d: ', chv_d. NEW-LINE.

us_a = us_a + 10.

usv_b = usv_b + 10.

ch_c = ch_c + 10.

chv_d = chv_d + 10.

WRITE 'Inside FORM, after update local variables'. NEW-LINE.

WRITE: 'us_a: ', us_a. NEW-LINE.

WRITE: 'usv_b: ', usv_b. NEW-LINE.

WRITE: 'ch_c: ', ch_c. NEW-LINE.

WRITE: 'chv_d: ', chv_d. NEW-LINE.

WRITE 'Before FORM'. NEW-LINE.

WRITE: 'gv_a: ', gv_a. NEW-LINE.

WRITE: 'gv_b: ', gv_b. NEW-LINE.

WRITE: 'gv_c: ', gv_c. NEW-LINE.

WRITE: 'gv_d: ', gv_d. NEW-LINE.

PERFORM form_parameters USING

WRITE 'After FORM'. NEW-LINE.

WRITE: 'gv_a: ', gv_a. NEW-LINE.

WRITE: 'gv_b: ', gv_b. NEW-LINE.

WRITE: 'gv_c: ', gv_c. NEW-LINE.

WRITE: 'gv_d: ', gv_d. NEW-LINE.

Write an executable program that has a routine that receives two numbers and returns the largest of them, If the numbers are equal return the number itself.

Solution:

REPORT z_abap101_053.

DATA gv_largest TYPE f.

*&---*

*& Form get_larger

*&---*

* Compares 2 numbers and returns the largest. If equal returns itself

*---*

IF number_a >= number_b.

largest_number = number_a.

ELSE.

largest_number = number_b.

ENDIF.

ENDFORM. "get_larger START-OF-SELECTION.

PERFORM get_larger USING 1 2 CHANGING gv_largest.

WRITE gv_largest EXPONENT 0. NEW-LINE.

PERFORM get_larger USING 4 3 CHANGING gv_largest.

WRITE gv_largest EXPONENT 0. NEW-LINE.

PERFORM get_larger USING 5 5 CHANGING gv_largest.

WRITE gv_largest EXPONENT 0. NEW-LINE.

PERFORM get_larger USING '6.2' '7.1' CHANGING gv_largest.

WRITE gv_largest EXPONENT 0. NEW-LINE.

Write an executable program that has a routine that receives two numbers and return a flag (character with length 1). If the numbers are equal, set the flag with 'X. Otherwise set the flag to space.

Solution:

REPORT z_abap101_054.

DATA gv_flag TYPE c.

*&---*

*& Form get_larger

*&---*

* Compares 2 numbers and returns a flag (true) if they are equal

*---*

IF number_a = number_b.

flag = abap_true.

PERFORM set_flag_if_equal USING 1 1 CHANGING gv_flag.

PERFORM set_flag_if_equal USING 4 3 CHANGING gv_flag.

PERFORM set_flag_if_equal USING 5 5 CHANGING gv_flag.

PERFORM set_flag_if_equal USING '6.2' '7.1' CHANGING gv_flag.

Write an executable program that has a routine that takes two numbers and writes the result of the operation [higher_number / lower_number] if the numbers are different. If they are equal, write the result of the operation [number ^ 2].

Solution:

REPORT z_abap101_055.

DATA gv_result TYPE f.

*&---*

*& Form get_larger

*&---*

* Compares 2 numbers and returns the largest. If equal returns itself

*---*

IF number_a >= number_b.

largest_number = number_a.

ELSE.

largest_number = number_b.

ENDIF.

ENDFORM. "get_larger

*&---*

*& Form get_larger

*&---*

* Compares 2 numbers and returns a flag (true) if they are equal

*---*

flag TYPE c.

IF number_a = number_b.

flag = abap_true.

* takes two numbers and writes the result of the operation

* [higher_number / lower_number] if the numbers are different.

* If they are equal, write the result of the operation [number ^ 2].

*---*

DATA lv_number_equal TYPE c.

PERFORM set_flag_if_equal USING

number_a number_b CHANGING

lv_number_equal.

IF lv_number_equal = abap_true.

result = number_a ** 2.

ELSE.

DATA lv_larger_number TYPE f.

PERFORM get_larger USING number_a number_b CHANGING lv_larger_number.

IF number_a = lv_larger_number.

result = number_a / number_b.

ELSE.

result = number_b / number_a.

ENDIF.

ENDIF.

WRITE result EXPONENT 0.

NEW-LINE.

ENDFORM. "division_or_power2 START-OF-SELECTION.

PERFORM division_or_power2 USING 1 1

CHANGING gv_result.

PERFORM division_or_power2 USING 3 3

CHANGING gv_result.

PERFORM division_or_power2 USING 6 2

CHANGING gv_result.

PERFORM division_or_power2 USING 2 6

CHANGING gv_result.

PERFORM division_or_power2 USING 10 2

CHANGING gv_result.

PERFORM division_or_power2 USING 2 10

CHANGING gv_result.

Write an executable program that does NOT have a routine. The program should include a work area with 5 fields of different types or more. Then, it must be populated and its fields should be printed one per line, separated by one horizontal line. After testing your program, change the output separating each field by two lines. During this process, refactor your code to include a routine which handle the separation between each line.

Solution:

REPORT z_abap101_056.

DATA: BEGIN OF work_area, str TYPE string,

work_area-str = 'This is a string'.

work_area-date = '20141225'. " Christmas work_area-time = '134059'.

work_area-integer = 101.

work_area-hex = '0123456789ABCDEF'.

* Before refactoring

* WRITE work_area-str.

* ULINE.

* WRITE work_area-date DD/MM/YY.

* ULINE.

* WRITE work_area-time.

* ULINE.

* WRITE work_area-integer.

* ULINE.

* WRITE work_area-hex.

* ULINE.

* After refactoring WRITE work_area-str.

PERFORM separe_line.

WRITE work_area-date DD/MM/YY.

PERFORM separe_line.

WRITE work_area-time.

PERFORM separe_line.

WRITE work_area-integer.

PERFORM separe_line.

WRITE work_area-hex.

PERFORM separe_line.

*&---*

*& Form separe_line

*&---*

* Separe each output line

*---*

FORM separe_line.

DO 2 TIMES.

ULINE.

ENDDO.

ENDFORM. "separe_line

Write an executable program with a routine that receives a work area containing five different data types and count how many components are not filled. Finally, print result.

Solution:

REPORT z_abap101_057.

TYPES: BEGIN OF ty_work_area, str TYPE string,

DATA work_area TYPE ty_work_area.

*&---*

*& Form count_initial_components

*&---*

* Gets a work area, counts how many components are initial and write

* the result

*---*

* -->US_WORK_AREA work area

*---*

FORM count_initial_components USING us_work_area TYPE ty_work_area.

DATA lv_initial_components_counter TYPE i.

IF us_work_area-str IS INITIAL.

lv_initial_components_counter = lv_initial_components_counter + 1.

ENDIF.

IF us_work_area-date IS INITIAL.

lv_initial_components_counter = lv_initial_components_counter + 1.

ENDIF.

IF us_work_area-time IS INITIAL.

lv_initial_components_counter = lv_initial_components_counter + 1.

ENDIF.

IF us_work_area-integer IS INITIAL.

lv_initial_components_counter = lv_initial_components_counter + 1.

ENDIF.

IF us_work_area-hex IS INITIAL.

lv_initial_components_counter = lv_initial_components_counter + 1.

ENDIF.

WRITE: 'Initial components: ', lv_initial_components_counter.

NEW-LINE.

ENDFORM. "count_initial_components START-OF-SELECTION.

PERFORM count_initial_components USING work_area.

work_area-str = 'This is a string'.

PERFORM count_initial_components USING work_area.

work_area-date = '20141225'. " Christmas

PERFORM count_initial_components USING work_area.

work_area-time = '134059'.

PERFORM count_initial_components USING work_area.

work_area-integer = 101.

PERFORM count_initial_components USING work_area.

work_area-hex = '0123456789ABCDEF'.

PERFORM count_initial_components USING work_area.

Write an executable program with a routine that receives a work area with at least 4

components. All components can only be declared using numeric and different primitive types. Your routine should sum the values from all components and print the result.

Solution:

REPORT z_abap101_058.

TYPES: BEGIN OF ty_work_area, integer TYPE i,

float TYPE f,

pack TYPE p LENGTH 8 DECIMALS 3, decfloat34 TYPE decfloat34, END OF ty_work_area.

*&---*

*& Form sum_numeric_components

*&---*

* Receives a work area with numeric components and sum them.

*---*

* -->US_WA Work area with numeric components

*---*

FORM sum_numeric_components USING us_wa TYPE ty_work_area.

DATA lv_sum_result TYPE decfloat34.

lv_sum_result = us_wa-integer + us_wa-float + us_wa-pack + us_wa-decfloat34.

WRITE lv_sum_result.

NEW-LINE.

ENDFORM. "sum_numeric_components START-OF-SELECTION.

DATA work_area TYPE ty_work_area.

DATA work_area_doubled TYPE ty_work_area.

work_area-integer = 2.

work_area-float = '2.5'.

work_area-pack = '2.12345'.

work_area-decfloat34 = 1000000000000000000000000000000.

PERFORM sum_numeric_components USING work_area.

work_area_doubled-integer = work_area-integer * 2.

work_area_doubled-float = work_area-float * 2.

work_area_doubled-pack = work_area-pack * 2.

work_area_doubled-decfloat34 = work_area-decfloat34 * 2.

PERFORM sum_numeric_components USING work_area_doubled.

Write an executable program which has a routine that receives a work area with 3 char components and 3 numeric components. The routine should clear some component values according to the following rules:

1. Clear char components only if the sum of the numeric components is odd (ignoring possible decimal places)

2. Clear numeric components only if the sum of vowels in the three char components is even (ignoring lower/upper case)

Solution:

REPORT z_abap101_059.

TYPES:

BEGIN OF ty_char_and_numeric, char_comp1 TYPE string, char_comp2 TYPE c LENGTH 3, char_comp3 TYPE n LENGTH 10, num_comp1 TYPE i,

num_comp2 TYPE f,

num_comp3 TYPE decfloat16, END OF ty_char_and_numeric.

*&---*

*& Form clear_char_or_numeric

*&---*

* This routine clears some component values according to the following rules:

* a. Clear char components only if the sum of the numeric components is odd (ignoring possible decimal places)

* b. Clear numeric components only if the sum of vowels in the three char components is even (ignoring lower/upper case)

*---*

* -->US_WA_CHAR_AND_NUMERIC text

*---*

FORM clear_char_or_numeric USING us_wa_char_and_numeric TYPE ty_char_and_numeric.

DATA lv_mod_result TYPE i.

DATA lv_sum_numeric TYPE i.

lv_sum_numeric =

us_wa_char_and_numeric-num_comp1 + us_wa_char_and_numeric-num_comp2 + us_wa_char_and_numeric-num_comp3.

lv_mod_result = lv_sum_numeric MOD 2.

IF lv_mod_result <> 0.

CLEAR:

us_wa_char_and_numeric-char_comp1, us_wa_char_and_numeric-char_comp2, us_wa_char_and_numeric-char_comp3.

RETURN.

ENDIF.

DATA lv_vowel_count TYPE i.

DATA lv_current_vowel_count TYPE i.

FIND ALL OCCURRENCES OF REGEX 'a|e|i|o|u|A|E|I|O|U' IN us_wa_char_and_numeric-char_comp1 MATCH COUNT lv_current_vowel_count.

lv_vowel_count = lv_vowel_count + lv_current_vowel_count.

FIND ALL OCCURRENCES OF REGEX 'a|e|i|o|u|A|E|I|O|U' IN us_wa_char_and_numeric-char_comp2 MATCH COUNT lv_current_vowel_count.

lv_vowel_count = lv_vowel_count + lv_current_vowel_count.

FIND ALL OCCURRENCES OF REGEX 'a|e|i|o|u|A|E|I|O|U' IN us_wa_char_and_numeric-char_comp3 MATCH COUNT lv_current_vowel_count.

lv_vowel_count = lv_vowel_count + lv_current_vowel_count.

lv_mod_result = lv_vowel_count MOD 2.

IF lv_mod_result = 0.

CLEAR:

us_wa_char_and_numeric-num_comp1, us_wa_char_and_numeric-num_comp2, us_wa_char_and_numeric-num_comp3.

RETURN.

ENDIF.

ENDFORM. "clear_char_or_numeric START-OF-SELECTION.

DATA wa_char_cleared TYPE ty_char_and_numeric.

DATA wa_numeric_cleared TYPE ty_char_and_numeric.

wa_char_cleared-char_comp1 = 'This should be clea'.

wa_char_cleared-char_comp2 = 'red'.

wa_char_cleared-char_comp3 = '0123456789'.

wa_char_cleared-num_comp1 = 1.

wa_char_cleared-num_comp2 = 10.

wa_char_cleared-num_comp3 = 100.

WRITE:

wa_char_cleared-char_comp1, wa_char_cleared-char_comp2, wa_char_cleared-char_comp3, wa_char_cleared-num_comp1,

wa_char_cleared-num_comp2, wa_char_cleared-num_comp3.

NEW-LINE.

PERFORM clear_char_or_numeric USING wa_char_cleared.

WRITE:

wa_char_cleared-char_comp1, wa_char_cleared-char_comp2, wa_char_cleared-char_comp3, wa_char_cleared-num_comp1, wa_char_cleared-num_comp2, wa_char_cleared-num_comp3.

NEW-LINE.

ULINE.

wa_numeric_cleared-char_comp1 = 'aeiouAEIOU'.

wa_numeric_cleared-char_comp2 = 'BCD'.

wa_numeric_cleared-char_comp3 = '0123456789'.

wa_numeric_cleared-num_comp1 = 2. " even wa_numeric_cleared-num_comp2 = 10.

wa_numeric_cleared-num_comp3 = 100.

WRITE:

wa_numeric_cleared-char_comp1, wa_numeric_cleared-char_comp2, wa_numeric_cleared-char_comp3, wa_numeric_cleared-num_comp1, wa_numeric_cleared-num_comp2, wa_numeric_cleared-num_comp3.

NEW-LINE.

PERFORM clear_char_or_numeric USING wa_numeric_cleared.

WRITE:

wa_numeric_cleared-char_comp1, wa_numeric_cleared-char_comp2, wa_numeric_cleared-char_comp3, wa_numeric_cleared-num_comp1, wa_numeric_cleared-num_comp2, wa_numeric_cleared-num_comp3.

NEW-LINE.

Write an executable program which contains three internal tables (their type must contain at least three components of different data types). Each table will have a different type (standard, sorted and hashed). Add 3 identical values in each table and view the contents of each table in the debugger.

Solution:

REPORT z_abap101_060.

TYPES: BEGIN OF ty_line, id TYPE c LENGTH 10, name TYPE string, value TYPE i, END OF ty_line.

DATA it_standard TYPE STANDARD TABLE OF ty_line.

DATA it_sorted TYPE SORTED TABLE OF ty_line WITH UNIQUE KEY id.

DATA it_hashed TYPE HASHED TABLE OF ty_line WITH UNIQUE KEY id.

START-OF-SELECTION.

DATA wa TYPE ty_line.

wa-id = '3'.

wa-name = 'John'.

wa-value = 50.

APPEND wa TO it_standard.

INSERT wa INTO TABLE it_sorted.

INSERT wa INTO TABLE it_hashed.

wa-id = '2'.

wa-name = 'Mary'.

wa-value = 60.

APPEND wa TO it_standard.

INSERT wa INTO TABLE it_sorted.

INSERT wa INTO TABLE it_hashed.

wa-id = '1'.

wa-name = 'Max'.

wa-value = 30.

APPEND wa TO it_standard.

INSERT wa INTO TABLE it_sorted.

INSERT wa INTO TABLE it_hashed.

BREAK-POINT.

Write an executable program which has a routine that receives an internal table and print how many fields are filled with their default value (the line type of the table must have at least 4 fields).

Hint: each primitive type has a default value. For example, 0 (zero) is the default value of integers whereas space ( ' ' ) is the default value of characters.

Solution:

TYPES: ty_table TYPE STANDARD TABLE OF ty_line.

*&---*

*& Form count_initial_fields_of_table

*& Form count_initial_fields_of_table

Documento similar