Текущее время: Пн, июл 28 2025, 01:23

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Google [Bot]


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

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