Текущее время: Сб, июл 19 2025, 16:25

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: помогите новичку с ALV GRID
СообщениеДобавлено: Чт, авг 08 2013, 14:52 
Начинающий
Начинающий

Зарегистрирован:
Пн, апр 22 2013, 07:22
Сообщения: 10
Всем доброго.
Пытаюсь научиться писать на ABAP отчеты. Пишу всего пару дней, поэтому прошу не бить и не закидывать...
Хочу написать отчет, который бы проверял пользователей систем САП на признак "Уволен" Переведен и т.д. в HR. Цель: Проверять системы на отсутствие пользователей, которые не работают в компании.
Так вот что у меня получилось:
Code:
TABLES PA0298.
TABLES PA0002.
TABLES ADRP.
TABLES USR21.
TABLES USR02.
TABLES T529T.
PARAMETERS:
P_MASSN LIKE PA0298-MASSN.
SELECT-OPTIONS DateENT FOR PA0298-AEDTM.
DATA: LN(40) VALUE 'Фамилия', FN(40) VALUE 'Имя',PERN(8) VALUE 'Таб №', LogPer(12) VALUE 'Пользователь', LockSt(6) VALUE 'Статус'.
*===============================================================
*Выборка из таблиц HR системы
*WRITE / 'Пользователи из системы HR '.

*-------------------
* Структура
*TYPES: BEGIN OF ADRPTABLE.
* TYPES: NAME_LAST TYPE ADRP-NAME_LAST.
* TYPES: NAME_FIRST TYPE ADRP-NAME_FIRST.
*TYPES:  PERNR TYPE PA0002-PERNR.
*TYPES:  BNAME TYPE USR21-BNAME.
*TYPES:  END OF ADRPTABLE.

*DATA: BEGIN OF ADRPTABLE OCCURS 0,
*  NAME_LAST TYPE ADRP-NAME_LAST,
*  NAME_FIRST TYPE ADRP-NAME_FIRST,
*  PERNR TYPE PA0002-PERNR,
*  BNAME TYPE USR21-BNAME,
*  UFLAG Type USR02-UFLAG,
*END OF ADRPTABLE.
*-------------------

*DATA:  T_ALLTABLERESULT TYPE TABLE OF ADRP.
*
*DATA: R_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
*      R_GRID TYPE REF TO CL_GUI_ALV_GRID.
*-------------------
DATA srch_str(20) TYPE C.
DATA MSM_T529T LIKE T529T OCCURS 10 WITH HEADER LINE.
SELECT * FROM T529T INTO TABLE MSM_T529T WHERE MASSN = P_MASSN AND SPRSL = 'R'.
DATA: All_HUMAN LIKE PA0002 OCCURS 100 WITH HEADER LINE,
      ALL_PERNUM LIKE PA0298 OCCURS 100 WITH HEADER LINE.
DATA: All_HUMANSAPADRP LIKE ADRP OCCURS 100 WITH HEADER LINE,
      ALL_PERNUMSAPUSR21 LIKE USR21 OCCURS 100 WITH HEADER LINE.
DATA: UFLAGUSR02 LIKE USR02 OCCURS 100 WITH HEADER LINE.
SELECT * FROM PA0002 INTO TABLE ALL_HUMAN.
SELECT * FROM  PA0298 INTO TABLE ALL_PERNUM
FOR ALL ENTRIES IN ALL_HUMAN
WHERE PERNR = ALL_HUMAN-PERNR
AND MASSN = P_MASSN AND AEDTM IN DateENT.
LOOP AT ALL_HUMAN.
  LOOP AT ALL_PERNUM
  WHERE PERNR = ALL_HUMAN-PERNR.
    srch_str = ALL_HUMAN-VORNA.
    CONCATENATE srch_str '%' INTO srch_str.
*    WRITE: / ALL_HUMAN-NACHN,ALL_HUMAN-VORNA,ALL_HUMAN-MIDNM.
    SELECT * FROM ADRP INTO TABLE All_HUMANSAPADRP WHERE NAME_LAST = ALL_HUMAN-NACHN  AND  NAME_FIRST LIKE srch_str.
    SELECT * FROM  USR21 INTO TABLE ALL_PERNUMSAPUSR21
    FOR ALL ENTRIES IN All_HUMANSAPADRP
    WHERE PERSNUMBER = All_HUMANSAPADRP-PERSNUMBER.
    LOOP AT All_HUMANSAPADRP.
      LOOP AT ALL_PERNUMSAPUSR21
      WHERE PERSNUMBER = All_HUMANSAPADRP-PERSNUMBER.
        SELECT * FROM USR02 INTO TABLE UFLAGUSR02   WHERE BNAME = ALL_PERNUMSAPUSR21-BNAME.
        LOOP AT UFLAGUSR02.
          IF UFLAGUSR02-UFLAG = 0.
            WRITE: /  All_HUMANSAPADRP-NAME_LAST COLOR COL_HEADING, All_HUMANSAPADRP-NAME_FIRST COLOR COL_KEY,  ALL_HUMAN-PERNR COLOR COL_POSITIVE, ALL_PERNUMSAPUSR21-BNAME COLOR COL_TOTAL,UFLAGUSR02-UFLAG COLOR COL_HEADING.
          ELSE.
            WRITE: /  All_HUMANSAPADRP-NAME_LAST COLOR COL_HEADING, All_HUMANSAPADRP-NAME_FIRST COLOR COL_KEY,  ALL_HUMAN-PERNR COLOR COL_POSITIVE, ALL_PERNUMSAPUSR21-BNAME COLOR COL_TOTAL,UFLAGUSR02-UFLAG COLOR COL_KEY.
          ENDIF.
*          ADRPTABLE-NAME_LAST = All_HUMANSAPADRP-NAME_LAST.
*        ADRPTABLE-NAME_FIRST = All_HUMANSAPADRP-NAME_FIRST.
*        ADRPTABLE-PERNR = ALL_HUMAN-PERNR.
*        ADRPTABLE-BNAME = ALL_PERNUMSAPUSR21-BNAME.
*        ADRPTABLE-UFLAG = UFLAGUSR02-UFLAG.
        ENDLOOP.
      ENDLOOP.
    ENDLOOP.
  ENDLOOP.
ENDLOOP.
*CALL SCREEN 100.
TOP-OF-PAGE.
LOOP AT MSM_T529T.
  WRITE: / 'Список пользователей SAP, проведенных в HR по мероприятию: ', MSM_T529T-MNTXT.
ENDLOOP.
WRITE: / LN COLOR COL_HEADING,FN COLOR COL_KEY,PERN COLOR COL_POSITIVE,LogPer COLOR COL_TOTAL,LockSt COLOR COL_KEY.


Вроде все выполняет как надо (Ну так я думаю), вот теперь как мне отобразить это
Code:
WRITE: /  All_HUMANSAPADRP-NAME_LAST COLOR COL_HEADING, All_HUMANSAPADRP-NAME_FIRST COLOR COL_KEY,  ALL_HUMAN-PERNR COLOR COL_POSITIVE, ALL_PERNUMSAPUSR21-BNAME COLOR COL_TOTAL,UFLAGUSR02-UFLAG COLOR COL_KEY.

в ALV GRID. Я совершенно не понимаю как работать с этим контролом.
Посмотрел множество вариантов на форуме, но истина где то рядом.... Не могу понять как привязать данные.
Пытался засунуть все в список (структуру), но дальше как ?
Вот моя структура
Code:
DATA: BEGIN OF ADRPTABLE OCCURS 0,
  NAME_LAST TYPE ADRP-NAME_LAST,
  NAME_FIRST TYPE ADRP-NAME_FIRST,
  PERNR TYPE PA0002-PERNR,
  BNAME TYPE USR21-BNAME,
UFLAG Type USR02-UFLAG,
END OF ADRPTABLE.
*-------------------

вернее внутренняя таблица наверное.
А вот ее я запоняю
Code:
ADRPTABLE-NAME_LAST = All_HUMANSAPADRP-NAME_LAST.
        ADRPTABLE-NAME_FIRST = All_HUMANSAPADRP-NAME_FIRST.
       ADRPTABLE-PERNR = ALL_HUMAN-PERNR.
       ADRPTABLE-BNAME = ALL_PERNUMSAPUSR21-BNAME.
        ADRPTABLE-UFLAG = UFLAGUSR02-UFLAG.



Знаю, что есть неверное представление, но если поможете направлением, еще более примером, буууду просто рад и благодарен.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: помогите новичку с ALV GRID
СообщениеДобавлено: Чт, авг 08 2013, 15:03 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, ноя 29 2012, 16:47
Сообщения: 85
Транзакции в помощь:

ABAPDOCU - Библиотека примеров
SDWDM - Демонстрационные примеры
E83 - Библиотека REUSE
ABAPHELP - Документация по ключевому слову


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: помогите новичку с ALV GRID
СообщениеДобавлено: Пн, авг 12 2013, 14:12 
Начинающий
Начинающий

Зарегистрирован:
Пт, май 20 2011, 12:52
Сообщения: 18
Откуда: Украина, Днепропетровск
Пол: Мужской
http://abap-blog.ru/abap/abap-objects/s ... -vvedenie/
http://abap-blog.ru/?s=alv

Очень подробно, доступно расписано. Автору блога мои благодарности.(не реклама)


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

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


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

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


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

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