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

Подробный текст сообщения.



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
Sam@
Участник
Участник



Joined: 14 Apr 2008
Posts: 7

PostPosted: Tue Apr 15, 2008 9:12 am    Post subject: Подробный текст сообщения. Reply with quote

Здравствуйте. Как вывести из своей программы подробный текст сообщения в виде HTML окна? в смысле такой же экран который появляется когда нажимаешь дабл клик на сообщении.
Back to top
View user's profile Send private message
admin
Администратор
Администратор



Joined: 01 Sep 2007
Posts: 1640

PostPosted: Tue Apr 15, 2008 9:46 am    Post subject: Reply with quote

Вам для каких целей нужно?
Если хотите написать свой help, доступный по нажатию F1 на поле, можно завести свой Zxxx элемент данных, написать для него Help (кнопка Documentation в тр. se11) и создавать экранное поле на основе этого элемента данных.
Back to top
View user's profile Send private message
vga
Мастер
Мастер


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

PostPosted: Tue Apr 15, 2008 10:06 am    Post subject: Reply with quote

функциональные модули:
POPUP_DISPLAY_TEXT

Code:
REPORT zkcdocsh.

DATA: popup.
PARAMETERS: dokar LIKE draw-dokar,
doknr LIKE draw-doknr,
dokteil LIKE draw-doktl,
dokvr LIKE draw-dokvr.

popup = 'X'.
CALL FUNCTION 'DOCUMENT_SHOW_DIRECT'
     EXPORTING
          dokar        = dokar
          doknr        = doknr
          dokteil      = dokteil
          dokvr        = dokvr
*          cad_insert   = ' '
*          datei_name   = ' '
*          only_data    =
*          print        =
*     importing
*          datei_name_e =
     EXCEPTIONS
          not_found    = 1
          no_auth      = 2
          no_original  = 3
          OTHERS       = 4.
* process pop-up
IF popup NE space.
  CALL FUNCTION 'POPUP_DISPLAY_TEXT'
       EXPORTING
            popup_title    = text-tit
            text_object    = 'RKCWINEX_TXT01'
       EXCEPTIONS
            text_not_found = 1
            OTHERS         = 2.
ENDIF.


DOCU_CALL
Code:
*&---------------------------------------------------------------------*
*&      Module  PAI_0100  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE PAI_0100 INPUT.
    ID               TYPE DOKHL-ID,
    LANGU            TYPE DOKHL-LANGU,
    OBJECT           TYPE DOKHL-OBJECT,

  OK_CODE = SY-UCOMM.
* activate event analysis of object-oriented Control Framework
  CALL METHOD CL_GUI_CFW=>DISPATCH.
* handle other events
  CASE OK_CODE.
    WHEN 'BACK'.
      LEAVE PROGRAM.
    WHEN 'EXIT'.
      LEAVE PROGRAM.
    WHEN 'DOCU'.
      ID = 'RE'. LANGU = SY-LANGU. OBJECT = 'GFW_DEMO_HIER1'.
*     display program documentation
      CALL FUNCTION 'DOCU_CALL'
        EXPORTING
          DISPL             = 'X' "//show mode
          DISPL_MODE        = '2' "//like F1 help
          ID                = ID
          LANGU             = LANGU
          OBJECT            = OBJECT.
  ENDCASE.

ENDMODULE.                 " PAI_0100  INPUT


HELP_DOCULINES_SHOW
Code:
*Dynpro
process on help-request.
  field <my_field> module help_f1.

*Report
at selection-screen on help-request for <my field> .
  PERFORM help_f1.

*In the routine you have to insert the code to display the text, it
*depends on how you want to create it.

*For example I created a text by trx SO72 and this is the code to
*display it:

  DATA: t_line LIKE tline OCCURS 0,
  xhead LIKE thead,
  help_info LIKE help_info,
  texc LIKE sy-ucomm OCCURS 0,
  v_object LIKE dokhl-object.

  DATA: pref_simg(4) VALUE 'SIMG',
  docid_hy LIKE dokhl-id VALUE 'HY'.

  CONCATENATE pref_simg 'Z_MY_DOC' INTO v_object.

*Estrazione testo
  CALL FUNCTION 'DOCU_GET_FOR_F1HELP'
       EXPORTING
            id       = docid_hy
            langu    = sy-langu
            object   = v_object
       IMPORTING
            head     = xhead
       TABLES
            line     = t_line
       EXCEPTIONS
            ret_code = 1
            OTHERS   = 2.
  CASE sy-subrc .
    WHEN 0.

*Visualizzazione testo
      GET CURSOR FIELD help_info-dynprofld.
      help_info-docuid = docid_hy.
      help_info-docuobject = v_object.
      help_info-spras = sy-langu.
      help_info-program = sy-repid.
      help_info-dynpro = sy-dynnr.
      help_info-dynpprog = sy-repid.
      help_info-pfkey = sy-pfkey.
      help_info-fieldname = help_info-dynprofld.

      CALL FUNCTION 'HELP_DOCULINES_SHOW'
           EXPORTING
                help_infos     = help_info
                overlay_header = xhead
           TABLES
                excludefun     = texc
                helplines      = t_line.
    WHEN OTHERS. MESSAGE s720(sh).
  ENDCASE.
Back to top
View user's profile Send private message Blog Visit poster's website
Sam@
Участник
Участник



Joined: 14 Apr 2008
Posts: 7

PostPosted: Tue Apr 15, 2008 12:47 pm    Post subject: Reply with quote

я тут пишу программу постирования документов с помошью бапи. При окончании выполнения программы результат выдается в таблицу. И если есть позиции с ошибками хотелось к сообщениям об ошибке добавить подробный текст. Я тут нашел ФМ BAPI_MESSAGE_GETDETAIL. который дает подробный текст, но в виде таблицы и хотелось бы чтобы выходило как стандартный.


message.JPG
 Description:
 Filesize:  19.61 KB
 Viewed:  21071 Time(s)

message.JPG


Back to top
View user's profile Send private message
Sam@
Участник
Участник



Joined: 14 Apr 2008
Posts: 7

PostPosted: Tue Apr 15, 2008 12:49 pm    Post subject: Reply with quote

я забыл добавить чтобы текст подробного сообщения выводилось на дабл клик.
Back to top
View user's profile Send private message
vga
Мастер
Мастер


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

PostPosted: Tue Apr 15, 2008 7:47 pm    Post subject: Reply with quote

Чтобы показать окно, которые вы показали, нужно создать в словаре текст (тр. SO10).
Теоретически Вы можете создавать текст (ФМ SAVE_TEXT) перед показом хелпа, а потом удалять (ФМ DELETE_TEXT). ФМ для показа текста я привел выше. Только не уверен, что это правильный метод. ИМХО, более красивый и широко используемый метод - вывод сообщений об ошибках через ФМ для работы с Application log (Журнал сообщений)

Примеров обработки двойного шелчка в alv много в соотвествующем разделе на форуме.
Back to top
View user's profile Send private message Blog Visit poster's website
Sam@
Участник
Участник



Joined: 14 Apr 2008
Posts: 7

PostPosted: Wed Apr 16, 2008 12:31 pm    Post subject: Reply with quote

Спасибо всем за ответы. У меня все получилось. Я просто использовал ФМ-и BAPI_MESSAGE_GETDETAIL который формировал данные в формате sap script, а ФМ HELP_DOCULINES_SHOW выводил все это в нужном виде в окне. При двойном клике на строке таблицы сейчас у меня появляется подробный текст сообщения. Что и хотелось.
Back to top
View user's profile Send private message
Igor_34_rus
Специалист
Специалист



Joined: 08 Apr 2009
Posts: 75

PostPosted: Tue Mar 15, 2011 5:12 pm    Post subject: А всё же можно как-то отобразить HTML? Reply with quote

Ситуация:
Экран разбит сплитом
часть занимает ALV
вторя должна быть тестовая(сейчас list_view стоит)
хотелось бы заменить list_view на вывод текста в HTML, так будет красивее нагляднее...

может при помощи "TYPE REF TO cl_gui_html_viewer", как-то можно вывести?
Back to top
View user's profile Send private message
Igor_34_rus
Специалист
Специалист



Joined: 08 Apr 2009
Posts: 75

PostPosted: Tue Mar 15, 2011 6:29 pm    Post subject: Reply with quote

подробный пример подробно:

класс
CL_GUI_CHARACTERISTIC_HTMLEDIT->SET_DATA
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.