SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

Проблема с field symbol при парсинге



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
rudeman
Специалист
Специалист



Joined: 21 Sep 2007
Posts: 55
Location: Киев

PostPosted: Tue Jan 25, 2011 8:09 pm    Post subject: Проблема с field symbol при парсинге Reply with quote

Добрый вечер, уважаемые знатоки!
Так уж получилось, что на практике field symbols - у меня слабое звено.
Подскажите, пожалуйста, как решить следующую задачу!
Rolling Eyes
Посредством ФМ SMUM_XML_PARSE получил пропарсеную XMLку в структуре вывода модуля.
Далее я имею внутреннюю таблицу с полями аналогичными значениям cname структуры вывода ФМ и необходимо присвоить значения в нужные поля.
Н-р:
Вывод ФМ
cname cvalue
A 11
B 22
C 33
и моя структура zmy с полями A,B,C. Необходимо запихнуть нужные данные из вывода ФМ в нужные поля zmy, но без привязки к конкретным именам полей, так как их, мягко говоря, много и порядок рандомный.

Буду рад любому совету, так как перерыл уже много инфы, но чтот в силу слабости с fs не очень помогло.
Заранее благодарен!

_________________
Приятно когда программа из стадии "Блин, она не компилится!" переходит в стадию "Блин, она не работает!"
Back to top
View user's profile Send private message
XXX_:)
Аналитик
Аналитик


Age: 40
Joined: 01 Feb 2008
Posts: 387
Location: Воронеж

PostPosted: Wed Jan 26, 2011 9:39 am    Post subject: Reply with quote

Мне лично не очень понятна задача. Может и другим тоже. Откуда вы получили данные и где будете их использовать не так важно. Опишите структуру исходной таблицы, если важно, какие в ней данные. И в какую таблицу нужно их перенести, какой структуры. набросайте простой пример, чтобы было понятно.
_________________
Hормальные люди делают вещи намного более безумные чем всё, что делают сумасшедшие (c) С.Лем
Back to top
View user's profile Send private message Blog
rudeman
Специалист
Специалист



Joined: 21 Sep 2007
Posts: 55
Location: Киев

PostPosted: Wed Jan 26, 2011 10:04 am    Post subject: Reply with quote

ФМ отдает таблицу типа SMUM_XMLTB. В ней идут поля колонки hier, type, cname, cvalue.
Парсится строка XML: <BLDAT>20110125</BLDAT>
Получаем в cname указано имя ноды XML - BLDAT (для примера) и в cvalue значение ноды 20110125.
У меня своя таблица zmy, в которой тоже есть колонка BLDAT.
Нужно по сути:
case t_smum_xmltb-cname.
WHEN 'BLDAT'.
zmy-BLDAT = t_smum_xmltb-cvalue.
.....

но полей много и огромный case делать грустно. Прошу прощения за возможную сумбурность описания - но где-то так ))

_________________
Приятно когда программа из стадии "Блин, она не компилится!" переходит в стадию "Блин, она не работает!"
Back to top
View user's profile Send private message
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Wed Jan 26, 2011 10:30 am    Post subject: Reply with quote

Что-то в этом роде. И нажмите F1 на фразе FIELD-SYMBOLS - в справке достаточно подробно описано применение field-symbols. Wink
Code:
FIELD-SYMBOLS: <fs> TYPE any.

...
LOOP AT t_smum_xmltb.
  ASSIGN COMPONENT t_smum_xmltb-cname OF STRUCTURE zmu TO <fs>.
  IF sy-subrc = 0. "Если поле с именем t_smum_xmltb-cname существует в zmu, присваиваем ему значение value.
  ENDIF.
  IF <конец записи>.
    APPEND zmu.
    CLEAR zmu. "Подготавливаем рабочую область
  ENDIF.
ENDLOOP.

_________________
С уважением,
Удав.
Back to top
View user's profile Send private message
rudeman
Специалист
Специалист



Joined: 21 Sep 2007
Posts: 55
Location: Киев

PostPosted: Wed Jan 26, 2011 12:27 pm    Post subject: Reply with quote

Удав, очередной огромнейший респект и спасибо!
Разгребусь ток с условием конца записи и будет все ок )

_________________
Приятно когда программа из стадии "Блин, она не компилится!" переходит в стадию "Блин, она не работает!"
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.