Текущее время: Вт, авг 05 2025, 00:48

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: как выезать символы из строчки
СообщениеДобавлено: Вт, авг 05 2008, 11:34 
Специалист
Специалист

Зарегистрирован:
Ср, май 28 2008, 07:49
Сообщения: 106
Добрый день!

Как можно вырезать из строчки определенное количество символов с определенной позиции?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: как выезать символы из строчки
СообщениеДобавлено: Вт, авг 05 2008, 11:53 
Гость
KEU написал(а):
Добрый день!

Как можно вырезать из строчки определенное количество символов с определенной позиции?


data: s(20).
s = 'ABAP'.
s = s+2(2).

s => AP


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 05 2008, 12:31 
Специалист
Специалист

Зарегистрирован:
Пн, янв 14 2008, 10:33
Сообщения: 163
где-то в инете нарыл когда-то =)

Code:
* Concatenating strings without delimiter
DATA: FIRST_NAME(25), MIDDLE_NAME(2), LAST_NAME(25),
      FULL_NAME(54).
FIRST_NAME  = 'John'.
MIDDLE_NAME = 'F.'.
LAST_NAME   = 'Kennedy'.
CONCATENATE FIRST_NAME MIDDLE_NAME LAST_NAME INTO FULL_NAME.
WRITE / FULL_NAME.

* Concatenating strings with delimiter
DATA: DIRECTORY_1(2), DIRECTORY_2(10), FILE_NAME(10),
      PATH(24).
DIRECTORY_1 = 'a:'.
DIRECTORY_2 = 'usr'.
FILE_NAME = 'programs'.
CONCATENATE DIRECTORY_1 DIRECTORY_2 FILE_NAME
            INTO PATH
            SEPARATED BY '\'.
WRITE / PATH.

* Splitting strings
DATA: LIST(40),
      NAME_1(25), NAME_2(25), NAME_3(25).
LIST = 'Edison,Smith,Young'.
SPLIT LIST AT ',' INTO NAME_1 NAME_2 NAME_3.
WRITE: / NAME_1, NAME_2, NAME_3.

* Splitting strings with result in an internal table
DATA NAMES LIKE NAME_1 OCCURS 10 WITH HEADER LINE.
LIST = 'Edison,Smith,Young,Edwards'.
SPLIT LIST AT ',' INTO TABLE NAMES.
LOOP AT NAMES.
  WRITE / NAMES.
ENDLOOP.

* Shifting strings by a fixed number of places
NAME_1 = 'Edison'.
NAME_2 = 'Smith'.
NAME_3 = 'Young'.
SHIFT NAME_1.
SHIFT NAME_2 BY 3 PLACES.
SHIFT NAME_3 RIGHT.
WRITE: / NAME_1, NAME_2, NAME_3.

* Shifting strings up to a substring
NAMES = 'Alexander Bill Charles'.
SHIFT NAMES UP TO 'Bill'.
WRITE / NAMES.

* Shifting strings deleting blanks
NAMES = 'Joanne___'.
SHIFT NAMES RIGHT DELETING TRAILING SPACE.
WRITE / NAMES.

* Replacing and translating characters in strings
DATA: STRING(80),
      EXPRESSION(30).
STRING = 'Variable: &. The variable & is substituted later.'.
REPLACE '&' WITH 'X' INTO STRING.
WRITE / STRING.
TRANSLATE STRING USING '&X'.
WRITE / STRING.
EXPRESSION = 'a ** 2 + b ** 2 = c ** 2'.
TRANSLATE EXPRESSION USING 'axbycz'.
WRITE / EXPRESSION.

* Searching for strings in fields or internal tables
DATA TEXT(100) VALUE 'Texas California New Mexico Louisiana Oregon'.
SEARCH TEXT FOR 'California'.
IF SY-SUBRC NE 0. WRITE 'Not found'. ENDIF.
SEARCH TEXT FOR 'cAliforniA'.
IF SY-SUBRC NE 0. WRITE 'Not found'. ENDIF.
SEARCH TEXT FOR 'New M'.
IF SY-SUBRC NE 0. WRITE 'Not found'. ENDIF.

* Working with parts of fields
DATA: S(8) VALUE 'ABCDEFGH',
      T(8) VALUE '12345678',
      OFF1 TYPE I, OFF2 TYPE I,
      LEN1 TYPE I, LEN2 TYPE I.

OFF1 = 2.
LEN1 = 3.
OFF2 = 4.
LEN2 = 3.
MOVE S+OFF1(LEN1) TO T+OFF2(LEN2).
WRITE / T.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 05 2008, 17:06 
Начинающий
Начинающий

Зарегистрирован:
Пт, мар 21 2008, 13:39
Сообщения: 9
1й вариант
Code:
data: s(20).
s = 'ABAP'.
s = s+2(2).

s => AP

по-моему, намного проще и в написании, и в понимании того "что тут написано" через несколько лет. :D


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: re
СообщениеДобавлено: Ср, авг 06 2008, 08:51 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
shift


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 06 2008, 17:56 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
KEU, почитайте ABAP Help на досуге. В редакторе жмете кнопочку F1 и вводите Keywords = + или offset.

Еще на будущее рекомендую прочитать весь раздел Processing Internal Data -> Byte Strings and Character Strings (в него можно попасть по keyword = CONCATENATE, например).

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

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


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

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


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

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