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

вопрос по VA03



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



Joined: 30 Nov 2007
Posts: 127

PostPosted: Wed Jan 21, 2009 12:11 pm    Post subject: вопрос по VA03 Reply with quote

Добрый день.
У меня такая ситуация. Я в некоей программке обрабатываю входящие IDOC (пересчитываю количество материала).
Затем при вызове VA03 в таблице уже стоят новые значения количества мат-ла.

Но заказчик просит, чтобы в закладке "Тексты" (см. на картинке) показывалось оригинальное непересчитанное значение количества мат-ла.

Я не совсем понимаю, как это сделать. В какой таблице (и в каком столбце) нужно сохранять это значение, чтобы оно показывалось при просмотре VA02/VA03.
В VBAP вроде ничего подобного нет.



111.JPG
 Description:
 Filesize:  19.12 KB
 Viewed:  19420 Time(s)

111.JPG




Last edited by cbw07 on Wed Jan 21, 2009 3:03 pm; edited 1 time in total
Back to top
View user's profile Send private message
Alex80
Старший специалист
Старший специалист


Age: 44
Joined: 24 Jan 2008
Posts: 129

PostPosted: Wed Jan 21, 2009 12:21 pm    Post subject: Reply with quote

Наверное нужно использовать ФМ SAVE_TEXT с параметрами
Code:
HEADER-TDOBJECT = 'VBBP'.
HEADER-TDNAME = VBELN + POSNR.
HEADER-TDID = 0001.
HEADER-TDFORM = 'SYSTEM'.
Back to top
View user's profile Send private message
cbw07
Старший специалист
Старший специалист



Joined: 30 Nov 2007
Posts: 127

PostPosted: Wed Jan 21, 2009 1:24 pm    Post subject: Reply with quote

Code:
REPORT  ztest_001.

***   VBELN = 10095155
***   POSNR = 10

TABLES: thead,  "SAPscript: Text-Header
        knmt,   "Kunden-Material-Info
        makt,   "Material-Bezeichnung
        kna1.   "Kunden-Information


DATA: BEGIN OF tlinetab OCCURS 10.     "Zeilen Langtext
        INCLUDE STRUCTURE tline.
DATA: END OF tlinetab.

DATA: gs_xthead LIKE theadvb.

CLEAR:    tlinetab, thead.

gs_xthead-tdobject = 'VBBP'.
gs_xthead-tdname = '0010095155000010'.
gs_xthead-tdid  = '0001'.
gs_xthead-tdspras = 'D'.
gs_xthead-tdform = 'SYSTEM'.
MOVE-CORRESPONDING gs_xthead TO thead.

tlinetab-tdline = '170'.
APPEND tlinetab.

CALL FUNCTION 'SAVE_TEXT'
     EXPORTING
          header        = thead  ""thead
*               INSERT        = ' '
          savemode_direct = 'X'
     IMPORTING
*            function      = txtfunction
          newheader     = thead
     TABLES
          lines         = tlinetab
     EXCEPTIONS
          id            = 1
          language      = 2
          name          = 3
          object        = 5.

WRITE: /'END'.


Вот набросал на скорую руку тестик для VBELN = 10095155 и первого материала в списке. Но почему-то не работает


Last edited by cbw07 on Wed Jan 21, 2009 2:42 pm; edited 1 time in total
Back to top
View user's profile Send private message
Alex80
Старший специалист
Старший специалист


Age: 44
Joined: 24 Jan 2008
Posts: 129

PostPosted: Wed Jan 21, 2009 2:19 pm    Post subject: Reply with quote

Попробуйте добавить
Code:
savemode_direct = 'X'

И вот это
Code:
ADD s1 TO tlinetab.
как-то не понятно.
Back to top
View user's profile Send private message
cbw07
Старший специалист
Старший специалист



Joined: 30 Nov 2007
Posts: 127

PostPosted: Wed Jan 21, 2009 2:49 pm    Post subject: Reply with quote

Да-да, конечно, вы правы, изменил код, теперь сохраняет текст.
Но только он получается у первой строки (выделенная желтым), а мне надо для 4-й строки (обвел в синий овал).
Какой еще параметр нужно задать?



444.JPG
 Description:
 Filesize:  20.02 KB
 Viewed:  19427 Time(s)

444.JPG




Last edited by cbw07 on Wed Jan 21, 2009 2:52 pm; edited 1 time in total
Back to top
View user's profile Send private message
Alex80
Старший специалист
Старший специалист


Age: 44
Joined: 24 Jan 2008
Posts: 129

PostPosted: Wed Jan 21, 2009 2:52 pm    Post subject: Reply with quote

Поставьте точку останова внутри SAVE_TEXT зайдите в VA02 измените нужный Вам текст, нажмите "Сохранить" и ловите в отладке нужные параметры для ФМа.
Back to top
View user's profile Send private message
cbw07
Старший специалист
Старший специалист



Joined: 30 Nov 2007
Posts: 127

PostPosted: Wed Jan 21, 2009 3:01 pm    Post subject: Reply with quote

Спасибо, все нашел, теперь работает
Back to top
View user's profile Send private message
cbw07
Старший специалист
Старший специалист



Joined: 30 Nov 2007
Posts: 127

PostPosted: Wed Jan 21, 2009 3:06 pm    Post subject: Reply with quote

Еще 1 вопрос.
Что лучше использовать:
savemode_direct = 'X' в SAVE_TEXT или вызов COMMIT_TEXT после SAVE_TEXT?
Back to top
View user's profile Send private message
Alex80
Старший специалист
Старший специалист


Age: 44
Joined: 24 Jan 2008
Posts: 129

PostPosted: Wed Jan 21, 2009 3:18 pm    Post subject: Reply with quote

cbw07 wrote:
Еще 1 вопрос.
Что лучше использовать:
savemode_direct = 'X' в SAVE_TEXT или вызов COMMIT_TEXT после SAVE_TEXT?
Честно говоря - не знаю Smile
У себя нашёл только одно место, там и то и другое делается, да ещё и COMMIT_TEXT засунут в перформ, который ON COMMIT вызывается.Smile
Может кто-то другой этот момент уточнит?
Back to top
View user's profile Send private message
vga
Мастер
Мастер


Age: 170
Joined: 04 Oct 2007
Posts: 1218
Location: Санкт-Петербург

PostPosted: Wed Jan 21, 2009 4:13 pm    Post subject: Reply with quote

cbw07 wrote:
Еще 1 вопрос.
Что лучше использовать:
savemode_direct = 'X' в SAVE_TEXT или вызов COMMIT_TEXT после SAVE_TEXT?


Наверно от проектируемой программы зависит. Если пользователь в интерактивнойм режиме 20 раз меняет текст в рамках одной сессии, логичней вызвать один раз COMMIT_TEXT, чем поставить в очередь 20 апдейтов базы через savemode_direct = 'X'.
Back to top
View user's profile Send private message Blog Visit poster's website
HoroSh
Участник
Участник



Joined: 21 Nov 2012
Posts: 1

PostPosted: Thu Nov 22, 2012 1:58 pm    Post subject: Reply with quote

Добрый день,

подскажите пожалуйста, как сохранить техт не в head на позизиции используя в MV45AFZB USEREXIT_CHECK_VBAP.
Использую CALL FUNCTION 'SAVE_TEXT' как здесь описано, но почему то не сохраняется.
Back to top
View user's profile Send private message
Удав
Гуру
Гуру


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

PostPosted: Thu Nov 22, 2012 5:53 pm    Post subject: Reply with quote

HoroSh wrote:
подскажите пожалуйста, как сохранить техт не в head на позизиции используя в MV45AFZB USEREXIT_CHECK_VBAP.
Использую CALL FUNCTION 'SAVE_TEXT' как здесь описано, но почему то не сохраняется.

Покажите, с какими параметрами производится вызов SAVE_TEXT.

_________________
С уважением,
Удав.
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.