Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.07.29;
Скачать: [xml.tar.bz2];

Вниз

Есть здесь абаперы?   Найти похожие ветки 

 
Pohil ©   (2007-06-27 07:45) [0]

Решил недавно начать учить ABAP, был просто в шоке. Помесь бегемота с носорогом млин, такого сумашедшего синтаксиса нигде еще не видел. Может кто нить занимался его изучением?


 
TUser ©   (2007-06-27 08:06) [1]

Пример покажи.


 
db2admin ©   (2007-06-27 08:16) [2]

http://forum.vingrad.ru/forum/topic-42874.html
вот пример и обьяснение

SAP на сколько я знаю всегда отличался не проходимыми интерфейсами, как пользователя, так и программера.

у IBM такие же приколы


 
TUser ©   (2007-06-27 08:31) [3]

У меня с перлом тоже какие-то бяки были с пробелами. Только он не сообщает об ошибке, он просто работает, как ему вздумается, а не как надо.


 
Pohil ©   (2007-06-27 08:47) [4]

Ну вот к примеру:

tables: t001w.

DATA: lc_werks      LIKE t001w-werks,
     ltab_fields LIKE help_value OCCURS 0 with header line,

     BEGIN OF ltab_values OCCURS 0,
       feld(40) TYPE c,
     END OF ltab_values.

*-- Set up fields to retrieve data
 ltab_fields-tabname    = "T001W".
 ltab_fields-fieldname  = "WERKS".
 ltab_fields-selectflag = "X".
 APPEND ltab_fields.

 ltab_fields-tabname    = "T001W".
 ltab_fields-fieldname  = "NAME1".
 ltab_fields-selectflag = space.
 APPEND ltab_fields.

*-- Fill values
 select * from t001w.
   ltab_values-feld = t001w-werks.
   append ltab_values.
   ltab_values-feld = t001w-name1.
   append ltab_values.
 endselect.

CALL FUNCTION "HELP_VALUES_GET_WITH_TABLE"
    EXPORTING
         fieldname                 = "WERKS"
         tabname                   = "T001W"
         title_in_values_list      = "Select a value"
    IMPORTING
         select_value              = lc_werks
    TABLES
         fields                    = ltab_fields
         valuetab                  = ltab_values
    EXCEPTIONS
         field_not_in_ddic         = 01
         more_then_one_selectfield = 02
         no_selectfield            = 03


Ну разве не стебательство над мозгом?


 
Ega23 ©   (2007-06-27 08:50) [5]


> Pohil ©   (27.06.07 08:47) [4]
>
> Ну разве не стебательство над мозгом?


Не вижу больших отличий от того же SQL, к примеру.


 
Котик Б   (2007-06-27 09:12) [6]


> Pohil ©   (27.06.07 07:45)  
> Решил недавно начать учить ABAP


... и чем же было вызвано столь глубокомысленное решение ? Неужели в Екатеринбурге на каждом углу SAP R/3 стоит ?


 
db2admin ©   (2007-06-27 09:25) [7]

Котик Б   (27.06.07 09:12) [6]
SAP R/3 для мобильников ))


 
Ega23 ©   (2007-06-27 09:26) [8]


> Неужели в Екатеринбурге на каждом углу SAP R/3 стоит ?


SAP много где стоит.


 
euru ©   (2007-06-27 10:17) [9]


> Pohil ©   (27.06.07 08:47) [4]

> Ну разве не стебательство над мозгом?
Где именно?


 
Val ©   (2007-06-27 10:34) [10]

автор, напиши, что это изумительный код, и 10 человек начнут доказывать тебе обратное. иначе и форумов бы не было.


 
tesseract ©   (2007-06-27 10:34) [11]


> Не вижу больших отличий от того же SQL, к примеру.


Больше похоже на хранимки в iBase,  или фильтры в dbf :-)

Наверно там нет такого уровня изоляции от базы как в 1с.


 
Pohil ©   (2007-06-27 11:09) [12]

> Val ©   (27.06.07 10:34) [10]
Улыбнуло:)

> euru ©   (27.06.07 10:17) [9]
Ну, сложность - понятие для субъективное кто-то спокойно прочитает что-нибудь типа:
inline(
 $8A/$4E/$04/      
 $66/$8B/$46/$06/  
 $66/$D3/$C0/        
 $66/$89/$46/$FC    
 );


Лично мне кажется синтаксис Abap просто ужасным. Хотя дело привычки.


 
tesseract ©   (2007-06-27 11:10) [13]


> Лично мне кажется синтаксис Abap просто ужасным. Хотя дело
> привычки.


пример из 1с :


рег=СоздатьОбъект("Регистры");
ПартииНаличие=Рег.ОстаткиТМЦ;
ТзЗапроса.УдалитьСтроки();
ТекНомен=СоздатьОбъект("СписокЗначений");

ПартииНаличие.УстановитьЗначениеФильтра("Фирма",фирма,1);
ПартииНаличие.УстановитьЗначениеФильтра("Склад",склад.ТекущийЭлемент(),1);
ПартииНаличие.УстановитьЗначениеФильтра("Номенклатура", СписВозврата, 2);          
ПартииНаличие.ВременныйРасчет();
Рег.РассчитатьРегистрыПо(ДатаВозв);

Запрос=СоздатьОбъект("ТаблицаЗначений");
ПартииНаличие.ВыгрузитьИтоги(Запрос,1,1);

//ТзЛев=СоздатьОбъект("ТаблицаЗначений");
//ТзЛев.НоваяКолонка("Код");
//ТзЛев.НоваяКолонка("Количество");
Запрос.Свернуть("Номенклатура,ЦенаПрод","Количество");



 
Pohil ©   (2007-06-27 11:20) [14]


> tesseract ©   (27.06.07 11:10) [13]

Про 1с я вообще молчу. Просто чудо. Я, конечно, в какой то степени патриот, но считаю что язык программирования должен быть вражеским:)


 
Игорь Шевченко ©   (2007-06-27 11:37) [15]

tesseract ©   (27.06.07 11:10) [13]

И что тут непонятно ?


 
tesseract ©   (2007-06-27 11:38) [16]


> И что тут непонятно ?


Да всё понятно, я просто для сравнения с ABAP выложил.


 
euru ©   (2007-06-27 11:47) [17]


> Pohil ©   (27.06.07 11:09) [12]
> Лично мне кажется синтаксис Abap просто ужасным. Хотя дело
> привычки.
Что же в нём ужасного? Синтксис ABAP ближе к английскому языку, чем синтаксис того же Паскаля. В http://delphimaster.net/view/15-1180857262/ я об этом уже говорил (см. посты 245-271).


> Про 1с я вообще молчу. Просто чудо. Я, конечно, в какой
> то степени патриот, но считаю что язык программирования
> должен быть вражеским:)
Т.е. если бы тексты в 1С были на немецком или корейском языках, то было бы нормально?


 
Anatoly Podgoretsky ©   (2007-06-27 11:59) [18]

> euru  (27.06.2007 11:47:17)  [17]

> Т.е. если бы тексты в 1С были на немецком или корейском языках, то было бы нормально?

Т.е. если бы тексты в 1С были на английском языке, то было бы нормально?
Как же надо не любить родной язык.


 
homm ©   (2007-06-27 12:01) [19]

> Как же надо не любить родной язык.

Любовь то здесь при чем? Дело в привычке.


 
Pohil ©   (2007-06-27 12:04) [20]


> Anatoly Podgoretsky ©   (27.06.07 11:59) [18]

Ну посмотри,

Запрос=СоздатьОбъект("ТаблицаЗначений");
и
Req = CreateObject("Table");

Тебе какой вариант больше нравится?


 
Pohil ©   (2007-06-27 12:05) [21]

Я не говорю что не понятно, просто 1 лично мне режет глаз


 
homm ©   (2007-06-27 12:07) [22]

> Ну посмотри,
>
> Запрос=СоздатьОбъект("ТаблицаЗначений");
> и
> Req = CreateObject("Table");
> Тебе какой вариант больше нравится?


какте-то строки не эквивалентные.

Запрос = СоздатьОбъект("ТаблицаЗначений");

Requere = CreateObject("TableOfFields");


 
Игорь Шевченко ©   (2007-06-27 12:12) [23]


> Запрос=СоздатьОбъект("ТаблицаЗначений");
> и
> Req = CreateObject("Table");
>
> Тебе какой вариант больше нравится?


Мне без разницы. А тем, кто трындит, что help на английском поэтому надо клянчить на форуме, определенно первый вариант должен быть понятней.


 
Anatoly Podgoretsky ©   (2007-06-27 12:16) [24]

> Pohil  (27.06.2007 12:04:20)  [20]

Первый, но мне нет разницы какой использовать, а вот другим разница есть.
Кроме того первый писал более квалифицированый разработчик.


 
euru ©   (2007-06-27 12:17) [25]


> Anatoly Podgoretsky ©   (27.06.07 11:59) [18]

> Т.е. если бы тексты в 1С были на английском языке, то было
> бы нормально?
Вы меня спрашиваете? Вроде бы не я утверждал, что русскоязычный варинт 1С меня коробит.


> Pohil ©   (27.06.07 12:04) [20]

> Тебе какой вариант больше нравится?
Без разницы. Но человеку (в нашей стране), не владеющему английским языком хоть в какой-то степени, русский вариант будет более понятен.


 
Pohil ©   (2007-06-27 12:17) [26]


> какте-то строки не эквивалентные.
>
> Запрос = СоздатьОбъект("ТаблицаЗначений");
>
> Requere = CreateObject("TableOfFields");


Ну тогда уж не TableOfFields а TableOfValues ;)


> Мне без разницы. А тем, кто трындит, что help на английском
> поэтому надо клянчить на форуме, определенно первый вариант
> должен быть понятней.

Ну если бы никто не трындел, тебе бы скучно было:)


 
Anatoly Podgoretsky ©   (2007-06-27 12:18) [27]

> homm  (27.06.2007 12:07:22)  [22]

Если первый разработчик был не вполне квалифицированый, то твой вариант намного хуже, поскольку ложные сущности
ТаблицаЗначений <> ТаблицаПолей - это явная диверсия


 
homm ©   (2007-06-27 12:23) [28]

> Если первый разработчик был не вполне квалифицированый,
> то твой вариант намного хуже, поскольку ложные сущности
> ТаблицаЗначений <> ТаблицаПолей - это явная диверсия

Да мне просто показалочь, что там еше намек был что по английски короче будет. чем по русски, вот я и решил показать, что это не так, не вдаваясь в подробности ;)


 
Pohil ©   (2007-06-27 12:27) [29]


> Да мне просто показалочь, что там еше намек был что по английски
> короче будет. чем по русски, вот я и решил показать, что
> это не так, не вдаваясь в подробности ;)

Тебе показалось:) я не намекал, что короче


 
euru ©   (2007-06-27 12:35) [30]

Кстати, не отходя от темы.

В Абапе, чтобы считать данные из таблицы, не нужно создавать никаких дополнительных объектов запроса, как в 1С и Паскале. Они выбираются обычным селектом и записываются во внутреннюю таблицу.


 
Val ©   (2007-06-27 12:39) [31]


> В Абапе, чтобы считать данные из таблицы, не нужно создавать
> никаких дополнительных объектов запроса, как в 1С и Паскале.

здраствуй фокс?


 
euru ©   (2007-06-27 12:43) [32]


> Val ©   (27.06.07 12:39) [31]

> здраствуй фокс?
Почему сразу фокс, а не, например, mssql?


 
Val ©   (2007-06-27 13:19) [33]

не напрягайтесь, плохого в моей фразе нет.
пототому что в фоксе я пишу и запросы и рисую пользовательский интерфейс в мс скл - тоже так?


 
Pohil ©   (2007-06-27 13:30) [34]

Кстати может кто-нибудь знает какие нить форумы хорошие по ABAP? Киньте ссылки плз.


 
euru ©   (2007-06-27 14:16) [35]


> Pohil ©   (27.06.07 13:30) [34]

> Кстати может кто-нибудь знает какие нить форумы хорошие
> по ABAP? Киньте ссылки плз.
www.sapforum.ru
sdn.sap.com


 
Rouse_ ©   (2007-06-27 14:39) [36]


> inline(
>  $8A/$4E/$04/      
>  $66/$8B/$46/$06/  
>  $66/$D3/$C0/        
>  $66/$89/$46/$FC    
>  );

имха
mov cl,[esi+$04]
mov ax,[esi+$06]
rol ax,cl
mov [esi-$04],ax

А вообще то что пунктуационные ограничения языка вплоть что a=3 не правильно а правильно a = 3 это есть хорошо. Приучает к аккуратности :)


 
Pohil ©   (2007-06-27 14:58) [37]


> Rouse_ ©   (27.06.07 14:39) [36]


:) Интеловский мануал наизусть помнишь?


 
db2admin ©   (2007-06-27 15:05) [38]

мне вот интересно постоянные изобретения своих особенностей, которые усложняют работу с прогами(платформами) под тип SAP, это мировой заговор или просто желание зделать "че нить свае"? Даже если после использования этих продуктов, которые презрели все сложившиеся стереотипы крышу сносит.


 
euru ©   (2007-06-27 15:29) [39]


> db2admin ©   (27.06.07 15:05) [38]

> постоянные изобретения своих особенностей
Это не изобретение нового. Это развитие старого. Как Дельфи - потомок Паскаля, так и Абап - потомок Кобола.


> усложняют работу с прогами(платформами)
Абап не усложняет, а наоборот упрощает работу в среде SAP R/3.


 
Rouse_ ©   (2007-06-27 15:51) [40]


> Интеловский мануал наизусть помнишь?

Зачем наизусть? :) Токма основные инструкции :)



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2007.07.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.55 MB
Время: 0.057 c
15-1183182652
@!!ex
2007-06-30 09:50
2007.07.29
ICQ BOT..


15-1183103064
Igorek
2007-06-29 11:44
2007.07.29
Сферическая геометрия - учебник, справочник, курс лекций


15-1183343665
Grademax
2007-07-02 06:34
2007.07.29
Как определить наличие CD в приводе?


2-1183410857
jonimimoni
2007-07-03 01:14
2007.07.29
Hook - перехват клавиатуры


11-1166629512
DenisY
2006-12-20 18:45
2007.07.29
передать данные в PHP





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский