Текущее время: Пт, июл 18 2025, 23:55

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 51 ]  На страницу Пред.  1, 2, 3, 4
Автор Сообщение
 Заголовок сообщения: Re: Очередной пример индо-кода
СообщениеДобавлено: Вт, апр 02 2013, 16:35 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
SYS написал(а):
Какие же все-таки трудолюбивые люди :mrgreen:

Да нет, им наверняка до сих пор за количество строк кода платят :gigi:

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Очередной пример индо-кода
СообщениеДобавлено: Ср, апр 03 2013, 16:26 
Начинающий
Начинающий

Зарегистрирован:
Ср, дек 26 2012, 10:21
Сообщения: 3
Сам удивлялся, в свое время, зачем так сложно?
Code:
DATA lv_filename TYPE file_name.
DATA lv_length   TYPE i.
DATA lv_index    TYPE i.

lv_length = strlen( lv_filename ).
DO lv_length TIMES.
  lv_index = sy-index - 1.
  IF lv_filename+lv_index(1) = space.
    lv_filename+lv_index(1) = '_'.
  ENDIF.
ENDDO.

Пока не пришлось найти решение :)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Очередной пример индо-кода
СообщениеДобавлено: Пн, июл 01 2013, 13:23 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Вот еще один пример работы лентяев из SAP
Code:
*   here the name of the button and the event is determine

  lr_comp_controller ?= comp_controller.
  IF lr_comp_controller->gv_archive = abap_false.
    description = cl_wd_utilities=>get_otr_text_by_alias( 'CRM_UIU_BT_SALES_CONTRACT/SEARCH' ).
  else.
    description = text-003.
  endif.

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Очередной пример индо-кода
СообщениеДобавлено: Пн, июл 15 2013, 14:34 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, авг 18 2010, 15:38
Сообщения: 97
Code:
  constants :  l_c_TRANSCODE type char9    value 'TRANSCODE' .

    clear l_tcode .
    assign component l_c_TRANSCODE
           of structure wa_zwpcontrol to <fs_tcode> .
    if  not <fs_tcode> is initial .
       move <fs_tcode> to l_tcode .
    endif .


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


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Очередной пример индо-кода
СообщениеДобавлено: Вт, июл 23 2013, 12:58 
Ассистент
Ассистент

Зарегистрирован:
Ср, янв 18 2012, 16:49
Сообщения: 30
Пол: Мужской
arcanist написал(а):
Code:
  constants :  l_c_TRANSCODE type char9    value 'TRANSCODE' .

    clear l_tcode .
    assign component l_c_TRANSCODE
           of structure wa_zwpcontrol to <fs_tcode> .
    if  not <fs_tcode> is initial .
       move <fs_tcode> to l_tcode .
    endif .


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


А еще необходимо делать unassign, т.к. возможно где-то ранее поле уже было присвоено :)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Очередной пример индо-кода
СообщениеДобавлено: Ср, сен 03 2014, 01:40 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Помянул всуе индусскую божью матерь, увидев, как байтовую строку преобразуют в uuencode в ФМ GUID_CONVERT.
Весь смысл преобразования (по википедии) сводится к тому, что 3 байта (24 бит) разбивают на 4 куска по 6 бит. Каждый кусок представляют в виде числа 0-63, и по этому смещению берут символ из строки 'ABCD...' (char 64). Всё!
Попробуйте узреть эту логику в коде. Ручаюсь, голову сломаете! :)
Особенно веселит полное отсутствие знаний арифметики. Например, чтобы из первого байта старшие 6 бит преобразовать к числу, нужно просто байт разделить на 4 - то бишь сдвинуть вправо на 2 разряда. Вместо этого автор использует напрямую это смещение (занулив младшие 2 бита), а в строку символы забивает с интервалом 4 - ' A B C D...'. И так далее, тонны кода, констант, масок... Жесть короче!

p.s.
Просто искал в САПе преобразование в uuencode. Поначалу думал позаимствовать код из этого ФМ. Ужаснулся и написал свой в 50 строк, где ~10 описание переменных и ~10 пустые строки для красоты. Да и то еще сократить можно, но лень. :)

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 51 ]  На страницу Пред.  1, 2, 3, 4

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB