PO and the Sales Order
Hi ,all.
May I know how to retrieve the Purchase Order Number in the Sales Order (tcode va03) and display it using ME23N??
Thanks in advance.
Hello,
The PO number field you see in VA03 is usually an input which need not be an actual PO number existing in the current system.So you can have a PO number like 'test123'.The system will accept it and store it as is in the table VBAK.
However if you create a sales order with reference to a PO number then the PO number obviously does exist in the system and can be accessed via transaction ME23n and can also be found in tables EKKO,EKPO.
So to sum up the number you enter in the PO field may or may not be an actual PO number existing in the SAP system.it can be used as a reference for later checks a customer may do when he calls to find out the status of his sales order.
Hope this explanation helps you.
Regards,
Neil.
Similar Messages
-
"In FBL5N unable to view purchase order number and the sales order number"
Hi,
Below mentioned is the problem we are facing,
In the Customer Line Item Display (FBL5N) it is vital for us to be able to view the customer's purchase order number as well as the sales order number for each billing document listed by customer.
We need to be able to extract this information for each customer and import to an excel spread sheet for analysis, specifically for our larger customers that have over 500 plus lines.
Kindly advise how to go about the same.
Regards
HarishDear,
Please also check note 152335. There, you will find a more detailed
explanation of the issue.
The only way to see some information regarding related PO-es in a Vendor
line items is a workaround. For example, it is possible to create
a substitution in order to fill in one of not currently used fields
like Reference, Text, etc.
I hope this helps You.
mauri -
Table containeing both the purchase order number and the sales order number
hi all!!!
what is table that contains both the purchase order number and sales order number corresponding to that purchase order number.
Moderator message: please search before posting.
Edited by: Thomas Zloch on Jan 31, 2012Hi Sunny,
Yes they are same. You will be creating a purchase order in ME21n. After creating purchase order you will shown a number for that order.
Reward points if useful.
Thanks,
Swamy Kunche -
Re: Printing Cancelled line items in the sales order on the packing slip
Hi gurus,
Currently we have a unique requirement in our company. Our wholesale customers send the Purchase order to us via EDI. Now saw they have requested an order containing 10 materials out of which we can fulfill only 8. the other 2 due to some reasons cannot be fulfilled.
So the business wants to keep the other 2 line items to be entered in the sales order with a cancelled status.
Now correct me if I am wrong, only the confirmed line items will be copied from a sales order to a delivery document. So thats the reason why these cancelled line items cannot be printed on the packing slip.
However somehow the business wants the packing slip tp have the 2 line items printed on it with the reason of not being delivered. this is to facilitate the customer to know why those items couln't be fulfilled by our company. Now we cannot use a manual work-around of letting the customer know about the impossibility of not fulfilling the other 2 items as there are a lot of orders that come thru EDI per day.
Can anyone suggest a solution to this requirement asap.
Thanks in advance
VinitHi Vinit,
This requirement makes a lot of sense, that is to be able to inform your customer that some item(s) of the sales order could not be delivered, not even partially.
A possible solution would be to allow for zero quantity in the delivery item (check customizing and mark "zero quantity allowed" in the item category).
Then in the packing split, it would be easy to print the delivered quantity (0) and the sales order quantity (whatever it was), because you have the "null" item available in the delivery.
Personally I am not found of having have delivery items with zero quantity, but they are useful in that case, and they can also be useful to automatically "close" the sales order item (instead of having to do it manually if the goods can't be served).
Note: Usually in Consumer Goods, if you can't serve part of a sales order to a customer, you have to close it, because the Retailer's next Sales Order will include the remaining quantity.
Hope it helps.
Best Regards,
Franck Lumpe
Freelance SAP ERP Consultant -
How PIR's are consumed by the customer requirements even though the sales orders are blocked?
Dear experts,
I am using strategy 40 for material A with Backward/Forward consumption of 60 days backward and 60 days forward.
My PIR is as follows :-
Material Month #1 Month #2 Month #3 Month #4 Month #5 ....
material A 100 100 100 100 100 ....
I created a Sales Order for material A with the quantity of 600 in Day 4 of Month #1.
After MRP run, planned order conversion and production order has been completed.
Month #1, Month #2 and Month #3 PIR's are consumed even though we made the setting in Such a way that the sales orders should just display but not planned . and the sales orders are into the blocked requirements list in the result of /n/afs/MD02.
1)but why it is consuming the PIRS?
2)is there any affect of backward and forward consumption on this?
Thanks in advance.
Regards
Bhargavi DesaiHi,
Normally it is recommended that, not to delete PIR's one by one or remove quantity from previous periods/ requirement manually. If the PIR's of previous month is not consumed it is normally a feedback to sales people to do a analysis at their end.
In PP point of view, normally a re-organization run is carried out by MD74, MD75 or MD76. The same can be done by scheduling batch job to run on month ends basis w.r.t. period you specify.
Regards,
Narresh -
Need your help to resolve below issue.
A sales order is created with multiple line items. The user created delivery and invoice document for one of the line item in the sales order. The line item cost was active in the sales order and invoice document. The value was determined from the material master record. The user then created delivery document for other line items in the sales order, but invice document creation ends with an error message that "Sales order is incomplete so billing can not be carried out" VF 069
The first invoiced item has become inactive in the sales order now and the sales order goes into incomplete status. The system is blocking the invoice document creation for rest of line items. Could you tell me why the line item cost became inactive. Also tell me how to resolve this issue.I dont think,
There is any problem with Cost in Sales order line item.
Cost copied from MMR is statiscial & always in display mode.
Goto VA02- key in order no n press entere.
now from menu bar- Goto- Edit - Incompletion log ( Cntrl + F8).
if any field is missing , then maintain the field to complete the sale sorder.
incompletion log will be maintaiend @ order n item level. check in Item category for the incompletion procedure & check the fields maintained in incompletion procedure in Tx: OVA2.
Regards,
Reazuddin MD -
Information Messages while creation of the sales order thru EDI 850
Hello All,
I am trying to create a Sales Order using EDI 850. When i am doing the same i am getting the information messages and the Sales Order is not created and the IDOC is in 51 status. I am using the ORDERS05 Idoc Type.
Following are some of the messages i get: 1. Oldest of open items overdue; 2. Document Complete 3. ISO Country code not found.
some are valid message and i have already fixed them. But when i create the sales order manually it gives me the sales order number even though i get the information messages.
Please let me know is there any setting that i have to make for EDI process to counter the information messages.
Thank You,
Sureshwhats the final message you got? that will give you what is the issue.
in you look at IDOC_INPUT_ORDERS, it does some basic validations first, and collect those errors in ERRTAB and set the status to 51. for manual reprocessing of the IDOC, it doesnt care about those pre validations, and goes directly into VA01 processing -
Error when i reject the sales order
Hi:
I´m in Upgrade to 6.0, and when I reject a sales order in SD, the system show me this message "Subsequent function 'Production order/plan order from sales document' not possible: Item 000010 was rejected Message no. V1579".
In the implementation the products was delivered for the company, but today they work with service orders but the integration SD with PP is until running but they user the order for documentation and to saw the costs.
I wrote a SAP message and read this notes 964813 and Note 1028464 but both are already aplicated. SAP responce to me but I don´t konw to much of the SD and PP integration. Please, can any one help me?
SAP responce:
Info to SAP
12.03.2008 - 12:49:44 CET - Reply by SAP Attachments
SAP Note 97272 - Rejections of individual order items possible
SAP Note 356895 - Rejection of third-party items and individual PO items
SAP Note 549972 - FAQ: rejecting third-party or individual PO items
SAP Note 1054121 - The SAP Ecosystem in a Nutshell
Dear Gina,
I was analyzing the problme in your system.
If I understand you rigt you are expecting that the link between the
sales order and the production order is not deleted when you set the
reason for rejection. When you set the reason for rejection again then anew production order is created.
The standard behaviour is that the link between sales order and
production/assembly/service order is deleted. As field vbep-aufnr is
deleted also no later restructuring is possible.
In the header table of the order aufk-kdauf there is still the relation
to the sales order number but there is a deletion flag set for it and
the link can't be reactivated.
I am sorry that I could not give you a more positive reply.Hi:
In the table AFKO I don´t have any order document. I searched this, before reject the sales order, and then, when I try to reject the sales order, and in both cases I don´t have the relation about the order and the sales order in this table.
I looked at the table AUFK and in the field KDAUF I saw the sales order and the relation with the PM order, and this is my problem, I don´t no why the message error tell me something about PP order, I didn´t understand.
I saw the customizing and I Know they works with the "Strategy group" in materials and it was customizing in "Demand Management" and the order was customizing in "Plant Maintenance and Customer Service", (PM) customizing the Order Types. I think when finally they decided that the material was only for services, they changed something, and the customizing is not complete in PP.
In the old version 4.6C the rejection of sales order works, but in this version 6.0 and with MRP implementacion I don´t know in what step this was change. If you Know where can i find if something of MRP affect the previous integration please let me know, because I think is a PP customizing problem.
Thanks
Best Regards
Gina -
How production peoples will know the sales order quantity?
Hi,
In our business we are getting orders from our customer in advance (ie before stock production). Is there any notification to send the Ordered item, Quantity and Dispatch date to the production department to produce the stock? Is there any setup for the same?
Thanks in Advance,
Regards,
Prabhu.S.JYour MRP / APS will create wip jobs based on the sales order demand. The shop floor may / maynot care about which sales order they are building it for.
If you want to create one-to-one relationship between the jobs and the sales orders, you can either make your items as ATO items and autocreate the wip jobs or check the LOT FOR LOT option in your ascp plan. -
Not able to get the Quantity and partner details in the sales order created
Hi Experts,
I am creating a followup order using the FM "BAPI_BUSPROCESSND_CREATEMULTI" . The parameters iam passing are process type, quantity , sold to party (partner) and product ID. I am able to create a sales order but the Quantity and sold to party (partner) are not getting updated in the the sales order when i check in the transaction CRMD_ORDER. When i check in the crm_orderadm_h table and give the Headerguid , i am able to see the process type and when i check in the crm_order_index table, if i give the header i am not getting the partner no and there are two lines created for one header guid. I am providing the code which i have written. Can anyone please help me in this issue??
*& Report ZCREATEORDER_LUCKY_TEST
REPORT ZCREATEORDER_LUCKY_TEST.
DATA : LV_HEADER_GUID TYPE GUID_32,
WA_HEADER TYPE BAPIBUS20001_HEADER_INS,
ITAB_HEADER TYPE STANDARD TABLE OF BAPIBUS20001_HEADER_INS,
ITAB_CREATED_PROCESS TYPE STANDARD TABLE OF BAPIBUS20001_HEADER_INS,
ITAB_OBJECTS_TO_SAVE TYPE STANDARD TABLE OF BAPIBUS20001_GUID_DIS,
ITAB_PARTNER TYPE STANDARD TABLE OF BAPIBUS20001_PARTNER_INS,
LT_PRODUCT_I TYPE STANDARD TABLE OF BAPIBUS20001_ITEM,
WA_PRODUCT_I TYPE BAPIBUS20001_ITEM,
LT_SCHEDLIN_I TYPE STANDARD TABLE OF BAPIBUS20001_SCHEDLIN,
WA_SCHEDLIN_I TYPE BAPIBUS20001_SCHEDLIN,
ITAB_INPUT_FIELDS TYPE TABLE OF bapibus20001_input_fields,
ls_inputfields TYPE bapibus20001_input_fields,
WA_PARTNER TYPE BAPIBUS20001_PARTNER_INS,
ITAB_RETURN TYPE STANDARD TABLE OF BAPIRET2,
WA_OBJECTS_TO_SAVE LIKE LINE OF ITAB_OBJECTS_TO_SAVE,
ITAB_PRICING TYPE STANDARD TABLE OF BAPIBUS20001_PRICING,
WA_PRICING TYPE BAPIBUS20001_PRICING,
*To store the Objects to be saved.
WA_CREATED_PROCESS LIKE LINE OF ITAB_CREATED_PROCESS,
ITAB_SAVED_OBJECTS TYPE STANDARD TABLE OF BAPIBUS20001_OBJECT_ID,
WA_SAVED_OBJECTS LIKE LINE OF ITAB_SAVED_OBJECTS,
GC_X type c.
gc_x = 'x'.
CALL FUNCTION 'GUID_CREATE'
IMPORTING
ev_guid_32 = lv_header_guid.
CLEAR : WA_HEADER.
* Passing the respective values from the Header table to internal table.
WA_HEADER-GUID = LV_HEADER_GUID.
WA_HEADER-PROCESS_TYPE = 'ZTA'.
APPEND WA_HEADER TO ITAB_HEADER.
*Appending the values to the ITAB_HEADER.
*appending orderadm_i to input fields
* ls_inputfields-ref_guid = LV_HEADER_GUID.
* ls_inputfields-REF_KIND = 'A'.
ls_inputfields-objectname = 'ORDERADM_I'.
ls_inputfields-ref_handle = '0000000001'.
* ls_inputfields-logical_key = ' '.
ls_inputfields-fieldname = 'ORDERED_PROD'.
APPEND ls_inputfields TO ITAB_INPUT_FIELDS.
CLEAR ls_inputfields.
* ls_inputfields-ref_guid = LV_HEADER_GUID.
* ls_inputfields-REF_KIND = 'A'.
ls_inputfields-objectname = 'ORDERADM_I'.
* ls_inputfields-logical_key = ' '.
ls_inputfields-fieldname = 'MODE'.
ls_inputfields-ref_handle = '0000000001'.
APPEND ls_inputfields TO ITAB_INPUT_FIELDS.
CLEAR ls_inputfields.
****** CHANGES MADE
* ls_inputfields-ref_guid = LV_HEADER_GUID.
* ls_inputfields-REF_KIND = 'B'.
ls_inputfields-objectname = 'SCHEDLIN'.
ls_inputfields-ref_handle = '0000000001'.
ls_inputfields-fieldname = 'LOGICAL_KEY'.
APPEND ls_inputfields TO ITAB_INPUT_FIELDS.
CLEAR ls_inputfields.
* ls_inputfields-ref_guid = LV_HEADER_GUID.
* ls_inputfields-REF_KIND = 'B'.
ls_inputfields-objectname = 'SCHEDLIN'.
ls_inputfields-ref_handle = '0000000001'.
* ls_inputfields-logical_key = ' '.
ls_inputfields-fieldname = 'QUANTITY'.
APPEND ls_inputfields TO ITAB_INPUT_FIELDS.
CLEAR ls_inputfields.
* ls_inputfields-ref_guid = LV_HEADER_GUID.
ls_inputfields-REF_KIND = 'B'.
ls_inputfields-objectname = 'SCHEDLIN_I'.
ls_inputfields-ref_handle = '0000000001'.
* ls_inputfields-logical_key = ' '.
* ls_inputfields-fieldname = 'MODE'.
APPEND ls_inputfields TO ITAB_INPUT_FIELDS.
CLEAR ls_inputfields.
****** CHANGES MADE
WA_PARTNER-REF_GUID = LV_HEADER_GUID.
WA_PARTNER-REF_KIND = 'A'.
WA_PARTNER-REF_PARTNER_HANDLE = '0001'.
WA_PARTNER-PARTNER_FCT = '00000001'.
WA_PARTNER-PARTNER_NO = '10017'.
WA_PARTNER-KIND_OF_ENTRY = 'C'.
WA_PARTNER-NO_TYPE = 'BP'.
WA_PARTNER-DISPLAY_TYPE = 'BP'.
APPEND WA_PARTNER TO ITAB_PARTNER.
*"ADDING VALUES TO CT_ORDERADM_I
wa_product_i-header = lv_header_guid.
wa_product_i-handle = '0000000001'.
wa_product_i-ordered_prod = '12000014'.
wa_product_i-mode = 'A'.
APPEND wa_product_i TO lt_product_i.
*"ADDING VALUES TO IT_SCHEDLIN_I
wa_schedlin_i-GUID = LV_HEADER_GUID.
wa_schedlin_i-quantity = '30'.
wa_schedlin_i-handle = '0000000001'.
wa_schedlin_i-mode = 'A'.
APPEND wa_schedlin_i TO lt_schedlin_i.
* wa_schedlin_i-schedlines = lt_schedlines.
*"ADDING VALUES TO WA_PRICING
wa_PRICING-REF_GUID = LV_HEADER_GUID.
wa_PRICING-REF_KIND = 'A'.
* wa_schedlin_i-handle = '0000000001'.
APPEND wa_PRICING TO ITAB_PRICING.
* wa_PRICING-REF_GUID = LV_HEADER_GUID.
wa_PRICING-REF_KIND = 'B'.
wa_schedlin_i-handle = '0000000001'.
APPEND wa_PRICING TO ITAB_PRICING.
ls_inputfields-ref_guid = LV_HEADER_GUID.
ls_inputfields-REF_KIND = 'A'.
ls_inputfields-objectname = 'PARTNER'.
ls_inputfields-logical_key = '0001'.
ls_inputfields-fieldname = 'REF_PARTNER_HANDLE'.
APPEND ls_inputfields TO ITAB_INPUT_FIELDS.
CLEAR ls_inputfields.
ls_inputfields-ref_guid = LV_HEADER_GUID.
ls_inputfields-REF_KIND = 'A'.
ls_inputfields-objectname = 'PARTNER'.
ls_inputfields-logical_key = '0001'.
ls_inputfields-fieldname = 'PARTNER_FCT'.
APPEND ls_inputfields TO ITAB_INPUT_FIELDS.
CLEAR ls_inputfields.
ls_inputfields-ref_guid = LV_HEADER_GUID.
ls_inputfields-REF_KIND = 'A'.
ls_inputfields-objectname = 'PARTNER'.
ls_inputfields-logical_key = '0001'.
ls_inputfields-fieldname = 'PARTNER_NO'.
APPEND ls_inputfields TO ITAB_INPUT_FIELDS.
CLEAR ls_inputfields.
ls_inputfields-ref_guid = LV_HEADER_GUID.
ls_inputfields-REF_KIND = 'A'.
ls_inputfields-objectname = 'PARTNER'.
ls_inputfields-logical_key = '0001'.
ls_inputfields-fieldname = 'NO_TYPE'.
APPEND ls_inputfields TO ITAB_INPUT_FIELDS.
CLEAR ls_inputfields.
ls_inputfields-ref_guid = LV_HEADER_GUID.
ls_inputfields-REF_KIND = 'A'.
ls_inputfields-objectname = 'PARTNER'.
ls_inputfields-logical_key = '0001'.
ls_inputfields-fieldname = 'DISPLAY_TYPE'.
APPEND ls_inputfields TO ITAB_INPUT_FIELDS.
CLEAR ls_inputfields.
ls_inputfields-ref_guid = LV_HEADER_GUID.
ls_inputfields-REF_KIND = 'A'.
ls_inputfields-objectname = 'PARTNER'.
ls_inputfields-logical_key = '0001'.
ls_inputfields-fieldname = 'KIND_OF_ENTRY'.
APPEND ls_inputfields TO ITAB_INPUT_FIELDS.
CLEAR ls_inputfields.
CALL FUNCTION 'BAPI_BUSPROCESSND_CREATEMULTI'
TABLES
HEADER = ITAB_HEADER
ITEM = lt_product_i
RETURN = ITAB_RETURN
PARTNER = ITAB_PARTNER
INPUT_FIELDS = ITAB_INPUT_FIELDS
CREATED_PROCESS = itab_created_process
SCHEDULELINE = lt_schedlin_i
PRICING = ITAB_PRICING.
READ TABLE ITAB_CREATED_PROCESS INTO WA_CREATED_PROCESS WITH KEY GUID = LV_HEADER_GUID BINARY SEARCH.
WA_OBJECTS_TO_SAVE-GUID = WA_CREATED_PROCESS-GUID.
* Appending the Guid of the contract to be saved to the internal table
APPEND WA_OBJECTS_TO_SAVE TO ITAB_OBJECTS_TO_SAVE.
CALL FUNCTION 'BAPI_BUSPROCESSND_SAVE'
EXPORTING
update_task_local = space
save_frame_log = GC_X
TABLES
objects_to_save = itab_objects_to_save
saved_objects = itab_saved_objects
return = itab_return.
* Calling the Standard BAPI to Commit the transcation.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
WRITE: / 'HEADER GUID: ',lv_header_guid.
Any inputs will be highly appreciated!!
Thanks a lot in Advance.
Lakshman.solved
-
Production Order and Internal Order for each item of the sales order
Hi
I am developing Make To Order Report where I have to display the MTO Line Items and non MTO Line Items. For non MTO Line Items I have to display Internal order with Planned and Actual Costs and also Production Order with Planned and Actual Costs. Could anybody tell how to get the Internal order no and production order with Planned and Actual costs for each line item for a sales order.
Thanks
NagaHi,
You can get the Production orders, Planned orders, Internal orders generated for Sales order item from AFPO table (use fields KDAUF-Sales order number & KDPOS-Sales order item). Then to identify the order type use order category (AUTYP) from table AUFK.
Once you have the Production/internal order, you can ge the cost from COSS and COSP table. Use the object number from AUFK to get the cost entries from COSS & COSP.
You can use the following sample code as reference.
Hope this is helps.. (Don't forget to mark it... )
Form GET_COSTS *
Get the material cost, labour hours and the labour cost for the *
sales order material. *
There are no interface parameters to be passed to this subroutine. *
FORM GET_COSTS.
DATA V_OBJNR LIKE AUFK-OBJNR.
DATA v_menge LIKE vbap-kwmeng.
SELECT SINGLE OBJNR
INTO V_OBJNR
FROM AUFK
WHERE AUFNR EQ AFPO-AUFNR.
SELECT * FROM COSS
WHERE OBJNR EQ V_OBJNR
AND WRTTP IN ('01', '04'). " p_wrttp. "Labour Cost ( Plan, Actual)
PERFORM GET_VALUES_FROM_COSS.
ENDSELECT.
SELECT * FROM COSP
WHERE OBJNR EQ V_OBJNR
AND WRTTP IN ('01', '04') " p_wrttp
AND KSTAR NE '0000510033'. " EQ p_kstar2. "Material Cost
PERFORM GET_VALUE_FROM_COSP.
ENDSELECT.
Get the unit cost of the production order by dividing the production
cost by the order quantity. The result will be multiplied by the
GL posting qunatity (Delivery quantity) to get the production cost
for the quantity being deluivered.
IF NOT AFPO-PSMNG IS INITIAL.
OUT_REC-LABOUR_HOURS_ACT = OUT_REC-LABOUR_HOURS_ACT / AFPO-PSMNG.
OUT_REC-ADDNL_LABOUR_HOURS_ACT =
OUT_REC-ADDNL_LABOUR_HOURS_ACT / AFPO-PSMNG.
OUT_REC-LABOUR_HOURS_PLN = OUT_REC-LABOUR_HOURS_PLN / AFPO-PSMNG.
OUT_REC-ADDNL_LABOUR_HOURS_PLN =
OUT_REC-ADDNL_LABOUR_HOURS_PLN / AFPO-PSMNG.
OUT_REC-LABOUR_COST_ACT = OUT_REC-LABOUR_COST_ACT / AFPO-PSMNG.
OUT_REC-ADDNL_LABOUR_COST_ACT =
OUT_REC-ADDNL_LABOUR_COST_ACT / AFPO-PSMNG.
OUT_REC-LABOUR_COST_PLN = OUT_REC-LABOUR_COST_PLN / AFPO-PSMNG.
OUT_REC-ADDNL_LABOUR_COST_PLN =
OUT_REC-ADDNL_LABOUR_COST_PLN / AFPO-PSMNG.
OUT_REC-MATERIAL_COST_ACT = OUT_REC-MATERIAL_COST_ACT / AFPO-PSMNG.
OUT_REC-ADDNL_MATERIAL_COST_ACT =
OUT_REC-ADDNL_MATERIAL_COST_ACT / AFPO-PSMNG.
OUT_REC-MATERIAL_COST_PLN = OUT_REC-MATERIAL_COST_PLN / AFPO-PSMNG.
OUT_REC-ADDNL_MATERIAL_COST_PLN =
OUT_REC-ADDNL_MATERIAL_COST_PLN / AFPO-PSMNG.
ENDIF.
Multiply the calculated Unit Production costs with the GL quantity to
get the actual production cost of the quantity delivered.
Calculation for Labour Hours
OUT_REC-LABOUR_HOURS_ACT = OUT_REC-LABOUR_HOURS_ACT *
OUT_REC-QUANTITY.
OUT_REC-ADDNL_LABOUR_HOURS_ACT = OUT_REC-ADDNL_LABOUR_HOURS_ACT *
OUT_REC-QUANTITY.
OUT_REC-LABOUR_HOURS_PLN = OUT_REC-LABOUR_HOURS_PLN *
OUT_REC-QUANTITY.
OUT_REC-ADDNL_LABOUR_HOURS_PLN = OUT_REC-ADDNL_LABOUR_HOURS_PLN *
OUT_REC-QUANTITY.
Calculation for Material Cost
OUT_REC-MATERIAL_COST_ACT = OUT_REC-MATERIAL_COST_ACT *
OUT_REC-QUANTITY.
OUT_REC-ADDNL_MATERIAL_COST_ACT =
OUT_REC-ADDNL_MATERIAL_COST_ACT * OUT_REC-QUANTITY.
OUT_REC-MATERIAL_COST_PLN = OUT_REC-MATERIAL_COST_PLN *
OUT_REC-QUANTITY.
OUT_REC-ADDNL_MATERIAL_COST_PLN =
OUT_REC-ADDNL_MATERIAL_COST_PLN * OUT_REC-QUANTITY.
Calculation for Labour cost
OUT_REC-LABOUR_COST_ACT = OUT_REC-LABOUR_COST_ACT *
OUT_REC-QUANTITY.
OUT_REC-ADDNL_LABOUR_COST_ACT = OUT_REC-ADDNL_LABOUR_COST_ACT *
OUT_REC-QUANTITY.
OUT_REC-LABOUR_COST_PLN = OUT_REC-LABOUR_COST_PLN *
OUT_REC-QUANTITY.
OUT_REC-ADDNL_LABOUR_COST_PLN = OUT_REC-ADDNL_LABOUR_COST_PLN *
OUT_REC-QUANTITY.
Get the planned material cost from the total of the planned cost of
the component materials in the production order confirmations.
SELECT BWART MENGE MATNR SHKZG FROM AUFM
INTO (AUFM-BWART, AUFM-MENGE, AUFM-MATNR, AUFM-SHKZG)
WHERE AUFNR EQ AFPO-AUFNR.
CHECK AUFM-BWART NE '101'.
READ TABLE I_MBEW WITH KEY MATNR = AUFM-MATNR
BWKEY = AFPO-DWERK.
IF SY-SUBRC NE 0.
SELECT MATNR BWKEY ZPLPR LPLPR PEINH
FROM MBEW
INTO I_MBEW
WHERE MATNR EQ AUFM-MATNR
AND BWKEY EQ AFPO-DWERK.
APPEND I_MBEW.
ENDSELECT.
ENDIF.
IF SY-SUBRC EQ 0.
IF I_MBEW-ZPLPR NE 0.
IF AUFM-SHKZG EQ 'H'.
OUT_REC-PLANNED_MATERIAL_COST =
OUT_REC-PLANNED_MATERIAL_COST +
( I_MBEW-ZPLPR * AUFM-MENGE / I_MBEW-PEINH ).
ELSE.
OUT_REC-PLANNED_MATERIAL_COST =
OUT_REC-PLANNED_MATERIAL_COST -
( I_MBEW-ZPLPR * AUFM-MENGE / I_MBEW-PEINH ).
ENDIF.
ELSEIF I_MBEW-LPLPR NE 0.
IF AUFM-SHKZG EQ 'H'.
OUT_REC-CURRENT_MATERIAL_COST =
OUT_REC-CURRENT_MATERIAL_COST +
( I_MBEW-LPLPR * AUFM-MENGE / I_MBEW-PEINH ).
ELSE.
OUT_REC-CURRENT_MATERIAL_COST =
OUT_REC-CURRENT_MATERIAL_COST -
( I_MBEW-LPLPR * AUFM-MENGE / I_MBEW-PEINH ).
ENDIF.
ENDIF.
ENDIF.
ENDSELECT.
Get the Future material cost per Unit by deviding the calculated
Future material cost above with the goods reciept quantity to, then
multiply the unit cost with the GL quantity to get the Future material
Cost for the Quantity delivered. (Quantity in the entery from GLPCA
Table).
IF NOT AFPO-WEMNG IS INITIAL.
OUT_REC-PLANNED_MATERIAL_COST =
OUT_REC-PLANNED_MATERIAL_COST / AFPO-WEMNG * OUT_REC-QUANTITY.
OUT_REC-CURRENT_MATERIAL_COST =
OUT_REC-CURRENT_MATERIAL_COST / AFPO-WEMNG * OUT_REC-QUANTITY.
ENDIF.
ENDFORM. " GET_COSTS
Form GET_VALUE_FROM_COSP *
Get the Material cost from COSP table. *
There are no interface parameters to be passed to this subroutine. *
FORM GET_VALUE_FROM_COSP.
FIELD-SYMBOLS: <FS> TYPE ANY.
DATA: V_COMPONENT TYPE I.
Cummulate the posting values of all the 16 period buckets as to get
total production order cost. This is to handle the aprtial posting of
prodction order values in diffrent periods.
V_COMPONENT = 15.
DO 16 TIMES.
ADD 1 TO V_COMPONENT.
ASSIGN COMPONENT V_COMPONENT OF STRUCTURE COSP TO <FS>.
IF COSP-WRTTP EQ '04' AND COSP-KSTAR EQ P_KSTAR2.
ADD <FS> TO OUT_REC-MATERIAL_COST_ACT.
ELSEIF COSP-WRTTP EQ '04'.
ADD <FS> TO OUT_REC-ADDNL_MATERIAL_COST_ACT.
ELSEIF COSP-WRTTP EQ '01' AND COSP-KSTAR EQ P_KSTAR2.
ADD <FS> TO OUT_REC-MATERIAL_COST_PLN.
ELSEIF COSP-WRTTP EQ '01'.
ADD <FS> TO OUT_REC-ADDNL_MATERIAL_COST_PLN.
ENDIF.
ENDDO.
ENDFORM. " GET_VALUE_FROM_COSP
Form GET_VALUES_FROM_COSS *
Get the Labour cost and Labour hours from the COSS table. *
There are no interface parameters to be passed to this subroutine. *
FORM GET_VALUES_FROM_COSS.
FIELD-SYMBOLS: <FS1> TYPE ANY,
<FS2> TYPE ANY.
DATA: V_COMPONENT1 TYPE I,
V_COMPONENT2 TYPE I.
Cummulate the posting values of all the 16 period buckets as to get
total production order cost. This is to handle the aprtial posting of
prodction order values in diffrent periods.
V_COMPONENT1 = 15.
V_COMPONENT2 = 111.
DO 16 TIMES.
ADD 1 TO: V_COMPONENT1, V_COMPONENT2.
ASSIGN COMPONENT V_COMPONENT1 OF STRUCTURE COSS TO <FS1>.
ASSIGN COMPONENT V_COMPONENT2 OF STRUCTURE COSS TO <FS2>.
IF COSS-WRTTP EQ '04' AND COSS-KSTAR EQ P_KSTAR1.
ADD <FS1> TO OUT_REC-LABOUR_COST_ACT.
ADD <FS2> TO OUT_REC-LABOUR_HOURS_ACT.
ELSEIF COSS-WRTTP EQ '04'.
ADD <FS1> TO OUT_REC-ADDNL_LABOUR_COST_ACT.
ADD <FS2> TO OUT_REC-ADDNL_LABOUR_HOURS_ACT.
ELSEIF COSS-WRTTP EQ '01' AND COSS-KSTAR EQ P_KSTAR1.
ADD <FS1> TO OUT_REC-LABOUR_COST_PLN.
ADD <FS2> TO OUT_REC-LABOUR_HOURS_PLN.
ELSEIF COSS-WRTTP EQ '01'.
ADD <FS1> TO OUT_REC-ADDNL_LABOUR_COST_PLN.
ADD <FS2> TO OUT_REC-ADDNL_LABOUR_HOURS_PLN.
ENDIF.
ENDDO.
ENDFORM. " GET_VALUES_FROM_COSS -
ATP check in the Sale order Processing and CO06 transaction (Confirm Qty)
Hi All,
While creating the Sale order, After performing the ATP check and saving the document i have called an user exit to make the confirmed Quantity equal to ZERO when the delivery block is set (As requested by customer). That is working fine...
But the same confirmed Quantity of ZERO is not reflecting in CO06 transaction. Its showing the old value that the value before setting the delivery block.
I have identified the table VBBE-VMENG which stores the confirmed quantity in CO06 transaction...
Could you please help me know any USER EXITS or any other solution to change the confirmed quantity to ZERO in CO06 transaction also while delivery block is set in the sale order.
Thanks &Regards,
NavaneethHi All,
Please help me by providing some clues on this issue...
Regards,
Navaneeth -
Create and Pack Handling Units in the Sales Order Using HU_CREATE_ONE_HU
Hello Experts,
I am trying to use HU_CREATE_ONE_HU function module to create a handling unit and pack it with specific line items in the sales order program in the background. I am able to create the handling unit and pack it but it does not get associated to the sales order / line item. If you look at the sale order's packing proposal, it does not show it packed. If I look at VEKP / VEPO, I see where it was created but there is no value for vbeln or the posnr I proposed. Below is the code, I am using. Does anyone know what I am doing wrong or is there another function module I can use?
LOOP AT t_vbap.
CLEAR: is_header_proposal, it_items, es_header, et_items, et_messages, t_vbap2.
REFRESH: et_items, et_messages, t_vbap2.
is_header_proposal-exidv = '$1'.
is_header_proposal-exida = 'A'.
is_header_proposal-vhilm = 'UNIBOX'.
is_header_proposal-hu_status_init = 'A'. "planned
is_header_proposal-status = '0001'. "planned
"get the components that make up this subassembly including the parent.
SELECT * FROM vbap
INTO TABLE t_vbap2
WHERE vbeln = t_vbap-vbeln
AND posnr = t_vbap-posnr. "parent
SELECT * FROM vbap
APPENDING TABLE t_vbap2
WHERE vbeln = t_vbap-vbeln
AND uepos = t_vbap-posnr. "children
"now load the items to be packaged in the proposal
LOOP AT t_vbap2.
CLEAR: it_item.
it_item-velin = '1'. "material item
it_item-belnr = t_vbap2-vbeln.
it_item-posnr = t_vbap2-posnr.
it_item-quantity = t_vbap2-kwmeng.
it_item-meins = t_vbap2-meins.
it_item-matnr = t_vbap2-matnr.
it_item-werks = t_vbap2-werks.
it_item-lgort = t_vbap2-lgort.
APPEND it_item TO it_items.
ENDLOOP.
CALL FUNCTION 'HU_INITIALIZE_PACKING'.
CALL FUNCTION 'HU_CREATE_ONE_HU'
EXPORTING
if_create_hu = 'X'
is_header_proposal = is_header_proposal
it_items = it_items
IMPORTING
es_header = es_header
et_items = et_items
et_messages = et_messages
EXCEPTIONS
input_missing = 1 " Data that is Necessary for Creation is Missing
not_possible = 2 " HU Creation not Possible
header_error = 3 " HU Header Data Contains Incorrect Data
item_error = 4 " Items Cannot be Created
serial_nr_error = 5 " Serial Number Error
fatal_error = 6 " Internal Error
OTHERS = 7.
CALL FUNCTION 'HU_POST'
EXPORTING
if_synchron = space
if_commit = 'X'.
ENDLOOP.
Thanks for the help.
LauraThe abap statement does not make sense.
xlips_high_posnr = ( lips-posnr / tvlk-incpo ) * tvlk-incpo
posnr & incpo are both type numc length 6.
Here is my recommendation to catch the divide by zero error.
data: l_oref type REF to cx_root.
data: l_text type string.
TRY.
clear l_text.
xlips_high_posnr = lips-posnr / tvlk-incpo.
CATCH cx_sy_zerodivide INTO v_oref.
l_text = l_oref->get_text( ).
CLEANUP.
* Put your code to do further processing if it is divide by zero
ENDTRY. -
Hi All, We are in to Release 11.5.10.2.There is a specific requirement to Prevent users from creating Manual Sales Orders in Oracle and yet users should be able to book the Sales Orders Imported from CRM system into Orcale.Please advise.
Thanks for your advise.
However, I missed to mention that we have two set of users One is for Finished Goods and another for Spares.
Only Spares users need to be prevented from creating Direct/Manual Sales Orders in Oracle.
As you suggested, if this will be done at Form level, that may Disallow FG users also to create Manula Sales Orders which should not be the case.
Further, I tried to test one scenario through Processing Constraints but it did not work.
Application
OM
Validation Type
Entity
Temp
Short Name
TBL
Validation Semantics
Created By
Equal To
User(Myself)
Processing Cosntraint
Application
OM
Entity
Order Header
Constraint
Operation
User Action
Create
Not Allowed
Conditions
Group
Scope
Validation Entity
Record Set
Validation Template
101
Any
Order Header
Order
Above Created
Please advise. -
While saving the sales order through Va01 and Va02 and email has to send
Hi Experts,
My requirement is to send an email with PDF formatted display of the Sales order to the sold to party's email id while saving the Salesorder through Va01 and Va02.
I need the following .
How to send an email with PDF formatted attachment of Salesorder display ? (we have done the formatting of display through SMARTFORMS )
I think we can do it by userexits program name is MV45AFZZ while saving the document.
Please suggest me the best possible way.
Thanks ,
SarithaHi, there is no need for a customer devlopment on this. A standard smartform output will do with output medium '5' (external send). Then the smartform output will be send as PDF to the e-mail address in the output partner. Have a look at transaction NACE.
Regards Jack
Maybe you are looking for
-
HP Officejet Pro 8610 Unsuccessf​ul Network Installati​on
I just purchased a new HP Officejet Pro 8610. I was able to install its software on two of our three computers, but the third gives the error messages "Unsuccessful Network Installation" and "The printer was unable to be installed over the network."
-
Unlimited Data with Limited Talk and Text
I have to say that I'm disappointed in Verizon for not recognizing the people that do not talk and text a lot but do use their phone for data. I pay a lot of money to Verizon mostly for services I don't use all that much. I would like to see a plan
-
How to maintain transition effects and sound when transferring PPT to Keynote ?
When transferring Powerpoint presentations created on my windows 7 laptop to Keynote to display on my I Pad retina, I lose all transition and sound effects. Is there a solution to this ?
-
List custom itemRenderer disabled state
Is there a way to implement a disabled state on a (Spark) List ItemRenderer? I'm developing a List that has a counter on each of it's items. When a user drops that item, the counter decreases. When the item counter reaches 0 the item becomes disabled
-
IPod seems to freeze iTunes when I connect it! D:
I decided to restore my iPod using iTunes, so I did. When I went to go and then put the saved backup back onto my iPod iTunes froze. It then came up with a Windows message saying that 'iTunes has stopped working' and that Windows was 'checking for a