BAPI to create a delivery and do post goods
I'm trying to write a function module that will take a sales document number and then create an outbound delivery and do a post goods issue on it. I've seen a lot of people recommend various BAPIs but what are the differences? Can anyone point me in the right direction?
Thanks,
Curtis
Read Documentation of BAPI "BAPI_GOODSMVT_CREATE"
Regards
Vinod
Similar Messages
-
Need User Exits for Creation of Delivery and for Posting Goods Issue
Hi,
I need User Exits for
Creation of Delivery
Posting Goods Issue
I need to make some checks regarding customer license expiration and if checks fail, I need to stop Creation of Delivery and Posting Goods Issue.
Thanks in advance,
Will reward,
MindaugasIn the delivery you can use userexit USEREXIT_SAVE_DOCUMENT_PREPARE to make your checks and send an error message to the user in case they fail.
You can find this user exit (form routine) in include MV50AFZ1.
Hope that helps,
Michael -
Hi,
I have created a STO. I want to create a Delivery for this STO. Can anyone pls let me know the BAPI for creation of delivery and Shipment for a STO?
Pls help
Thnaks
RamU can use the below FM...for the same.
call function 'SHP_VL10_DELIVERY_CREATE'
exporting
IF_LEDAT = I_LFDAT
IF_NUR_VORGABE_POS = YES
IT_KEY_ENQUE_READ = IT_KEY_ENQUE_READ
IT_KOMDLGN = IT_KOMDLGN
changing
CX_SD_ORDER = XS_SD_ORDER
CT_VBSK_ALL = XT_VBSK_ALL
CT_VBLS = XT_VBLS
CT_KEY_LATE = XT_KEY_LATE.
<b>--I will get you the BAPI for shipment creation but please assign points for all helpful answers!!</b>
Message was edited by: Anurag Bankley -
Created PO, Delivery and GI all in one.
Hi
We need to have a process where we create Purchase Order followed by Delivery followed by the Goods Issue all in the background.
(We want to have an IDOC created based on all three of these documents u2013 and if only 1 or 2 are created the and the other fails, the IDOC is hanging and a manual intervention is needed. We want to have everything completely automated)
The thing is that we need to create them in a way that if one of them fail - non gets created. In other words u2013 if a PO and a Delivery were successful but the GI failed everything should roll back and no PO or Delivery created.
Now if you create a PO and do not commit it u2013 when you try to create a delivery in the regular way it fails because it cannot find any of the data it needs in the database.
If you do commit it u2013 you have a PO that you donu2019t want to exist if the delivery fail.
So I needed a way to make the delivery BAPI and the GI FM looked at the data in temporary tables before a commit is done.
To do this tried to use BAPIu2019s BAPI_PO_CREATE1, for the PO, BAPI_DELIVERYPROCESSING_EXEC for the Delivery, and FM SD_DELIVERY_UPDATE_PICKING for the GI.
I have put them all in a Function Module that I call in Update Task (To create the temporary tables to work from).
The problem I run into is that SD_DELIVERY_UPDATE_PICKING is using FM MB_CREATE_GOODS_MOVEMENT and that FM runs a series of checks in the end and is calling a program with a SUBMIT. (A SUBMIT cannot be used in an update task.), so the whole process does not work.
My question is u2013 whether anyone out there had try to do the same thing successfully u2013 and if yes how?
Is there a way to make it work in the UPDATE TASK FM or maybe a different way to do this altogether?
It seems like a simple process that should not be so difficult u2013 but I am running into a lot of problems trying to make it work.
Any anwers or help would be greatly appreciated.
Thanks
ElonaHi Elona,
I have the very same problem with similar BAPI-sequence. I need to create Purchase Order and after it Goods Movement.
Have you solved that issue somehow ? I'll be very grateful for every help or tip.
Thanks in advance -
BAPI for creating outbound delivery
Hi,
Can anyone please let me know the bapi for creating outbound delivery.I have checked for few bapi's like
BAPI_OUTB_DELIVERY_SAVEREPLICA
BAPI_DELIVERPROCESSING_EXEC
If i use the first one i would like to know whether i need to do the PGI seperately by using any bdc or is it taken care in the same bapi.
Its basically for the workflow task werein we have all the required parameters like delivery numb, sales order num ...etc
Iam new to BAPI's.Please consider my request and let me know the details for the same.
thanks
keithThe below is for creating delivery for STO's.
Delivery creation
call function 'SHP_VL10_DELIVERY_CREATE'
exporting
IF_LEDAT = I_LFDAT
IF_NUR_VORGABE_POS = YES
IT_KEY_ENQUE_READ = IT_KEY_ENQUE_READ
IT_KOMDLGN = IT_KOMDLGN
changing
CX_SD_ORDER = XS_SD_ORDER
CT_VBSK_ALL = XT_VBSK_ALL
CT_VBLS = XT_VBLS
CT_KEY_LATE = XT_KEY_LATE.
Message was edited by: Anurag Bankley -
Create STO,Delivery and PGI delivery from an interface
Hi,
We are using a third party WMS system to manifest and ship orders froma distribution center to a store. The only data that is going to come into SAP is the Bill of Lading as to how much has shipped for a material to the store from the DC. This has to drive a Stock transport order cycle of creating an STO, create and PGI delivery. As we are building the interface, I am a bit confused as to how we can make all this happen from one data feed. Since there is only one feed and it has to trigger mutliple processes should we trigger multiple idocs (different types) to trigger the STO creation, create the delivery and PGI it (Delivery 03 idoc)?
Will it be too cumbersome to build all this logic in the interface?
Another option would be to create the STO using the feed, then run VL10B in a given time interval (Background) to create the delivery.
However, I am not 100% sure how you can spawn off a PGI job? Even if I were to run the VL02n program in the background how can I populate the pick quantity?
Any insight would be very useful.
Thanks..My assumption is just you need to adopt delivery qty as pick qty.You are not doing any TR ,TO as your ware house is third party managed.
you need to define the picking form EKOO to your shipping point type and then the quontity will copy
You can do it in the difintion of the shipping point, you have to difine send time = 4
I will explain how need to set up this automatic picking, and then you can
work backwards from there. The automatic picking you are experiencing
is actually related to the output type EK00 assigned to your shipping
point.
Consider the following two setup steps which will result is automatic
picking:
Set the output type to EKOO, in the print picking list of the shipping
point in customizing.
Make sure the parameters below are set:
Message Language
Number of Messages
Send Time <<<<<<<<<<< this must be set to 4 (send immed)!!
Transmission Medium
1) you have to set the parameters for EK00 in the shipping-point-
maintenance in customizing:
-> Enterprise Structure
-> Definition
-> Logistics Execution
-> Define, copy, delete, check shipping point
2) as second step you define the shipping-print-parameters in
customizing:
-> Logistics Execution
-> Shipping
-> Basic Shipping Functions
-> Output Control
-> Define print parameters shipping
-> Shipping (Spec.case)
Therein there should be an entry for every shipping-point, where
you like to use the picking-list EK00!
If you have 1 & 2 setup for a particular shipping point you will
experience the "automatic" picking of deliveries.
and finally picking storage location determined as per storage conditions maintained in material master. -
How to create Automatic Delivery and Billing documents immediate
Hello,
I want to create Automatic delivery and billing documnets immediate once I create a sales order.
E.g I need to see in the Status Bar the delivery and billing document was created.
Thank you in advance
Your help is highly appreciated
AlfaidPlease search in sales forum. Many times this was discussed there.
thanks
G. Lakshmipathi -
Error message KI248 on delivery document when posting goods issue
Hi,
On the delivery document, when posting goods issue I get the following message:
"Account 60700000 requires an assignment to a CO object
Message no. KI248
Diagnosis
All given account assignment objects (order, project) are defined as statistical.
System Response
Statistical orders or projects are ignored when FI and CO are reconciled. You must enter a cost center, order, project, or cost object to which the costs are posted for CO postings.
Procedure
Enter a cost center, an order, a project, or a cost object that is not statistical. The posting row affected is 000 and the account is 60700000."
On the sales order I have a statistical order.
CO-PA is active, cost element 607 is included in PA transfer structure.
I also tried with cost center allocation in OKB9.
60700000 is defined as a cost element (category 1).
Any suggestion could be helpfull.
Thanks,
LaviniaHi,
Thank for your answer.
I tested with element cost category 12, it's working, but not the way I need: I don't have any value on the cost center.
When I don't have statistical order in sales order, the sistem it's working exactly how I need: the costs are posted on cost center and the VPRS condition is transfered to CO-PA on profitability segment.
Anyway, I finaly make it work with a cost center substitution.
Lavinia -
BAPI for creating outbound delivery reference to PO
Hi all,
I want to crate delivery against the the PO. scenario is i want to create delivery in one plant which will be copy of delivery in some other plant. I require it for automation. Main thing is that BAPI should handle batch split scenario. The problem is that i used 'GN_DELIVERY_CREATE' bt although it meets po quantity it is not closing PO's ELIKZ flag. Plz suggest some solution on it.
Theme is I want to create delivery against PO but quantity should be from other delivery and it should handle battch split.
I will thankful to u .hi Amol,
welcome to SDN
here is related scenario check it out
BAPI to Copy Materials from one Plant to Another
Copy Materials from one Plant to Another
First run GETDATA AS CHECKBOX, "Tick to download materials data to local harddisk
Second run UPDDATA AS CHECKBOX. "Tick to update date to Materials Master
Check data in Excel before Second run
REPORT ZBAPIMM01 LINE-SIZE 255 NO STANDARD PAGE HEADING
LINE-COUNT 065(001).
TABLES: T001L, "Storage Locations
MARA, "General Material Data
MAKT, "Material Descriptions
MBEW, "Material Valuation
MARC. "Plant Data for Material
DATA: BAPI_HEAD LIKE BAPIMATHEAD,
BAPI_MAKT LIKE BAPI_MAKT, "Material Description
BAPI_MARA1 LIKE BAPI_MARA, "Client Data
BAPI_MARAX LIKE BAPI_MARAX,
BAPI_MARC1 LIKE BAPI_MARC, "Plant View
BAPI_MARCX LIKE BAPI_MARCX,
BAPI_MBEW1 LIKE BAPI_MBEW, "Accounting View
BAPI_MBEWX LIKE BAPI_MBEWX,
BAPI_RETURN LIKE BAPIRET2.
DATA: BEGIN OF INT_MAKT OCCURS 100.
INCLUDE STRUCTURE BAPI_MAKT.
DATA: END OF INT_MAKT.
DATA: BEGIN OF INT_MAT OCCURS 100,
WERKS(4), "Plant
MTART(4), "Material type
MATNR(18), "Material number
MATKL(9) , "Material group
MBRSH(1), "Industry sector
MEINS(3), "Base unit of measure
GEWEI(3), "Weight Unit
SPART(2), "Division
EKGRP(3), "Purchasing group
VPRSV(1), "Price control indicator
STPRS(12), "Standard price
PEINH(3), "Price unit
SPRAS(2), "Language key
MAKTX(40), "Material description
END OF INT_MAT.
SELECT-OPTIONS:
PLANT FOR MARC-WERKS OBLIGATORY MEMORY ID PLT,
MATERIAL FOR MARA-MATNR MEMORY ID MAT,
MATLTYPE FOR MARA-MTART MEMORY ID MTY,
DIVISION FOR MARA-SPART MEMORY ID DIV.
PARAMETERS: F_FILE LIKE RLGRAP-FILENAME
DEFAULT 'C:\DATA\ZMATERIAL.XLS' MEMORY ID F_FILE,
GETDATA AS CHECKBOX, "Tick to download materials data to local harddisk
UPDDATA AS CHECKBOX. "Tick to update date to Materials Master
IF GETDATA = 'X'.
PERFORM DOWNLOAD_DATA.
PERFORM DOWNLOAD_FILE.
ENDIF.
IF UPDDATA = 'X'.
PERFORM UPLOAD_FILE.
PERFORM UPDATE_MM.
ENDIF.
FORM DOWNLOAD_DATA.
SELECT * FROM MARC WHERE LVORM EQ ' '
AND WERKS IN PLANT
AND MATNR IN MATERIAL.
CLEAR MARA.
SELECT SINGLE * FROM MARA WHERE MATNR = MARC-MATNR.
CHECK MATLTYPE.
CHECK DIVISION.
CLEAR MBEW.
SELECT SINGLE * FROM MBEW WHERE MATNR = MARC-MATNR
AND BWKEY = MARC-WERKS.
CLEAR MAKT.
SELECT SINGLE * FROM MAKT WHERE SPRAS = 'EN'
AND MATNR = MARC-MATNR.
WRITE:/ MARC-WERKS, "Plant
MARA-MTART, "Material type
MARA-MATNR, "Material number
MARA-MATKL, "Material group
MARA-MBRSH, "Industry sector
MARA-MEINS, "Base unit of measure
MARA-GEWEI, "Weight Unit
MARA-SPART, "Division
MARC-EKGRP, "Purchasing group
MBEW-VPRSV, "Price control indicator
MBEW-STPRS, "Standard price
MBEW-PEINH, "Price unit
MAKT-SPRAS, "Language key
MAKT-MAKTX. "Material description
INT_MAT-WERKS = MARC-WERKS. "Plant
INT_MAT-MTART = MARA-MTART. "Material type
INT_MAT-MATNR = MARA-MATNR. "Material number
INT_MAT-MATKL = MARA-MATKL. "Material group
INT_MAT-MBRSH = MARA-MBRSH. "Industry sector
INT_MAT-MEINS = MARA-MEINS. "Base unit of measure
INT_MAT-GEWEI = MARA-GEWEI. "Weight Unit
INT_MAT-SPART = MARA-SPART. "Division
INT_MAT-EKGRP = MARC-EKGRP. "Purchasing group
INT_MAT-VPRSV = MBEW-VPRSV. "Price control indicator
INT_MAT-STPRS = MBEW-STPRS. "Standard price
INT_MAT-PEINH = MBEW-PEINH. "Price unit
INT_MAT-SPRAS = MAKT-SPRAS. "Language key
INT_MAT-MAKTX = MAKT-MAKTX. "Material description
APPEND INT_MAT.
CLEAR INT_MAT.
ENDSELECT.
ENDFORM.
FORM DOWNLOAD_FILE.
call function 'WS_DOWNLOAD'
EXPORTING
FILENAME = F_FILE
FILETYPE = 'DAT'
FILETYPE = 'WK1'
tables
data_tab = INT_MAT
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_WRITE_ERROR = 2
INVALID_FILESIZE = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
GUI_REFUSE_FILETRANSFER = 8
CUSTOMER_ERROR = 9
OTHERS = 10.
IF SY-SUBRC = 0.
FORMAT COLOR COL_GROUP.
WRITE:/ 'Data Download Successfully to your local harddisk'.
SKIP.
ENDIF.
ENDFORM.
FORM UPLOAD_FILE.
call function 'WS_UPLOAD'
EXPORTING
FILENAME = F_FILE
FILETYPE = 'DAT'
FILETYPE = 'WK1'
tables
data_tab = INT_MAT
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_WRITE_ERROR = 2
INVALID_FILESIZE = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
GUI_REFUSE_FILETRANSFER = 8
CUSTOMER_ERROR = 9
OTHERS = 10.
IF SY-SUBRC = 0.
FORMAT COLOR COL_GROUP.
WRITE:/ 'Data Upload Successfully from your local harddisk'.
SKIP.
ENDIF.
ENDFORM.
FORM UPDATE_MM.
LOOP AT INT_MAT.
Header
BAPI_HEAD-MATERIAL = INT_MAT-MATNR.
BAPI_HEAD-IND_SECTOR = INT_MAT-MBRSH.
BAPI_HEAD-MATL_TYPE = INT_MAT-MTART.
BAPI_HEAD-BASIC_VIEW = 'X'.
BAPI_HEAD-PURCHASE_VIEW = 'X'.
BAPI_HEAD-ACCOUNT_VIEW = 'X'.
Material Description
REFRESH INT_MAKT.
INT_MAKT-LANGU = INT_MAT-SPRAS.
INT_MAKT-MATL_DESC = INT_MAT-MAKTX.
APPEND INT_MAKT.
Client Data - Basic
BAPI_MARA1-MATL_GROUP = INT_MAT-MATKL.
BAPI_MARA1-BASE_UOM = INT_MAT-MEINS.
BAPI_MARA1-UNIT_OF_WT = INT_MAT-GEWEI.
BAPI_MARA1-DIVISION = INT_MAT-SPART.
BAPI_MARAX-MATL_GROUP = 'X'.
BAPI_MARAX-BASE_UOM = 'X'.
BAPI_MARAX-UNIT_OF_WT = 'X'.
BAPI_MARAX-DIVISION = 'X'.
Plant - Purchasing
BAPI_MARC1-PLANT = INT_MAT-WERKS.
BAPI_MARC1-PUR_GROUP = INT_MAT-EKGRP.
BAPI_MARCX-PLANT = INT_MAT-WERKS.
BAPI_MARCX-PUR_GROUP = 'X'.
Accounting
BAPI_MBEW1-VAL_AREA = INT_MAT-WERKS.
BAPI_MBEW1-PRICE_CTRL = INT_MAT-VPRSV.
BAPI_MBEW1-STD_PRICE = INT_MAT-STPRS.
BAPI_MBEW1-PRICE_UNIT = INT_MAT-PEINH.
BAPI_MBEWX-VAL_AREA = INT_MAT-WERKS.
BAPI_MBEWX-PRICE_CTRL = 'X'.
BAPI_MBEWX-STD_PRICE = 'X'.
BAPI_MBEWX-PRICE_UNIT = 'X'.
WRITE:/ BAPI_HEAD, BAPI_MARC1.
call function 'BAPI_MATERIAL_SAVEDATA'
exporting
HEADDATA = BAPI_HEAD
CLIENTDATA = BAPI_MARA1
CLIENTDATAX = BAPI_MARAX
PLANTDATA = BAPI_MARC1
PLANTDATAX = BAPI_MARCX
FORECASTPARAMETERS =
FORECASTPARAMETERSX =
PLANNINGDATA =
PLANNINGDATAX =
STORAGELOCATIONDATA =
STORAGELOCATIONDATAX =
VALUATIONDATA = BAPI_MBEW1
VALUATIONDATAX = BAPI_MBEWX
WAREHOUSENUMBERDATA =
WAREHOUSENUMBERDATAX =
SALESDATA = BAPI_MVKE1
SALESDATAX = BAPI_MVKEX
STORAGETYPEDATA =
STORAGETYPEDATAX =
IMPORTING
RETURN = BAPI_RETURN
TABLES
MATERIALDESCRIPTION = INT_MAKT
UNITSOFMEASURE =
UNITSOFMEASUREX =
INTERNATIONALARTNOS =
MATERIALLONGTEXT =
TAXCLASSIFICATIONS =
RETURNMESSAGES =
PRTDATA =
PRTDATAX =
EXTENSIONIN =
EXTENSIONINX =
IF BAPI_RETURN-TYPE = 'E'.
WRITE:/ 'Error Message ', BAPI_RETURN.
ENDIF.
ENDLOOP.
ENDFORM.
*---End of Program
if u find it useful mark the points
Regards,
Naveen -
BAPI for creating Return delivery to vendor using transaction MIGO
Hi All,
My requirement is to create Return delivery to vendor using transaction MIGO.
In MIGO transaction to create return delivery, the following steps needs to be followed.
i) Select the option A02 Return delivery, R02 Material document,
Enter Material document xxxxxxxx.
Reson for movement:xxxx
By selecting the option item ok and via delivery check box, then save.
After saving return delivery needs to be created.
Is there any BAPI/FM exist for this requirement?
I made lot of search in sdn, but i could not find any thing helpful.
Appreciate quick help.
regards
suryaHi
In VL02n->Extras->Delivery Output->Header
Check if you see any message type (LD00 ?).
If you do not see any, insert a message type LD00.
If you want to check the IMG settings, see Txns : V/71 (for delivery types RL/RLL) and V/73 (for Item category RLLN)
Best regards
Ramki -
Bapi to create outbound delivery
hi experts,
I want a BAPI to create a outbound delivery.URGETN
KIRAN JHi
Please Check BAPI_OUTB_DELIVERY_CREATENOREF.
You can go to transaction SE37 and search for the relevant BAPIs using the search pattern BAPIDELIVERYCREATE* and the pressing F4.
Cheers,
Hakim -
BAPI to create Excise Invoice and Commercial Invoice
Hi All,
Can u tell me the BAPI for creating Excise and Commercial Invoice.
Moderator message: please do some research before asking.
[Rules of engagement|http://wiki.sdn.sap.com/wiki/display/HOME/RulesofEngagement]
[Asking Good Questions in the Forums to get Good Answers|/people/rob.burbank/blog/2010/05/12/asking-good-questions-in-the-forums-to-get-good-answers]
Edited by: Thomas Zloch on Mar 2, 2011 5:56 PMHi,
You can make the appropriate setting in Customizing for Excise Duty, by choosing Basic Settings -> Maintain Excise Groups, and selecting Create EI (Create Excise Invoice Automatically)
Also maintain the default excise and series group in the configuration.
Logistics general>Tax on Goods Movement>India>Basic Settings>Maintain Excise groups. For your Excise group maintain the check Excise invoice during Billing.
After maintaining the same also maintain the default values in Logistics general>Tax on Goods Movement>India>Business transactions>Outgoing Excise invoices-->Maintain Default Excise groups and Series groups.
Regards, -
Auto Create Outbound Delivery and Shipment from IDoc
Hi Ppl,
Currently, we have a transport company which handles all our transportation of goods to our customer.
We develop a project, phase 1 which we automatically sends sales order in form of IDocs to our transport company and they in turn we send us an excel file on how they have group those sales order into shipment using their own criteria of weight, destination, customer etc.
Now, on our phase 2 of the project, we want the transport company to send us this file in form or IDoc or acceptable file format and which will automatically create outbound deliveries and shipment on how they grouped it.
This should also be able to change deliveries or shipment if the sales order changes.
Please how do we go about this?
Thanks all for your help.Hello,
As far as I know, you need to have a custom IDoc scenario for this. Here is what you can do.
1. Create a custom IDoc Type to receive Orders.
2. Create a Custom message Type & Custom Process code along with the Custom Posting Program (FM) for this requirement.
3. Perform the validations & process the IDocs by using the WS_DELIVERY_UPDATE & WS_DELIVERY_UPDATE_2 for creating Deliveries & BAPI_SHIPMENT_CREATE FM to create the Shipments.
This being a custom scenario, you'd be required to do some custom development as well in order to meet up with your business needs.
Hiope this was helpful.
Regards,
Venkata Phani Prasad K -
BAPi to create Outbound delivery with PGI
Hi all,
What BAPi , we can use to create Outbound delivery with PGI.
Please help me in this regards.
Deekshitha.Hi,
Use the BAPI BAPI_GOODSMVT_CREATE
check this link.... u will get all help from this code..
http://sap4.com/wiki/index.php?title=BAPI_GOODSMVT_CREATE&printable=yes
<b>rEWARD POINTS</b>
rEGARDS -
BAPI to create inbound delivery
Is there any BAPI to create a new inbound delivery without reference to a PO?
As far as I know, there is bapi to create outbound deliveries:
BAPI_OUTB_DELIVERY_CREATENOREF.
Thanks.try these
GN_DELIVERY_CREATE
GN_DELIVERY_CREATE_FOR_DIALOG
Maybe you are looking for
-
Everytime i go to update my ipod it comes up with this error message
The ipod "amarocchi ipod" cannot be updated. The required folder cannot be found! Please help what can i do! ive tried everything!
-
Async-Sync conversion: JMS-SOAP-MAIL
Hi all, I'm making a async-sync scenario: JMS-SOAP-MAIL The SOAP interface is synchronous and JMS and MAIL are asynchrnouse. I have configured the sender JMS adapter as following: Modules <b>1- AF_Modules/RequestResponseBean - Local Enterprise Bean -
-
Hello, Bluetooth error: I have a problem to send files TO my MacBookAir through bluetooth but no pbm to send files FROM my MacBookAir. The bluetooth message is a failure in the connection ("no adresse IP"). How can I solve this ? Thks
-
Open .lvm file while program is running
How do I open a .lvm file within my program? I've tried using the Open/Create/Replace File dialog with File Dialog specifying the path and I can get to the point to select the path, and it doesn't open the file. Solved! Go to Solution.
-
I just bought an iphone 6, and i was wondering what NEW features the iphone 6 has what does not come of the other iphones?