У меня на Dynpro есть текстовое поле с именем OUT_STR. 
Когда я нажимаю некоторую кнопку на Dynpro у меня после выполнения некоторого кода в этом поле должна появляться некоторая текстовая информация (ну, напр., "123456789"). 
В PAI-модуле я пишу: 
Code:
MODULE user_command_0100 INPUT. 
  DATA: f_name TYPE fieldname, 
            f_value TYPE fieldvalue. 
  CLEAR g_ok_code. 
  CASE sy-ucomm. 
    WHEN 'BTN_1'. 
      ................ 
      f_name = 'OUT_STR'.    
      f_value = '123456789'. 
      PERFORM write_text 
                    USING f_name 
                              f_value.                      
    .................. 
ENDMODULE.                 " USER_COMMAND_0100  INPUT 
Затем пишу подпрограмму: 
Code:
FORM write_text 
                    USING p_f_name TYPE fieldname 
                          p_f_value TYPE fieldvalue. 
DATA: dynpro_fields LIKE dynpread OCCURS 1 WITH HEADER LINE. 
DATA: progname TYPE sy-repid, 
          dynnum   TYPE sy-dynnr. 
  progname = sy-repid. 
  dynnum   = sy-dynnr. 
  FREE: dynpro_fields.      
  dynpro_fields-fieldname = p_f_name. 
  dynpro_fields-fieldvalue = p_f_value. 
  APPEND dynpro_fields. 
  CALL FUNCTION 'DYNP_VALUES_UPDATE' 
    EXPORTING 
      dyname               = progname 
      dynumb               = dynnum 
    TABLES 
      dynpfields           = dynpro_fields 
    EXCEPTIONS 
      invalid_abapworkarea = 1 
      invalid_dynprofield  = 2 
      invalid_dynproname   = 3 
      invalid_dynpronummer = 4 
      invalid_request      = 5 
      no_fielddescription  = 6 
      undefind_error       = 7 
      OTHERS               = 8. 
  IF sy-subrc <> 0. 
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno 
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. 
  ELSE. 
*    MODIFY SCREEN. 
*    MESSAGE 'OK!!!' TYPE 'I'. 
  ENDIF. 
ENDFORM.                    " WRITE_TEXT 
Но при нажатии на кнопку текстовое поле остается пустым. 
Что тут не так? И как мне сделать вывод текста?