Автор Тема: О коде и java-индусах...  (Прочитано 7663 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 758
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
О коде и java-индусах...
« : Июнь 22, 2009, 01:49:49 am »
В общем тут на неделе разгребал один вопросик, наткнулся на интересную связку таблиц, ну и еще получил одно подтверждение, что таки SAP пишут уволенные java-индусы, которые о товарище Дейте и его книге по базам данных не то что не слышали, но даже не догадываются о том что она существует и все уже придумано до них.

Дейта можно найти тут, если кому интересно: You are not allowed to view links. Register or Login

PS: Кстати, если кто-то сможет меня переубедить в обратном и объяснить глубокую мысль зачем так было сделано, сниму шляпу.

А теперь о том что озадачило. В общем есть такая вещь как единица упаковки, ну например в исходящей поставке, как в примере на рисунке EO-1.png. Таблица, где хранится единица обработки VEKP, ключ у единицы обработки VEKP-VENUM, как обычно длина 10 символов, ну любит SAP такие ключи, а дальше как обычно VEKP-EXIDV - Внешний ид. единицы обработки, собственно говоря, на экране мы его и видим как 511005670000009349, а вот дальше начинается интересное, в это таблице есть такое поле как VEKP-HANDLE - Уникальный ключ для VEKP-VENUM, тип у него GUID_VEKP, ага именно типа GUID, очень любимый java-программистами, зачем он используется, ну мало ли... может надо, однако для чего оно оказалось надо?! А вот для чего. Единица обработки имеет свою историю, рисунок EO-2.png. История эта хранится в отдельной таблице VEVW - Ведомость использования для единиц обработки, так вот ключ для идентификации единицы обработки, ну по логике должен был быть наверное VEVW-VENUM, ага щазззз, нет в этой таблице ключ у нас ага тот самый GUID, VEVW-HANDLE типа GUID_VEKP, по которому и ищем историю к единице обработки... какого надо было включать в первичный ключ именно этот GUID (22 байта, наверное хотели оракловый построитель индексов озадачить ::) ), я не знаю... чем им не понравился VEKP-VENUM?!

Хотя в этой таблице и дальше не все так просто, вот к примеру последнее поле VEVW-DIRECTION, если посмотреть описание то там стоит: "Направление (1 = выход, 2 = вход) (Direction (1=outbound, 2=inbound))", ну вроде как ясно, что значение может быть или 1 или 2, ага щаз, вот для этой единицы обработки там для документа поставки стоит 0, рисунок EO-3.png. Короче, таки действительно как там в анекдоте на уроке математики в грузинской школе:
- Гоги сколько будет 2 * 2?
- Я думаю 8!
- Нет Гоги садЫсь 2! Будет где-то 5 или 7, но никак не 8!

Так и тут может быть 1 или 2, ну а если очень нужно то 0, а так же другие цифры, хорошо хоть набор тут ограничен типом NUMC, т.е. от 0 до 9  ;), а ведь могли типа CHAR  сделать.

DofD

  • Гость
Re: О коде и java-индусах...
« Ответ #1 : Июнь 26, 2009, 01:31:11 pm »
Еще есть момент что если смотреть через SE11 то значение NULL и " " выглядит одинаково. Один раз чуть голову не сломал почему при селекте нет данных а при просмотре таблици есть.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 758
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: О коде и java-индусах...
« Ответ #2 : Июнь 26, 2009, 03:53:07 pm »
You are not allowed to view links. Register or Login
Еще есть момент что если смотреть через SE11 то значение NULL и " " выглядит одинаково. Один раз чуть голову не сломал почему при селекте нет данных а при просмотре таблици есть.
Ну это классика вообще в базах данных... хотя в SAP иногда помогает проверка на SPACE.

DofD

  • Гость
Re: О коде и java-индусах...
« Ответ #3 : Июнь 29, 2009, 08:29:41 am »
класика то класика, но при прямом просмотре БД там и стоит значение NULL, а не как тут чистое поле  :)

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
Re: О коде и java-индусах...
« Ответ #4 : Июнь 29, 2009, 10:03:28 am »
You are not allowed to view links. Register or Login
класика то класика, но при прямом просмотре БД там и стоит значение NULL, а не как тут чистое поле  :)
Радуйся что там еще не стоит "N U L L" или "empty"  (N U L L с проблелами,просто строковые значения )  ;)
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Оффлайн NachDenken

  • Newbie
  • *
  • Сообщений: 158
  • Репутация: +9/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: О коде и java-индусах...
« Ответ #5 : Июнь 30, 2009, 09:03:08 am »
а вообще разве есть null значения ?
мне кажется есть initial значения каждого типа поля в табличках,
ну есть конечно в поле char4 не написать насильно 'NULL' ;D

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 758
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: О коде и java-индусах...
« Ответ #6 : Июнь 30, 2009, 09:39:54 am »
You are not allowed to view links. Register or Login
а вообще разве есть null значения ?
Ну если исходить из баз данных, то таки есть такое значение...

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
Re: О коде и java-индусах...
« Ответ #7 : Июль 01, 2009, 03:36:06 pm »
Про индусский код
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 758
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: О коде и java-индусах...
« Ответ #8 : Июль 01, 2009, 03:48:04 pm »
You are not allowed to view links. Register or Login
Про индусский код
You are not allowed to view links. Register or Login
Да уж... про китайский код не знал, но судя по открытию центра разработки в Шанхае, придется и его осваивать  ;)