Текущее время: Чт, июн 26 2025, 12:03

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


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

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


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

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