Всем добрый день. Столкнулся с таким поведением, хотелось бы узнать корректно ли оно? Пытаюсь добавить свое поле в папку 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? Как от этого избавится? А то получается табельник у нас выводится, а текст к нему нет...
|