[59578] in SAPr3-news
Re: Neue Preisfindung mittels 'BAPI_SALESORDER_CHANGE'
daemon@ATHENA.MIT.EDU (sap47110@web.de)
Wed Jun 20 05:33:48 2007
To: sapr3-news@mit.edu
Date: Wed, 20 Jun 2007 02:33:34 -0700
From: sap47110@web.de
Message-ID: <1182332014.457202.296150@g4g2000hsf.googlegroups.com>
On 15 Jun., 17:23, michael....@freenet.de wrote:
> Hallo Newsgroup
>
> ich m=F6chte in Kundenauftr=E4gen eine neue Preisfindung durchf=FChren, o=
hne
> sonst etwas zu =E4ndern. Dazu habe ich den Funktionsbaustein wie unten
> aufgerufen.
> Leider funktioniert das nicht. Der Auftrag wird nicht gesichert, weil
> nichts ver=E4ndert wurde.
> Wer kann mir da helfen ?
>
> Gru=DF
> michael
>
> DATA: z_preisf LIKE bapisdls.
> DATA: ZZORDER_HEADER_INX like BAPISDH1X.
> DATA: ZZBAPIRET2 like BAPIRET2 occurs 1 with header line.
>
> CLEAR Z_preisf.
> clear ZZORDER_HEADER_INX.
>
> Z_preisf-pricing =3D 'C'.
> z_preisf-COND_HANDL =3D 'X'.
> ZZORDER_HEADER_INX-UPDATEFLAG =3D 'U'.
>
> CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
> EXPORTING
> SALESDOCUMENT =3D P_P_ZZVBAK_VBELN
> ORDER_HEADER_INX =3D ZZORDER_HEADER_INX
> logic_switch =3D Z_preisf
> TABLES
> RETURN =3D ZZBAPIRET2.
> commit work.
>
> Funktioniert nicht, wenn sonst nichts ge=E4ndert wird.
Hier ein Auszug aus der Dokumentation:
1=2E Mindestangaben:
Die Auftragsnummer mu=DF auf jeden Fall in der Struktur SALESDOCUMENT
angegeben werden.
Schl=FCsselfelder sind bei einer =C4nderung immer anzugeben.
Das Update Kennzeichen im ORDER_HEADER_INX mu=DF immer angegeben werden.
2=2E Commit Steuerung
Das BAPI macht keinen Datenbank Commit. Daraus folgt, da=DF die
rufende Anwendung den Commit veranlassen mu=DF, damit =C4nderungen auf
der Datenbank durchgef=FChrt werden. Hierzu steht das BAPI
BAPI_TRANSACTION_COMMIT zur Verf=FCgung.
Ich denke du hast BAPI_TRANSACTION_COMMIT nicht durchgef=FChrt.
Gru=DF