У меня ситуация следующая.
В ракурсе T588M поле пол Q0002-GESC1 скрыто, т.е на экране ИТ0002 группа полей "Пол" скрыта, поле "Обращение" доступно.
При приеме сотрудника на работу, т.е. когда запись в ИТ0002 создается (операция INSS), в поле (GESCH) таблицы пол сотрудника сохраняется в зависимости от значения поля обращения.
Т.е. Г-н - пол 1 (м), Г-жа - пол 2 (ж). Значит выборка из ракурса T522G работает.
Однако при копировании записи ИТ или при его ручном создании (например при смене фамилии), пол остается не заполненным, несмотря на то, что обращение существует.
Полез в отладку.
Программа MP000200. Экран 2033. PAI модуль ANREX_NA_RU (находится в include P0002RU3)
Code:
module anrex_na_ru input.
DATA: l_hide TYPE c VALUE ' '.
"SMO0338190
* in case the frame for gender selection (frame_3) is hiden. No warning"
* message will be executed below. "
* or if one of Gender Male or Female is hidden then also .
clear l_hide.
"APNL6BK021263
LOOP AT SCREEN.
* RAPL9CK108652
IF ( screen-name = 'Q0002-GESC1' ) OR "
( screen-name = 'Q0002-GESC2' ). "
IF screen-invisible = on. "
l_hide = 'X'. "
EXIT. "
ENDIF.
ENDIF. "
* RAPL9CK108652
ENDLOOP. "
PERFORM get_anred USING q0002-anrex p0002-anred. "
* RAPL9CK108652
IF ( NOT p0002-anred IS INITIAL ).
PERFORM get_gesch USING p0002-anred p0002-gesch.
* if the screen fields for gender are hidden , P0002-GESCH
* does not get populate and gets stored in the PA Table.
* RAPL9CK108652
* Changes made to clear the other radio button q fields 26.11.2002
* RAPL6BK017465
IF ( l_hide EQ 'X' ).
if psyst-ioper eq 'INS'. "APNL6BK021263
CASE p0002-gesch.
WHEN '1'.
q0002-gesc1 = 'X'.
q0002-gesc2 = ' '.
q0002-gesc3 = ' '.
WHEN '2'.
q0002-gesc1 = ' '.
q0002-gesc2 = 'X'.
q0002-gesc3 = ' '.
WHEN OTHERS.
q0002-gesc1 = ' '.
q0002-gesc2 = ' '.
q0002-gesc3 = 'X'.
ENDCASE.
endif. "APNL6BK021263
* RAPL9CK108652
ELSE.
IF p0002-gesch EQ '2'.
IF q0002-gesc2 NE 'X'.
MESSAGE w048(HRPADRUINFOTYPES).
ENDIF.
ELSE.
IF p0002-gesch EQ '1'.
IF q0002-gesc1 NE 'X'.
MESSAGE w047(HRPADRUINFOTYPES).
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
endmodule. " anrex_na_ru INPUT
Получается, что формирование пола происходит только при psyst-ioper eq 'INS' ?
Как в этом случае быть с ручным созданием ИТ ?