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

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


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

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


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

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