SAPфорум.RU
https://sapboard.ru/forum/

SAP Query на ЛБД ADA и дополнительное поле
https://sapboard.ru/forum/viewtopic.php?f=102&t=90288
Страница 1 из 1

Автор:  Saperx [ Чт, апр 16 2015, 08:58 ]
Заголовок сообщения:  SAP Query на ЛБД ADA и дополнительное поле

Всем добрый день.
Столкнулся с таким поведением, хотелось бы узнать корректно ли оно?
Пытаюсь добавить свое поле в папку ANLAV, которое будет просто выводит имя по табельнику ANLAV-PERNR
Изображение
Code:
SELECT SINGLE ENAME FROM PA0001 INTO MATOTVLASTNAME
  WHERE
            PERNR = ANLAV-PERNR
        AND BEGDA <= BERDATUM
        AND ENDDA >= BERDATUM.

Сгенерировал, в запросе добавил вывод, но получается следующая картина. Если по данному ОС нет записей в ANCLV, т.е. программа в блок GET ANCLV не заходит, то и мое дополнительное поле не выводится, хотя на момент выборки из ANLAV оно заполняется. Как удалось найти, это из-за того что дополнительное поле ложится в группу полей %fg02(extract в которую происходит в операции GET ANLCV, куда мы не попадаем, т.к. данных нет), тогда как в выборка из anlav ложится в %fg01.
Наглядно видно, какие поля система пихает в первую группу в методе вывода:
Code:
loop.
  %data_selected = 'X'.
  at %fg01.
    %znr = '01'.
    %zgr = '01'.
    %cline = %cline + 1.
    perform %clear02.
    %g00-ANLAV-ANLN1 = ANLAV-ANLN1.
    %g00-ANLAV-INVNR = ANLAV-INVNR.
    %g00-ANLAV-LVTNR = ANLAV-LVTNR.
    %g00-ANLAV-LEAFI = ANLAV-LEAFI.
    %g00-ANLAV-PERNR = ANLAV-PERNR.
    %g00-ANLAV-CAUFN = ANLAV-CAUFN.
    %g00-ANLAV-LVDAT = ANLAV-LVDAT.
    %g00-ANLAV-LKDAT = ANLAV-LKDAT.
    %g00-ANLAV-LEABG = ANLAV-LEABG.
...
at %fg02.
    %znr = '02'.
    %zgr = '02'.
    %cline = %cline + 1.
    if %znr > %lznr.
      read table %g00 index %glline.
    endif.
    perform %clear03.
    %g00-ANLCV-ANSW_GJE = ANLCV-ANSW_GJE.
    %g00-T093B-WAERS-0201 = T093B-WAERS.
    %g00-ANLCV-NAFA_GJE = ANLCV-NAFA_GJE.
    %g00-T093B-WAERS-0202 = T093B-WAERS.
    %g00-ANLCV-BCHWRT_GJE = ANLCV-BCHWRT_GJE.
    %g00-T093B-WAERS-0203 = T093B-WAERS.
    %g00-TEXT_ANLAV_ANLN1 = TEXT_ANLAV_ANLN1.
    %g00-TEXT_ANLAV_LEAFI = TEXT_ANLAV_LEAFI.
    %g00-MATOTVLASTNAME = MATOTVLASTNAME.
    %g00-TEXT_ANLAV_CAUFN = TEXT_ANLAV_CAUFN.

В итоге имеем что хоть поле у нас и выбралось, но его экстракт не происходит. Почему так происходит, почему бы не добавить наше дополнительное поле в первую группу вместе с ANLAV? Как от этого избавится? А то получается табельник у нас выводится, а текст к нему нет...

Автор:  Saperx [ Чт, апр 16 2015, 09:48 ]
Заголовок сообщения:  Re: SAP Query на ЛБД ADA и дополнительное поле  Тема решена

Разобрался...
Перед этим полем в SAP Query выводилось 4 поля из ANLCV, мне и в голову не могло прийти, что если перетащить это поле на перед ними, то оно начнет корректно выводиться... Аналогичная проблема из текстовыми полями(например TEXT_ANLAV_ANLN1).
Если поместить его после полей из других таблиц/структур и в них не будет данных, то поля мы не увидим. Перетащив же его в блок полей anlav - все станет нормально.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/