Hifle bei BAPI Funktionsaufruf

Alle Fragen rund um Basisthemen
2 Beiträge • Seite 1 von 1
2 Beiträge Seite 1 von 1

Hifle bei BAPI Funktionsaufruf

Beitrag von ccat20 (ForumUser / 1 / 0 / 0 ) »
Hallo!

Meine Aufgabe lautet:

Erstellen eines Kundenauftrags über verschiedene Eingabemöglichkeiten
- Benutzer gibt relevante Daten für die Anlage des Kundenauftrags über eine spezifische
Eingabemethode ein
- Die Daten werden an das BAPI BAPI_SALESORDER_CREATEFROMDAT2 übergeben.
- Der BAPI-Aufruf legt den Kundenauftrag an, relevante Rückgabedaten des BAPI (z.B. Nummer
des Auftrages , Preise) werden wieder angezeigt.

Bevor Sie mit der Lösung Ihrer Aufgabe beginnen, legen Sie zu Übungszwecken einen Kundenauftrag
direkt im SAP-System an:
1) Starten Sie die Transaktion va01 (Kundenauftrag anlegen)
2) Legen Sie einen Kundenauftrag mit folgenden Daten an:
a. Auftragsart: TA
b. Verkaufsorganisation: 1000
c. Vertriebsweg: 10
d. Sparte: 00
e. Auftraggeber: 1400
f. Material: .....
Die übrigen notwendigen Daten können Sie frei eingeben.
3) Sie können den angelegten Auftrag über die Transaktion va03 (Kundenauftrag anzeigen)
betrachten.

Nähere Informationen über das verwendete Business Objekt SALESORDER finden Sie im System in
der Transaktion BAPI (Vertrieb -> Grundfunktionen -> Verkauf)

Komplexes Selektionsbild (Report)

Entwerfen Sie ein komplexes Selektionsbild, das dem Benutzer die Eingabe aller notwendigen Daten
ermöglicht. Verwenden Sie dazu graphische Elemente wie z.B. Tab-Reiter und statten Sie
Eingabefelder – falls möglich – mit Werthilfen aus.
Beim Ausführen des Reports rufen Sie das BAPI auf; die Rückgabewerte können auf der Liste
ausgegeben werden.
-----------------------------------------------------------------------------------------------------------------------------




allerdings funktioniert der BAPI-Funktionsaufruf nicht so, wie ich mir das vorgestellt hab bzw. gar nicht.

Ich hoffe ihr könnt mir dabei helfen. Tab-Reiter sind fertig. Benötige nur noch die Verbindung zum BAPI_Salesorder

*&---------------------------------------------------------------------*
*& Report Z_109 *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*

REPORT Z_109.



DATA: flag(20) TYPE c.

Data: ANr type t180-tcode.



Selection-screen begin of screen 100 as subscreen.
Selection-screen begin of block b1 with frame.
Parameters: AArt type tvak-auart,
VOrg type vbak-vkorg,
VerWeg type vbak-vtweg,
Sparte type vbak-spart,
AGeb type vbak-kunnr.
Selection-screen end of block b1.
Selection-screen end of screen 100.

Selection-screen begin of screen 200 as subscreen.
Selection-screen begin of block b2 with frame.
Parameters: MatNr type knmt-matnr,
Menge type i,
ME(2) type c,
Bez type knmt-postx,
Preis(10) type c,
LDat type d.
Selection-screen end of block b2.
Selection-screen end of screen 200.


Selection-screen begin of screen 300 as subscreen.
Selection-screen begin of block b3 with frame.
Parameters: ReDat type d,
Zahlbed(6) type c.
Selection-screen end of block b3.
Selection-screen end of screen 300.


Selection-screen: begin of Tabbed Block mytab For 10 Lines,
Tab (20) button1 user-command push1,
Tab (20) button2 user-command push2,
Tab (20) button3 user-command push3 Default screen 300
,

End of block mytab.

INITIALIZATION.
button1 = 'Auftragsdaten'.
button2 = 'Materialdaten'.
button3 = 'Konditionen'.
mytab-prog = sy-repid.
mytab-dynnr = 100.
mytab-activetab = 'BUTTON1'.

AT SELECTION-SCREEN.
CASE sy-dynnr.
WHEN 1000.
CASE sy-ucomm.
WHEN 'PUSH1'.
mytab-dynnr = 100.
mytab-activetab = 'BUTTON1'.
WHEN 'PUSH2'.
mytab-dynnr = 200.
mytab-activetab = 'BUTTON2'.
ENDCASE.
WHEN 100.
MESSAGE s888(sabapdocu) WITH text-040 sy-dynnr.
WHEN 200.
MESSAGE s888(sabapdocu) WITH text-040 sy-dynnr.
ENDCASE.

MODULE init_0100 OUTPUT.
LOOP AT SCREEN.
IF screen-group1 = 'MOD'.
CASE flag.
WHEN 'X'.
screen-input = '1'.
WHEN ' '.
screen-input = '0'.
ENDCASE.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDMODULE.

MODULE user_command_0100 INPUT.
MESSAGE s888(sabapdocu) WITH text-050 sy-dynnr.
CASE sy-ucomm.
WHEN 'TOGGLE'.
IF flag = ' '.
flag = 'X'.
ELSEIF flag = 'X'.
flag = ' '.
ENDIF.
ENDCASE.
ENDMODULE.



START-OF-SELECTION.
set pf-status '100'.

at user-command.
break-point.

CALL FUNCTION 'DIALOG_SET_NO_DIALOG'.

Call FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2':
EXPORTING
* SALESDOCUMENTIN =
ORDER_HEADER_IN = ANr
* ORDER_HEADER_INX =
* SENDER =
* BINARY_RELATIONSHIPTYPE =
* INT_NUMBER_ASSIGNMENT =
* BEHAVE_WHEN_ERROR =
* LOGIC_SWITCH =
* TESTRUN =
* CONVERT = ' '
Importing
SALESDOCUMENT = AArt, Preis, Bez

TABLES
* RETURN =
ORDER_ITEMS_IN = Using MatNr, ReDat, VOrg, Menge, Sparte, LDat, Zahlbed.
* ORDER_ITEMS_INX =
ORDER_PARTNERS = Using AGeb.
* ORDER_SCHEDULES_IN =
* ORDER_SCHEDULES_INX =
* ORDER_CONDITIONS_IN =
* ORDER_CONDITIONS_INX =
* ORDER_CFGS_REF =
* ORDER_CFGS_INST =
* ORDER_CFGS_PART_OF =
* ORDER_CFGS_VALUE =
* ORDER_CFGS_BLOB =
* ORDER_CFGS_VK =
* ORDER_CFGS_REFINST =
* ORDER_CCARD =
* ORDER_TEXT =
* ORDER_KEYS =
* EXTENSIONIN =
* PARTNERADDRESSES =
commit.


WRITE: / 'Auftragsart:', AArt, 'Materialnummer:', MatNr,
'Rechnungsdatum :', ReDat,
/ 'Verkaufsorganisation:', VOrg,'Auftragsmenge:', Menge,
'Zahlungsbedingungen :', Zahlbed,
/ 'Vertriebsweg: ', VerWeg, 'Mengeneinheit: ', ME,
/ 'Sparte:', Sparte,'Bezeichnung:',Bez ,
/ 'Auftraggeber :', AGeb, 'Preis: ', Preis.


.


MFG Katrin

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


Re: Hilfe bei BAPI

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
Hallo Katrin,

bei fast allen BAPIs muss man, um die Daten auch tatsächlich auf der DB festzuschreiben, noch den Funktionsbaustein "BAPI_TRANSACTION_COMMIT" aufrufen ( oder den ..._Rollback falls man verwerfen möchte ).


__________________________________________________
live long and prosper
Stefan

email: black_adept@ yaabb.de
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Seite 1 von 1

Vergleichbare Themen

3
Antw.
1990
Views
Rekursiver Funktionsaufruf
von verzweifelt » 11.04.2016 22:01 • Verfasst in ABAP® Core
0
Antw.
1284
Views
Funktionsaufruf via WebAS
von Gynix » 21.11.2005 15:08 • Verfasst in Web Application Server
1
Antw.
3984
Views
Mehrstufigkeit und Rekursiver Funktionsaufruf CS_WHERE_USED_
von Nautilus » 13.09.2005 20:24 • Verfasst in ABAP® Core
1
Antw.
2472
Views
Funktionsaufruf aus Excel mit Importparameter (Struktur)
von Kati » 11.11.2005 14:20 • Verfasst in ABAP Objects®
5
Antw.
3353
Views
Button für Funktionsaufruf funktioniert nicht
von Anna » 18.05.2007 17:54 • Verfasst in Dialogprogrammierung

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Regex in where
vor 7 Stunden von edwin 7 / 163
Daten an Tabelle binden
vor 21 Stunden von Bright4.5 3 / 1487

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

Regex in where
vor 7 Stunden von edwin 7 / 163
Daten an Tabelle binden
vor 21 Stunden von Bright4.5 3 / 1487

Unbeantwortete Forenbeiträge

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