Проблема загрузки сетки GeneXus в AS / 400 - PullRequest
0 голосов
/ 31 мая 2018

Я использую GeneXus X Evolution 3 - Версия 10.3.98441 U5

Я собираю RPG для платформы AS / 400.

Моя задача состоит в том, что мне нужно отфильтровать записи сопределенное значение состояния, когда я загружаю сетку в рабочую панель.Я наконец получил свою программу для фильтрации нежелательных записей, но теперь она отображает только последнюю действительную запись.Это общая проблема?Или что-то, с чем кто-то сталкивался раньше?

Вот код события с моей рабочей панели.

Event Load
for each 
    where RecordStatus = 'ACT'
        &nUserId = nullValue(&nUserId) // clear the note author variable
        &nDate   = nullValue(&nDate)   // clear the date the note was created
        if RecordNoteLine = 1 // only put printable values on the first line
            &nDate = DtoC(RecordDate)
            call(Prog0364, RecordWho, &nUserId) // get userID from emp no
        endif
        &noteUserId = &nUserId 
        &noteDate   = &nDate
        &noteText   = RecordNotes
        MyGrid.Load()
endfor
Endevent

Цель обнуления идентификатора пользователя и даты состоит в том, чтобы отображать только идентификатор пользователя и дату(как символьное поле) в первой строке отображения записи.Целью этого блока является отображение только активных записей.В проекте требуется использовать мягкое удаление (статус «DEL») и отображать только активные записи.

Я очень новичок в использовании GeneXus, RPG и разработке на любой платформе мейнфрейма, поэтому любая помощьбудет принята с благодарностью.

1 Ответ

0 голосов
/ 31 мая 2018

Путем небольшой "игры вокруг" и тестирования различных результатов я пришел к следующему решению (?) Моей проблемы:

Event Load
for each 
    where RecordStatus = 'ACT'
        &nUserId = nullValue(&nUserId) // clear the note author variable
        &nDate   = nullValue(&nDate)   // clear the date the note was created
        if RecordNoteLine = 1 // only put printable values on the first line
            &nDate = DtoC(RecordDate)
            call(Prog0364, RecordWho, &nUserId) // get userID from emp no
        endif
        &noteUserId = &nUserId 
        &noteDate   = &nDate
        &noteText   = RecordNotes
        Load  // <--- THIS is key and obviously I misunderstood when told to use a "load"
              // I was ignorant of what that was, so I looked it up and found 
              // the original code that didn't work for me.
endfor
Endevent
...