Posted: Thu Jun 17, 2010 5:13 pm Post subject: Проверка поля на HEX 0
Привествую.
В логической LDB для данной ноды нет ни одной записи, тем не менее почему-то вызывается ветка
GET my_table.
Причем поле my_table-RACCT возвращается заполненым не пробелами, а шестнадцатиричными нулями.
Как проверить, что в поле пустое.
CHECK my_table-RACCT IS INITIAL.
CHECK my_table-RACCT EQ ''.
не прокатывает.
Добрый день, почти разобрался, произошло вот что:
Перегенерил программу для LDB и по умолчанию формы для получения данных из нод стали выглядеть вот так
Code:
*----------------------------------------------------------------------*
* Call event GET COFIP
*----------------------------------------------------------------------*
FORM PUT_COFIP.
* SELECT * FROM COFIP
* INTO COFIP
* INTO TABLE ? (choose one!)
* WHERE GL_SIRID = ?.
PUT COFIP.
* ENDSELECT.
ENDFORM. "PUT_COFIP
То есть даже в случае отсутствия записей в таблице, все равно вызывается оператор PUT, который возвращает структуру, в которой все поля равны 0. Как видно, чтение из базы даже не происходило, поэтому не важно, проинициализированы поля в таблице или нет.
Сейчас подправил подпрограмму (убрал закомментированные строки) и если в таблице нет записей, оператор PUT не вызывается.
Но все же на будущее, хотелось бы знать, как проверить поле на HEX = 0 ?
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG. SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG. Every effort is made to ensure content integrity. Use information on this site at your own risk.