Текущее время: Вс, июл 20 2025, 14:41

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Как создать средство поиска???
СообщениеДобавлено: Пн, сен 15 2008, 13:35 
Ассистент
Ассистент

Зарегистрирован:
Ср, авг 13 2008, 07:47
Сообщения: 39
Пол: Мужской
Доброе время суток! Прошу опытных и умудренных САПом помочь начинающему!

Задача такая: в программе на селективный экран надо присобачить средство поиска к astnr (статус заказа таблица AUFK).

Не могли бы вы помочь с кодом или же дать ссылку на хороший материал по этой теме.


Средство поиска приведенное в коде писал абапер а как самому замутить хз. Пытался по аналогии,не выходит. Может найдутся альтруисты и выложат правильный код))) Очень был бы благодарен!!!

Код проги

Code:

REPORT  Z_ASKHAT_REPORT.

TABLES aufk.
TABLES SSCRFIELDS.

include ZT00_FASTOLE2AM_1S.




SELECT-OPTIONS: Balansed for aufk-bukrs OBLIGATORY no-EXTENSION,
                date_t  for aufk-erdat   no-EXTENSION,
                otv_mvz for aufk-kostv no-EXTENSION,
                zapr_mvz for aufk-akstl no-EXTENSION,
                osn_sred for aufk-zzanln1 no-EXTENSION.
select-options: p_ERNAM for aufk-ernam no-extension no intervals,
                status for aufk-astnr no-extension no intervals,
                vid_zak for aufk-auart no-extension no intervals.
initialization.
date_t-sign = 'I'.
date_t-option = 'EQ'.
date_t-low = sy-datum.
date_t-low+6(2) = '01'.
date_t-high = sy-datum.
append date_t.













data: t_table like aufk OCCURS 0 WITH HEADER LINE.
data: int_table like aufk OCCURS 500 WITH HEADER LINE.
AT SELECTION-SCREEN ON VALUE-REQUEST   FOR p_ERNAM-low.
  CALL FUNCTION 'HELP_VALUES_GET_WITH_MATCHCODE'
  EXPORTING

    MATCHCODE_OBJECT                = 'Z_ASKHAR2'
     TABNAME                         = ''
IMPORTING
   SELECT_VALUE                    = p_ERNAM-low
EXCEPTIONS
   INVALID_DICTIONARY_FIELD        = 1
   INVALID_MATCHDCODE_OBJECT       = 2
   NO_SELECTION                    = 3
   OTHERS                          = 4.
*AT SELECTION-SCREEN ON VALUE-REQUEST   FOR status-low.
*  CALL FUNCTION 'HELP_VALUES_GET_WITH_MATCHCODE'
*  EXPORTING
*
*    MATCHCODE_OBJECT                = 'Z_ASKHAR3'
*     TABNAME                         = ''
* IMPORTING
*   SELECT_VALUE                    = status-low
* EXCEPTIONS
*   INVALID_DICTIONARY_FIELD        = 1
*   INVALID_MATCHDCODE_OBJECT       = 2
*   NO_SELECTION                    = 3
*   OTHERS                          = 4.










start-of-selection.
  perform sel_data.
  perform exel_out.

end-of-selection.
*&---------------------------------------------------------------------*
*&      Form  Exel_Out
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
form Exel_Out.

  statics :
          lc_tmpl_checked type c value ' ',
          li_sheet_num    type i value 0.

  data :
          lc_tmpl_name  type zt00_tmpl-srtfd,
          li_tmpl_load type i,
          li_lines_cnt type i,
          lc_date type d,
          lc_time type t,
          lc_txt(500),
          lc_txt2(500),
          lc_even type i,
          lc_regcontr(12),
          li_row type i,
          num type i,
          sf  TYPE i.

define str_copy.
       CALL METHOD OF APPLICATION 'Run' NO FLUSH
          EXPORTING #1 = 'insert_str' #2 = &1 #3 = &2.
  end-of-definition.
  define delete_str.
       CALL METHOD OF APPLICATION 'Run' NO FLUSH
          EXPORTING #1 = 'delete_str' #2 = &1 #3 = &2.
  end-of-definition.

  lc_tmpl_name = 'REESTR'.
  IF lc_tmpl_checked IS INITIAL.
    CALL FUNCTION 'Z_T00_CHECK_ONE_TEMPLATE'
      EXPORTING
        template_id = lc_tmpl_name
      IMPORTING
        RESULT      = li_tmpl_load
      EXCEPTIONS
        OTHERS      = 1.

    CONCATENATE lc_tmpl_name '.XLT' INTO lc_tmpl_name.
    IF ( li_tmpl_load >= 3 ) OR ( sy-subrc <> 0 ).
      MESSAGE e002(zys_mc01) WITH lc_tmpl_name.
    ENDIF.
    lc_tmpl_checked = 'X'.

    PERFORM create_excel_print USING lc_tmpl_name.

    SET PROPERTY OF application 'ScreenUpdating' = 0.
    SET PROPERTY OF application 'DisplayAlerts' = 1.
  ENDIF.

data: begin of RESULT occurs 0,
      kostv like aufk-kostv,
      aufnr like aufk-aufnr,
      ktext like aufk-ktext,
      astnr like aufk-ASTNR,
      akstl like aufk-akstl,
      zzanln1 like aufk-zzanln1,

      end of RESULT.

loop at int_table.
  move-corresponding int_table to result.
  append result.
  endloop.

**************************************************************
data: z_name(20), z_name2(20), dat(100), strk(50).
*******************Âñòàâêà äàòû*******************************
perFORM MONTH_NAME  USING    sy-datum+4(2)
                 CHANGING Z_NAME
                          Z_NAME2.

concatenate 'Çà ïåðèîä c' date_t+9(2)  date_t+7(2)  date_t+3(4) 'ãîäà '  'ïî'  date_t+17(2)  date_t+15(2)  date_t+11(4) 'ãîäà' into dat
SEPARATED BY space.

setcell 5 4 dat.
concatenate 'Äàòà âûãðóçêè:' sy-datum+6(2) Z_NAME2 sy-datum+0(4) 'ãîäà' into strk
separated by space.

******************************************************************
*sy-datum+6(2) -  6-ñ êàêîé ïîçèöèè âûðåçàòü, 2-ñêîëüêî ñèìâîëîâ
******************************************************************
  data: int type i.
  li_row = 10.
  int = 0.
  sort RESULT by kostv.
  LOOP AT RESULT .
    add 1 to int.
    setcell li_row 2 int.
    setcell li_row 3 RESULT-kostv.
    setcell li_row 4 RESULT-aufnr.
    setcell li_row 5 RESULT-ktext.
    setcell li_row 6 RESULT-ASTNR.
    li_row = li_row + 1.
    str_copy li_row li_row.


  ENDLOOP.

delete_str li_row li_row.
delete_str li_row li_row.
*****************************************
*****************************************
*data: z_name(20), z_name2(20), strk(100).
******************************************
*perFORM MONTH_NAME  USING    sy-datum+4(2)
*                 CHANGING Z_NAME
*                          Z_NAME2.
*
*concatenate 'Äàòà âûãðóçêè' sy-datum+6(2) Z_NAME2 sy-datum+0(4) 'ãîäà' into strk
*separated by space.
li_row = li_row + 3.

setcell li_row 5 strk.
li_row = li_row + 1.
setcell  li_row 5 'Îòâåòñòâåííûé:____________________'.
li_row = li_row + 1.
setcell  li_row 5 'Äîëæíîñòü:________________________'.

*****************************************



  SET PROPERTY OF application 'visible' = 1.
  SET PROPERTY OF application 'ScreenUpdating' = 1.

  FREE OBJECT sheet.
  FREE OBJECT workbook.
  FREE OBJECT application.

  CALL FUNCTION 'FLUSH'.

*    MESSAGE s003(zys_mc01).
  MESSAGE 'âûãðóçêà çàâåðøåíà' TYPE 'S'.
ENDFORM.                    " EXCEL_OUT
*&---------------------------------------------------------------------*
*&      Form  SEL_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM SEL_DATA .
  SELECT * from aufk INTO TABLE int_table
    where bukrs in balansed
    and erdat in date_t
    and ernam in p_ernam
    and kostv in zapr_mvz
    and akstl in zapr_mvz
    and astnr in status
    and zzanln1 in osn_sred
    and auart in vid_zak.

ENDFORM.                    " SEL_DATA

FORM MONTH_NAME  USING    Z_MONT
                 CHANGING Z_NAME
                          Z_NAME2.
  CASE Z_MONT.
    WHEN '01'. Z_NAME = 'ÿíâàðü'. Z_NAME2 = 'ÿíâàðÿ'.
    WHEN '02'. Z_NAME = 'ôåâðàëü'. Z_NAME2 = 'ôåâðàëÿ'.
    WHEN '03'. Z_NAME = 'ìàðò'. Z_NAME2 = 'ìàðòà'.
    WHEN '04'. Z_NAME = 'àïðåëü'. Z_NAME2 = 'àïðåëÿ'.
    WHEN '05'. Z_NAME = 'ìàé'. Z_NAME2 = 'ìàÿ'.
    WHEN '06'. Z_NAME = 'èþíü'. Z_NAME2 = 'èþíÿ'.
    WHEN '07'. Z_NAME = 'èþëü'. Z_NAME2 = 'èþëÿ'.
    WHEN '08'. Z_NAME = 'àâãóñò'. Z_NAME2 = 'àâãóñòà'.
    WHEN '09'. Z_NAME = 'ñåíòÿáðü'. Z_NAME2 = 'ñåíòÿáðÿ'.
    WHEN '10'. Z_NAME = 'îêòÿáðü'. Z_NAME2 = 'îêòÿáðÿ'.
    WHEN '11'. Z_NAME = 'íîÿáðü'. Z_NAME2 = 'íîÿáðÿ'.
    WHEN '12'. Z_NAME = 'äåêàáðü'. Z_NAME2 = 'äåêàáðÿ'.
  ENDCASE.
ENDFORM.                    " MONTH_NAME

**********************************************************************
*form select_date_for_seloption.
***********************************************************************
**
***********************************************************************
* DATA: date_F TYPE d,
*       date_l type d.
*
*date_l = sy-datum .
*CONCATENATE  '01' sy-datum+4(2) sy-datum+0(4) into date_f.
*
*endform.

********************************************************************
*


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, сен 15 2008, 13:39 
Ассистент
Ассистент

Зарегистрирован:
Ср, авг 13 2008, 07:47
Сообщения: 39
Пол: Мужской
Да и насчет форума. Весь материал по средству поиска я перелопатил. Если честно, особых проблесков не возникло(((. ПЛЗ ХЕЛП!!!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как создать средство поиска???
СообщениеДобавлено: Пн, сен 15 2008, 14:00 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1556
Откуда: Москва
Askhat Bayarlin написал:
Задача такая: в программе на селективный экран надо присобачить средство поиска к astnr (статус заказа таблица AUFK).


1.) Средства поиска создаются в транзакции SE11.
2.) В программе присобачиваются к полям в словаре данных (SE11) или вручную в программе с помощью matchcode object id .
3.) Можно как и в приведенном коде, вызывать средства поиска вручную в секции AT SELECTION-SCREEN AT VALUE-REQUEST.

_________________
Hе иди по течению, не иди против течения - иди поперек него, если хочешь достичь берега.
Слова Ванталы. Дела Ванталы


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как создать средство поиска???
СообщениеДобавлено: Пн, сен 15 2008, 14:02 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Askhat Bayarlin написал:
Доброе время суток! Прошу опытных и умудренных САПом помочь начинающему!

Задача такая: в программе на селективный экран надо присобачить средство поиска к astnr (статус заказа таблица AUFK).

Не могли бы вы помочь с кодом или же дать ссылку на хороший материал по этой теме.


Средство поиска приведенное в коде писал абапер а как самому замутить хз. Пытался по аналогии,не выходит. Может найдутся альтруисты и выложат правильный код))) Очень был бы благодарен!!!



тр SE11 -> средство поиска, а там уже смотрите по аналогии с другими SH.
И курс по ABAP-словарю неплохо было бы Вам изучить. Раз уж берётесь абапить.

_________________
"После" - не значит "вследствие"


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

Зарегистрирован:
Пн, авг 28 2006, 11:24
Сообщения: 292
Пол: Мужской
Code:
  status for aufk-astnr no-extension no intervals matchcode object H_TKO03.


Что-то не увидел попыток сделать аналогию.

Цитата:
Не могли бы вы помочь с кодом или же дать ссылку на хороший материал по этой теме.


По-моему, для подобных случаев самый лучший материал - это хелп к командам. А пример кода имеет смысл искать в транзакции ABAPDOCU.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, сен 15 2008, 18:58 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
См. FM F4IF_INT_TABLE_VALUE_REQUEST, пример есть тут.

Как создать Search Help

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

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


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

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


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

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