Автор Тема: Поле расшифровки PERNR в parameter  (Прочитано 5259 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Skif

  • Jr. Member
  • **
  • Сообщений: 726
  • Репутация: +10/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Поле расшифровки PERNR в parameter
« : Июнь 23, 2017, 03:04:34 pm »
Привет,
стандартная задачка, но где лыжи оставил забыл :)
при выборе (F4) в отчете к parameter P_PERNR xочу справа поле ФИО высветить. как его описать?
зы. подскажите пенсионеру с рассеянным склерозом :)

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Поле расшифровки PERNR в parameter
« Ответ #1 : Июнь 23, 2017, 03:43:29 pm »
You are not allowed to view links. Register or Login
Привет,
стандартная задачка, но где лыжи оставил забыл :)
при выборе (F4) в отчете к parameter P_PERNR xочу справа поле ФИО высветить. как его описать?
зы. подскажите пенсионеру с рассеянным склерозом :)
Описать его можно как угодно, например как CHAR100, но вот значение по табельному номеру придется в абапе самому подчитать и вывести, если я правильно понял куда вы его хотите выводить. Ну я у себя на экране когда мне в MIGO, надо было табельные с ФИО отразить так делал.

Оффлайн Skif

  • Jr. Member
  • **
  • Сообщений: 726
  • Репутация: +10/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Поле расшифровки PERNR в parameter
« Ответ #2 : Июнь 23, 2017, 04:27:45 pm »
You are not allowed to view links. Register or Login
Описать его можно как угодно, например как CHAR100, но вот значение по табельному номеру придется в абапе самому подчитать и вывести, если я правильно понял куда вы его хотите выводить. Ну я у себя на экране когда мне в MIGO, надо было табельные с ФИО отразить так делал.
так куда выводить-то? код я вполе (parameter) P_OBJID вписываю (результат выбора из F4-списка).
comment не подойдёт - оно же статическое? поле вывода на экран нужно.
ну вот как в SCC1 мандант, а справа расшифровка

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Поле расшифровки PERNR в parameter
« Ответ #3 : Июнь 25, 2017, 03:51:32 pm »
You are not allowed to view links. Register or Login
так куда выводить-то? код я вполе (parameter) P_OBJID вписываю (результат выбора из F4-списка).
comment не подойдёт - оно же статическое? поле вывода на экран нужно.
ну вот как в SCC1 мандант, а справа расшифровка
А в этом смысле, там есть два варианта, это экран диалоговой транзакции или экран селекционный. У тебя разговор идет по поводу селекционного экрана, а это значит, что по-абапить придется. Там так просто не нарисовать все. В общем вот код работы для завода. Думаю пример для табельных номеров не сложно будет нарисовать, ну и причесать код. В общем виде практически надо самому перерисовать строку селекционного экрана и способ вызова кода поиска. Можешь данный код скопировать в систему и там думаю будет ясно как все работает.
Код: You are not allowed to view links. Register or Login
*&---------------------------------------------------------------------*
*& Report  Z_TEST_1000
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT z_test_1000.

*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(6) text-001 FOR FIELD p_werks.  "text-001 = 'Завод' (текстовая переменная)
SELECTION-SCREEN POSITION 12.
PARAMETERS: p_werks TYPE werks_d.
SELECTION-SCREEN COMMENT 20(30) p_text FOR FIELD p_werks.
SELECTION-SCREEN END OF LINE.


*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* Обработка параметров селекционного экрана
DATA: gt_dynpfields TYPE STANDARD TABLE OF dynpread WITH HEADER LINE,
      gt_return_hlp TYPE STANDARD TABLE OF ddshretval WITH HEADER LINE.


*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
INITIALIZATION.
  p_text = ''.   "Текстовая переменная вывода описания к коду завода


*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
AT SELECTION-SCREEN.
* Описание к коду завода
  SELECT SINGLE name1 INTO (p_text)
  FROM t001w WHERE werks = p_werks.


*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* Вызов кода поиска завода
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_werks.
  CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
    EXPORTING
      tabname           = 'T001W'
      fieldname         = 'WERKS'
    TABLES
      return_tab        = gt_return_hlp
    EXCEPTIONS
      field_not_found   = 1
      no_help_for_field = 2
      inconsistent_help = 3
      no_values_found   = 4
      OTHERS            = 5.

  IF sy-subrc = 0.
*   Определение описания к коду завода
    READ TABLE gt_return_hlp INDEX 1.
    p_werks = gt_return_hlp-fieldval.
    SELECT SINGLE name1 INTO (p_text)
    FROM t001w WHERE werks = p_werks.

*   Считать данные селекционного экрана
    CALL FUNCTION 'DYNP_VALUES_READ'
      EXPORTING
        dyname               = sy-cprog
        dynumb               = sy-dynnr
        request              = 'A'
      TABLES
        dynpfields           = gt_dynpfields
      EXCEPTIONS
        invalid_abapworkarea = 1
        invalid_dynprofield  = 2
        invalid_dynproname   = 3
        invalid_dynpronummer = 4
        invalid_request      = 5
        no_fielddescription  = 6
        invalid_parameter    = 7
        undefind_error       = 8
        double_conversion    = 9
        stepl_not_found      = 10
        OTHERS               = 11.

*   Установить данные завода
    READ TABLE gt_dynpfields WITH KEY fieldname = 'P_WERKS'.
    gt_dynpfields-fieldvalue = gt_return_hlp-fieldval.
    MODIFY gt_dynpfields INDEX sy-tabix.

*   Установить данные описания к коду завода
    READ TABLE gt_dynpfields WITH KEY fieldname = 'P_TEXT'.
    gt_dynpfields-fieldvalue = p_text.
    MODIFY gt_dynpfields INDEX sy-tabix.

*   Обновить экран
    CALL FUNCTION 'DYNP_VALUES_UPDATE'
      EXPORTING
        dyname               = sy-cprog
        dynumb               = sy-dynnr
      TABLES
        dynpfields           = gt_dynpfields
      EXCEPTIONS
        invalid_abapworkarea = 1
        invalid_dynprofield  = 2
        invalid_dynproname   = 3
        invalid_dynpronummer = 4
        invalid_request      = 5
        no_fielddescription  = 6
        undefind_error       = 7
        OTHERS               = 8.
  ENDIF.

Оффлайн Skif

  • Jr. Member
  • **
  • Сообщений: 726
  • Репутация: +10/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Поле расшифровки PERNR в parameter
« Ответ #4 : Июнь 26, 2017, 08:50:29 am »
пасиб. значится таки через камент :)

Sapforum.Biz

Re: Поле расшифровки PERNR в parameter
« Ответ #4 : Июнь 26, 2017, 08:50:29 am »