[50469] in SAPr3-news
=?ISO-8859-1?Q?'BAPI=5FMATERIAL=5FMAINTAIND?=
daemon@ATHENA.MIT.EDU (J?rgen Spranz)
Fri Jul 2 09:27:13 2004
To: sapr3-news@mit.edu
Date: 2 Jul 2004 06:27:02 -0700
From: jspranz@gmx.de (J?rgen Spranz)
Message-ID: <c558c9b.0407020527.5c80cd0c@posting.google.com>
Habe folgenden Funktionsbaustein in meine Anwendung eingebaut.
Sieht auch so aus, daß eine - EAN-Nummernänderung -
EAN-Nummereintragung funktioniert.
Allerdings bekomme ich die EAN-Nummer nicht gelöscht.
D.h. wenn ich den Funktionsbaustein mit
PEAN11 = space und
PNUMTP = space
aufrufe funktioniert es nicht.
Wahrscheinlich muß man was bei der Konstellation beachten.
Falls noch andere schlechte Code-Stellen zu finden sind wäre ich auch
für Rückmeldung dankbar....
Vielen Dank im vorraus
FUNCTION z_update_mara_ean.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" REFERENCE(PMATNR) TYPE MATNR
*" REFERENCE(PEAN11) TYPE EAN11
*" REFERENCE(PNUMTP) TYPE NUMTP
*"----------------------------------------------------------------------
*---------------------------------------------------------------
* Datendefinitionen
*---------------------------------------------------------------
DATA headdata LIKE bapie1mathead.
DATA internationalartnos LIKE bapie1meanrt OCCURS 0 WITH HEADER
LINE.
DATA unitsofmeasure LIKE bapie1marmrt OCCURS 0 WITH HEADER
LINE.
DATA unitsofmeasurex LIKE bapie1marmrtx OCCURS 0 WITH HEADER
LINE.
DATA clientdata LIKE bapie1marart OCCURS 0 WITH HEADER
LINE.
DATA clientdatax LIKE bapie1marartx OCCURS 0 WITH HEADER
LINE.
DATA: return LIKE bapireturn1.
DATA: z_msglin LIKE cfgnl-msglin.
*---------------------------------------------------------------
* Datenbestückung - Parameteraufbereitung / Vorbelegung
*---------------------------------------------------------------
CLEAR headdata.
headdata-material = pmatnr.
headdata-basic_view = 'X'.
*
internationalartnos-material = pmatnr.
SELECT SINGLE meins FROM mara
INTO internationalartnos-unit
WHERE matnr = pmatnr.
internationalartnos-ean_upc = pean11.
APPEND internationalartnos.
*
unitsofmeasure-material = pmatnr.
unitsofmeasure-alt_unit = internationalartnos-unit.
unitsofmeasure-ean_upc = pean11.
APPEND unitsofmeasure.
unitsofmeasurex-material = pmatnr.
unitsofmeasurex-alt_unit = internationalartnos-unit.
unitsofmeasurex-ean_upc = pean11.
APPEND unitsofmeasurex.
clientdata-material = pmatnr.
APPEND clientdata.
clientdatax-material = pmatnr.
APPEND clientdatax.
*---------------------------------------------------------------
* Verbuchen der Änderung
*---------------------------------------------------------------
CALL FUNCTION 'BAPI_MATERIAL_MAINTAINDATA_RT'
EXPORTING
headdata = headdata
IMPORTING
return = return
TABLES
* VARIANTSKEYS =
* CHARACTERISTICVALUE =
* CHARACTERISTICVALUEX =
CLIENTDATA = clientdata
CLIENTDATAX = clientdatax
* CLIENTEXT =
* CLIENTEXTX =
* ADDNLCLIENTDATA =
* ADDNLCLIENTDATAX =
* MATERIALDESCRIPTION =
* PLANTDATA =
* PLANTDATAX =
* PLANTEXT =
* PLANTEXTX =
* FORECASTPARAMETERS =
* FORECASTPARAMETERSX =
* FORECASTVALUES =
* TOTALCONSUMPTION =
* UNPLNDCONSUMPTION =
* PLANNINGDATA =
* PLANNINGDATAX =
* STORAGELOCATIONDATA =
* STORAGELOCATIONDATAX =
* STORAGELOCATIONEXT =
* STORAGELOCATIONEXTX =
UNITSOFMEASURE = unitsofmeasure
UNITSOFMEASUREX = unitsofmeasurex
* UNITOFMEASURETEXTS =
internationalartnos = internationalartnos
* VENDOREAN =
* LAYOUTMODULEASSGMT =
* LAYOUTMODULEASSGMTX =
* TAXCLASSIFICATIONS =
* VALUATIONDATA =
* VALUATIONDATAX =
* VALUATIONEXT =
* VALUATIONEXTX =
* WAREHOUSENUMBERDATA =
* WAREHOUSENUMBERDATAX =
* WAREHOUSENUMBEREXT =
* WAREHOUSENUMBEREXTX =
* STORAGETYPEDATA =
* STORAGETYPEDATAX =
* STORAGETYPEEXT =
* STORAGETYPEEXTX =
* SALESDATA =
* SALESDATAX =
* SALESEXT =
* SALESEXTX =
* POSDATA =
* POSDATAX =
* POSEXT =
* POSEXTX =
* MATERIALLONGTEXT =
* PLANTKEYS =
* STORAGELOCATIONKEYS =
* DISTRCHAINKEYS =
* WAREHOUSENOKEYS =
* STORAGETYPEKEYS =
* VALUATIONTYPEKEYS =
.
break spranz.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
* Im Fehlerfall Protokoll ausgeben
break spranz.
IF return-type CA 'AE'.
CALL FUNCTION 'RKC_MSG_STRING'
EXPORTING
id = return-id
mtype = return-type
number = return-number
par1 = return-message_v1
par2 = return-message_v2
par3 = return-message_v3
par4 = return-message_v4
IMPORTING
msg_lin = z_msglin
EXCEPTIONS
OTHERS = 1.
MESSAGE ID return-id TYPE return-type NUMBER return-number
WITH return-message_v1 return-message_v2
return-message_v3 return-message_v4.
ENDIF.
ENDFUNCTION.