Regd: 100% composition for a material
Hi,
I am a technical consultant currently implementing 'REACH' solution for a Chemical industry client and have a functional issue related to the composition of a BOM. (BOM transfer)
I have (say) four materials sharing the same specification (substance).
My basic requirement is to find out the material having 100% composition and generate the BOM.
I am a little familiar with CS11/CS13 and working on CG37 and CG02.
What would be the correct way of seeing which material has 100% composition or compare the two BOM according to the 100% composition?
Best regards,
Harsh Dave
Hello,
In CS14 - you can compare two BOMs.
But Ideally during the Business scenario - BOM 100% should be checked during the worklist generation when user saves BOM. Talk to PP consultant if Production Plannning has any functionalit matching this feature.
Thanks
Jayakumar
Similar Messages
-
Hi All
When I am trying to make compliance check for the Basic material , following waring and error messages are displayed
Create subst. declaration or standard composition for basic material 000000082778
Assign an MDS or add a pure substance composition to basic material 000000082778
Assign a company or standard norm to basic material or surface 000000082778
1. How to create substance creation for Basic material ?
2. How to create Standard composition for Basic material ?
3. How to assign MDS to Basic material ?
4. Did not understand this error Assign a company or standard norm to basic material or surface 000000082778 .
Thanks & Regards
SatishHi Satish,
I assume that these are messages from the IMDS check.
IMDS requires a full material declaration which means that you need a "standard" composition of chemical substances or alternatively a reference to an IMDS ID.
You can maintain the standard composition of the basic material in the specification workbench (CG02). Please note that you need to initialize EHSM with the IMDS basic substances (SBAll file from IMDS, see documentation in IMG).
The assignment of an MDS for a basic material or the import of an IMDS basic material can be done via the IMDS supplier MDS Center. Here again you need to initialize the center first with the IMDS CMSAll and MPAll file (see IMG) first to see the supplier MDSs or published MDSs in the center.
Regarding question 4) it seems that this is a requirement from the IMDS check where you need to maintain additional information for the applicable standard. This should be possible via transaction CG02 in the property tree. For more background information see the IMDS Recommendations (from the IMDS pages).
Best regards,
Andreas -
Assign different ship to party for each material in a sales order in CRM?
Hi all,
I need to create a sales order in CRM, such that the sales order contains more than 100 materials at item level and each material should be shipped to a different ship to party.
That is for 100 materials in sales order I need to ship to 100 different customers.
The 100 ship to partyu2019s are maintained for the business partner in relation ships tab in /nBP.
The CRM configuration is done in such a way that when we enter a material while creating a sales order in CRM,u2026u2026.a window pops up asking us to select the ship to party for that material.
No I need to replicate this programmatically. I generated a sales order in CRM programmatically using BAPI_SLSTRANSACT_CREATEMULTI. u2026 Now I need to make changes such that I have a provision to assign ship to party for each materialu2026
How can I do this? Can any one tell me if there is a BAPI or Function Module available so that I can assign a different ship to party for each material in sales order?
Regards,
Jessica SamHere is sample code. In that highlighted portion is different. check this out
DATA: ls_partner TYPE crmt_partner_com,
ls_input_fields TYPE crmt_input_field,
lt_fieldname TYPE crmt_input_field_names_tab,
ls_fieldname LIKE LINE OF lt_fieldname.
ls_partner-ref_handle = p_iv_handle.
ls_partner-ref_partner_handle = 1.
ls_partner-ref_kind = 'A'.
ls_partner-display_type = 'BP'.
ls_partner-no_type = 'BP'.
ls_partner-kind_of_entry = 'C'.
licensee
ls_partner-partner_fct = '00000069'.
ls_partner-partner_no = w_but000-partner.
INSERT ls_partner INTO TABLE gt_partner.
Bill to party
IF NOT w_con_header-billtoparty IS INITIAL.
ls_partner-partner_fct = '00000003'.
ls_partner-partner_no = w_but001-partner.
INSERT ls_partner INTO TABLE gt_partner.
ENDIF.
IF w_con_header-billtoparty IS INITIAL.
ls_partner-partner_fct = '00000003'.
ls_partner-partner_no = w_but000-partner.
INSERT ls_partner INTO TABLE gt_partner.
ENDIF.
Employee
ls_partner-partner_fct = '00000014'.
ls_partner-partner_no = w_con_header-empresp.
INSERT ls_partner INTO TABLE gt_partner.
+*lsinput_fields-ref_handle = p_iv_handle.*+_
+*lsinput_fields-ref_kind = 'A'.*+_
ls_input_fields-logical_key = ls_partner-ref_partner_handle.
ls_input_fields-objectname = 'PARTNER'.
ls_fieldname-fieldname = 'DISPLAY_TYPE'.
INSERT ls_fieldname INTO TABLE lt_fieldname.
CLEAR ls_fieldname.
ls_fieldname-fieldname = 'KIND_OF_ENTRY'.
INSERT ls_fieldname INTO TABLE lt_fieldname.
CLEAR ls_fieldname.
ls_fieldname-fieldname = 'NO_TYPE'.
INSERT ls_fieldname INTO TABLE lt_fieldname.
CLEAR ls_fieldname.
ls_fieldname-fieldname = 'PARTNER_FCT'.
INSERT ls_fieldname INTO TABLE lt_fieldname.
CLEAR ls_fieldname.
ls_fieldname-fieldname = 'PARTNER_NO'.
INSERT ls_fieldname INTO TABLE lt_fieldname.
CLEAR ls_fieldname.
ls_input_fields-field_names = lt_fieldname.
INSERT ls_input_fields INTO TABLE gt_input_fields. -
Reducing the Freight cost on material value for undelivered material
Hi Experts,
Summary : The material supplier vendor needs to be paid for full quantity of material. The freight transport is allowed an under tolearance of 0.5% on the material to be supplied. If the delivered material quantity breaches the 0.5% under tolerance then amount at 1.5 times the cost of material for the shortage is to be deducted from the transporter. A dummy GR will have to be prepared for the undelivered quantity for which we do not want the freight cost to be loaded. The details scenario is mentioned below :-
We have to make a Purchase Order with material code say ABC for procured of some material. Suppose we make a Purchase Order for 100 nos. at a Unit Price of Say Rs. 10/- for Material Code ABC on say Vendor M/s XYZ. A freight condition is maintained in the Conditions Tab and suppose the Freight is Rs. 10 per unit of the material.
While preparing the Goods Receipt through MIGO, in the Freight Tab we select say freight vendor say M/s PQR against the freight condition and post the goods receipt.
While doing Invoice Processing in MIRO, when we enter the combination of Purchase Order and Planned Delivery Cost the system will populate the vendor codes of both the supplier of material and the transporter. On selecting the transporter the freight amount will populate against which the invoice of the tranporter can be processed.
In the Vendor Master of M/s XYZ GR-Based Invoice Verification is activated.
The vendor is allowed an under tolerance of 0.5% (i.e. the vendor should deliver at least 99.50 nos. of the Purchase Order). If the vendor delivers 99.50 or more then there will be no deduction in the freight charges.
But suppose the vendor delivers only 99.4 nos. of the quantity. Then we will prepare the GRIR for 99.4 nos.only. But while processing the MIRO we need to deduct 1.5 times the value of the material from the freight amount for the shortshipped quantity, i.e.
0.1 no (99.5 u2013 99.4) X Rs. 10/- * 1.5 = Rs. 1.5 are to be deducted from the final payment from the freight amount of the transporter.
The material supplier will have to be paid in full 100 nos. of quantity and will raise an invoice for 100 nos. A dummy GRIR for the 0.6 nos. of undelivered material will have to be prepared for processing the invoice for the 100 nos. of the material supplier and a dummy issue for 0.6 nos. of undelivered material will be prepared to remove them from the system.
Hence the freight cost for this 0.6 nos. of undelivered material will also go into the cost of the material and increase the MAP by that amount. Also the goods issue Cost will also have the effect of the freight cost.
We do not want to load the freight cost for the undelivered material in the value of the material.
Can any one please suggest a solution for the same.
Thanks in advance.
AJ.Hi
A PO Will be raised for full quantity of material say 100 nos.
The material supplier vendor needs to be paid for full quantity of material.
A freight vendor is maintained at the time of GR for material against the freight condition maintained in the Po.
The freight vendor facilitates the delivery of the material from the vendor to the purchaser for which he is given an under tolerance limit of 0.5%. Any delivery below this tolerance limit, freight amount to the effect of 1.5 times the per unit rate of material x short fall below 0.5% tolerance will be deducted from the freight amount.
A dummy grir will have to be prepared for the short delivered quantity for processing the invoice for the full quantity of the purchase order, as the vendor is going to raise the invoice for full purchase order quantity. The client does not want to load the freight cost of the undelivered quantity on the material value as it will wrongly show the MAP of the material. This shortshipped material will be issued to remove it from the system and the stock will remain for the delivered quantity only. The vendor is subject to gr based invoice verification.
Please suggest a solution.
Thanks in advance.
AJ
The freight transport is allowed an under tolearance of 0.5% on the material to be supplied. If the delivered material quantity breaches the 0.5% under tolerance then amount at 1.5 times the cost of material for the shortage is to be deducted from the transporter. A dummy GR will have to be prepared for the undelivered quantity for which we do not want the freight cost to be loaded. -
Reducing freight cost for undelivered material
Hi Experts,
Summary : The material supplier vendor needs to be paid for full quantity of material. The freight transport is allowed an under tolearance of 0.5% on the material to be supplied. If the delivered material quantity breaches the 0.5% under tolerance then amount at 1.5 times the cost of material for the shortage is to be deducted from the transporter. A dummy GR will have to be prepared for the undelivered quantity for which we do not want the freight cost to be loaded. The details scenario is mentioned below :-
We have to make a Purchase Order with material code say ABC for procured of some material. Suppose we make a Purchase Order for 100 nos. at a Unit Price of Say Rs. 10/- for Material Code ABC on say Vendor M/s XYZ. A freight condition is maintained in the Conditions Tab and suppose the Freight is Rs. 10 per unit of the material.
While preparing the Goods Receipt through MIGO, in the Freight Tab we select say freight vendor say M/s PQR against the freight condition and post the goods receipt.
While doing Invoice Processing in MIRO, when we enter the combination of Purchase Order and Planned Delivery Cost the system will populate the vendor codes of both the supplier of material and the transporter. On selecting the transporter the freight amount will populate against which the invoice of the tranporter can be processed.
In the Vendor Master of M/s XYZ GR-Based Invoice Verification is activated.
The vendor is allowed an under tolerance of 0.5% (i.e. the vendor should deliver at least 99.50 nos. of the Purchase Order). If the vendor delivers 99.50 or more then there will be no deduction in the freight charges.
But suppose the vendor delivers only 99.4 nos. of the quantity. Then we will prepare the GRIR for 99.4 nos.only. But while processing the MIRO we need to deduct 1.5 times the value of the material from the freight amount for the shortshipped quantity, i.e.
0.1 no (99.5 u2013 99.4) X Rs. 10/- * 1.5 = Rs. 1.5 are to be deducted from the final payment from the freight amount of the transporter.
The material supplier will have to be paid in full 100 nos. of quantity and will raise an invoice for 100 nos. A dummy GRIR for the 0.6 nos. of undelivered material will have to be prepared for processing the invoice for the 100 nos. of the material supplier and a dummy issue for 0.6 nos. of undelivered material will be prepared to remove them from the system.
Hence the freight cost for this 0.6 nos. of undelivered material will also go into the cost of the material and increase the MAP by that amount. Also the goods issue Cost will also have the effect of the freight cost.
We do not want to load the freight cost for the undelivered material in the value of the material.
Can any one please suggest a solution for the same.
Thanks in advance.
AJ.answered
-
Lot quantity to order for a material set as reorder point planning
Dear All,
Suppose the requirements of a material are as follows:
Week1 Required quantity - 100
Week2 required quantity - 150
Week3 required quantity - 300
Week4 required quantity - 500
This material is set as "VB" (Reorder point planning in the material master)
My questions is:
Can we use periodic lot sizing procedure for a material planned based on reorder point planning , so that MRP run will consider the requirements of a month (1050) and use that as the lot size to order material.
We want to plan the material if it falls below the reorder level, but we want the system to dynamically calculate the quantity to order based on the actual demand (and not on either fixed lot size or maxmimum stock level).
with regrds
Laxmipathi.G.VHi
Use Anyone of the following
1. Use automatic reorder point with forecast planning requirment.Where ssytem will calculate reorder point automatically based on weekly /monthly Forecast req.In this case Lot size you can use EX itself.
2. Use Planning type PD and lot size EX and Instaed of ROL use safety stock so that system will consider weekly sale req. and also safety stock according to that procerement proposal will be created.
Regards,
Velmurugan S -
Multiple pricing for 1 material
Dear All,
We are implementing SAP at a leading pesticide industry. They have a very complex pricing structure. They have over 40 different pricing policies for 1 product. Their pricing policies consist of all the basic info e.g., MRP price, invoice price, tax, customer discount and net & final price. We can maintain all these using condition types in the pricing schema.
However the problem is if a customer orders 100 ton of product A, He can pay for 20 tons in cash, 20 tons in advance and the rest he can buy on credit or vice verse. And on all these he can have different pricing policies for the same material in single order.
And in 1 order he can have any number of products and he can pay by cash , advance & credit and he can have different pricing policies on each one of them.
Please provide assistance on how can we configure a pricing schema that can cater all these requirements.
ThanksHello,
I believe your requirement is based on Payment Terms, you want to have different Price for Each Line item in Sales Order.
Firstly create all the different Payment Options as Payment Terms in T-Code OBB8.
Now Insert Payment Terms as one of the combination creteria in the Condition table of Access Sequnce of Basic Price.
You can maintain different Payment Terms for each LIne item in Sales Order (Sales Order LIne Item Details - Billing Tab). For this you need to put a Tick Mark in Business Item under Business Data in your Item Category (T-Code VOV7).
Following the above you can have multiple Prices for one Material based on Payment Terms.
Thus now as soon as you enter Payment Terms in the LIne Item details of Sales Order, system will search for Basic Price based on the Combination including Payment Terms.
Hope this helps,
Thanks,
Jignesh Mehta -
Linking delivery schedule in a PO for a material into GRN posting date
I have maintained a delivery schedule in a PO for a material
Say PO qty 100
Del Schedule
10.04.09 - 60
20.04.09 - 40
While GRN, for 60 qty, if posting date is greater than 10.04.09, system needs to throw error.
I want to do it for selected materials only.
If OMCQ to be updated, then which msg No. has to be set.
Is there a way to do this.Dear Kumar,
As per my understanding about your thread
You created PO from XX country to YY country
You will recieve the delivery fromm YY to XX so the delivery date and comitted date will be based on the YY calendar not based on the XX calendar so you make the changes accordingly (Saturdat and sunday are holiday) in YY calendar.
Now try
I hope this will help you,
Regards,
Murali. -
BDC for MM01(Material creation)
Hello Please anybody send me code for creating materials with reference to reference material and plant in sselection screen in version ECC 6.0?
My selection screen will be::
Reference material: Plant:Plz User <b>BAPI_MATERIAL_SAVEDATA</b>
Why So :
you will never get it to work correctly in all cases every time for all material types, it is just much easier to work with an API that is not screen dependent. Then you don't have to worry about all of the exceptions when dealing with certain material types, and such. For example, say you have a material which you want to update the po text, and you did your recording for another material, which didn't have a specific view, so now when doing BDC for this material, the screen where you select the view you want to process, may be in a different place in the table control, see what I'm getting at? Its just very much easier to work with BAPIs and is suggest to use BAPI over BDC whenever possible.
Also still u want to go for it, check this code :
REPORT Y730_BDC5 .
*HANDLING TABLE CONTROL IN BDC
DATA : BEGIN OF IT_DUMMY OCCURS 0,
DUMMY(100) TYPE C,
END OF IT_DUMMY.
DATA : BEGIN OF IT_XK01 OCCURS 0,
LIFNR(10) TYPE C,
BUKRS(4) TYPE C,
EKORG(4) TYPE C,
KTOKK(4) TYPE C,
NAME1(30) TYPE C,
SORTL(10) TYPE C,
LAND1(3) TYPE C,
SPRAS(2) TYPE C,
AKONT(6) TYPE C,
FDGRV(2) TYPE C,
WAERS(3) TYPE C,
END OF IT_XK01,
BEGIN OF IT_BANK OCCURS 0,
BANKS(3) TYPE C,
BANKL(10) TYPE C,
BANKN(10) TYPE C,
KOINH(30) TYPE C,
LIFNR(10) TYPE C,
END OF IT_BANK.
DATA : IT_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE,
IT_BDCMSGCOLL LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
FILENAME = 'C:\VENDOR.TXT'
FILETYPE = 'ASC'
TABLES
DATA_TAB = IT_DUMMY.
LOOP AT IT_DUMMY.
IF IT_DUMMY-DUMMY+0(2) = '11'.
IT_XK01-LIFNR = IT_DUMMY-DUMMY+2(10).
IT_XK01-BUKRS = IT_DUMMY-DUMMY+12(4).
IT_XK01-EKORG = IT_DUMMY-DUMMY+16(4).
IT_XK01-KTOKK = IT_DUMMY-DUMMY+20(4).
IT_XK01-NAME1 = IT_DUMMY-DUMMY+24(30).
IT_XK01-SORTL = IT_DUMMY-DUMMY+54(10).
IT_XK01-LAND1 = IT_DUMMY-DUMMY+64(3).
IT_XK01-SPRAS = IT_DUMMY-DUMMY+67(2).
IT_XK01-AKONT = IT_DUMMY-DUMMY+69(6).
IT_XK01-FDGRV = IT_DUMMY-DUMMY+75(2).
IT_XK01-WAERS = IT_DUMMY-DUMMY+77(3).
APPEND IT_XK01.
ELSE.
IT_BANK-BANKS = IT_DUMMY-DUMMY+2(3).
IT_BANK-BANKL = IT_DUMMY-DUMMY+5(10).
IT_BANK-BANKN = IT_DUMMY-DUMMY+15(10).
IT_BANK-KOINH = IT_DUMMY-DUMMY+25(30).
IT_BANK-LIFNR = IT_DUMMY-DUMMY+55(10).
APPEND IT_BANK.
ENDIF.
ENDLOOP.
LOOP AT IT_XK01.
REFRESH IT_BDCDATA.
perform bdc_dynpro using 'SAPMF02K' '0100'.
perform bdc_field using 'BDC_CURSOR'
'RF02K-REF_LIFNR'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RF02K-LIFNR'
IT_XK01-LIFNR.
perform bdc_field using 'RF02K-BUKRS'
IT_XK01-BUKRS.
perform bdc_field using 'RF02K-EKORG'
IT_XK01-EKORG.
perform bdc_field using 'RF02K-KTOKK'
IT_XK01-KTOKK.
perform bdc_dynpro using 'SAPMF02K' '0110'.
perform bdc_field using 'BDC_CURSOR'
'LFA1-TELX1'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'LFA1-NAME1'
IT_XK01-NAME1.
perform bdc_field using 'LFA1-SORTL'
IT_XK01-SORTL.
perform bdc_field using 'LFA1-LAND1'
IT_XK01-LAND1.
perform bdc_field using 'LFA1-SPRAS'
IT_XK01-SPRAS.
perform bdc_dynpro using 'SAPMF02K' '0120'.
perform bdc_field using 'BDC_CURSOR'
'LFA1-KUNNR'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_dynpro using 'SAPMF02K' '0130'.
perform bdc_field using 'BDC_CURSOR'
'LFBK-KOINH(02)'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
DATA : FNAM(20) TYPE C,
IDX TYPE C.
MOVE 1 TO IDX.
LOOP AT IT_BANK WHERE LIFNR = IT_XK01-LIFNR.
CONCATENATE 'LFBK-BANKS(' IDX ')' INTO FNAM.
perform bdc_field using FNAM
IT_BANK-BANKS.
CONCATENATE 'LFBK-BANKL(' IDX ')' INTO FNAM.
perform bdc_field using FNAM
IT_BANK-BANKL.
CONCATENATE 'LFBK-BANKN(' IDX ')' INTO FNAM.
perform bdc_field using FNAM
IT_BANK-BANKN.
CONCATENATE 'LFBK-KOINH(' IDX ')' INTO FNAM.
perform bdc_field using FNAM
IT_BANK-KOINH.
IDX = IDX + 1.
ENDLOOP.
perform bdc_dynpro using 'SAPMF02K' '0130'.
perform bdc_field using 'BDC_CURSOR'
'LFBK-BANKS(01)'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
perform bdc_dynpro using 'SAPMF02K' '0210'.
perform bdc_field using 'BDC_CURSOR'
'LFB1-FDGRV'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'LFB1-AKONT'
IT_XK01-AKONT.
perform bdc_field using 'LFB1-FDGRV'
IT_XK01-FDGRV.
perform bdc_dynpro using 'SAPMF02K' '0215'.
perform bdc_field using 'BDC_CURSOR'
'LFB1-ZTERM'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_dynpro using 'SAPMF02K' '0220'.
perform bdc_field using 'BDC_CURSOR'
'LFB5-MAHNA'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_dynpro using 'SAPMF02K' '0310'.
perform bdc_field using 'BDC_CURSOR'
'LFM1-WAERS'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'LFM1-WAERS'
IT_XK01-WAERS.
perform bdc_dynpro using 'SAPMF02K' '0320'.
perform bdc_field using 'BDC_CURSOR'
'WYT3-PARVW(01)'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
perform bdc_dynpro using 'SAPLSPO1' '0300'.
perform bdc_field using 'BDC_OKCODE'
'=YES'.
CALL TRANSACTION 'XK01' USING IT_BDCDATA
MODE 'A'
UPDATE 'S'
MESSAGES INTO IT_BDCMSGCOLL.
ENDLOOP.
FORM BDC_DYNPRO USING PROG SCR.
CLEAR IT_BDCDATA.
IT_BDCDATA-PROGRAM = PROG.
IT_BDCDATA-DYNPRO = SCR.
IT_BDCDATA-DYNBEGIN = 'X'.
APPEND IT_BDCDATA.
ENDFORM.
FORM BDC_FIELD USING FNAM FVAL.
CLEAR IT_BDCDATA.
IT_BDCDATA-FNAM = FNAM.
IT_BDCDATA-FVAL = FVAL.
APPEND IT_BDCDATA.
ENDFORM.
All things r available in SDN, please search.
Reward points if useful.
Thanks
vinsee -
I just try to do for one PO with all non material item and
I can't do MR11 for non material item..
error: Error while determining the currency types for 6302400500 00010Hello,
a non material item can be a text item but it can be also a service item.
This depends from your customizing. Which item type is relevant for your non material item.
In the item type you can maintain if an item is relvant for pricing or not.
Please have a look in transaction VOV7. Here you can set the flag 'Pricing'.
This flag can have the following specification:
Blank No pricing
X Pricing standard
A Pricing for empties
B Pricing for free goods (100% discount)
I hope that the information are helpful.
Best regards
Claudia
Edited by: Claudia Neudeck on Jul 17, 2008 8:17 AM -
Good receipt for serialized material
Hi
We are using Serial number functionality. When we do good receipt for serialized material, we canu2019t enter more than 6 serial no together. Generally we used to procure 50 -100 materials. We will get serial no to excel sheet by barcode scanner. But when we entered in SAP, system allows only 6 material .
Is there anyway we can copy from excel sheet and paste it in SAP all materials together.
Thanks
JenyHi
Yes there is a way of uploading more than 6 materials at a time in MIGO screen,
You need to first upload or create the serial numbers for the material using an LSMW for IQ01 & here donot give any plant or storage location specific details
At the time of Goods receipt Copy the material serial numbers by clicking on find in MIGO in serial number tab, you need to enter the material & serial numbers copying from the excel sheet & click execute this will list all the serail number , you can select them all & copy into the MIGO screen.
This is how we didi it in our system.
Thanks & Regards
Kishore -
BAPI needed for change material(Transaction : MM02)
Hi all,
We have a requirement where in we need to post the documents throuh BAPI for change material (Transaction: MM02).
Any inputs on this..is highly appreciable...
thanks in advance...
regards..
prathima.CHECK THIS CODE
*& Report ZBAPI_MATERIAL_SAVEDATA
REPORT ZBAPI_MATERIAL_SAVEDATA NO STANDARD PAGE HEADING MESSAGE-ID (ZHNC).
TYPES:BEGIN OF TY_MAT,
MATERIAL(4),
IND_SECTOR(1),
MATL_TYPE(4),
MATL_GROUP(9),
BASE_UOM(3),
BASE_UOM_ISO(3),
PLANT(4),
DEL_FLAG(1),
PUR_GROUP(3),
BASE_QTY(13),
STGE_LOC(4),
MRP_IND(1),
SALES_ORG(4),
DISTR_CHAN(2),
DEL_FLAG1(1),
MIN_ORDER(13),
LANGU(2),
MATL_DESC(40),
END OF TY_MAT.
DATA: IT_DATA TYPE TABLE OF TY_MAT,
WA_DATA LIKE LINE OF IT_DATA.
*decalraing flag
data: v_flag value ''.
*DECLARING WORK AREAs TO BE PASSED TO THE FUNCTION MODULE.
DATA: BAPI_HEAD LIKE BAPIMATHEAD,
BAPI_CLIENTDATA LIKE BAPI_MARA,
BAPI_CLIENTDATAX LIKE BAPI_MARAX,
BAPI_PLANTDATA LIKE BAPI_MARC,
BAPI_PLANTDATAX LIKE BAPI_MARCX,
BAPI_STORAGELOCATIONDATA LIKE BAPI_MARD,
BAPI_STORAGELOCATIONDATAX LIKE BAPI_MARDX,
BAPI_SALESDATA LIKE BAPI_MVKE,
BAPI_SALESDATAX LIKE BAPI_MVKEX,
BAPI_MAKT LIKE BAPI_MAKT,
BAPI_RETURN LIKE BAPIRET2.
*INTERNAL TABLE TO HOLD THE MATERIAL DESCRIPTION
DATA: BEGIN OF IT_MAKT OCCURS 0.
INCLUDE STRUCTURE BAPI_MAKT.
DATA END OF IT_MAKT.
DATA:BEGIN OF IT_RET OCCURS 0.
INCLUDE STRUCTURE BAPIRET2.
DATA END OF IT_RET.
*INTERNAL TABLE TO HOLD HEADER DATA
DATA: IT_EXCEL TYPE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.
*SELECTION-SCREEN ELEMENTS
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETER: FNAME TYPE RLGRAP-FILENAME OBLIGATORY DEFAULT 'C:\Documents and Settings\Administrator\Desktop\MATMAS.XLS' .
PARAMETERS: P_BEGCOL TYPE I DEFAULT 1 NO-DISPLAY,
P_BEGROW TYPE I DEFAULT 1 NO-DISPLAY,
P_ENDCOL TYPE I DEFAULT 100 NO-DISPLAY,
P_ENDROW TYPE I DEFAULT 32000 NO-DISPLAY.
SELECTION-SCREEN END OF BLOCK B1.
*DECLARATION OF EXCELAL TABLE
AT SELECTION-SCREEN ON VALUE-REQUEST FOR FNAME.
PERFORM F_GET_FILE USING FNAME.
START-OF-SELECTION.
PERFORM F_XLS_ITAB USING FNAME
CHANGING IT_EXCEL.
PERFORM F_MOVE_DATA.
perform F_GET_DATA.
*& Form F_GET_FILE
text
-->P_FNAME text
<--P_SY_SUBRC text
FORM F_GET_FILE USING P_FNAME LIKE FNAME.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
PROGRAM_NAME = SYST-REPID
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
STATIC = ' '
MASK = ' '
CHANGING
FILE_NAME = P_FNAME
EXCEPTIONS
MASK_TOO_LONG = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE E006(ZHNC).
ENDIF.
ENDFORM. " F_GET_FILE
*& Form F_XLS_ITAB
text
-->P_FNAME text
<--P_IT_EXCEL text
FORM F_XLS_ITAB USING P_FNAME
CHANGING P_IT_EXCEL.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = FNAME
I_BEGIN_COL = P_BEGCOL
I_BEGIN_ROW = P_BEGROW
I_END_COL = P_ENDCOL
I_END_ROW = P_ENDROW
TABLES
INTERN = IT_EXCEL
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " F_XLS_ITAB
*& Form F_MOVE_DATA
text
--> p1 text
<-- p2 text
FORM F_MOVE_DATA .
DATA : LV_INDEX TYPE I.
FIELD-SYMBOLS <FS>.
*--- Sorting the internal table
SORT IT_EXCEL BY ROW COL.
CLEAR IT_EXCEL.
LOOP AT IT_EXCEL.
MOVE IT_EXCEL-COL TO LV_INDEX.
*--- Assigning the each record to an internal table row
ASSIGN COMPONENT LV_INDEX OF STRUCTURE WA_DATA TO <FS>.
*--- Asigning the field value to a field symbol
MOVE IT_EXCEL-VALUE TO <FS>.
AT END OF ROW.
APPEND WA_DATA TO IT_DATA.
CLEAR WA_DATA.
ENDAT.
ENDLOOP.
ENDFORM. " F_MOVE_DATA
*& Form F_GET_DATA
text
--> p1 text
<-- p2 text
FORM F_GET_DATA .
LOOP AT IT_DATA INTO WA_DATA.
MOVE-CORRESPONDING WA_DATA TO BAPI_HEAD.
BAPI_HEAD-BASIC_VIEW ='X'.
BAPI_HEAD-SALES_VIEW ='X'.
BAPI_HEAD-PURCHASE_VIEW ='X'.
BAPI_HEAD-STORAGE_VIEW ='X'.
MOVE-CORRESPONDING WA_DATA TO BAPI_CLIENTDATA.
BAPI_CLIENTDATAX-MATL_GROUP = 'X'.
BAPI_CLIENTDATAX-BASE_UOM = 'X'.
BAPI_CLIENTDATAX-BASE_UOM_ISO = 'X'.
MOVE-CORRESPONDING WA_DATA TO BAPI_PLANTDATA.
BAPI_PLANTDATAX-PLANT = BAPI_PLANTDATA-PLANT.
BAPI_PLANTDATAX-DEL_FLAG = 'X'.
BAPI_PLANTDATAX-PUR_GROUP = 'X'.
BAPI_PLANTDATAX-BASE_QTY = 'X'.
MOVE-CORRESPONDING WA_DATA TO BAPI_STORAGELOCATIONDATA.
BAPI_STORAGELOCATIONDATA-PLANT = BAPI_PLANTDATA-PLANT.
BAPI_STORAGELOCATIONDATAX-PLANT = BAPI_STORAGELOCATIONDATA-PLANT.
BAPI_STORAGELOCATIONDATAX-STGE_LOC = BAPI_STORAGELOCATIONDATA-STGE_LOC.
BAPI_STORAGELOCATIONDATAX-MRP_IND = 'X'.
MOVE-CORRESPONDING WA_DATA TO BAPI_SALESDATA.
BAPI_SALESDATAX-SALES_ORG = BAPI_SALESDATA-SALES_ORG.
BAPI_SALESDATAX-DISTR_CHAN = BAPI_SALESDATA-DISTR_CHAN.
BAPI_SALESDATAX-DEL_FLAG = BAPI_SALESDATA-DEL_FLAG.
BAPI_SALESDATAX-MIN_ORDER = 'X'.
REFRESH IT_MAKT.
IT_MAKT-LANGU = WA_DATA-LANGU.
IT_MAKT-MATL_DESC = WA_DATA-MATL_DESC.
APPEND IT_MAKT.
CLEAR IT_RET.
REFRESH IT_RET.
PERFORM F_CALL_BAPI.
READ TABLE IT_RET WITH KEY TYPE = 'S'.
IF SY-SUBRC EQ 0.
PERFORM F_BAPI_COMMIT.
WRITE:/ 'MATERIAL CREATED OR UPDATED SUCESSFULLY WITH MATERIAL NO',WA_DATA-MATERIAL.
ELSE.
MESSAGE E000(ZHNC) WITH 'ERROR IN CREATING THE MATERIAL'.
*WRITE: / 'ERROR IN CREATIN MATERIAL',IT_RET-MESSAGE.
*PERFORM F_DOWNLOAD.
ENDIF.
*ENDIF.
ENDLOOP.
ENDFORM. " F_GET_DATA
*& Form F_CALL_BAPI
text
--> p1 text
<-- p2 text
FORM F_CALL_BAPI .
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
HEADDATA = BAPI_HEAD
CLIENTDATA = BAPI_CLIENTDATA
CLIENTDATAX = BAPI_CLIENTDATAX
PLANTDATA = BAPI_PLANTDATA
PLANTDATAX = BAPI_PLANTDATAX
STORAGELOCATIONDATA = BAPI_STORAGELOCATIONDATA
STORAGELOCATIONDATAX = BAPI_STORAGELOCATIONDATAX
SALESDATA = BAPI_SALESDATA
SALESDATAX = BAPI_SALESDATAX
IMPORTING
RETURN = IT_RET
TABLES
MATERIALDESCRIPTION = IT_MAKT
UNITSOFMEASURE =
UNITSOFMEASUREX =
INTERNATIONALARTNOS =
MATERIALLONGTEXT =
TAXCLASSIFICATIONS =
RETURNMESSAGES =
PRTDATA =
PRTDATAX =
EXTENSIONIN =
EXTENSIONINX =
APPEND IT_RET.
ENDFORM. " F_CALL_BAPI
*& Form F_BAPI_COMMIT
text
--> p1 text
<-- p2 text
FORM F_BAPI_COMMIT .
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT =
IMPORTING
RETURN =
ENDFORM. " F_BAPI_COMMIT -
Composition assignment in Material master
Hi friends
I have a requirement and dont know if it can be met with EHS functionality: It is as follows:
My client distirbutes pharma drugs...there may be some cases - they have to sell the product which is not in stock. In those cases they will sell some other drug having same composition. So I need to maintain the composition in material master.
For this I activated specification assignment screen and created new specification type - Composition. Now I wanted to maintain the main composition in this screen which will be accesible by particular user group.
So please let me know how to maintaint the composition (customization steps) and will there be any impact with this process?
And I need to search the materials based on composition parameters. Finally we are not implementing EHS.
ThanksHi,
On Material master side, I am not sure of the configurations to be done. But, here are the probable steps on EH&S side which you can try for coming up with a solution to your problem.
1. First decide "specification type" under which you wish to define the composition of the material concerned. SAP has given many specification types. You may have a look at the type "Real Substance" in spro at following path:
EH&S>Basic Data & Tools>Specification Master-->Specify Specification types
Select type "REAL_SUB" Go in details and verify for "Material Assignment" check. This check ensures that you can link the specification (substance) created in EH&S with the material of material master, thereby creating a separate tab of "EH&S Specifications" in mm03.
2. Go to t-code "cg02". Create a new specification and assign the relevant material to the specification created in "Material Assignments" tab.
3. Go to the "Property tree" in the Navigation area and go to Composition> Exact Composition>"Composition" tab to maintain the composition of your drug.
You have many more spro settings pertaining to property tree, components etc.
4. Having maintained linking & the composition, if you access the material in mm02 transaction, you should be able to see the specification name. Double-clicking on specification, takes you directly to the "Edit Specification" screen. This way, you may limit the access to the composition of the material to a particular user group by providing the authorization to the t-code "cg02".
Again, there are many settings to map the composition in EH&S. You need to come up with specifics.
Hope above helps.
Regards
Pavan -
( error no CK 465) No price could be determined for the material
Hi,
While costing for a material i am getting the error messages as folloows
1) No price could be determined for the material error no CK 465
2)Cost component split costed with value of zero CK240
Materail procurement type is F - External procurement so i hope no need BOM and routing , they were not created.
Material has price control indicator - S
Material type - ZVAR (Finished product variant)
What could be the reason for this error and what is the solution
THannks & regds
RamachandraHi Experts,
I also got the same error how to solve it.
Many materials costed with errors how to resolve those.
Error Messages are: 465,240,322,597,168
Please let me know the solution.
I have Run the cycle on 29-02-2012, Today i.e 0n 01-03-2012 MM consultant wants to close the period of February.
Is it required to resolve the errors before closing the february period?
Can we resolve the errors after closure of the period.
Please guide me. Most urgent
Jyoshna -
How to find the composition of a material
Hi,
Can anyone tell me how to find the composition of a material ?
I am unable to find the composition,what it is made of?
Is there any separate transaction for that?
Regards,
Tesshi,
Two ways:
Either check the BOM via CS03...
OR
Check the table STPO, STKO and MAST..
Regards
Priyanka.P
Maybe you are looking for
-
I purchased a new computer i cannot sync my phone"s music to the new computer. alll my music is on the iPhone i need to sync it to computer it should be on my iTunes account it conects through internet but it is not there when i try to sync the ph
-
My Nano 4th gen shows up as a Removable Disk and keeps asking me if i want to formart. My OS is win7 64 bit, My Nano 4th gen shows up as a Removable Disk and keeps asking me if i want to formart. My OS is win7 64 bit
-
Upgrade Windows 8.0 Pro. to Windows 8.1 Ent.
Due to a requirement of one of our schools we are purchasing quite a number of Gesture based devices. These devices come with Windows 8.0/8.1 Pro pre-installed. I'm looking into ways of upgrading to Windows 8.1 Ent. I thought "setup.exe /auto:upgrade
-
Hi While loading Hierarchy data getting error The node for id 5478952 contains Invalid characters. Please update its urgent Thanks sunil Edited by: sunil chowdary on Aug 21, 2008 1:16 PM
-
While in column view I see the entire directory/sub-directory structure in the window. Is there a way to specify a particular directory as the root of the current window, so that I don't see it's parent directories in the column view? make sense? tha