Текущее время: Вс, июл 27 2025, 22:48

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Не могу найти расширение для FMBB,нужно новое поле на экране заголовка документа
СообщениеДобавлено: Чт, фев 05 2015, 11:00 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, июл 12 2007, 12:18
Сообщения: 430
Не могу найти расширение для FMBB, нужно новое поле на экране заголовка документа.Может кто знает?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу найти расширение для FMBB,нужно новое поле на экране заголовка документа
СообщениеДобавлено: Чт, фев 05 2015, 11:43 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Тр. S_ALN_01000569.
Создаете внедрение для BADI FMBW_CUSTOMER. Добавляете поля в структуру CI_FMBH, экранчик делаете с этими полями в своей группе функций, в BADI передаете их и принимаете значения обратно из экрана (2 метода там - один в PBO, другой из PAI).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу найти расширение для FMBB,нужно новое поле на экране заголовка документа
СообщениеДобавлено: Чт, фев 05 2015, 11:45 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, июл 12 2007, 12:18
Сообщения: 430
Спасибо большое,сейчас попробую


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу найти расширение для FMBB,нужно новое поле на экране заголовка документа
СообщениеДобавлено: Чт, фев 05 2015, 12:16 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, июл 12 2007, 12:18
Сообщения: 430
Структуру создала,внедрение создала.А дальше не поняла где создать экранчик со своими полями?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу найти расширение для FMBB,нужно новое поле на экране заголовка документа
СообщениеДобавлено: Чт, фев 05 2015, 14:23 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, июл 12 2007, 12:18
Сообщения: 430
Нашла,поле появилось,теперь бі сохранить его.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу найти расширение для FMBB,нужно новое поле на экране заголовка документа
СообщениеДобавлено: Чт, фев 05 2015, 14:40 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, июл 12 2007, 12:18
Сообщения: 430
Не могу сохранить введенное значение,оно чистится и все.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу найти расширение для FMBB,нужно новое поле на экране заголовка документа
СообщениеДобавлено: Чт, фев 05 2015, 15:28 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, июл 12 2007, 12:18
Сообщения: 430
Ну подскажите пожалуйста,не получается передать значение.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу найти расширение для FMBB,нужно новое поле на экране заголовка документа
СообщениеДобавлено: Чт, фев 05 2015, 15:28 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Нужно использовать оба метода: PUT_DATA_TO_SCREEN (PBO) и GET_DATA_FROM_SCREEN (PAI). И не забывать использовать глобальные переменные.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу найти расширение для FMBB,нужно новое поле на экране заголовка документа
СообщениеДобавлено: Чт, фев 05 2015, 16:35 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, июл 12 2007, 12:18
Сообщения: 430
В самой программе где этот подэкран создан, ничего не надо писать в PBO и PAI ? Не ругайтесь пожалуйста,просто когда я прихожу в эти методы я не вижу введенного
мной значения нигде. Просто мне это не приходилось делать


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу найти расширение для FMBB,нужно новое поле на экране заголовка документа
СообщениеДобавлено: Чт, фев 05 2015, 16:53 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Я делаю это в группе функций, мне так удобно. Создаю в топ-инклуде глобальную переменную нужной структуры, у Вас это будет что-то типа:
Code:
DATA GS_FMBH TYPE FMBH.

Затем рисую экран с полями из этой глобальной структуры, т.е. достаю нужные из расширенной структуры CI_FMBH.

Затем делаю два ФМ: Z_GET_DATA и Z_PUT_DATA с нужными параметрами в экспорта/импорта. ФМы прописываю в соответствующих методах BADI. Ваш случай:
Code:
CALL FUNCTION 'Z_PUT_DATA'
    IMPORTING
      IS_FMBH = CS_FMBH.
Code:
CALL FUNCTION 'Z_GET_DATA'
    IMPORTING
      ES_FMBH = CS_FMBH.


Внутри ФМов просто передаем параметр в глобальную переменную и наоборот.
Code:
GS_FMBH = IS_FMBH.
Code:
ES_FMBH = GS_FMBH.


В PBO экрана также добавляю цикл по экрану для того, чтобы в соответствующем режиме транзакции отключать/включать возможность редактирования.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу найти расширение для FMBB,нужно новое поле на экране заголовка документа
СообщениеДобавлено: Чт, фев 05 2015, 18:37 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, июл 12 2007, 12:18
Сообщения: 430
Пока ничего не получилось.
Я создала группу функций
в топ include записала DATA GS_FMBH TYPE FMBH.
Дальше создала 2 функции put i get
Дальше создала программу с подэкраном с моей переменной.
Имя программы и экран присоединила в bady c нужным экраном
При работе транзакции программа вылетает в dump,не поступает параметр GS_FMBH
В методах я объявляла data: CS_FMBH type FMBH иначе не активировалось.
Не бросайте меня


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу найти расширение для FMBB,нужно новое поле на экране заголовка документа
СообщениеДобавлено: Чт, фев 05 2015, 18:46 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Для экрана не нужно отдельную программу создавать, сделайте его в группе функций чтобы использовать данные топ-инклуда.
Мой код - это только пример. Посмотрите параметры интерфейса методов BADI, нужно именно их в ФМ передавать. Если они не совпадают с FMBH, замените типизацию глобальной переменной.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу найти расширение для FMBB,нужно новое поле на экране заголовка документа
СообщениеДобавлено: Пт, фев 06 2015, 08:47 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
John Doe написал:
Для экрана не нужно отдельную программу создавать, сделайте его в группе функций чтобы использовать данные топ-инклуда.
Мой код - это только пример. Посмотрите параметры интерфейса методов BADI, нужно именно их в ФМ передавать. Если они не совпадают с FMBH, замените типизацию глобальной переменной.

Извините, мой пример не удачный по отношению к этому BADI, в нем уже определены экраны. К тому же есть документация к нему.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу найти расширение для FMBB,нужно новое поле на экране заголовка документа
СообщениеДобавлено: Пт, фев 06 2015, 10:17 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
У меня не активирован FI-FM поэтому проверить точно не могу, но если выполнять по документации то Ваша программа должна выглядеть ка-то так. Для примера я добавил пользовательское поле ZZVBELN.
Code:
DATA: gs_fmbh TYPE fmbh.
DATA: g_mode TYPE fmbw_mode.

DATA: g_badi TYPE REF TO if_ex_fmbw_customer.

*&---------------------------------------------------------------------*
*&      Module  PBO  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE pbo OUTPUT.
  IF g_badi IS INITIAL.
    CALL METHOD cl_exithandler=>get_instance
      EXPORTING
        exit_name              = 'FMBW_CUSTOMER' "BADI NAME
        null_instance_accepted = seex_true
      CHANGING
        instance               = g_badi.
  ENDIF.

  IF NOT g_badi IS INITIAL.

    CALL METHOD g_badi->get_data_from_screen
      IMPORTING
        doc_header      = gs_fmbh
        processing_mode = g_mode.


  ENDIF.

  LOOP AT SCREEN.
    IF screen-name EQ 'GS_FMBH-ZZVBELN'.
      CASE g_mode.
        WHEN 'CRE' OR 'CHG'.
          screen-input = '1'.
        WHEN 'DIS'.
          screen-input = '0'.
        WHEN OTHERS.
          screen-input = '0'.
      ENDCASE.

      MODIFY SCREEN.
    ENDIF.
  ENDLOOP.

ENDMODULE.                 " PBO  OUTPUT

*&---------------------------------------------------------------------*
*&      Module  PAI  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE pai INPUT.

  IF NOT g_badi IS INITIAL.

    CALL METHOD g_badi->put_data_to_screen
      EXPORTING
        doc_header      = gs_fmbh
        processing_mode = g_mode.

  ENDIF.

ENDMODULE.                 " PAI  INPUT


Для меня было непривычно, что GET_DATA вызывается в PBO, а не в PAI.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу найти расширение для FMBB,нужно новое поле на экране заголовка документа
СообщениеДобавлено: Пт, фев 06 2015, 11:56 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, июл 12 2007, 12:18
Сообщения: 430
Что-то у меня не получается,что-то я сделала не так.

Вот код программы,на экране только 1 поле 'GS_FMBH-PRIZNAK'
программа присоединина к экрану 2010.
может не put?
а в самих методах ничего не писать?
Report ZSOZDEKR_FMBH.
DATA: gs_fmbh TYPE fmbh.
DATA: g_mode TYPE fmbw_mode.

DATA: g_badi TYPE REF TO if_ex_fmbw_customer.
CALL SCREEN 100.
*&---------------------------------------------------------------------*
*& Module PBO OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE pbo OUTPUT.
IF g_badi IS INITIAL.
CALL METHOD cl_exithandler=>get_instance
EXPORTING
exit_name = 'FMBW_CUSTOMER' "BADI NAME
null_instance_accepted = seex_true
CHANGING
instance = g_badi.
ENDIF.

IF NOT g_badi IS INITIAL.

CALL METHOD g_badi->get_data_from_screen
IMPORTING
doc_header = gs_fmbh
processing_mode = g_mode.


ENDIF.

LOOP AT SCREEN.
IF screen-name EQ 'GS_FMBH-PRIZNAK'.
CASE g_mode.
WHEN 'CRE' OR 'CHG'.
screen-input = '1'.
WHEN 'DIS'.
screen-input = '0'.
WHEN OTHERS.
screen-input = '0'.
ENDCASE.

MODIFY SCREEN.
ENDIF.
ENDLOOP.

ENDMODULE. " PBO OUTPUT

*&---------------------------------------------------------------------*
*& Module PAI INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE pai INPUT.


IF NOT g_badi IS INITIAL.

CALL METHOD g_badi->put_data_to_screen
EXPORTING
doc_header = gs_fmbh
processing_mode = g_mode.

ENDIF.



ENDIF.

ENDMODULE. " PAI INPUT


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB