Transaktion von extern rufen und halb bearbeiten - geht das?

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

Integration von Systemen.
8 Beiträge • Seite 1 von 1
8 Beiträge Seite 1 von 1

Transaktion von extern rufen und halb bearbeiten - geht das?

Beitrag von Dummi ( / / 0 / 3 ) »
Hallo Experten,

ich würde gerne die Transaktion VA01 von extern rufen (also von außerhalb SAP), halb bearbeiten und dann dem Anwender zur Weiterbearbeitung anbieten. Geht das?

Konkret bedeutet das: Wenn der Anwender in einem anderen, externen Programm auf einen Knopf drückt, dann soll sich ein SAP-Fenster öffnen und zwar direkt in der Auftragsbearbeitung. Bestimmte Daten, wie Auftragsart, Vertriebsbereich etc. sind von außen vorbelegt. Und außerdem sollen aus dem externen Programm Adressdaten übergeben und in dem Auftrag hinterlegt werden (z.B. indem der Auftragsgeber ein fest verdrahteter CPD-Kunde ist und die Adresse direkt im Auftrag individuell angepaßt wird.). Der Anwender ergänzt dann noch die Auftragspositionen, Auftragsgrund und solche Sachen und sichert den Auftrag.

Ist sowas überhaupt möglich? :roll:

Vielen Dank schonmal für jeden Hinweis!! Hoffnungsvoll: Gast

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


Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
Hi Dummi,

das geht: Batchinput aufzeichnen bis zu der gewünschten Stelle und dann Abspielen mittels Call Transaction ... mode 'E'.

Gruß,
Enno.

Beitrag von Dummi ( / / 0 / 3 ) »
Hallo Enno,

vielen Dank für Deinen Tip!!! Ich schätze, so kann ich das "halbe" Anlegen des Auftrags im SAP regeln, das ist schon mal gut. Aber kann ich sowas dann auch aufrufen von außerhalb SAP? Also z.B. diesen BI in einem Funktionsbaustein kapseln - und dann? Was für eine Technik muß man da anwenden und wie flexibel kann ich die Daten übergeben? Ich kenn mich da leider gar nicht aus...

Gruß, Dummi

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
Hi Dummi,

du kannst einen Funktionsbaustein basteln, ihn als remotefähig kennzeichnen und dann kannst du ihn aus VisualBasic, Windows-Batchdatei, aus einer Website (mit phprfc zb) oder irgendwie mit BSP (???) aufrufen.

Die Daten kannst du dann so flexibel ausgeben, wie das andere Programm es dann zu lässt, bzw. wie der Funktionsbaustein es zuläasst. Du kannst ganz normale Tabellen übergeben.

Bevor ich weiterscrheibe, sag mal, was dir als Anwendung vorschwebt.

Gruß,
Enno.

Beitrag von Dummi ( / / 0 / 3 ) »
Hallo Enno,

ich möchte in einem Nicht-SAP-Programm auf einen Knopf drücken und dies soll meinen Dialog im SAP starten. Der Anwendungsbetreuer von dem Nicht-SAP-Programm sagte mir, er könne alles an Befehlen absetzen, was auch über eine DOS-Eingabeaufforderung aufgerufen werden könnte.

Der Anwender, der das Ganze dann mal später nutzen soll, hat im fraglichen Moment vielleicht gar kein SAP offen und erkennt dann in dem Nicht-SAP-Programm, daß er einen SAP-Kundenauftrag erfassen muß. In der Regel ist der Auftraggeber im SAP nicht als Kunde angelegt. Deshalb soll dann auf Knopfdruck

a) SAP geöffnet und die VA01 angesprungen werden

b) mit fest voreingestellter Auftragsart, Vertriebsbereichdaten und einem CPD-Kunden ein Auftrag begonnen und die Adressdaten aus dem rufenden Programm in dem Auftrag hinterlegt werden (mit dem halben BI).

Dann kann der Anwender den Auftrag im SAP fertig bearbeiten und abschließend sichern.

Ich war mir sehr unsicher, ob sowas überhaupt geht, aber Du hörst Dich ja eigentlich ganz zuversichtlich an. Kann man einen remotefähigen SAP-Funktionsbaustein über die DOS-Eingabeaufforderung rufen und dabei auch Parameter übergeben? Dann könnte ich das ganze ja mal testen.

Man, ich fühl mich dumm!!

Schöne Grüße und herzlichen Dank für Deinen Rat, Dummi

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
Hi,

folgendes (ich gehe von einem Windows-Client aus):
Wenn dein Sapgui komplett installiert ist, dann hast du ein Verzeichnis ../sapgui/rfcsdk/bin. Da gibt's das Programm startrfc.exe

Das kannst du verwenden, um einen Funktionsbaustein aufzurufen. Am besten schreibst du in etwa folgendes in eine DUMMIVA01.CMD-Datei (ohne {}!!):

Code: Alles auswählen.

startrfc -F Z_VA01_DUMMI 
         -E kunag=%1 
         -E kunwe=%2 
         -E auart=%3 
         -3         {R3-System}
         -t         {trace}
         -gui       {use gui}
         -D SY1     {systemid}
         -u dummi   {user}
         -p geheim  {kennwort}
         -c 001     {client}
         -l DE      {language}
Mit -F definierst du den Fuba. -E sind die einzelnen Parameter des Bausteins. mit -T kannst du Tabellen angeben und auch aus welcher Text-Datei diese übernommen werden sollen (einfach startrfc mal aufrufen, es erscheint dann eine Hilfe).

Du benötigst dann noch eine saprfc.ini:

Code: Alles auswählen.

DEST=SY1
TYPE=A
ASHOST=/H/{routing-ip}/S/3298/H/{r3-System}
SYSNR=00
GWHOST=/H/{routing-ip}/S/3298/H/{r3-System}
GWSERV=3300
RFC_TRACE=1
ABAP_DEBUG=0
USE_SAPGUI=1
Dann musst du natürlich den Fuba im R/3 anlegen (Remotefähig!!!).

Die CMD-Datei kannst du dann aufrufen mit

Code: Alles auswählen.

DUMMIVA01 8888 8888 TA
Mehr/ andere info unter
Tricktresor

Falls dir jetzt auffällt, dass ich dir hier die SAPRFC.INI ans Herz gelegt habe und im Artikel die Datei SIDEINFO aufgeführt wird und du dann vielleicht noch fragst, warum: Keine Ahnung... :lol:

Funktioniert hat's mit beiden Varianten.

Und nun viel Spaß!!

Gruß,
_.Enno._

Beitrag von Dummi ( / / 0 / 3 ) »
Hallo Enno,

vielen Dank für die ausführlichen Informationen, das ist wirklich klasse!!! Leider scheitern meine Tests mit Deiner Methode an irgendwelchen Fehlern RFC_ERROR_COMMUNICATION, aber ich hoffe, daß kann ich nächste Woche mit unserer Basis lösen. Wahrscheinlich versorge ich noch irgendwelche Parameter falsch. Aber jetzt weiß ich schon mal, das und wie es geht. Mein Funktionsbaustein ist schon fertig :D

Herzliche Grüße, Dummi

Beitrag von NichtMehrGanzSoDummi ( / / 0 / 3 ) »
:lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol:

Hallo Enno,

jetzt klappt es super. Alles wie gewünscht. Ich bin bei den Untersuchungen mit unserer Basis auch noch zu ein paar neuen Erkenntnissen gelangt:

1. saprfc.ini oder sideinfo
Das steuert man im Prinzip über den Destinationseintrag im Startrfc-Aufruf. Ein großes -D führt zu einer Suche nach der Destination in der Datei saprfc.ini, ein kleines -d zu einer solchen Suche in der Datei sideinfo.

Auszug aus der Doku des Programms startrfc:
-D <destination> name of the RFC destination in saprfc.ini
-d <destination> name of the RFC destination. Necessary, if you are using a 'sideinfo' file.
2. Aufruf OHNE saprfc.ini und OHNE sideinfo
Man kann startrfc auch direkt so aufrufen, daß es weder saprfc.ini noch sideinfo benötigt. In diesem Fall müssen nur der Hostname und die Systemnummer bei dem Aufruf von startrfc mit übergeben werden. Deswegen rufen wir jetzt unseren Baustein folgendermaßen:

Code: Alles auswählen.

startrfc -F Z_VA01_DUMMI 
         -E kunag=%1 
         -E kunwe=%2 
         -E auart=%3 
         -3         {R3-System} 
         -t         {trace} 
         -gui       {use gui} 
         -h HOSTI   {hostname}
         -s 123     {Systemnummer}
         -c 001     {client = Mandant} 
         -u dummi   {user} 
         -p geheim  {kennwort} 
         -l DE      {language} 
Vielen Dank für Deine tolle Hilfe!! Das ist wirklich ein klasse Forum mit sehr hilfsbereiten Mitgliedern!!

Schöne Grüße von NichtMehrGanzSoDummi

:lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol:

P.S.: Kann man eigentlich auch irgendwie die Übergabe von User und Paßwort umgehen und eine Anmeldung am System erzwingen? Wahrscheinlich geht das aber bei einer RFC-Anmeldung nicht, oder?

Seite 1 von 1

Vergleichbare Themen

7
Antw.
8740
Views
Transaktion im Neuen Modus rufen
von an4kh4 » 27.04.2006 10:32 • Verfasst in ABAP® für Anfänger
5
Antw.
13248
Views
Transaktion rufen und Werte übergeben
von mamba » 19.01.2006 12:15 • Verfasst in ABAP® für Anfänger
2
Antw.
1109
Views
0
Antw.
951
Views
digitale Signatur als FB rufen
von flashback » 24.11.2005 09:58 • Verfasst in ABAP® Core
4
Antw.
1122
Views
ALV TREE in Klasse rufen und auf Ereignisse reagieren
von Ingo » 18.06.2019 08:59 • Verfasst in ABAP® Core

Ü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

Aktuelle Forenbeiträge

Daten an Tabelle binden
vor 12 Stunden von Bright4.5 3 / 1485
Regex in where
vor 14 Stunden von tar 6 / 158

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.

Aktuelle Forenbeiträge

Daten an Tabelle binden
vor 12 Stunden von Bright4.5 3 / 1485
Regex in where
vor 14 Stunden von tar 6 / 158

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9821