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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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