Call Transaktion über Baustein

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Getting started ... Alles für einen gelungenen Start.
6 Beiträge • Seite 1 von 1
6 Beiträge Seite 1 von 1

Call Transaktion über Baustein

Beitrag von dkast (Specialist / 117 / 7 / 1 ) »
Hallo,
ich möchte über RFC eine Transaktion aufrufen. der reine Aufruf ist ja kein Problem mit diversen Funktionsbausteinen nur möchte ich auch noch Werte mitgeben und habe mich für diese Variante entschieden.

Code: Alles auswählen.

  ls_sel_table-fnam    = 'P_SERVER'.
  ls_sel_table-fval    = p_server.
  ls_sel_table-dynpro  = '1000'.
  ls_sel_table-dynbegin = 'X'.
  ls_sel_table-program = 'Z_USER_SIGNOUT'.
  APPEND ls_sel_table TO lt_sel_table.

  ls_sel_table-fnam    = 'W_SEL1'.
  ls_sel_table-fval    = w_sel1.
  ls_sel_table-dynpro  = '1000'.
  ls_sel_table-dynbegin = 'X'.
  ls_sel_table-program = 'Z_USER_SIGNOUT'.
  APPEND ls_sel_table TO lt_sel_table.

  CALL FUNCTION 'ABAP4_CALL_TRANSACTION'
*  DESTINATION lv_test
    EXPORTING
      tcode                   = 'Z_SIGNOUT'
      skip_screen             = 'X'
      mode_val                = 'A'
      update_val              = 'A'
*    IMPORTING
*      subrc                   = d_sysubrc
    TABLES
      using_tab               = lt_sel_table
    EXCEPTIONS
      call_transaction_denied = 1
      tcode_invalid           = 2
      OTHERS                  = 3.
  IF sy-subrc <> 0.
*    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
*            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.
Nur habe ich das Problem das er meine sel_table anscheinend nicht mag. Ohne die Tabelle funktioniert der Aufruf schon. Auch über einen anderen Baustein kann ich mit der Tabelle problemlos meine Transktion aufrufen aber eben nicht mit dem Skip_screen.

Mache ich beim befüllen etwas falsch?

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Call Transaktion über Baustein

Beitrag von DeathAndPain (Top Expert / 1797 / 214 / 396 ) »
Schwer zu sagen. Indem Du die BDCDATA-Tabelle befüllt, machst Du ja im Prinzip einen programmierten Batch Input. Und da das gerufene Programm ein Z-Programm von Dir selber ist, vermag hier niemand zu sagen, ob Du es korrekt befütterst.

Vielleicht könnte man Dir helfen, wenn Du denselben Aufruf mal lokal darstellen würdest, also mit echtem CALL TRANSACTION-Befehl, ausgeführt auf dem Zielserver und funktionierend. Irgendwo muss es da ja einen Unterschied geben.

BTW, wenn Dein Release mindestens 7.40 ist, dann kannst Du Dir die ganzen APPENDs sparen und das wesentlich schöner programmieren.

Re: Call Transaktion über Baustein

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Hier ist auch gerade ein Batchinput:
https://www.abapforum.com/forum/viewtop ... =4&t=22608

Du setzt entweder PROG/DYPRO/DYNBEGIN oder FNAM/FVAL.
Zudem musst du auch einen BDC_OKCODE mitgeben.
Das einfachste ist es, wenn du deine Transaktion mit SHDB aufzeichnest:
https://www.berater-wiki.de/Batch-Input

Re: Call Transaktion über Baustein

Beitrag von DeathAndPain (Top Expert / 1797 / 214 / 396 ) »
Genau. Hnterher den Quelltext schöner formatieren, überflüssige Zeilen (insbesondere BDC_CURSOR) rausschmeißen und Coding dann nach Bedarf anpassen. Das ist der klassische Weg, der hat sogar schon in Release 3.1i funktioniert.

Re: Call Transaktion über Baustein

Beitrag von dkast (Specialist / 117 / 7 / 1 ) »
Hallo. Danke erstmal. Normalerweise müsste die Batch-Tabelle schon passen. Wenn ich den baustein RFC_CALL_TRANSACTION_USING benutze oder TH_REMOTE_TRANSACTION klappt alles einwandfrei.
Nur eben mein Problem mit dem Überspringen der ersten Screens lässt sich damit nicht lösen.

* Änderung: Das Problem liegt daran das mit Skip first Screen keine Tabelle mit übergeben werden kann. Nun habe ich das Probem mit dem doppeltenm Zuruck kann man das irgendwie umgehen?

Re: Call Transaktion über Baustein

Beitrag von dkast (Specialist / 117 / 7 / 1 ) »
Hab mein Problem gelöst. Batch Input hat mit dem Mode nicht funktioniert. Und da das Programm als Job laufen soll kann man eifnach bei der Jobanlage den Server auswählen.

Seite 1 von 1

Vergleichbare Themen

2
Antw.
3242
Views
unterschied baustein se37 ausführen oder mit call function
von rambozola » 21.12.2006 15:44 • Verfasst in ABAP® für Anfänger
2
Antw.
2586
Views
Call Transaktion - skip first screen
von Nicole_80 » 18.08.2004 12:15 • Verfasst in ABAP® für Anfänger
2
Antw.
1523
Views
Call Transaction: Wie wurde Transaktion verlassen?
von toto » 03.04.2008 15:15 • Verfasst in ABAP® Core
2
Antw.
1406
Views
Call Transaktion - Programm Beendet sich
von JohnLocklay » 22.08.2018 11:45 • Verfasst in ABAP® Core
5
Antw.
1899
Views
Call trasaction startet die Transaktion nicht
von Mokona » 29.08.2014 09:36 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.