bapis mit abap aufrufen

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

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

bapis mit abap aufrufen

Beitrag von tommy_the_dau ( / / 0 / 3 ) »
Hallo Zusammen,

eigentlich sollte ich nur mal testen, wie man in ABAP mit einem BAPI die Strasse ausliest.

1. Nur leider wird unten keine Strasse ausgegeben, obwohl ich so ziemlich jeder emp bei uns einen festen Wohnsitz hat.

2. Wo finde ich, wie man die exporting-Parameter sinnvoll belegt? Ausser bei employeenumber habe ich keinen Plan.

3. Was mache ich, wenn es mal mehrere Saetze werden z.B. mit so einem Listenbapi oder bei einer employeenumber mit Wildcard etc. ? Wie sieht eine LOOP - Schleife bei einem Funktionsbaustein aus ?

Code: Alles auswählen.

REPORT  z_testreport.

DATA:  strasse   LIKE  BAPIP0006-STRAS.
DATA:  s_return  LIKE  bapiret2.
DATA:  li        LIKE  BAPIP0006-SPRPS.
DATA:  st        LIKE  BAPIP0006-SUBTY.
DATA:  oid       LIKE  BAPIP0006-OBJPS.
DATA:  vb        LIKE  BAPIP0006-BEGDA.
DATA:  ve        LIKE  BAPIP0006-ENDDA.
DATA:  rn        LIKE  BAPIP0006-SEQNR.

PARAMETERS i_persnr TYPE BAPIP0006-PERNR.

CALL FUNCTION 'BAPI_ADDRESSEMP_GETDETAIL'
                 EXPORTING
                   employeenumber          = i_persnr
                   subtype                 = st
                   objectid                = oid
                   lockindicator           = li
                   validitybegin           = vb
                   validityend             = ve
                   recordnumber            = rn
                IMPORTING
*                 RETURN                  = s_return
*                  ADDRESSTYPE             =
*                  CONAME                  =
                  STREETANDHOUSENO        = strasse
*                  SCNDADDRESSLINE         =
                 .

  WRITE 'datensatz: '.
  WRITE : strasse.

Also schon mal besten Dank fuer Eure geduldigen Antworten. Ich bin ja auch nicht freiwillig so unwissend.

Tommy

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


Beitrag von babap (Expert / 681 / 1 / 1 ) »
Hallo,

BAPIs kann man wunderschön auch von ABAP aufrufen (mache ich wirklich öfter!!).

Zum Testen nimmt man einfach das Testwerkzeug aus der SE37/SE80.

Dort kann man alle Eingabeparameter und Tabellen vorbelegen und die Ausgabeparameter (und natürlich Tabellen) mit den Ergebnissen ansehen.

LIST-Bapis haben immer eine Tabellenausgabe, meistens in einem Tables-Parameter, in dem die Listsätze der Ergebnismenge abgelegt sind.

Die Bapis sind in der Transaktion BAPI mit ihren Ein- und Ausgabeparametern gut beschrieben.

Wenn eine Fehlersituation auftritt sind die Meldungen dazu in der Tabelle RETURN abgelegt. So bekommt man ganz schnell raus, was passiert ist. (Achtung: auch die leiseste W-Meldung ist für das BAPI ein Fehler und verhindert den erfolgreichen Ablauf!!).

Gruß
babap

Beitrag von tommy_the_dau ( / / 0 / 3 ) »
Hallo,

also erstmal Danke für die mehr als A SAP (as soon as possible) Antwort :D

SE37 kannte ich bisher noch nicht, den /nbapi kenne ich. Die Parameter sind dort echt gut beschrieben.

Meine ersten Erfahrungen habe ich mit Java und JCo gemacht. Dort hat ein modifziertes torsten-horn-snippet keine Probleme bereitet. Mit JCo ist es daher anscheinend nicht notwendig, die (dem Anwender sowieso nicht zur Verfügung stehenden(!)) Schlüsselfelder wie Subtypen, ObjectID zu belegen.

1. Wo stehen die Default-Werte für subtype,objectid,lockindicator,validitybegin ,validityend und recordnumber? Vielleicht kann man über default-Werte die Kiste überreden, mit den Daten rauszurücken

Oder kann man die deaktivieren? Beim Aufruf meckert die Kiste mich immer an, dass ich z.B. subtype nicht belegt habe

2. Ein Posting von einem ABAP mit BAPI-Aufruf (am Besten mit List-BAPI) wäre echt nett und hilft bei GAP (google aided programming)


Danke!

tommy_the_dau

Beitrag von Haubi (Expert / 625 / 20 / 30 ) »
Hi Tommy.

BAPI's sind nichts anderes als Funktionsbausteine, die mittels CALL FUNCTION aufgerufen werden. Im Editor kannst Du Dir über den Button "Muster" (Tastenkombi Strg+F6) relativ einfach einen entsprechenden Aufruf generieren lassen. Die nicht-obligatorischen Parameter werden dabei "ausgesternt" (sind also inaktiv), sofern Default-Werte hinterlegt sind werden diese ebenfalls "reingeneriert".

Um herauszufinden, welche Werte für die einzelnen Parameter gültig sind kannst Du Dir die Doku zum Funktionsbaustein in der SE37 anzeigen lassen. Wenn keine Doku vorhanden ist wird es kompliziert. Du kannst versuchen, über die Typisierung der Parameter weiterzukommen:
- SE37
- Import-Parameter
- Doppelklick in der Spalte "Bezugstyp"
Du landest entweder in einem Datenelement (wenn mit TYPE typisiert wurde) oder in einer Struktur (wenn mit LIKE typisiert wurde). in letzterem Fall Doppelklick in der Spalte "Komponententyp" um zum Datenelement zu kommen.
Baut das Datenelement auf einem eingebauten Typ auf hast Du an dieser Stelle verloren. :(
Wenn das Datenlement auf einer Domäne aufbaut: Doppelklick auf die Domäne. Dort siehst Du auf dem Reiter "Wertebereich" entweder direkt die gültigen Werte oder es gibt eine Prüftabelle. Ist beides leer hast Du auch hier verloren.

Gruss,
Haubi
Das ABAP Kochbuch ab sofort bei Amazon...

I'd rather write code that writes code than write code...

Beitrag von tommy_the_dau ( / / 0 / 3 ) »
Hallo Haubi,
Dort siehst Du auf dem Reiter "Wertebereich" entweder direkt die gültigen Werte oder es gibt eine Prüftabelle. Ist beides leer hast Du auch hier verloren.
Also ich hab' da mal nachgeschaut und 'fett krass' verloren - war mir klar.

Ich hab jetzt den BAPI_EMPLOYEE_GETDATA verwendet und mit dem funktioniert es :D

--------------------------------------------

Nun mal Danke allerseits, ich meld' mich sicher mal wieder :wink:

Tommy

Seite 1 von 1

Vergleichbare Themen

0
Antw.
1602
Views
C Programm aus ABAP aufrufen
von Petwar_pk » 23.07.2009 14:32 • Verfasst in ABAP® Core
3
Antw.
3476
Views
HTML Seite aus ABAP aufrufen
von Petwar_pk » 29.06.2009 09:45 • Verfasst in ABAP® Core
2
Antw.
5820
Views
Externes Kommando per ABAP aufrufen?
von miru77 » 07.08.2012 13:08 • Verfasst in ABAP® für Anfänger
1
Antw.
1695
Views
XML File vom UNIX Server in ABAP aufrufen
von axel.mohnen » 14.06.2006 09:08 • Verfasst in ABAP® Core
1
Antw.
3296
Views
PDF Dokumente in DB speichern und aus Abap Programm aufrufen
von cees » 31.10.2007 19:06 • 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

Aktuelle Forenbeiträge

Daten an Tabelle binden
vor einer Stunde von Bright4.5 3 / 1471
Regex in where
vor 2 Stunden von tar 6 / 128
Programm anlegen mit Vorlage
vor 18 Stunden von DeathAndPain 2 / 121
IT0024 Qualifikationen CP-ID
vor 18 Stunden von DeathAndPain 2 / 353

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 einer Stunde von Bright4.5 3 / 1471
Regex in where
vor 2 Stunden von tar 6 / 128
Programm anlegen mit Vorlage
vor 18 Stunden von DeathAndPain 2 / 121
IT0024 Qualifikationen CP-ID
vor 18 Stunden von DeathAndPain 2 / 353

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 20 Stunden von snooga87 1 / 86
aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9821