Текущее время: Вс, июл 20 2025, 15:13

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: ASSIGN
СообщениеДобавлено: Пт, апр 09 2010, 12:32 
Специалист
Специалист

Зарегистрирован:
Вт, сен 15 2009, 16:41
Сообщения: 201
Пол: Мужской
Здравствуйте!
как из переменной "a" сделать "a1" например?
и присвоить ей значени по индексу 1

Пример кода такой :
Code:
   data tek_line  like LINE-TDLINE.
  data num_line type i.
  data: strlen type i,
        long_text1(100) type c,
        long_text2(100) type c,
        long_text3(100) type c.
FIELD-SYMBOLS: <ft> TYPE any.


CLEAR:  long_text1,
        long_text2,
        long_text3.
  CLEAR LINE. REFRESH LINE.
  CALL FUNCTION 'READ_TEXT'         
       EXPORTING
          ID         =  'Z028'
          LANGUAGE   = 'R'
          NAME       =  zvname
          OBJECT     = 'VBBK'
       IMPORTING
          HEADER     = THEAD
       TABLES
          LINES      = LINE
       EXCEPTIONS OTHERS = 8.

  DESCRIBE TABLE LINE LINES NUM_LINE.

  IF NUM_LINE > 0.

    DO num_line times.
      clear:  tek_line.
      n_ind = sy-index.
      READ TABLE LINE index n_ind.
      IF LINE-TDLINE <> SPACE.         
        tek_line = LINE-TDLINE.
       if n_ind = 1.
        WRITE  tek_line to long_text1.
       elseif n_ind = 2.
        WRITE  tek_line to long_text2.
       elseif n_ind = 3.
        WRITE  tek_line to long_text3.
         ENDIF.
       ENDIF.
       enddo.
  ENDIF.

Вот тут в цикле хочется избавиться от этих ифов типо if n_ind = 1, а присваиивать значение напрмую переменной long_text с нужный номером порядковым.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ASSIGN
СообщениеДобавлено: Пт, апр 09 2010, 12:40 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
а в чем сакральный смысл такого считывания каждой строки подробного текста в отдельные переменные :shock:

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ASSIGN
СообщениеДобавлено: Пт, апр 09 2010, 12:42 
Специалист
Специалист

Зарегистрирован:
Вт, сен 15 2009, 16:41
Сообщения: 201
Пол: Мужской
Дело в том что выгрузка данной штуки идет в эксель. И вот бухи захотели чтобы тексты заголовка в экселе были в соответствие с документом. То есть если поставили ентер в тексте и стало две строки, то и в экселе должно быть две. Макросами выруливать не хочу, хочу абапом закидывать в две или три переменные в формуляре и выводить.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ASSIGN
СообщениеДобавлено: Пт, апр 09 2010, 12:46 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
rstiv написал:
Дело в том что выгрузка данной штуки идет в эксель. И вот бухи захотели чтобы тексты заголовка в экселе были в соответствие с документом. То есть если поставили ентер в тексте и стало две строки, то и в экселе должно быть две. Макросами выруливать не хочу, хочу абапом закидывать в две или три переменные в формуляре и выводить.


мда дикость :shock: . ну в таком случае почему бы не собирать все в одну строку , разделяя отедльные строки cl_abap_char_utilities=>cr_lf при выгрузке даст нужный результат.

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ASSIGN
СообщениеДобавлено: Пт, апр 09 2010, 12:52 
Специалист
Специалист

Зарегистрирован:
Вт, сен 15 2009, 16:41
Сообщения: 201
Пол: Мужской
Интересно, можете написать с примером? Плиз:)


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ASSIGN  Тема решена
СообщениеДобавлено: Пт, апр 09 2010, 13:00 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
rstiv написал:
Интересно, можете написать с примером? Плиз:)


Code:
data: g_str type string.

if not line[] is initial.
  loop at line
     where line-tdline ne space.
 
     concatenate  line-tdline cl_abap_char_utilities=>cr_lf into g_str.
  endloop.
endif.


PS: пользуйтесь поиском много интересного откроете для себя :wink:

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ASSIGN
СообщениеДобавлено: Пт, апр 09 2010, 13:30 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
можно попробовать
CONVERT_ITF_TO_STREAM_TEXT
затем склеить string


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ASSIGN
СообщениеДобавлено: Пт, апр 09 2010, 13:47 
Специалист
Специалист

Зарегистрирован:
Вт, сен 15 2009, 16:41
Сообщения: 201
Пол: Мужской
Сделал как ghost написал, круто!
ТАк а как все такие переменную то переименовать, ну так на будущее чтобы знать, скажите плиз!


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ASSIGN
СообщениеДобавлено: Пт, апр 09 2010, 13:59 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
rstiv написал:
Сделал как ghost написал, круто!
ТАк а как все такие переменную то переименовать, ну так на будущее чтобы знать, скажите плиз!


читайте курсы там и про dynamic programming найдете инфу.

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ASSIGN
СообщениеДобавлено: Пт, апр 09 2010, 14:18 
Специалист
Специалист

Зарегистрирован:
Вт, сен 15 2009, 16:41
Сообщения: 201
Пол: Мужской
Ну да, щас до вечера выучу английский и перед сном прочитаю все BC%.:) Просто я думал на таком примере я и так освою этот прием, но видимо не судьба.:(


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ASSIGN
СообщениеДобавлено: Пт, апр 09 2010, 15:43 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
rstiv написал:
Ну да, щас до вечера выучу английский и перед сном прочитаю все BC%.:) Просто я думал на таком примере я и так освою этот прием, но видимо не судьба.:(


Ну зачем так сразу в крайности :)
А пример вот, для освоения приема.

Code:
    data:     n_ind(20),
              long_text1(100) type c,
              long_text2(100) type c,
              long_text3(100) type c.
    field-symbols: <f>.
    data: sss(20).

    do 3 times.
      n_ind = sy-index.
      condense n_ind.
      concatenate 'long_text' n_ind into sss.
      assign (sss) to <f>.
      <f> = '111'.
    enddo.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ASSIGN
СообщениеДобавлено: Пт, апр 09 2010, 18:31 
Специалист
Специалист

Зарегистрирован:
Вт, сен 15 2009, 16:41
Сообщения: 201
Пол: Мужской
Спасибо ghost, за то что сориентировался в преблеме и помог более изящно ее решить.
Спасибо Besa, за то что раскрыл тему. Круто чуваки, респект и уважуха!


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

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


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

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


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

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