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 
DATA lv_task_id(8).
     lv_task_id = 'tid001'.
"Parameter vorbelegen
      lt_using_tab = 
     VALUE #( 
              (   program = 'WS_MONITOR_OUTB_DEL_FREE' 
                  dynpro = 1000 dynbeg
              ( fnam = 'BDC_CURSOR'    fval 
              ( fnam = 'BDC_OKCODE'    fval 
              ( fnam = 'IF_VSTEL-LOW'  fval 
              ( fnam = 'IF_LGPOS'      fval 
              ( fnam = 'IT_LFART-LOW'  fval 
            ).
      
      "Transaktion aufrufen
      CALL FUNCTION 'ABAP4_
        STARTING 
        EXPORTING
          tcode               
          mode_val            
        TABLES
          using_tab           
        EXCEPTIONS
          communication_
          system_failure      
      IF sy-subrc > 0.
        MESSAGE 'RFC error' TY
      ENDIF.