если я понимаю Ваш вопрос правильно, Вы хотите знать номер строки во время условного цикла по внутренней таблице. Можно использовать системную переменную sy-tabix, если Вы работаете с внутренними таблицами. См. документацию ABAP, если Вам нужно больше информации (особенно глава по внутренняя таблица, обрабатывающая ).
Пример:
LOOP AT itab INTO workarea
WHERE tablefield = value.
WRITE: 'This is row number ', sy-tabix.
ENDLOOP.
Я не тестировал ваш код, но, прочитав, эта строка:
using (ISession session = SessionFactory.Instance.GetCurrentSession())
сбрасывает ваш сеанс после выхода из блока, а затем сеанс удаляется / недействителен в следующий раз .
Вот модель, которую мы используем в наших приложениях:
ISession session = null;
try
{
// Creates a new session, or reconnects a disconnected session
session = AcquireCurrentSession();
// Database operations go here
}
catch
{
session.Close();
throw;
}
finally
{
session.Disconnect();
}
У меня аналогичная ошибка. Оказывается, я был «новичком» в моем репозитории, вместо того, чтобы разрешить его в контейнере IOC.