Screen field for Production Order CO01
I want to add an additional field to enter shift in Production order screen CO01. How can I do this and what is the screen exit.
Thanks
HOW TO FIND USEREXITS ???
1) Option 1 : you don't know the name or dont have any info on user exit
run T-code : SPRO
SPRO -> Click SAP Reference IMG -> click in the relevant module eg: SD (sales and Distribution) ->System Modifications -> User exits
You can view documentation to understand the purpose of that user exit
It is not that always one can find the user exits under the name "System modifications" but with respect to a module definitely user exits can be found under that module in SPRO
2) Option 2 : You know the name of the user exit
Run Tcode : SMOD -> fill in the enhancement name-> click on attributes and then components or directly on components and view the include...if already a code is written in the include,then on double click of include you can see the code...if an existing code is not there and you double click on the include,SAP prompts for a request
3)Option3: You can use the custom code..which was contributed to SDN
Create a new report program -> copy the code -> activate -> run
on the p_tcode : give the name of the tcode for which you need to find the user exits and execute...a list of exits will be displayed...double click and follow the link
***********************************ABAP CODE :************************************
report zuserexit no standard page heading.
tables : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir.
tables : tstct.
data : jtab like tadir occurs 0 with header line.
data : field1(30).
data : v_devclass like tadir-devclass.
parameters : p_tcode like tstc-tcode obligatory.
select single * from tstc where tcode eq p_tcode.
if sy-subrc eq 0.
select single * from tadir where pgmid = 'R3TR'
and object = 'PROG'
and obj_name = tstc-pgmna.
move : tadir-devclass to v_devclass.
if sy-subrc ne 0.
select single * from trdir where name = tstc-pgmna.
if trdir-subc eq 'F'.
select single * from tfdir where pname = tstc-pgmna.
select single * from enlfdir where funcname =
tfdir-funcname.
select single * from tadir where pgmid = 'R3TR'
and object = 'FUGR'
and obj_name eq enlfdir-area.
move : tadir-devclass to v_devclass.
endif.
endif.
select * from tadir into table jtab
where pgmid = 'R3TR'
and object = 'SMOD'
and devclass = v_devclass.
select single * from tstct where sprsl eq sy-langu and
tcode eq p_tcode.
format color col_positive intensified off.
write:/(19) 'Transaction Code - ',
20(20) p_tcode,
45(50) tstct-ttext.
skip.
if not jtab[] is initial.
write:/(95) sy-uline.
format color col_heading intensified on.
write:/1 sy-vline,
2 'Exit Name',
21 sy-vline ,
22 'Description',
95 sy-vline.
write:/(95) sy-uline.
loop at jtab.
select single * from modsapt
where sprsl = sy-langu and
name = jtab-obj_name.
format color col_normal intensified off.
write:/1 sy-vline,
2 jtab-obj_name hotspot on,
21 sy-vline ,
22 modsapt-modtext,
95 sy-vline.
endloop.
write:/(95) sy-uline.
describe table jtab.
skip.
format color col_total intensified on.
write:/ 'No of Exits:' , sy-tfill.
else.
format color col_negative intensified on.
write:/(95) 'No User Exit exists'.
endif.
else.
format color col_negative intensified on.
write:/(95) 'Transaction Code Does Not Exist'.
endif.
at line-selection.
get cursor field field1.
check field1(4) eq 'JTAB'.
set parameter id 'MON' field sy-lisel+1(10).
call transaction 'SMOD' and skip first screen.
Hope it will solve ur problem..
<b>Reward points if useful...</b>
Thanks & Regards
ilesh 24x7
Similar Messages
-
Cost Center field in Production Order CO01 and PO tables
Hi SAP Consultants,
Is there any Cost Center field in Production Order transaction CO01 ?
What are the tables where Production order data is stored/saved ?
Any help would be appreciated.
Thanks in advance.Need to understand your purpose first. Let's not make it any more technical than it should be, talking in terms of fields and layouts.
All the replies given before mine are referring to the operational costs - which are what are passed on "for performing each operation" of the production order. These are the costs coming to the production order from the work center where the operation is performed. At the end of several operations, the production order would have collected all these costs of different operations, and also those of the materials used in the process. There may be other (overhead, etc) costs coming on to the production order too.
If you're looking for one "cost center" for the entire production order, what cost center is this? Is it the department to which you want to settle the production costs? This is possible, that all the costs accumulated in the production order over the course of its life are finally "settled" to a different cost object, which can be an inventory account, or a sales order, an internal order, or a cost center etc. (There are exceptions, where a production order need not be settled but lets leave this to save us some complexity).
What exactly are you looking for? What is the business purpose you are trying to achieve? Or is it just a purely technical reason to write a report or something? Even then we need to know the purpose and objective of the report/enhancement before being able to answer your question.
-Ram -
BADI for Production Order CO01
is there any BADI for Production Order making CO01 Txn.
abhishekHI,
You can find the BADI your self, Check the class CL_EXITHANDLER.
follow the below steps to find the suitable BADI for your case ..
1) Goto se24 (Display class cl_exithandler)
2) Double click on the method GET_INSTANCE.
3) Put a break point at Line no.25 (CASE sy-subrc).
Now
4) Execute SAP standard transaction
5) Press the required button for which you need to write an exit logic, the execution will stop at the break point.
6) Check the values of variable 'exit_name', it will give you the BADI name called at that time.
7) This way you will find all the BADIs called on click of any button in any transaction
if you follow this 7 steps, you will find a suitable BADI.
and also refer the thread
Re: MB_MIGO_ITEM_BADI
Regards
Sudheer -
Problem in screen exit for Production Order
Hi ,
Created a screen with one field RESB-POTX1 and called it from dictioanry directly so the field defaultly assigned as RESB-POTX1. As it is a item text field and am creating in header level screen .
in PAI functional module exit am capturing value for this field enter by the user and updating directly to RESB table but the problem is while retreiving data in CO03 am not getting value for this field .
In PBO when i pass value from varaible ( got through from RESB ) directly like RESB-POTX1 = l_potx1 ( variable )
it throws an error resb-potx1 not declared . but i declared as tables : resb in pai exit .
as am updating directly resb am not created in field aufk structure ...how to pass this valuehi,
if u want to add new fields in the transaction, this is sample code for CNEX0006 enhancement.
First create a project in cmod and attach the enhancement CNEX0006 to the project.
1.go to se11 and in the PROJ table u will find ci_proj include , in this add ur custom fields.
2.go to se51 give SAPLXCN1 in the program name with screen number 0600 , create the subscreen and in the layout choose Dict./Program fields and drag and drop in the screen .
3. if u want to write any logic before the screen is displayed do it in PBO.
4. now in the function exit EXIT_SAPLCJWB_002 , go in the INCLUDE ZXCN1U11 and write this logic
move-corresponding sap_proj_imp to proj.
5.4. now in the function exit EXIT_SAPLCJWB_003 , go in the INCLUDE ZXCN1U12. and write this logic
move-corresponding proj to cnci_proj_exp.
Activate the project .
Hope this helps
Regards
Syed -
Table name& field name for production order & operation confirmation
Hi All,
I would like to know the table name and field name for the production order "confirmation" (CNF) and the operation confirmation (CNF).
Thanks and Regards,
PSSHi there,
CORU(R/3 Application development: PP Confirmations )
AFFW Goods movements with errors from confirmatio
AFRC Table of planned changes to conf.: Automatic
AFRD Default values for collective confirmation
AFRH Header information for confirmation pool
AFRP1 Table of planned changes to conf.: Automatic
AFRP2 Table of planned changes for confirmation: B
AFRP3 Table of planned changes for confirmation: C
AFRP4 Table of planned changes to confirmatn: Data
AFRU Order completion confirmations
AFWI Subsequently posted goods movements for conf
TAFWD CORU: Messages that are not interpreted as e
TCORD Table for field-dependent check routines
TCORU Parameters for order confirmations
TCORV Table with Routines for structureing variabl
TCORW Confirmation: Window Control
TPARU Control parallelized confirmation processes
TPRRU Control table for process chain for confirma
TPRRUT Text table for process control of confirmati
TRUGS User status caused by deviation
CO(R/3 Application development: PP Production orders )
AFBP CIM order: Batch print requests
AFFL Work order sequence
AFKO Order header data PP orders
AFPO Order item
AFVC Operation within an order
AFVU DB structure of the user fields of the opera
AFVV DB structure of the quantities/dates/values
FAPW Index of production-/issuing plant for produ
FTIND Missing parts index
ORDCOM Communication control Operation download
T024F Production scheduler
T399X Parameters dependent on order type
T441C Profile - availability check
T441CT Texts for Profile "Display Availability Chec
T490 Transactions PP - orders - order category
T496B CIM order: Assigning document types to refer
T496D CIM: Destination/lists/spool parameters per
T496F CIM order: Form description of the list
T496K CIM order: Entity table of possible table id
T496N CIM order: List descriptions
T496P Print PP documents: Determination of output
T496R Print PP shop papers: Report control
T496T Print PP shop papers: Transaction control
T496V PP Print: Default Value for Printing Online
T496Z CIM order: Table-controlled table access
TC32 Assigning subscreen to processing location
TC34 Allocating operation to object type for the
TC62 Sequence of detail screens when processing h
TCO01 Sequence/operations control in logicstics or
TCO03 CIM order: Texts for TCO01, Description of o
TCO04 Table for controlling the screen sequence gr
TCO05 CUA status depending on panel, trans. type,
TCO06 Exclusive functions for PP orders
TCO09 CIM order: Text IDs of objects in orders
TCO10 Valuation variant for order costing
TCO11 Control table for production orders - availa
TCO12 Control table production orders - stock dete
TCO36 PP orders: Control table for calling up pop-
TCO41 CIM order: Default values for generating ope
TCO43 PP-SFC order profile
TCO43T Description of production scheduler profile
TCO60 Sequence keys for input facility and verific
TCO61 Sequence key for PP orders
TCO62 Defining screen sequences for input facility
TCO63 Sequence of detail screens when maintaining
TCODB Database fields development class CO per ord
TCOF Profile for missing parts info system
TCOFF Profile for Missing Parts Info System: Displ
TCOFFT Texts for Missing Parts Info System: Display
TCOFG Profile for missing parts info system: crite
TCOFGT Texts for Missing Parts Info System: Criteri
TCOFK Texts for functions in milestones/trigger po
TCOFS Profile for Missing Parts Info System: Sort
TCOFST Texts for Missing Parts Info System: Sort Cr
TCOFT Texts for Missing Parts Info System
TCOKO Constants for PP orders
TCOKT Account assignment categories for order
TCOP Field selection profile
TCOPS Field selection profile
TCOPT Description of Profile for Field Selection
TDUMMY Dummy structure of a table for READ with VER
TRUG Reason for variances in completion confirmat
TRUGT Text describing the reason for a variance in
TXPR1 XPRA control - missing parts info system
Regards
Hemant G -
Goods Issue (MB1A) for production order - no stock reduce happening in WM
Hi,
I try to do a Goods Issue with transaction MB1A for a production order, but no stock reduces happens within WM (HUM).
I did the following.
Created a Production order - CO01
Created a TR - LB01 - (assigned production order to the TR)
Created a HU for the materials. (HU02)
Created a Transfer order to storage type 914 with L_TO_CREATE_MOVE_SU.
At the end I want to do an goods Issue with MB1A. This seems not to work correctly. When I fill out the ordernumber and process the transaction a Delivery is created.The materials are already on 914, so it can be issued directly.
What can I do to solve this.
Thanks in advance.
Regards,
AlexanderPlease find out is there any accoun t assignment is there for the component in question.
pl got production order disply screen and goto --> material list
check is there any value on the filed account assignment. If that is the case then you need to have special stcok for that account.
If it is empty then check
are you entereing the correct storage location and plant.
if that is also fine then check whether the component is already issued, i.e. goto the component detailed screen and check wthere final issue tick is there for the component...or the componentb is deleted...
come back after these checks. -
Negative quantity in deliver field in production order - CO02
Hi All,
I am doing production confirmation and goods receipt for production order through back ground using standard BAPI.While doing GR for production order in background the following error occured.
System is throughing dump - Arithmatical logical conversion problem.when we analysed through ST22 we came to know that negative quantity appearing in field of delivered in production order.
Screen name.............. "SAPLCOKO1"
Screen number............ 0120
Screen field............. "CAUFVD-GWEMG"
As per standard, delivered field in production order is always in display mode only. So there will not be any chance for user to change the delivered field.
Pls guide me how to overcome the above issue and what is exact root cause for the above problem.
System is throwing error in change mode ( Co02) and display mode ( CO03 ) for the respective production order number
Thanks
P.SrinivasanHi,
This inconsistency can be solved with the following correction report. If you want to try by yourself, then implement it manually in transaction SE38 and execute in test mode first to check if the inconsistency is found. And obviously, in a TEST system first.
If you are NOT confident about it, I recommend you to submit a support message for SAP for further investigation since this is a database inconsistency.
Regards,
Marcelo
<pre>
*& Report ZPCON_076B *
*& This report checks goods receipt quantity (WEMNG) and value (WEWRT) *
*& of an order item for consistency with the corresponding material *
*& documents. In UPDATE mode, the quantity and the value calculated *
*& from the material documents will be written to database table AFPO. *
REPORT zpcon_076b LINE-SIZE 90.
INCLUDE lcokotyp.
TABLES: afpo.
SELECTION-SCREEN COMMENT /1(80) text1. "#EC NEEDED
SELECTION-SCREEN COMMENT /1(80) text2. "#EC NEEDED
SELECTION-SCREEN COMMENT /1(80) text3. "#EC NEEDED
SELECTION-SCREEN COMMENT /1(80) text4. "#EC NEEDED
SELECTION-SCREEN COMMENT /1(80) text5. "#EC NEEDED
SELECTION-SCREEN ULINE.
SELECTION-SCREEN COMMENT /1(80) texta. "#EC NEEDED
SELECT-OPTIONS r_aufnr FOR afpo-aufnr.
SELECTION-SCREEN ULINE.
SELECTION-SCREEN BEGIN OF BLOCK block WITH FRAME TITLE title."#EC NEEDED
SELECTION-SCREEN COMMENT /1(72) texty. "#EC NEEDED
SELECTION-SCREEN BEGIN OF BLOCK block2 WITH FRAME.
PARAMETERS: testmode RADIOBUTTON GROUP mode DEFAULT 'X'.
PARAMETERS: update RADIOBUTTON GROUP mode.
SELECTION-SCREEN END OF BLOCK block2.
SELECTION-SCREEN COMMENT /1(72) textz. "#EC NEEDED
SELECTION-SCREEN END OF BLOCK block.
DATA: BEGIN OF ls_afpo.
INCLUDE STRUCTURE afpo.
DATA: END OF ls_afpo.
DATA lt_afpo LIKE ls_afpo OCCURS 0.
DATA: BEGIN OF ls_mseg.
INCLUDE STRUCTURE mseg.
DATA: END OF ls_mseg.
DATA ls_mseg2 LIKE ls_mseg.
DATA lt_mseg LIKE ls_mseg OCCURS 0.
DATA ls_mkpf TYPE mkpf.
DATA l_initial_ltrmi TYPE co_ltrmi VALUE IS INITIAL.
DATA l_orders TYPE sytabix.
DATA l_entries TYPE sytabix.
DATA l_sum_wemng TYPE wemng.
DATA l_sum_wewrt TYPE wewrt.
DATA l_error TYPE xfeld.
INITIALIZATION.
text1 = 'This report checks goods receipt quantity (WEMNG) and'.
text2 = 'value (WEWRT) of an order item for consistency with the '.
text3 = 'corresponding material documents. In UPDATE mode, the'.
text4 = 'quantity and the value calculated from the material'.
text5 = 'documents will be written to database table AFPO.'.
texta = 'Please specify order numbers of orders to be processed.'.
texty = 'If TESTMODE is set, no database update will occur.'.
textz = 'Set radio button UPDATE for updating the database entries.'.
title = 'Mode'.
AT SELECTION-SCREEN.
orders specified?
IF r_aufnr IS INITIAL.
MESSAGE e889(co) WITH 'Please specify order numbers'.
ENDIF.
START-OF-SELECTION.
select order items
SELECT *
FROM afpo
INTO TABLE lt_afpo
WHERE aufnr IN r_aufnr
AND ( dauty = auftragstyp-fert
OR dauty = auftragstyp-netw
OR dauty = auftragstyp-inst
OR dauty = auftragstyp-rma
OR dauty = auftragstyp-bord ).
DESCRIBE TABLE lt_afpo LINES l_orders.
check order items
LOOP AT lt_afpo INTO ls_afpo.
REFRESH lt_mseg.
CLEAR l_sum_wemng.
CLEAR l_sum_wewrt.
CLEAR l_error.
SELECT *
FROM mseg
INTO TABLE lt_mseg
WHERE matnr = ls_afpo-matnr
AND werks = ls_afpo-pwerk
AND aufnr = ls_afpo-aufnr
AND aufps = ls_afpo-posnr
AND kzbew = 'F'
%_HINTS ORACLE 'rule'.
IF NOT sy-subrc IS INITIAL.
no goods movements --> nothing to do.
DELETE lt_afpo.
CONTINUE.
ENDIF.
LOOP AT lt_mseg INTO ls_mseg.
IF ls_mseg-shkzg ='S'.
inward movement
IF NOT ls_mseg-dmbtr IS INITIAL.
l_sum_wewrt = l_sum_wewrt + ls_mseg-dmbtr.
ENDIF.
IF NOT ls_mseg-bstmg IS INITIAL.
l_sum_wemng = l_sum_wemng + ls_mseg-bstmg.
ELSE.
IF ls_mseg-erfme = ls_afpo-amein.
l_sum_wemng = l_sum_wemng + ls_mseg-erfmg.
ELSE.
IF ls_mseg-meins = ls_afpo-amein.
l_sum_wemng = l_sum_wemng + ls_mseg-menge.
ELSE.
WRITE: 'ERROR - Order', ls_afpo-aufnr COLOR 6.
DELETE lt_afpo.
l_error = 'X'.
EXIT.
ENDIF.
ENDIF.
ENDIF.
ls_mseg2 = ls_mseg.
ELSE.
outward movement
IF NOT ls_mseg-dmbtr IS INITIAL.
IF ls_mseg-dmbtr NE ls_mseg-bualt AND
NOT ls_mseg-bualt IS INITIAL.
l_sum_wewrt = l_sum_wewrt - ls_mseg-bualt.
ELSE.
l_sum_wewrt = l_sum_wewrt - ls_mseg-dmbtr.
ENDIF.
ENDIF.
IF NOT ls_mseg-bstmg IS INITIAL.
l_sum_wemng = l_sum_wemng - ls_mseg-bstmg.
ELSE.
IF ls_mseg-erfme = ls_afpo-amein.
l_sum_wemng = l_sum_wemng - ls_mseg-erfmg.
ELSE.
IF ls_mseg-meins = ls_afpo-amein.
l_sum_wemng = l_sum_wemng - ls_mseg-menge.
ELSE.
WRITE: 'ERROR - Order', ls_afpo-aufnr COLOR 6.
DELETE lt_afpo.
l_error = 'X'.
EXIT.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP. "AT lt_mseg
only continue if no error in the calculation occurred
CHECK l_error IS INITIAL.
IF ls_afpo-wemng = l_sum_wemng AND
ls_afpo-wewrt = l_sum_wewrt.
values are correct, no update necessary
DELETE lt_afpo.
CONTINUE.
ENDIF.
FORMAT: COLOR 1.
WRITE: / 'Order', ls_afpo-aufnr, 'material', ls_afpo-matnr.
FORMAT: COLOR OFF.
WRITE: /3 'Order item data : quantity',
ls_afpo-wemng UNIT ls_afpo-amein, ls_afpo-amein, 'value',
ls_afpo-wewrt CURRENCY ls_mseg-waers, ls_mseg-waers.
WRITE: /3 'Material documents: quantity',
l_sum_wemng UNIT ls_afpo-amein, ls_afpo-amein, 'value',
l_sum_wewrt CURRENCY ls_mseg-waers, ls_mseg-waers.
FORMAT: COLOR 2.
WRITE: /3 'Material doc. BWART', 30 'stock qty UoM',
52 'entry qty UoM', 77 'value Curr'.
FORMAT: COLOR OFF.
LOOP AT lt_mseg INTO ls_mseg.
WRITE: /3 ls_mseg-mblnr, ls_mseg-zeile, ls_mseg-bwart,
ls_mseg-menge UNIT ls_mseg-meins, ls_mseg-meins,
ls_mseg-bstmg UNIT ls_mseg-bstme, ls_mseg-bstme,
ls_mseg-dmbtr CURRENCY ls_mseg-waers, ls_mseg-waers.
ENDLOOP.
IF NOT update IS INITIAL.
set delivery date
IF l_sum_wemng IS INITIAL.
initial delivery quantity --> initial delivery date
UPDATE afpo SET ltrmi = l_initial_ltrmi
WHERE aufnr = ls_afpo-aufnr
AND posnr = ls_afpo-posnr.
ELSE.
read posting date from last valid goods receipt
SELECT SINGLE * FROM mkpf
INTO ls_mkpf
WHERE mblnr = ls_mseg2-mblnr
AND mjahr = ls_mseg2-mjahr.
IF sy-subrc IS INITIAL.
UPDATE afpo SET ltrmi = ls_mkpf-budat
WHERE aufnr = ls_afpo-aufnr
AND posnr = ls_afpo-posnr.
ELSE.
leave LTRMI untouched
ENDIF.
ENDIF.
set quantity and value
UPDATE afpo SET wemng = l_sum_wemng
wewrt = l_sum_wewrt
WHERE aufnr = ls_afpo-aufnr
AND posnr = ls_afpo-posnr.
FORMAT: COLOR COL_POSITIVE.
WRITE: /3 'Order item data corrected from material documents.'.
FORMAT: COLOR OFF.
ENDIF.
ULINE.
ENDLOOP. "AT lt_afpo
WRITE: / 'Number of checked order items :', l_orders.
DESCRIBE TABLE lt_afpo LINES l_entries.
WRITE: / 'Number of inconsistent order items:', l_entries.
IF NOT update IS INITIAL AND
NOT l_entries IS INITIAL.
WRITE: / 'Inconsistencies were corrected from material documents.'
COLOR COL_POSITIVE.
ENDIF.
ULINE.
</pre>
Edited by: Wilian Segatto on Jan 25, 2011 12:27 PM -
WM Material Staging for Production Order
Hi,
In the process order txn Cor3, Go to > List > WM pick list> the initial screen is Display WM Material Staging for Production Order. In the All parts tab, could you please help me on how to be able to populate the fields in the BSI, Category and Storage Bin. Your help is greatly appreciated.
ThanksDear Ellen,
If you set the cursor on 'BSI' field and push F1 you'll get an explanation about the meaning of each category.
'"<i>1" pick list item
This materials are picked according to the required quantity specified in the production order.
'2': Crate or kanban parts
These materials are always removed from the warehouse in full cases. These can be ordered, for example, as soon as a case of needed parts is emptied in production.
'3': Release order parts
Release order parts are scheduled individually and the quantities are supplied manually to replenishment storage bins based on the requirements of production orders and the stock levels in the scheduled production supply areas.
"0" not relevant to WM-PP
These materials are not relevant for WM production supply and cannot be requested using the WM system.</i>'
For instance:
You can set raw materials / SFG as pick parts if warehouse workers have to collect those parts from high racks (from different places) and they have to provide an exact qty for the PrdOrd.
We use '4' (manual staging) for huge alu rolls that are near the machine and WH workers have nothing to do with it - the operators, who deal with the machine, have to put the new rolls on it.
When we issue the PrdOrd the requirements of this material won't appear in LB10 since WH has nothing to do with them.
'Storage bin' filed will contain a value automatically, if your settings are proper.
E.g. you have to define the default 'stock removal' & 'stock placement' storage type on WM view of material master.
Additionally you have to define control cycles for materials you use for your production. (LPK1)
The control cycle says from which storage type & bin you want to consume the components.
BR
Csaba -
Screen variants for particular orders
Hi,
I have a querry.
My client wants to make the material and quantity fields uneditable in CO01 and CO02 T-codes. For this we have created a screen variant. But the practical problem is we are having Rewqoek Order types also. For this Rework Orders the material and quantity fields should be editable.
So is it possible to tackle this problem by screen variants?
Is it possible to call screen variant only for a set of order types?
Regards
Amit ParkhiHi Parkhi,
You can create a different screen variant for Rework Order type & then use to solve this issue.
Please confirm.
Regards
R. Senthil Mareeswaran. -
Inbound idoc for production order
Hi.
I am having a requirement in Interface to create a production order in SAP .
My production order have multiple items.
Can you suggest me IDOC or BAPI or FM which i can used to create production order with multiple items...??
I tried with BAPI_PRODODER_CREATE but it used only for header data not for item one.
The Idoc LOIPRO is used i guess for outbound purpose i didn't found ne process code attatch with this so i guess we can't used for inbound.
Please respond me its urgent for me.
I will reward for helpful ans.
Thanks
DeeptiHi,
I dont know about which basic idoc is being used for production order.
But if you know any F.M or Message type or Basic type, then from WE57 you can find the corresponding process code.
Goto WE57 and make use position button and u will get one popup screen and then press F4 on any field then it will open the other screen in that screen make search for process code by giving the input values in Ctr+F search.
Reward with points if helpful.
Regards,
Vijay -
Error during goods receipt of Finished goods for production order
hi friends
pls help me iam struggle this issue and mentioned the issue .
when i do goods receipt for production order system getting error like
No price could be determined for material/batch FG/ plant ZTP
Message no. CK 465
Diagnosis
The system could not calculate a price for material/batch FG/ in plant
ZTP for valuation view 0, because none of the valuation strategies in
valuation variant 007 was successful.
System Response
User-defined error management enables you to specify whether the message
is an error message, a warning message or an information message.
o If you have defined the message as a warning message or an
information message, the costing item will be entered in the cost
estimate with a value of zero.
If you have defined the message as an error message, the cost
estimate contains an error or errors.
- In the case of a material cost estimate, the system sets the
status KF.
- If it is a cost estimate without quantity structure, or base
object cost estimate (that is, a unit cost estimate), the
system cannot proceed with costing until you have corrected the
errors.
If the system issues a termination message, the cost estimate cannot
be processed, and processing is terminated.
procedure
o Check the master data for material/batch FG/ in plant ZTP.
o If you have authorization for Customizing, check the valuation
strategy for materials in valuation variant 007.
Note
If the message is a warning message or an information message, there is
a danger that materials with errors will be ignored by the system.
If, because of this, you issue a warning message and at the same time
include materials with a zero value in cost estimates, you can make the
following settings for these materials in the costing view of the
material master:
1. Enter a very low price in the planned price 1, 2 or 3 fields
manually, for instance 0.01 USD. These prices are used for costing
purposes only; they are not read by other applications.
2. Enter the highest price unit possible, for example 10000.
Note: If you enter a new price unit that is higher than the costing
lot size, the system increases the costing lot size accordingly.
3. Change the valuation strategy, such as strategy 4, where you could
enter the planned price field in which you entered the low price.
The system now costs as follows:
Using the valuation strategy, the system finds planned price 1, 2 or
3. Due to the low price and high price unit, the system rounds the
value to zero. However, the cost estimate still obtains status KA
(free of errors), and no error message is issued.
This procedure can be used for all materials that have caused error
message CK465 to be issued.
with regards
dinesh
Edited by: code acess on Nov 8, 2010 4:06 AMhi ragavendra,
this is dinesh .i maintained the costing view and planned price. but again i have same error.so please reply me where i missed the data
with regards
dinesh
Edited by: code acess on Nov 9, 2010 4:01 AM -
Regarding Goods Reversal and Goods Issue process for Production orders
Hi,
I have a issue regarding <b>Goods Reversal</b> and <b>Goods Issue</b> process for <b>Production orders</b>.
Actually I am having a Z - Function Module in that i am passing <b>production order number other details</b> to
make the <b>Goods Reversal</b> happen.
The code for the above is as below:
i_mvtit-material = wa_mdfa-matnr.
i_mvtit-plant = i_resb-werks.
i_mvtit-spec_stock = 'Q'. "New
i_mvtit-stge_loc = 'ZWIP'.
i_mvtit-stge_type = i_resb-lgtyp. "New
i_mvtit-batch = i_resb-charg. "New
i_mvtit-orderid = i_resb-aufnr.
i_mvtit-spec_stock = i_resb-sobkz.
i_mvtit-entry_qnt = i_resb-enmng.
i_mvtit-entry_uom = i_resb-erfme.
i_mvtit-entry_uom_iso = i_resb-meins. "New
i_mvtit-wbs_elem = v_frwbs.
i_mvtit-move_type = '262'.
i_mvtit-xstob = 'X'.
i_mvtit-gr_rcpt = i_resb-aufnr. "New
i_mvtit-reserv_no = i_resb-rsnum.
i_mvtit-res_item = i_resb-rspos.
APPEND i_mvtit.
* HEADER ELEMENTS
k_gmvt_code-gm_code = '03'.
k_gmvt_head-pstng_date = sy-datum.
k_gmvt_head-doc_date = sy-datum.
* CREATE GOODS MOVEMENTS
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTING
goodsmvt_header = k_gmvt_head
goodsmvt_code = k_gmvt_code
TABLES
goodsmvt_item = i_mvtit
return = i_return.
The Above code does the <b>Goods Reversal</b> but then i will update one Z Table with fields like
Production Order Number[AUFNR], Number of Reservation[RSNUM], Item Number of Reservation [RSPOS], Material Number [MATNR], Requirement Quantity [BDMNG], WBS element[PSPNR] etc. If Above BAPI runs sucessfully.
That is happening correctly.
But Then actual issue is i have do <b>Goods Issue</b> for those Z-Table records.
There i will give Production order Number's & Storage Location in Selection-Criteria.
Then i need to do <b>Goods Issue</b> for that order.
The code i had written as follows.
* POPULATE VALUES FOR BAPI CALL
i_mvtit-material = i_zpsi7603_01-matnr.
i_mvtit-plant = i_resb-werks.
i_mvtit-spec_stock = 'Q'. "New
i_mvtit-stge_loc = p_sloc.
i_mvtit-stge_type = i_resb-lgtyp. "New
i_mvtit-batch = i_resb-charg.
i_mvtit-orderid = i_resb-aufnr.
i_mvtit-spec_stock = i_resb-sobkz.
i_mvtit-entry_qnt = i_resb-enmng.
i_mvtit-entry_uom = i_resb-erfme.
i_mvtit-entry_uom_iso = i_resb-meins. "New
i_mvtit-wbs_elem = v_frwbs.
i_mvtit-move_type = c_261.
i_mvtit-mvt_ind = 'F'. "New
i_mvtit-xstob = c_x.
i_mvtit-gr_rcpt = i_resb-aufnr. "New
i_mvtit-reserv_no = i_resb-rsnum.
i_mvtit-res_item = i_resb-rspos.
APPEND i_mvtit.
* HEADER ELEMENTS
k_gmvt_code-gm_code = c_03.
k_gmvt_head-pstng_date = sy-datum.
k_gmvt_head-doc_date = sy-datum.
* CREATE GOODS MOVEMENTS
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTING
goodsmvt_header = k_gmvt_head
goodsmvt_code = k_gmvt_code
TABLES
goodsmvt_item = i_mvtit
return = i_return.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = c_x.
READ TABLE i_return INDEX 1.
IF i_return-type EQ c_s.
DELETE FROM zpsi7603_01 WHERE aufnr = i_resb-aufnr AND
rsnum = i_resb-rsnum AND
rspos = i_resb-rspos.
ENDIF.
If i run above code for <b>Goods Issue</b> it is giving error can anybody tell me what changes i need to do to make it work.
The <b>Error Message</b> i am getting is as below:
<b>Qty and / or "delivery completed" ind. or final issue ind. are missing</b>
<b>Error Number for the above is : 264.</b>
Can anybody solve my issue.
Any help will be appreciated.
Thanks in advance.
Thanks & Regards,
Rayeez.Hi,
Thanks boss.
It is working now correctly.
The issue is the i_mvtit-XSTOB should be equal space in case of Goods issue while incase of Reversal it should be equal to X.
Thanks for ur efforts.
I had awarded you points.
Thanks a lot.
Thanks & Regards,
Rayeez. -
BAPI_GOODSMVT_CREATE for production order,not update database
hi guru,
i am using BAPI_GOODSMVT_CREATE for production order.When i m testing this BAPI
at se37 it creates one mat doc no and i m not getting any return messages.Now i m
writing code for it at se38. but it does not update the database even though i used
bapi_transaction_commit. here sy-subrc = 0.bt when i m checking MSEG table showing
that mat doc no does not exists.
please help me out asap.
thanks and regurds,
manasiCHECK THIS CODE
REPORT ZBAPI_GOODSMVT_CREATE.
*DECLARING INTERNAL TABLE TO HOLD FILE DATA.
DATA: BEGIN OF itab OCCURS 0,
text(200),
END OF itab.
*DECLARING INTERNAL TABLE TO PASS FILE DATA.
TYPES: BEGIN OF tw_goodsmvt,
pstng_date TYPE budat,
doc_date TYPE bldat,
material TYPE matnr,
plant TYPE werks_d,
stge_loc TYPE lgort_d,
move_type TYPE bwart,
* entry_qnt TYPE erfmg,
costcenter TYPE kostl,
END OF tw_goodsmvt,
tt_goodsmvt TYPE STANDARD TABLE OF tw_goodsmvt.
DATA: lt_goodsmvt TYPE tt_goodsmvt,
lw_goodsmvt TYPE tw_goodsmvt.
*declaring internal table of bapi structure.
DATA:s_goodsmvt_header LIKE bapi2017_gm_head_01,
lt_goodsmvt_item TYPE STANDARD TABLE OF bapi2017_gm_item_create WITH HEADER LINE,
lt_return TYPE STANDARD TABLE OF bapiret2 WITH HEADER LINE.
DATA:str_filename TYPE string,
gm_code TYPE gm_code,
v_head_count TYPE i VALUE 0,
v_prev_count TYPE i VALUE 1,
v_qnt TYPE string,
v_dummy.
*selection screen
SELECTION-SCREEN BEGIN OF BLOCK bk with frame title text_001.
PARAMETERS:p_docdat TYPE bldat,
p_pstdat TYPE budat,
fname LIKE rlgrap-filename.
SELECTION-SCREEN END OF BLOCK bk.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR fname.
*to provide F4 functionality.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
IMPORTING
file_name = fname.
* start of selection
START-OF-SELECTION.
str_filename = fname.
gm_code = '06'.
* to upload data
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = str_filename
filetype = 'ASC'
has_field_separator = 'X'
read_by_line = 'X'
TABLES
data_tab = itab.
*SPLITING DATA TO INTERNAL TABLES.
LOOP AT itab.
IF itab+0(1) EQ 'H'.
v_head_count = v_head_count + 1.
IF v_head_count GT v_prev_count.
PERFORM bapi_upload.
ENDIF.
SPLIT itab-text AT ',' INTO v_dummy
lw_goodsmvt-pstng_date
lw_goodsmvt-doc_date.
s_goodsmvt_header-doc_date = lw_goodsmvt-doc_date.
s_goodsmvt_header-pstng_date = lw_goodsmvt-pstng_date.
v_prev_count = v_head_count.
ELSEIF itab+0(1) EQ 'L'.
SPLIT itab-text AT ',' INTO v_dummy
lw_goodsmvt-material
lw_goodsmvt-plant
lw_goodsmvt-stge_loc
lw_goodsmvt-move_type
v_qnt
lw_goodsmvt-costcenter.
* PASSING DATA TO INTERNAL TABLE TYPE BAPI STRUCTURE.
lt_goodsmvt_item-material = lw_goodsmvt-material.
lt_goodsmvt_item-plant = lw_goodsmvt-plant.
lt_goodsmvt_item-stge_loc = lw_goodsmvt-stge_loc.
lt_goodsmvt_item-move_type = lw_goodsmvt-move_type.
lt_goodsmvt_item-entry_qnt = v_qnt.
lt_goodsmvt_item-costcenter = lw_goodsmvt-costcenter.
APPEND lt_goodsmvt_item.
ENDIF.
v_prev_count = v_head_count.
ENDLOOP.
PERFORM bapi_upload.
*& Form bapi_upload
form bapi_upload .
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTING
goodsmvt_header = s_goodsmvt_header
goodsmvt_code = gm_code
* TESTRUN = ' '
* IMPORTING
* GOODSMVT_HEADRET =
* MATERIALDOCUMENT =
* MATDOCUMENTYEAR =
tables
goodsmvt_item = lt_goodsmvt_item
* GOODSMVT_SERIALNUMBER =
return = lt_return.
PERFORM commit_work TABLES lt_return.
CLEAR : lw_goodsmvt, s_goodsmvt_header.
REFRESH: lt_goodsmvt[], lt_goodsmvt_item[].
endform. " bapi_upload
*& Form commit_work
* text
* -->P_LT_RETURN text
form commit_work tables p_lt_return structure bapiret2.
IF NOT lt_return[] IS INITIAL.
*error handling
loop at lt_return.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID = lt_return-id
LANG = sy-langu
NO = lt_return-NUMBER
V1 = lt_return-message_v1
V2 = lt_return-message_v2
V3 = lt_return-message_v3
V4 = lt_return-message_v4
IMPORTING
MSG = lt_return-MESSAGE
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2.
WRITE: lt_return-id, lt_return-message, lt_return-message_v1, lt_return-message_v2,
lt_return-message_v3, lt_return-message_v4.
CLEAR lt_return.
ENDLOOP.
ELSE.
* commit work
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
* EXPORTING
* WAIT =
IMPORTING
RETURN = lt_return.
WRITE: lt_return-id, lt_return-message, lt_return-message_v1, lt_return-message_v2,
lt_return-message_v3, lt_return-message_v4.
CLEAR lt_return.
endif.
endform. " commit_work -
Automatic Batch determination at time of Goods receipt for production order
Hi SAP experts,
Greetings to you all. I wish to ask a query that how batch is determined automatically at the time of goods receipt for production order .
I have done the following settings:
1.Specified batch level at material level
2.External batch number assignment
3.Defined production order condition table '501' (plant/material)
4.Defined production order access sequence (order type-plant -material)
5.Defined Production Order Strategy type.
6.Defined Batch search procedure in Production Order.
7.Assigned Batch search procedure to Production order type for a particular plant , batch check not activated.
Please let me know of any more settings to be checked for the same.
For example, a production order is being confirmed for a quatity of 5 nos . at a time . However, the GI movement (261 movement type) for the production order components is taking place for 1 EA qty. from 5 different batches.
So now, how the system will define the GR (movement type 101) for the production order header material for the qty. 5 nos. EA ?
It is desired that the system should do GR for the qty. 1 EA of the header material for the 5 different batches (batches which were automatically deteremined for the Goods issue of the components).
Thanks in advance. good day.
Best regards,
RBHI Rahul,
As explained earlier, for e.g., if the GR is taking place for the production order for qty. 5 nos. , and in that , if the component qty. is 1 EA for 1EA of header material ; then , the GR for the header material should take place for the same different batches from which the order components were issued for the order and not for the other batches in stock for the header material as well as components.
I am not sure if i understand your requirement 100%.
But let me explain you standard behaviour.
When Confirmation for production order happens and GR is posted during confirmation , All the GR happens agaist same batch number which i sassigned in production order assignment screen.
So for all the order qty single batch would be fixed. Say batch A1 is created for Header material for 100 qty.
Now during components issue to production order, If 100 qty needs to be issued for compoenent B it is possible to use multiple batches of componenets ( using splilt batch functionality /or manual batch number entry agaist componenet in goods movement screen) but header batch remains the same.
Check and Revert,
Santosh Sarda -
Batch derivation in goods receipt for production order
Hi all,
i have set up batch derivation for the event 'goods receipt for production order'. The field derived is HSDAT (date of manufacture) /minimum. Although in the batch derivation monitor I can see tha the derivation was performed OK and the correct date (oldest of the components) is selected the field in the Batch is not updated. Can anyone help??Hi Vagia,
Your problem sounds like derivation type issue.
Please check your derivation type to be static for the 400 event.
Let us know if this helped.
Regards.
St.Pan.
Maybe you are looking for
-
Add bunch of transport requests at a time
Hi Friends, How to add bunch of transport requests at a time to import buffer using tp tool at OS level on windows? Any help would be appreciated Thanks
-
Hi, Inside of a stored procedure I created: - a record type:TYPE gr_rec IS RECORD (contact_id number) - a table of records: TYPE gr_tb IS table of gr_rec INDEX BY BINARY_INTEGER and then I populated the table in a loop: tb(i).contact_id := a.contact_
-
In photoshop cc timeline panel is grayed out
I have two simple text layers i want to animate with photoshop cc. when i open the timeline panel everything is grayed out.
-
Clearing document (posting)
i have purchase order number and invoice number. now i need clearing document number . can any body tell me how to get???
-
Modifying version 6 VIs in version 8
I am trying to modify a VI that was created using labview v6.0. I am modifying it in v8.0. The old program uses the Analogue input VI called 'AI Acquire Waveforms'. It uses a device number to decide which instrument to use along with the appropria