SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

Использование DYNP_VALUES_UPDATE



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
cbw07
Старший специалист
Старший специалист



Joined: 30 Nov 2007
Posts: 127

PostPosted: Thu Dec 27, 2007 2:33 pm    Post subject: Использование DYNP_VALUES_UPDATE Reply with quote

У меня на 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


Но при нажатии на кнопку текстовое поле остается пустым.
Что тут не так? И как мне сделать вывод текста?
Back to top
View user's profile Send private message
vga
Мастер
Мастер


Age: 175
Joined: 04 Oct 2007
Posts: 1218
Location: Санкт-Петербург

PostPosted: Thu Dec 27, 2007 3:29 pm    Post subject: Reply with quote

Зачет так сложно. Напишите просто:
Code:
MODULE user_command_0100 INPUT.
....
  CASE sy-ucomm.
    WHEN 'BTN_1'.
      OUT_STR = '123456789'.
    ..................
ENDMODULE.                 " USER_COMMAND_0100  INPUT
Back to top
View user's profile Send private message Blog Visit poster's website
cbw07
Старший специалист
Старший специалист



Joined: 30 Nov 2007
Posts: 127

PostPosted: Thu Dec 27, 2007 3:29 pm    Post subject: Reply with quote

Вопрос снят. Все оказалось проще.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.