Page 1 of 1

Belegfluss löschen bei Anlegen mit Bezug

PostPosted: Thu Dec 19, 2013 8:25 am
by Brunhilde3254
Guten Morgen Zusammen,

ich hoffe jemand kann mir helfen.

Wir haben Rechnungen die sich jeden Monat in ähnlicher Weise an die gleichen Kunden schreiben lassen. Vollautomatisch geht leider nicht, da wir dann doch immer unterschiedliche Positionen anpassen müssen.
Dennoch ist der Großteil gleich.

Somit war die Idee eine Kopiersteuerung Kundenauftrag -> Kundenauftrag zu ermöglichen. Dies ist funktional.

Jedoch wird bei der Anlage immer der Belegfluss mit fortgeschrieben.
Dies soll unterbunden werden.

Versucht wurden:

1.) MV45AFZZ -> USEREXIT_SAVE_DOCUMENT_PREPARE:

CALL FUNCTION 'SD_DOCUMENT_FLOW_GET'
EXPORTING
iv_docnum = vbak-vgbel
* IV_ITEMNUM =
* IV_ALL_ITEMS =
* IV_SELF_IF_EMPTY = ' '
IMPORTING
et_docflow = tds_docflow
.

CALL FUNCTION 'SD_DOCUMENT_FLOW_INIT'
EXPORTING
i_vbtyp_n = ' '
EXCEPTIONS
OTHERS = 4.

2.) MV45AFZZ gleicher Report:

CLEAR: vbak-vgbel,
xvbak-vgbel,
yvbak-vgbel,
vbak-vgtyp,
xvbak-vgtyp,
yvbak-vgtyp,
" cvbak,
vbfa,
cvbfa.
" vbfa-vbelv,
" vbfa-vbtyp_v.
" cvbkd

3.) Im Customizing ist auf Positionsebene das Kennzeichen 'X' bei Kopiersteuerung auf Positionsebene nicht gesetzt.

Jedoch hat bisher keines der Wege dazu geführt, dass zwar sämtliche Daten aus dem ursprünglichem Auftrag kopiert werden, aber der Belegfluss initial nicht mit fortgeschrieben wird.

Es soll hinterher so aussehen als wurde der Beleg neu angelegt aber die jeden Monat neue Schreibarbeit soll eingespart werden.

Hat mir jemand eine funktionierende Lösung?

Vielen Dank.

Re: Belegfluss löschen bei Anlegen mit Bezug

PostPosted: Thu Dec 19, 2013 10:57 am
by Charly3296
Hallo,
beim Unterbinden des Belegflusses kann ich Dir nicht weiterhelfen. Aber der Positionsvorschlag aus dem Kundenstamm würde auch schon Doppelarbeit ersparen.
Grüße!

Re: Belegfluss löschen bei Anlegen mit Bezug

PostPosted: Fri Dec 20, 2013 10:34 am
by Tron
Moin.
Meine Idee dazu:
Wenn man den Vorlagebeleg mit z.B. BAPI_SALESORDER_CREATEFROMDAT2 neu anlegen würde,
könnte man sich die Überlegungen den Belegfluß zu manipulieren und das Customzing zur Kopiersteuerung einsparen.
lg Jens

Re: Belegfluss löschen bei Anlegen mit Bezug

PostPosted: Fri Dec 20, 2013 3:04 pm
by Brunhilde3254
Hallo.

Danke für die Antwort, dachte schon das lässt sich nicht lösen.

Die Frage ist aber wie setzt man es um?
Der User würde dann eine eigene Transaktion benötigen. Wo er per Popup / Dynpro das gleiche Fenster angezeigt bekommt wie beim "Anlegen mit Bezug".

Dann müsste ich im Hintergrund den Fuba mit dem eingegebenen Beleg komplett füttern (ausprogrammieren).

Und vermutlich wird der Beleg durch den BAPI gleich gespeichert und geschlossen oder? Was dazu führen würde, dass ich diesen wieder öffnen muss und dann zur Änderung anzeigbar machen müsste.

Wäre das so die Vorgehensweise? Oder gibts da noch was einfacheres.

Re: Belegfluss löschen bei Anlegen mit Bezug

PostPosted: Fri Dec 20, 2013 11:35 pm
by Tron
Moin,
Ich würde einen Report (mit Tcode) erstellen, welcher die Aufgabe hat, einen Auftrag anzulegen
mit dem BAPI_SALESORDER_CREATEFROMDAT2 .
Auf dem Selectionsscreen gibt man den Vorlageauftrag od. Angebot (plus Mußfelder)
(Auszug aus der Bausteindoku)
Hinweise
1. Muß-Eingaben:
ORDER_HEADER_IN : DOC_TYPE Verkaufsbelegart
SALES_ORG Verkaufsorganisation
DISTR_CHAN Vertriebsweg
DIVISION Sparte
ORDER_PARTNERS..: PARTN_ROLE Partnerrolle, AG Auftraggeber
PARTN_NUMB Debitorennummer
ORDER_ITEMS_IN..: MATERIAL Materialnummer
2. Warenempfänger:
Wird kein Warenemfänger angegeben , so gilt: Warenempfänger = Auftrag-
geber.

ein, sofern sie nicht aus den Daten der Vorlage entnommen werden können.
Der Report befüllt nun die Tabellen des Bapi mit den gelesenen Daten der Vorlage,
indem er VBAP/VBAK/VBPA etc. des Vorlagebelegs liest (z.B. mit dem Baustein CALL FUNCTION 'RV_DOCUMENT_PRINT_VIEW') und damit die BAPI-Schnittstelle "füttert".
Es entsteht der neue Auftrag . Nach Bapi-Commit(and Wait) springt das Programm, z.B. mit Call Transaction und der neuen Auftragsnummer, in die VA02, wo der Auftrag nun manuell zu Ende bearbeitet wird.
So mein Plan.
lg Jens
siehe auch http://saptechnical.com/Tutorials/BAPI/ ... /Page2.htm
Tip: Das Umsetzen der Strukturen VBAP auf BAPISDITM kann der Baustein
MAP2E_VBAPKOM_TO_BAPISDITM erledigen. Siehe auch Transaktion BDBS.

Re: Belegfluss löschen bei Anlegen mit Bezug

PostPosted: Mon Feb 24, 2014 3:15 pm
by Brunhilde3254
Hi Tron,

vielen Dank für deine hilfreichen Tipps. Habe es jetzt ausgelagert in eine neue eigene Transaktion. Und nach deinem Vorbild umgesetzt.

Meist warens eh "nur" Standardumwandlungsfubas der SAP. Und siehe da es klappt.

Wobei ichs mit dem Fuba realisieren musste: SD_SALESDOCUMENT_CREATE
da es sich um eine Lastschriftanforderung bei uns handelte was wohl nicht mit deinem Fuba tun soll laut anderer Foreneinträge. Aber egal wie es geht.

Vielen Dank.