Montag, 1. November 2021

Transaktion als neuen Task aufrufen

Kürzlich stand ich vor der Aufgabe, eine Transaktion aus einer Transaktion heraus aufzurufen.
Dabei sollte die aktuelle Transaktion nicht verlassen werden und einige Parameter sollten vorgegeben werden.

Eine mögliche Lösung findet ihr hier anhand der VL06F.



DATA lt_using_tab TYPE TABLE OF bdcdata.
DATA 
lv_task_id(8).
     lv_task_id 
'tid001'.


"Parameter vorbelegen
      lt_using_tab 

     VALUE #dynbegin 'T' fnam 'VL06F' )
              
  program 'WS_MONITOR_OUTB_DEL_FREE' 
                  dynpro 1000 dynbegin 'X' )
              fnam 'BDC_CURSOR'    fval 'IF_VSTEL-LOW')
              (
 fnam 'BDC_OKCODE'    fval '=ONLI'       )
              
fnam 'IF_VSTEL-LOW'  fval '=1234'       )
              
fnam 'IF_LGPOS'      fval 'X'           )
              
fnam 'IT_LFART-LOW'  fval 'LF'           )
           
).
      
      "Transaktion aufrufen
      
CALL FUNCTION 'ABAP4_CALL_TRANSACTION' 

        STARTING NEW TASK lv_task_id
        
EXPORTING
          tcode                 
'VL06F'
          mode_val              
'E'
        
TABLES
          using_tab             
lt_using_tab
        
EXCEPTIONS
          communication_failure 
1
          system_failure        
2.

      
IF sy-subrc > 0.
        
MESSAGE 'RFC error' TYPE 'I' DISPLAY LIKE 'E'.
      ENDIF. 

Keine Kommentare:

Kommentar veröffentlichen