Текущее время: Пт, май 16 2025, 07:33

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Передать в средство поиска параметр?
СообщениеДобавлено: Пн, янв 23 2006, 12:38 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, окт 24 2005, 15:55
Сообщения: 296
Пол: Мужской
Доброе время суток!
Есть проблема:
Существует поле структуры которое отвечает за номер статистического показателя. RKSK1-STAGR. К нему подвязано средство поиска.
Родная транзакция kk03 отрабатывает и запрашивает КЕ перед вводом статистического показателя.

Вставляю это поле для выбора в отчет.
...
parameters blabla type RKSK1-STAGR.
...
Возникает проблема, выбранный стат.показатель не принимается.
Мне кажется что в средство поиска необходимо передать номер контроллинговой единицы, для того чтобы отфильтровать необходимый список стат.показателей.
А где его передать, как, подскажите?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Передать в средство поиска параметр?
СообщениеДобавлено: Пн, янв 23 2006, 13:04 
Директор
Директор

Зарегистрирован:
Чт, май 12 2005, 11:10
Сообщения: 1038
Пол: Мужской
Igor Garanichev написал:
Доброе время суток!
Есть проблема:
Существует поле структуры которое отвечает за номер статистического показателя. RKSK1-STAGR. К нему подвязано средство поиска.
Родная транзакция kk03 отрабатывает и запрашивает КЕ перед вводом статистического показателя.

Вставляю это поле для выбора в отчет.
...
parameters blabla type RKSK1-STAGR.
...
Возникает проблема, выбранный стат.показатель не принимается.
Мне кажется что в средство поиска необходимо передать номер контроллинговой единицы, для того чтобы отфильтровать необходимый список стат.показателей.
А где его передать, как, подскажите?


может попробовать написать
parameters blabla type RKSK1-STAGR MEMORY ID STA.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, янв 23 2006, 13:06 
Гость
SET PARAMETER ID 'CAC' FIELD '1000'.

где 1000 - контр.ед.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, янв 23 2006, 13:59 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, окт 24 2005, 15:55
Сообщения: 296
Пол: Мужской
Не работает, ребята.
Вот гляньте кусок кода:



SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-002.
PARAMETERS ke LIKE ccr1s-kokrs OBLIGATORY VALUE CHECK.
PARAMETERS mvz LIKE csksz-kostl OBLIGATORY VALUE CHECK.
PARAMETERS god TYPE gjahr OBLIGATORY VALUE CHECK.
PARAMETERS hi TYPE perbl OBLIGATORY VALUE CHECK.
PARAMETERS low TYPE perbl OBLIGATORY VALUE CHECK.
SET PARAMETER ID 'CAC' FIELD ke.
PARAMETERS volume LIKE rksk1-stagr OBLIGATORY VALUE CHECK.
SELECTION-SCREEN END OF BLOCK block1.

что не так?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, янв 23 2006, 14:11 
Гость
1. вариант, когда КЕ известна заранее

SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-002.
PARAMETERS ke LIKE ccr1s-kokrs OBLIGATORY VALUE CHECK.
PARAMETERS mvz LIKE csksz-kostl OBLIGATORY VALUE CHECK.
PARAMETERS god TYPE gjahr OBLIGATORY VALUE CHECK.
PARAMETERS hi TYPE perbl OBLIGATORY VALUE CHECK.
PARAMETERS low TYPE perbl OBLIGATORY VALUE CHECK.
PARAMETERS volume LIKE rksk1-stagr OBLIGATORY VALUE CHECK.
SELECTION-SCREEN END OF BLOCK block1.


initialization.

SET PARAMETER ID 'CAC' FIELD ke.


start-of-selection.

* текст программы



2. вариант, когда КЕ задается с экрана

SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-002.
PARAMETERS ke LIKE ccr1s-kokrs OBLIGATORY VALUE CHECK.
PARAMETERS mvz LIKE csksz-kostl OBLIGATORY VALUE CHECK.
PARAMETERS god TYPE gjahr OBLIGATORY VALUE CHECK.
PARAMETERS hi TYPE perbl OBLIGATORY VALUE CHECK.
PARAMETERS low TYPE perbl OBLIGATORY VALUE CHECK.
PARAMETERS volume LIKE rksk1-stagr OBLIGATORY VALUE CHECK.
SELECTION-SCREEN END OF BLOCK block1.


at selection-screen.

SET PARAMETER ID 'CAC' FIELD ke.



start-of-selection.

* текст программы



правда при таком способе, перед тем как вызвать СП
нужно нажать Enter.
чтобы полностью сделать удобно нужно сделать


3. вариант

DATA: RETTAB LIKE DDSHRETVAL OCCURS 0 WITH HEADER LINE.
DATA: R_REPID LIKE SY-REPID,
DYN LIKE DYNPREAD OCCURS 0 WITH HEADER LINE.

at selection-screen on value-request for volume.

r_repid = sy-repid.

CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
DYNAME = R_REPID
DYNUMB = SY-DYNNR
REQUEST = 'A'
TABLES
DYNPFIELDS = DYN
EXCEPTIONS
OTHERS = 99.

READ TABLE DYN WITH KEY FIELDNAME = 'KE'.
SET PARAMETER ID 'CAC' FIELD DYN-FIELDVALUE.


CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
EXPORTING
TABNAME = 'TKA03'
FIELDNAME = 'STAGR'
TABLES
RETURN_TAB = RETTAB
EXCEPTIONS
OTHERS = 99.

READ TABLE RETTAB INDEX 1.
volume = RETTAB-FIELDVAL.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, янв 23 2006, 14:26 
Гость
сорри, вот протестированный пример


Code:
REPORT Z1.



DATA: RETTAB LIKE DDSHRETVAL OCCURS 0 WITH HEADER LINE.
DATA: R_REPID LIKE SY-REPID,
DYN LIKE DYNPREAD OCCURS 0 WITH HEADER LINE.

SELECTION-SCREEN BEGIN OF BLOCK BLOCK1 WITH FRAME TITLE TEXT-002.
PARAMETERS KE LIKE CCR1S-KOKRS OBLIGATORY VALUE CHECK.
PARAMETERS MVZ LIKE CSKSZ-KOSTL OBLIGATORY VALUE CHECK.
PARAMETERS GOD TYPE GJAHR OBLIGATORY VALUE CHECK.
PARAMETERS HI TYPE PERBL OBLIGATORY VALUE CHECK.
PARAMETERS LOW TYPE PERBL OBLIGATORY VALUE CHECK.
PARAMETERS VOLUME LIKE RKSK1-STAGR OBLIGATORY VALUE CHECK.
SELECTION-SCREEN END OF BLOCK BLOCK1.


AT SELECTION-SCREEN ON VALUE-REQUEST FOR VOLUME.

  R_REPID = SY-REPID.

  CALL FUNCTION 'DYNP_VALUES_READ'
    EXPORTING
      DYNAME     = R_REPID
      DYNUMB     = SY-DYNNR
      REQUEST    = 'A'
    TABLES
      DYNPFIELDS = DYN
    EXCEPTIONS
      OTHERS     = 99.

  READ TABLE DYN WITH KEY FIELDNAME = 'KE'.
  SET PARAMETER ID 'CAC' FIELD DYN-FIELDVALUE.

  CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
    EXPORTING
      TABNAME    = 'TKA03'
      FIELDNAME  = 'STAGR'
      SEARCHHELP = 'ZH_TKA03'
    TABLES
      RETURN_TAB = RETTAB
    EXCEPTIONS
      OTHERS     = 99.

  READ TABLE RETTAB INDEX 1.
  VOLUME = RETTAB-FIELDVAL.

START-OF-SELECTION.

* текст программы



правда для него еще нужно кое-что сделать:

скопировать через SE11 средство поиска H_TKA03
в свое: ZH_TKA03

в этом, своем, изменить:

1. Значение по умполчанию для KOKRS : CAC (без кавычек)

2. Снять ВСЕ галочки IMP / EXP

3. Поставить галочку EXP у поля STAGR

4. Активировать средство поиска


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, янв 23 2006, 14:29 
Директор
Директор

Зарегистрирован:
Чт, май 12 2005, 11:10
Сообщения: 1038
Пол: Мужской
Igor Garanichev написал:
Не работает, ребята.
Вот гляньте кусок кода:



SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-002.
PARAMETERS ke LIKE ccr1s-kokrs OBLIGATORY VALUE CHECK.
PARAMETERS mvz LIKE csksz-kostl OBLIGATORY VALUE CHECK.
PARAMETERS god TYPE gjahr OBLIGATORY VALUE CHECK.
PARAMETERS hi TYPE perbl OBLIGATORY VALUE CHECK.
PARAMETERS low TYPE perbl OBLIGATORY VALUE CHECK.
SET PARAMETER ID 'CAC' FIELD ke.
PARAMETERS volume LIKE rksk1-stagr OBLIGATORY VALUE CHECK.
SELECTION-SCREEN END OF BLOCK block1.

что не так?


SET PARAMETER ID 'CAC' FIELD ke.
помоему этот оператор лучше указать в теле программы а не в SELECTION-SCREEN. И у volume всеже попробуй указать MEMORY ID.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, янв 23 2006, 14:39 
Гость
По приколу даже завел новую программку.
Результат тот же. :(((

К примеру:

"Запись 9100 не существует в ТКА03 (проверьте введенные данные)."

Срабатывает только тогда ( и предыдущие варианты тоже) когда убираю
OBLIGATORY VALUE CHECK.

А поле должно быть обязательным для заполнения.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, янв 23 2006, 14:46 
Гость
ну поставь
PARAMETERS VOLUME LIKE TKA03-STAGR OBLIGATORY VALUE CHECK.


либо

PARAMETERS VOLUME LIKE TKA03-STAGR OBLIGATORY .


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, янв 23 2006, 14:49 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, окт 24 2005, 15:55
Сообщения: 296
Пол: Мужской
РМщик написал(а):
ну поставь
PARAMETERS VOLUME LIKE TKA03-STAGR OBLIGATORY VALUE CHECK.


либо

PARAMETERS VOLUME LIKE TKA03-STAGR OBLIGATORY .


Сработало!!!
Поставил

PARAMETERS volume LIKE rksk1-stagr OBLIGATORY.

Спасибо!!!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, янв 23 2006, 14:51 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, окт 24 2005, 15:55
Сообщения: 296
Пол: Мужской
РМщик написал(а):
ну поставь
PARAMETERS VOLUME LIKE TKA03-STAGR OBLIGATORY VALUE CHECK.


либо

PARAMETERS VOLUME LIKE TKA03-STAGR OBLIGATORY .


Только КЕ все равно не передается в средство поиска.
Видны все стат-показатели для всех КЕ.
Вот если б как в КК03?
Там даже при появлении окна с выбором стат.показателей видна вверху подпись :
КонтроллингЕдиница 1000.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, янв 23 2006, 14:55 
Гость
если сделал как в моем примере -
скопировал средство поиска, прописал в нем CAC (по английски),
и вызываешь его из проги
то все по-любому должно работать,
я протестировал 100%


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, янв 23 2006, 15:16 
Гость
а может перед выбором забываете заполнить КЕ на экране? :) :)


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, янв 23 2006, 15:23 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 12:44
Сообщения: 305
Откуда: Жайрем -> Астана
Igor Garanichev написал:
РМщик написал(а):
ну поставь
PARAMETERS VOLUME LIKE TKA03-STAGR OBLIGATORY VALUE CHECK.


либо

PARAMETERS VOLUME LIKE TKA03-STAGR OBLIGATORY .


Только КЕ все равно не передается в средство поиска.
Видны все стат-показатели для всех КЕ.
Вот если б как в КК03?
Там даже при появлении окна с выбором стат.показателей видна вверху подпись :
КонтроллингЕдиница 1000.

ну раз по хорошему не получается :wink: попробуйте так
Code:
DATA: rettab LIKE ddshretval OCCURS 0 WITH HEADER LINE.
DATA: r_repid LIKE sy-repid,
      dyn LIKE dynpread OCCURS 0 WITH HEADER LINE,
      g_KE type ccr1s-kokrs.

SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-002.
PARAMETERS ke LIKE ccr1s-kokrs OBLIGATORY .
PARAMETERS volume LIKE rksk1-stagr OBLIGATORY.
SELECTION-SCREEN END OF BLOCK block1.


AT SELECTION-SCREEN ON VALUE-REQUEST FOR volume.

  r_repid = sy-repid.

  CALL FUNCTION 'DYNP_VALUES_READ'
    EXPORTING
      dyname     = r_repid
      dynumb     = sy-dynnr
      request    = 'A'
    TABLES
      dynpfields = dyn
    EXCEPTIONS
      OTHERS     = 99.
  clear dyn.
  READ TABLE dyn WITH KEY fieldname = 'KE'.
  g_ke = dyn-fieldvalue.

  CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
    EXPORTING
      tabname    = 'RKSK1'
      fieldname  = 'STAGR'
      callback_program  = sy-cprog
      callback_form     = 'SH_CALLBACK_FORM'
      DYNPPROG    = sy-cprog
      DYNPNR      = sy-dynnr
      DYNPROFIELD = 'STAGR'
    EXCEPTIONS
      OTHERS     = 99.

FORM sh_callback_form TABLES record_tab STRUCTURE seahlpres
                       CHANGING shlp TYPE shlp_descr
                         callcontrol LIKE ddshf4ctrl.
  DATA :
         lwa_fieldprop LIKE ddshfprop,
         lc_txt TYPE string
        .
**..значения по умолч.
  CONCATENATE '''' g_ke '''' INTO lc_txt.
  lwa_fieldprop-defaultval = lc_txt.
  lwa_fieldprop-shlpinput = space.
  MODIFY shlp-fieldprop FROM lwa_fieldprop
         TRANSPORTING defaultval shlpinput WHERE fieldname = 'KOKRS'.
ENDFORM.                    "SH_CALLBACK_FORM2


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, янв 24 2006, 03:00 
Гость
проще господа, проще надо ...
в initialization поставь rksk1-kokrs = '1000'. и будет тебе счастие ...

вот рабочий кусок:
Code:
TABLES: RKSK1.
PARAMETERS VOLUME LIKE RKSK1-STAGR.

INITIALIZATION.
RKSK1-KOKRS = '1000'.


SearchHelp подхватывает нормально ...


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

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


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

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


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

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