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

Отработка процедуры один раз при запуске программы



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
Mikhail
Участник
Участник



Joined: 15 Feb 2008
Posts: 2

PostPosted: Fri Oct 03, 2008 3:07 pm    Post subject: Отработка процедуры один раз при запуске программы Reply with quote

Всем привет.
Ситуация смешная. но не пойму как ее решить. есть: программа, запускаемая через Selection Screen (после запуска можно попадать в другие экраны и возвращаться обратно до SelScr, выход из SelScr с помощью стандартного GUI-Status ); процедура P1 котрая должна отработать при запуске программы (только один раз! желательно при старте SelScr).
что делал: вешал процедуру P1 на события Load-of-Programm, Initilaization.
Проблема: при возврате из других экранов обратно до SelScr возникают события LOP или INIT (причем все глобальные переменные снова обнуляются - так что выставить флаг что процедура уже отработала внутри программы не получается по сути программа автоматически перезагружается) и процедура отрабатывает всякий раз при выходе до SelScr.
Может все это как нибудь просто решается?
Благодарю всех откликнувшихся.
Back to top
View user's profile Send private message
John Doe
Модератор
Модератор


Age: 46
Joined: 05 Nov 2007
Posts: 725
Location: КраснАдар

PostPosted: Fri Oct 03, 2008 3:21 pm    Post subject: Reply with quote

Мое простое решение - заменить селекционник на собственный экран. Или данные в память запихивайте и когда нужно считывайте.
Back to top
View user's profile Send private message Blog
vga
Мастер
Мастер


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

PostPosted: Fri Oct 03, 2008 3:28 pm    Post subject: Reply with quote

Хранить в abap памяти Smile

Code:
REPORT  Z_vga_one_run.

DATA: g_flag.

PARAMETER: p_bukrs LIKE bkpf-bukrs.

INITIALIZATION.
  IMPORT g_flag FROM MEMORY ID sy-uname.
  IF sy-subrc = 0 AND g_flag IS INITIAL.
    PERFORM one_run. " will run once
    g_flag = 'X'.
    EXPORT g_flag TO MEMORY ID sy-uname.
  ENDIF.

START-OF-SELECTION.
  WRITE: / 'Test'.

*&---------------------------------------------------------------------*
*&      Form  one_run
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
form one_run.
endform.                    " one_run
Back to top
View user's profile Send private message Blog Visit poster's website
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.