Equipment BOM quantity field as optional
Hi Expert,
Does anyone know how to set quantity field as optional in Equipment BOM transaction (IB01)
Pls help. Thank you
Rgds,
Leni,
The field selection for the quantity field is dependent on the item category,Transaction type, etc of the BOM.The field selection attributes are fixed in tables TCS33. I don't think you can change this through config. However if you are in ECC 6.0 you could consider tweaking the resultant field selection attributes through implicit enhancements on the screen flow logic.
However why would you want an item without quantity?
Regards
Narasimhan
Similar Messages
-
CO15 quantity field as uneditable
Hi,
Can any one tell me how to make the BOM Quantity field as uneditable in goods movement overview screen of CO15 Transaction ?
Regards,
Krishnam RajuContact functional team to find possibilities on disable field through configuration, if its not possible then look for user exit / badi for CO15.
-
Tables or Logical database to create standard report for Equipment BOM?
Dear All
My client has requirement for the report with fields like to see the status of Equipment BOM(input of Equipment number in selection screen) or for Particular set of Materials(input of component number in selection screen) available stock quantity,storage location of stock,description of component,price of component,Pending PR of component(if any),Pending PO of component(if any) etc
I want to develop the report with standard infoset query instead of going for abap development.is there any logical database to map the report or what tables can i use for table joins??
Required sample report with fields as below
BOM Component
Stock available/Not available indicator
Description of Components
BOMQty/ UOM
Price
Part Number
Plnt
Sloc
Stock Qty
Bin
Pending PR
Pending PO
1000001121
YES
BEARING
NO
2000
ERS22
1000
MECH
4
A1
300012431
Regards
M.ManojkumarManoj,
The following is the tested solution.
Table join
Output
This figure shows the case of a Equipment BOM where 3 components are there. Installed Quantity are 4, 1, 1 respectively. Last two columns are showing the Storage Locations and the Stocks available.
Fields taken to output are
From STPO : IDNRK MENGE MEINS
From MARD LGORT LABST
As said before, more than this you can not do in SQVI. With this basic join in SQ02, using codes in Extras you can do much more.
Jogeswara Rao K -
Hi,all,
I m maintaining equipment BOM for spare parts planning ,where all item category has been mentioned as "L",now from maintenance order I want to generate Purchase Requisition by changing the item category as "N" after selecting the specfic item from that equipment BOM .But item category field of the maintenance order is coming greyed mode ?how can I change the item category from "L" to "N" to trigger PR??
Also is it possible to create Purchase Requisition from t-code ME51N with reference to an equiment for which I have maintained BOM .Is there any field to enter equipment no from where I can retrieve the spare parts list ?Please give ur valuable suggestion how to proceed.
thanks in advance.
rgds
rajibHi,
BOM item should be maintain with item category u2018Nu2019 or while assigning component to order instead of double clicking on item (BOM item) , Just copy the material (ctrl+c) and assign category :u2018Nu2019 and quantity manually.
In case of second issue: You cannot create a PR with reference to Equipment and there is no field in PR to assign Equipment. If you are having cost centers assigned to equipment in 1:1 ratio, you can assign cost center in account assignment of PR item.
Or else you can go for a standing order that is one standing order is to be assigned to each equipment and same can be used for account assignment for procurement.
In case of capitalization of expense you can go for asset as account assignment.
If you are not looking for account assignment and just want to retrieve the PRs connected to Equipment then you can think of tracking no field.
Raju -
Hi Experts,
I have created a LSMW through "Batch Input Recording" method to upload materials to Equipment BOM.
It caters to upload 5 materials per equipment. However if input data contains only 3 materils for a equipment then LSMW gives an Error. Have to enter 2 more materials to the BOM.
How can i overcome the matter?
Is there any other method that i can follow to upload the Equipment BOM?
Thanks in AdvanceHi,
Use standard Object
0030 Object
0001Method
main Structure : BOMHEADER
Sub Structure : BOM item
BOMHEADER BOM header
EQUNR C(018) Equipment
WERKS C(004) Plant
STLAN C(001) BOM Usage
BOMITEM BOM item
EQUNR C(018) Equipment
POSNR C(004) Item (SD)
POSTP C(001) Item Category
IDNRK C(018) Component
MENGE C(013) Quantity
MEINS C(003) Base Unit of Measure
In Field mapping and conversion rule Maintean TCODE as constant IB01.
Create Logical and Physical path during specify files under Converted Data.
It will create Equipment BOM
Regards,
SandeepV -
Multiple Material Selection linked to Equip BOM
Dear Experts,
We have Equipment BOMs.
Now there is a requirement during Material selections in From To fields, that if I select the option 'Material by Equipment BOM' the list of materials under that particular Equip BOM should appear. (Exactly the way 'Material by Material Group' etc do) for this I need to have the above option in the Menu. i.e. Material by Equipment BOM. How do I achieve this?
Kindly help.
Regards
Jogeswara RaoHi ,
It might be not possible
but you can try copy from equipment bom
Regards
Jitender -
BOM quantity update in a confiurable material
Hi All
Material is a configurable material ,which is having a selection options in a sales order and based on the selection options there is characteristics BOM quantity gets updated based on the formulae.
If you go to routing and double click on the operation to see the details , you will see the unit of measure conversion with the header and Operation fields. I want BOM quantity should get updated in the operation field (UMREN).
I was using the Reference characteristics with PLPOD table and UMREN field to update the value in the UMREN field. And i created a procedure with a logic and is assigned to configuration profile and the Routing operation.
Process is MTO process, Production order is generated when the sales order is created. i checked in production order after creating a sales order, UMREN field is not updated and dont know what where i am doing mistake and i also checked in the Routing Master Data there also its not updating.
Above mentioned is not an requirement but to calculate the costs accurately, we have to approach this way.
Please suggest.
Thanks,
Quantum..
Edited by: quantum on Sep 15, 2009 8:07 AMHi,
NO inventory figures are updated. The invoice only affects the financial postings and does not affect any stock quantites.
By posting an invoice for a larger qty than was received you would increase the GR/IR clearing account qty so that the extra qty can be cleared if and when a further GR takes place.
But NO stock quantities are ever affected during MIRO.
Steve B -
Error while creating equipment BOM (IB01)
hi guys,
while creating equipment BOM (IB01) i am getting this error, while adding components.
'Material type NLAG cannot be used with item category (plant 1000)'.
regards
chintaHI Chinta,
I understood ur problem IB01-give the equipment number which is generated by the system and give plant name in which you have created the equipment and bom usage as 4 (plant maintenance) and press enter.
Then you will get the components list give the description,quantity and item category as:
as you gave it as L it is throwing an error give it as N(Non stock item), then you wont get the error.while selecting the item cat. you will get differnet components and you select the appropriate one based on you equipment.Hope you issue is resolved.
Regards,
Bharat -
Best practice for "Quantity" field in Asset Master
Hi
I want to know what is the best practice for "Quantity field" in asset master. It should be made displayed only or required field in Asset Master creation.
Initially I made this field as required entry. So user entered 1 quantity. At the time of posting F-90, he again entered quantity. So my quantity in asset master got increased. Hence i decided to make that field display only in asset master creation.
Now i made that field as display only in asset master creation. At the time of posting F-90, that quantity field is not coming only. I check my field status group for posting key as well as GL account. Its optional field. Inspite of that user is able to make entry in F-90. Now quantity field is '0' only in asset master even though there is some value in asset.
Please help what is the best practice wrt quantity field. Should be open in asset master or it should be display only.Hi:
SAP Standard does not recommend you to update quantity field in asset master data. Just leave the Qty Field Blank , just mention the Unit of Measure as EA. While you post acquisition through F-90 or MIGO this field will get updated in Asset master data automatically. Hope this will help you.
Regards -
Purchase Order - Quantity Field printing.
Hi Gurus.
I am printing purchase orders via SAP script.
My users want the quantity field (RM06P-PRMG1) to have a dot(.) not a comma(,)
eg they want to print the number as 200.000 and not 200,000
Is there somewhere, i can switch this without adding an ABAP routine to fix this.
Thanks.
Points will be awarded.Hi Wandai,
Did you try changing the user settings? Access the menu and go to System -> User profile -> User defaults. Here you can see two options in the Decimal notation tab.
Option 1 is : Comma and
Option 2 is : Period.
Please change and try with each of the above option.
If this doesn't work you need to check the data type you are using for this variable.
Hope this helps.
Please reward if useful.
Thanks,
Srinivasa -
Quantity field in at user-command
Hi,
I have declared the quantity field V_QTY TYPE AFKO-GAMNG.
I am passing the quantity field values from the internal table which is having data for the quantity field to V_QTY. but the field V_QTY is not filling with the quantity.
Instead of the quantity, it is taking the * value into the field.
I am not using any control break commands in my coding. I am attaching the code also. can anyone guide me .
Report ztest.
TABLES: AFKO, " Order Header
AFPO, " Order Item
AUFK, " Order Master
RESB,
AFVC, " Order Operation w/i an Order
AFVV, " Qty/Dates/values in an Operation
CRHD, " Work Center
MARA, " Material Master
MAKT, " Material Description
AUSP, " Characteristic Values
CABN, " Characteristic
PLPO, " Task list-operation/activity
PLFL, " Task list - sequences
TJ02T, " System status texts
JEST. " Individual Object Status
TYPE-POOLS:SLIS.
TYPE-POOLS:ICON.
DATA:CHECK(1),
TOTAL(7) VALUE 'TOTAL :',
W_AMOUNT TYPE GAMNG VALUE 0.
TYPES:BEGIN OF T_AFKO,
CHECK,
AUFNR TYPE AFKO-AUFNR,
GLTRP TYPE AFKO-GLTRP,
GSTRP TYPE AFKO-GSTRP,
GAMNG TYPE AFKO-GAMNG,
PLNBEZ TYPE AFKO-PLNBEZ,
END OF T_AFKO.
DATA:I_AFKO TYPE STANDARD TABLE OF T_AFKO,
W_AFKO LIKE LINE OF I_AFKO.
DATA:I_AFKO1 TYPE STANDARD TABLE OF T_AFKO,
W_AFKO1 LIKE LINE OF I_AFKO1.
DATA:PONUM TYPE AFKO-AUFNR,
STDATE TYPE AFKO-GLTRP,
FIDATE TYPE AFKO-GSTRP,
QUANTY TYPE AFKO-GAMNG,
MATER TYPE AFKO-PLNBEZ,
DESCR TYPE MAKT-MAKTX,
INDEX TYPE SY-INDEX,
COUNT(3) VALUE '0'.
TYPES:BEGIN OF T_FINAL,
CHECK,
LIGHT TYPE ICON-ID,
MATNR TYPE RESB-MATNR,
AUFNR TYPE AFKO-AUFNR,
GLTRP TYPE AFKO-GLTRP,
GSTRP TYPE AFKO-GSTRP,
GAMNG TYPE AFKO-GAMNG,
PLNBEZ TYPE AFKO-PLNBEZ,
MAKTX TYPE MAKT-MAKTX,
END OF T_FINAL.
DATA:I_FINAL TYPE STANDARD TABLE OF T_FINAL,
W_FINAL LIKE LINE OF I_FINAL,
I_FINAL1 TYPE STANDARD TABLE OF T_FINAL,
W_FINAL1 LIKE LINE OF I_FINAL1.
TYPES:BEGIN OF T_CRHD,
OBJID TYPE CRHD-OBJID,
ARBPL TYPE CRHD-ARBPL,
END OF T_CRHD.
DATA:I_CRHD TYPE STANDARD TABLE OF T_CRHD,
W_CRHD LIKE LINE OF I_CRHD.
TYPES:BEGIN OF T_AFVC,
AUFPL TYPE AFVC-AUFPL,
ARBID TYPE AFVC-ARBID,
END OF T_AFVC.
DATA:I_AFVC TYPE STANDARD TABLE OF T_AFVC,
W_AFVC LIKE LINE OF I_AFVC.
TYPES:BEGIN OF T_ITEM,
MATNR TYPE RESB-MATNR, " Component Matl Number
MAKTX TYPE MAKT-MAKTX, " Matl Desc for Component
BDMNG TYPE RESB-BDMNG, " Component Req'd Qty
END OF T_ITEM.
DATA:I_ITEM TYPE STANDARD TABLE OF T_ITEM,
W_ITEM LIKE LINE OF I_ITEM.
TYPES:BEGIN OF T_RESB,
MATNR TYPE RESB-MATNR,
AUFNR TYPE RESB-AUFNR,
BDMNG TYPE RESB-BDMNG,
END OF T_RESB.
DATA:I_RESB TYPE STANDARD TABLE OF T_RESB,
W_RESB LIKE LINE OF I_RESB.
DATA:I_MAKT TYPE STANDARD TABLE OF MAKT,
W_MAKT LIKE LINE OF I_MAKT,
I_MAKT1 TYPE STANDARD TABLE OF MAKT,
W_MAKT1 LIKE LINE OF I_MAKT1.
TYPES:BEGIN OF T_AUFK,
AUFNR TYPE AUFK-AUFNR,
AUART TYPE AUFK-AUART,
WERKS TYPE AUFK-WERKS,
OBJNR TYPE AUFK-OBJNR,
END OF T_AUFK.
DATA:I_JEST TYPE STANDARD TABLE OF JEST,
W_JEST LIKE LINE OF I_JEST.
DATA:I_AUFK TYPE STANDARD TABLE OF T_AUFK,
W_AUFK LIKE LINE OF I_AUFK.
DATA:V_QTY TYPE AFKO-GAMNG,
LINES TYPE I,
V_AUFNR TYPE AFKO-AUFNR.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS:
P_WERKS TYPE AUFK-WERKS OBLIGATORY MEMORY ID WRK, " PLANT
P_AUART TYPE AUFK-AUART OBLIGATORY. "ORDER TYPE
SELECT-OPTIONS: S_PLNBEZ FOR AFKO-PLNBEZ. "material
PARAMETERS: P_ARBPL TYPE CRHD-ARBPL OBLIGATORY. "Work center
SELECT-OPTIONS:
S_GSTRP FOR AFKO-GSTRP OBLIGATORY. "ORDER BASIC START DATE
*s_gltrp FOR afko-gltrp OBLIGATORY, "ORDER BASIC FINISH DATE
*s_gstrs FOR afko-gstrs, "ORDER SCHEDULE START DATE
*s_gltrs FOR afko-gltrs. "ORDER SCHEDULE FINISH DATE
PARAMETERS:P_MATNR TYPE RESB-MATNR.
SELECTION-SCREEN END OF BLOCK B1.
*ALV data declarations
DATA: I_FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV,
W_FIELDCATALOG LIKE LINE OF I_FIELDCATALOG,
S_FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
GD_TAB_GROUP TYPE SLIS_T_SP_GROUP_ALV,
GD_LAYOUT TYPE SLIS_LAYOUT_ALV,
GD_REPID LIKE SY-REPID VALUE SY-REPID,
T_HEADING TYPE SLIS_T_LISTHEADER,
IT_LISTHEADER TYPE SLIS_T_LISTHEADER,
W_KEYINFO TYPE SLIS_KEYINFO_ALV,
WA_SORT TYPE SLIS_SORTINFO_ALV,
IT_SORT TYPE SLIS_T_SORTINFO_ALV,
IT_TITLE_BASIC TYPE
LVC_TITLE VALUE 'SELECTION OF PRODUCTION ORDERS',
IT_TITLE_ITEM TYPE LVC_TITLE VALUE 'MIXING REPORT'.
DATA: PO TYPE AUFNR,
P_SELFIELD TYPE SLIS_SELFIELD.
DATA: I_EVENTS TYPE SLIS_T_EVENT,
W_EVENTS LIKE LINE OF I_EVENTS.
CLEAR: W_EVENTS.
REFRESH: I_EVENTS.
DATA:I_HEADER TYPE SLIS_T_LISTHEADER,
W_HEADER LIKE LINE OF I_HEADER.
BEGIN OF CODE FOR ALV_HIERSEQ_LIST*************
TYPES:BEGIN OF T_HHEADER,
EXPAND,
MATNR TYPE RESB-MATNR,
MAKTX TYPE MAKT-MAKTX,
V_QTY,
END OF T_HHEADER.
DATA:I_HHEADER TYPE STANDARD TABLE OF T_HHEADER,
W_HHEADER LIKE LINE OF I_HHEADER.
TYPES:BEGIN OF T_HITEM,
CHECK,
MATNR TYPE RESB-MATNR,
AUFNR TYPE AFKO-AUFNR,
GAMNG TYPE AFKO-GAMNG,
PLNBEZ TYPE AFKO-PLNBEZ,
MAKTX TYPE MAKT-MAKTX,
GLTRP TYPE AFKO-GLTRP,
GSTRP TYPE AFKO-GSTRP,
END OF T_HITEM.
DATA:I_HITEM TYPE STANDARD TABLE OF T_HITEM,
W_HITEM LIKE LINE OF I_HITEM.
END OF CODE FOR ALV_HIERSEQ_LIST ****************************
INITIALIZATION.
PERFORM BUILD_FIELDCATALOG.
PERFORM BUILD_LAYOUT.
*Start-of-selection.
START-OF-SELECTION.
PERFORM GET_EVENTS.
PERFORM GET_DATA.
END-OF-SELECTION.
PERFORM DISPLAY_ALV_REPORT.
*& Form BUILD_FIELDCATALOG
text
FORM BUILD_FIELDCATALOG.
CLEAR W_FIELDCATALOG .
W_FIELDCATALOG-COL_POS = '1'.
W_FIELDCATALOG-FIELDNAME = 'MATNR'.
W_FIELDCATALOG-TABNAME = 'I_HHEADER'.
W_FIELDCATALOG-SELTEXT_M = 'Phantom Material'.
W_FIELDCATALOG-ROLLNAME = 'MATNR'.
W_FIELDCATALOG-OUTPUTLEN = '20'.
APPEND W_FIELDCATALOG TO I_FIELDCATALOG.
CLEAR W_FIELDCATALOG .
W_FIELDCATALOG-COL_POS = '2'.
W_FIELDCATALOG-FIELDNAME = 'MAKTX'.
W_FIELDCATALOG-TABNAME = 'I_HHEADER'.
W_FIELDCATALOG-SELTEXT_M = 'Phantom Material Description'.
W_FIELDCATALOG-ROLLNAME = 'MAKTX'.
W_FIELDCATALOG-OUTPUTLEN = '40'.
APPEND W_FIELDCATALOG TO I_FIELDCATALOG.
CLEAR W_FIELDCATALOG .
W_FIELDCATALOG-COL_POS = '3'.
W_FIELDCATALOG-FIELDNAME = 'BDMNG'.
W_FIELDCATALOG-TABNAME = 'I_HHEADER'.
W_FIELDCATALOG-OUTPUTLEN = '20'.
W_FIELDCATALOG-SELTEXT_M = 'Total Batch qty:'.
APPEND W_FIELDCATALOG TO I_FIELDCATALOG.
CLEAR W_FIELDCATALOG .
W_FIELDCATALOG-COL_POS = '1'.
W_FIELDCATALOG-SELTEXT_M = 'Selection'.
W_FIELDCATALOG-FIELDNAME = 'CHECK'.
W_FIELDCATALOG-TABNAME = 'I_HITEM'.
W_FIELDCATALOG-EDIT = 'X'.
W_FIELDCATALOG-CHECKBOX = 'X'.
W_FIELDCATALOG-INPUT = 'X'.
W_FIELDCATALOG-HOTSPOT = 'X'.
APPEND W_FIELDCATALOG TO I_FIELDCATALOG.
CLEAR W_FIELDCATALOG .
W_FIELDCATALOG-COL_POS = '2'.
W_FIELDCATALOG-FIELDNAME = 'MATNR'.
W_FIELDCATALOG-TABNAME = 'I_HITEM'.
W_FIELDCATALOG-ROLLNAME = 'MATNR'.
W_FIELDCATALOG-OUTPUTLEN = '12'.
APPEND W_FIELDCATALOG TO I_FIELDCATALOG.
CLEAR W_FIELDCATALOG .
W_FIELDCATALOG-COL_POS = '2'.
W_FIELDCATALOG-FIELDNAME = 'AUFNR'.
W_FIELDCATALOG-TABNAME = 'I_HITEM'.
W_FIELDCATALOG-ROLLNAME = 'AUFNR'.
W_FIELDCATALOG-OUTPUTLEN = '12'.
APPEND W_FIELDCATALOG TO I_FIELDCATALOG.
CLEAR W_FIELDCATALOG.
W_FIELDCATALOG-COL_POS = '3'.
W_FIELDCATALOG-SELTEXT_M = 'PO Qty'.
W_FIELDCATALOG-FIELDNAME = 'GAMNG'.
W_FIELDCATALOG-ROLLNAME = 'GAMNG'.
W_FIELDCATALOG-OUTPUTLEN = '20'.
W_FIELDCATALOG-TABNAME = 'I_HITEM'.
APPEND W_FIELDCATALOG TO I_FIELDCATALOG.
CLEAR W_FIELDCATALOG.
W_FIELDCATALOG-COL_POS = '4'.
W_FIELDCATALOG-SELTEXT_M = 'Header Material'.
W_FIELDCATALOG-FIELDNAME = 'PLNBEZ'.
W_FIELDCATALOG-ROLLNAME = 'MATNR'.
W_FIELDCATALOG-OUTPUTLEN = '20'.
W_FIELDCATALOG-TABNAME = 'I_HITEM'.
APPEND W_FIELDCATALOG TO I_FIELDCATALOG.
CLEAR W_FIELDCATALOG.
W_FIELDCATALOG-COL_POS = '5'.
W_FIELDCATALOG-SELTEXT_M = 'Material Description'.
W_FIELDCATALOG-FIELDNAME = 'MAKTX'.
W_FIELDCATALOG-ROLLNAME = 'MAKTX'.
W_FIELDCATALOG-OUTPUTLEN = '40'.
W_FIELDCATALOG-TABNAME = 'I_HITEM'.
APPEND W_FIELDCATALOG TO I_FIELDCATALOG.
CLEAR W_FIELDCATALOG .
W_FIELDCATALOG-COL_POS = '6'.
W_FIELDCATALOG-FIELDNAME = 'GSTRP'.
W_FIELDCATALOG-TABNAME = 'I_HITEM'.
W_FIELDCATALOG-ROLLNAME = 'CO_GSTRP'.
W_FIELDCATALOG-OUTPUTLEN = '10'.
APPEND W_FIELDCATALOG TO I_FIELDCATALOG.
CLEAR W_FIELDCATALOG .
W_FIELDCATALOG-COL_POS = '7'.
W_FIELDCATALOG-FIELDNAME = 'GLTRP'.
W_FIELDCATALOG-TABNAME = 'I_HITEM'.
W_FIELDCATALOG-ROLLNAME = 'CO_GLTRP'.
W_FIELDCATALOG-OUTPUTLEN = '10'.
W_FIELDCATALOG-SELTEXT_M = 'Basic End Date'.
APPEND W_FIELDCATALOG TO I_FIELDCATALOG.
ENDFORM. "BUILD_FIELDCATALOG
*& Form get_events
text
FORM GET_EVENTS.
CLEAR : W_EVENTS, I_EVENTS[].
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = I_EVENTS.
READ TABLE I_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
INTO W_EVENTS.
IF SY-SUBRC EQ 0.
MOVE 'TOP_OF_PAGE' TO W_EVENTS-FORM.
MODIFY I_EVENTS FROM W_EVENTS INDEX SY-TABIX.
ENDIF.
READ TABLE I_EVENTS WITH KEY NAME = SLIS_EV_USER_COMMAND
INTO W_EVENTS.
IF SY-SUBRC EQ 0.
MOVE 'SUB_USER_COMMAND' TO W_EVENTS-FORM.
MODIFY I_EVENTS FROM W_EVENTS INDEX SY-TABIX.
ENDIF.
READ TABLE I_EVENTS WITH KEY NAME = SLIS_EV_PF_STATUS_SET
INTO W_EVENTS.
IF SY-SUBRC EQ 0.
MOVE 'PF_STATUS_SET' TO W_EVENTS-FORM.
MODIFY I_EVENTS FROM W_EVENTS INDEX SY-TABIX.
ENDIF.
ENDFORM. "get_events
*& Form build_layout
text
FORM BUILD_LAYOUT.
gd_layout-no_input = 'X'.
gd_layout-colwidth_optimize = 'X'.
GD_LAYOUT-ZEBRA = 'X'.
W_KEYINFO-HEADER01 = 'MATNR'.
W_KEYINFO-ITEM01 = 'MATNR'.
GD_LAYOUT-TOTALS_TEXT = 'Totals'(201).
GD_LAYOUT-EXPAND_FIELDNAME = 'EXPAND'.
ENDFORM. " BUILD_LAYOUT
*& Form data_retrieval
text
FORM GET_DATA.
IF p_matnr IS NOT INITIAL.
SELECT MATNR
AUFNR
BDMNG
FROM RESB INTO TABLE I_RESB
WHERE DUMPS = 'X'.
AND matnr = p_matnr.
SORT I_RESB BY MATNR AUFNR.
ENDIF.
SELECT * FROM JEST INTO CORRESPONDING FIELDS OF TABLE I_JEST
WHERE STAT = 'I0002'
AND INACT = ' '.
SELECT OBJID
ARBPL
FROM CRHD INTO TABLE I_CRHD WHERE ARBPL = P_ARBPL.
IF NOT I_CRHD[] IS INITIAL.
SELECT AUFPL
ARBID
FROM AFVC INTO TABLE I_AFVC
FOR ALL ENTRIES IN I_CRHD
WHERE ARBID = I_CRHD-OBJID.
ENDIF.
IF NOT I_AFVC[] IS INITIAL.
SELECT AUFNR
GLTRP
GSTRP
GAMNG
PLNBEZ
FROM AFKO INTO CORRESPONDING FIELDS OF TABLE I_AFKO
FOR ALL ENTRIES IN I_AFVC
WHERE AUFPL = I_AFVC-AUFPL
AND GSTRP IN S_GSTRP.
SORT I_AFKO BY AUFNR.
ENDIF.
IF NOT I_AFKO[] IS INITIAL.
SELECT AUFNR
AUART
WERKS
OBJNR
FROM AUFK INTO TABLE I_AUFK
FOR ALL ENTRIES IN I_AFKO
WHERE AUFNR = I_AFKO-AUFNR
AND AUART = P_AUART
AND WERKS = P_WERKS.
SORT I_AUFK BY AUFNR OBJNR.
SELECT * FROM MAKT INTO TABLE I_MAKT1
FOR ALL ENTRIES IN I_AFKO
WHERE MATNR = I_AFKO-PLNBEZ
AND SPRAS = SY-LANGU.
SORT I_MAKT1 BY MATNR.
ENDIF.
IF NOT I_RESB[] IS INITIAL.
SELECT * FROM MAKT INTO TABLE I_MAKT
FOR ALL ENTRIES IN I_RESB
WHERE MATNR = I_RESB-MATNR
AND SPRAS = SY-LANGU.
SORT I_MAKT BY MATNR.
ENDIF.
CLEAR W_HHEADER-BDMNG.
***BEGIN OF PHANTOM MATERIAL HEADER INTERNAL TABLE***
CLEAR W_AUFK.
CLEAR W_RESB.
LOOP AT I_RESB INTO W_RESB.
W_HHEADER-MATNR = W_RESB-MATNR.
READ TABLE I_MAKT INTO W_MAKT
WITH KEY MATNR = W_RESB-MATNR BINARY SEARCH.
W_HHEADER-MAKTX = W_MAKT-MAKTX.
APPEND W_HHEADER TO I_HHEADER.
MODIFY I_HHEADER FROM W_HHEADER INDEX SY-TABIX.
CLEAR W_HHEADER.
CLEAR W_RESB.
SORT I_HHEADER BY MATNR.
DELETE ADJACENT DUPLICATES FROM I_HHEADER.
ENDLOOP.
****END OF PHANTOM MATERIAL HEADER INTERNAL TABLE***
**BEGIN OF PHANTOM MATERIAL ITEM DETAILS***************
IF NOT I_HHEADER[] IS INITIAL.
LOOP AT I_HHEADER INTO W_HHEADER.
LOOP AT I_RESB INTO W_RESB WHERE MATNR = W_HHEADER-MATNR.
IF SY-SUBRC = 0.
READ TABLE I_AUFK INTO W_AUFK
WITH KEY AUFNR = W_RESB-AUFNR.
READ TABLE I_JEST INTO W_JEST
WITH KEY OBJNR = W_AUFK-OBJNR.
IF SY-SUBRC = 0.
W_HITEM-CHECK = CHECK.
W_HITEM-MATNR = W_HHEADER-MATNR.
READ TABLE I_AFKO INTO W_AFKO
WITH KEY AUFNR = W_AUFK-AUFNR BINARY SEARCH.
W_HITEM-AUFNR = W_AFKO-AUFNR.
W_HITEM-PLNBEZ = W_AFKO-PLNBEZ.
READ TABLE I_MAKT1 INTO W_MAKT1
WITH KEY MATNR = W_AFKO-PLNBEZ.
W_HITEM-MAKTX = W_MAKT1-MAKTX.
W_HITEM-GLTRP = W_AFKO-GLTRP.
W_HITEM-GSTRP = W_AFKO-GSTRP.
W_HITEM-GAMNG = W_AFKO-GAMNG.
APPEND W_HITEM TO I_HITEM.
MODIFY I_HITEM FROM W_HITEM INDEX SY-TABIX.
SORT I_HITEM BY AUFNR.
CLEAR W_HITEM.
ENDIF.
ENDIF.
ENDLOOP.
ENDLOOP.
ENDIF.
***********END OF PHANTOM MATERIAL ITEM DETAILS.*********************
ENDFORM. "get_item_DETAILS
*& Form top_of_page
text
FORM TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = I_HEADER
I_LOGO =
I_END_OF_LIST_GRID =
ENDFORM. " alv_top_of_page
*& Form user_command
text
-->P_UCOMM text
-->P_SELFIELD text
FORM DISPLAY_ALV_REPORT.
SORT I_HHEADER BY MATNR.
SORT I_HITEM BY MATNR AUFNR.
CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_CALLBACK_PROGRAM = GD_REPID
I_CALLBACK_PF_STATUS_SET = 'PF_STATUS_SET'
I_CALLBACK_USER_COMMAND = 'SUB_USER_COMMAND'
IS_LAYOUT = GD_LAYOUT
IT_FIELDCAT = I_FIELDCATALOG
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS = I_EVENTS[]
IT_EVENT_EXIT =
I_TABNAME_HEADER = 'I_HHEADER'
I_TABNAME_ITEM = 'I_HITEM'
i_structure_name_header =
i_structure_name_item =
IS_KEYINFO = W_KEYINFO
IS_PRINT =
IS_REPREP_ID =
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB_HEADER = I_HHEADER
T_OUTTAB_ITEM = I_HITEM
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
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. "display_alv_report
*****BEGIN OF CUMMILATIVE QUANTITY***********************
FORM PF_STATUS_SET USING EXTAB TYPE SLIS_T_EXTAB.
BREAK POINT.
SET PF-STATUS 'STANDARD' EXCLUDING EXTAB.
ENDFORM. "PF_STATUS_SET
*& Form SUB_USEMR_COMMAND
text
-->P_UCOMM text
-->P_SELFIELD text
FORM SUB_USER_COMMAND USING P_UCOMM LIKE SY-UCOMM
P_SELFIELD TYPE SLIS_SELFIELD.
CASE SY-UCOMM.
WHEN 'SUMM'.
CLEAR W_HITEM.
CLEAR W_HHEADER-V_QTY.
P_SELFIELD-REFRESH = 'X'.
DATA:LV_TABIX TYPE SY-TABIX.
LOOP AT I_HITEM INTO W_HITEM.
READ TABLE I_HHEADER INTO W_HHEADER
WITH KEY MATNR = W_HITEM-MATNR BINARY SEARCH.
IF SY-SUBRC = 0.
LV_TABIX = SY-TABIX.
IF W_HITEM-CHECK = 'X'.
W_HHEADER-V_QTY = W_HHEADER-V_QTY + W_HITEM-GAMNG.
MODIFY I_HHEADER FROM W_HHEADER
INDEX LV_TABIX." TRANSPORTING V_QTY.
ENDIF.
ENDIF.
ENDLOOP.
ENDCASE.
ENDFORM. "USER_COMMAND
*********END OF CUMMILATIVE QUANTITY
Thanks in advance.
Ramesh.Hello Ramesh,
Check your declerations,
In internal table I_HHEADER , the quantity field is of character type. And in internal table I_HITEM, the field GAMNG is of type quantity. There will be type mismatch.Correct it and see if it works.
Regards -
Deletion flags for equipment BOM
Hi,
In equipment BOM header , there are 2 fields for deletion flag :
-one is set manually (the one on the right)
-the other set by the system (the one on the left).
Can someone explain to me how deletion flag indicator (on the left) work?
Thanks,
P.Hi,
To explain this i must say first there is a difference in the Deletion Flag (Right in Header) and Deletion Indicator(Left in Header).
In SAP term The deletion Indicator shows the item which has already been Deleted from the System and Deletion flag shows that the record has been flagged for deletion and will hence be Archieve (when, depends on the Archieving strategy followed in the company).
To explain the affect these will have is the Deletion Indicator will not allow you to use the and will show the error as the object has been deleted and is not in the system.
Deletion flag for BOMs
Indicator: this BOM will be archived during the next archiving run and, if necessary, deleted from the data base.
Where as the Deletion Flag will show that the object is ready to be archieved and is set to be deleted.
Deletion Indicator
Indicator showing that the BOM header or the BOM item has been deleted with reference to the change number.
Now there is another difference in the way we can amke the objects active from deletion flag anf the deletion indicator.
For Deletion flag you have to go to change mode and just remove or untick the deletion flag.
For Deletion indicator you have to go to Archieve table and pull the object back in to SAP system and it will then show only the deletion flag, which can be removed by the way explained above.
I hope this was helpful, if yes then please award points.
Regards
Anoop -
Maximum Line items for Equipment BOM
Dear Experts,
Is there a limit to the number of line items of components we can have in equipment BOM. I am not able to add anything above 999. It doesnt show any error, but doesnot save any value after 999. Please let me if there is a work around.
Thanks,
BobyThe BOM item node number STPO-STLKN is an 8 digit field therefore I would imagine that you could have a maximum of 99999999 items..
But you could use multi-level BOMs which would allow you to organise your components better.
PeteA -
Change of the quantity field to 5 decimal places in SAP
Hi Gurus,
The quantity field is appearing with 3 decimal places in BOM, Process Order, etc. Is it possible to make the decimal places to 5.
All the decimal digits from SAP are 3 digits. We have an interface through which the data flows from another legacy system (Fow system) to SAP. And the Fow system setting was 5 digits. The issue is some of the raw material requirement qty was really minor and it might be below the decimal 3 digits.
In that case, when the data flows to SAP from Fow system it will cause the material stage failure. so please help me to investigate how to let the SAP also could have the 5 digits decimal. Thanks.
Regards
BrijeshDear ,
Its SAP standard ,to put and use decimal places in BOM qty .You can use upto 3 decimal places in BOM qty.
At SE11 you need to see what measure field is linked to the quantity field.Then goto tranaction CUNI and chage the decimal places of the unit of measure for the qty field unit , it will not allow you more than 3 decimal places in case of BOM qty.
You have following choice :
1. With the access key make changes in the standard program and take help from ABAPer
SAPLCSDI, Table Name-RC29P, Field Name- MENGE.
2) Change the base quantity in BOM header to 1000 aand accordingly change the component quantity.
Hope this is clear
Regards
JH -
Validation of material BOM quantity at the time of production order confirm
Hi,
I want validation on material BOM ,when i confirm production order.
Actually when i am going to confirm my production order by tcode CO11, In this screen,i click on "Goods Movement" button. According to confirmed quantity , consumed materials will display. Here i can change material quantities. And here i want some validation. I there any user exit for this screen.Hi,
Exit Name Description
PCSD0001 Applications development R/3 BOMS
PCSD0002 BOMs: Customer fields in item
PCSD0003 BOMs: Customer fields in header
PCSD0004 BOM comparison
PCSD0005 BOMs: component check for material items
PCSD0006 Mass changes user exit
PCSD0007 Check changes in STKO
PCSD0008 WBS BOM: Customer-specific explosion for creating
PCSD0009 Order/WBS BOM, determine URL page
PCSD0010 Order/WBS BOM, determine explosion date
PCSD0011 Knowledge-based order BOM, parallel update
PCSD0012 Customer - Mat. number/mat. number during material exchange
PCSD0013 Customer-specific processing of an explosion for BOM browser
PCSD0014 Knowledge-Based Order BOM: Status
BADI's are
WORKORDER_CONFIRM
WORKORDER_UPDATE
WORKORDER_GOODSMVT
<b>Reward points</b>
Regards
Maybe you are looking for
-
Creating Oracle Job with Task Scheduler
Hi, Platform: Oracle10g R2, Windows 2003 Server I have the below script on my Linux server that backups up the database. It's run via crontab. --------------- script --------------------- -- Environment variables goes here cd $ORACLE_HOME/bin ./rman
-
I have an old 660C and it goes through the process of printing but the pages are blank. HP wont support it anymore! I am looking for someone to help me fix it. Will pay! HELP!
-
LMS 3.2.1 IPM collector
HI, I have LMS 3.2.1 installed in my server. When I am try to create a new collector the expected source device is not appearing in list of devices source device list. However the device is added under IPM devices and reflecting under destination dev
-
Itunes rental issue on iPad. What's the deal?
I rented a movie on itunes to download to a brand new ipad mini 16gm wifi only (non retina). The movie downloaded and then kept "processing" for about a half hour. Finally i clicked on the video app and it was there. I pressed play and it went to
-
Hello! I am new to all of this and just downloaded the Lightroom free trial on Wednesday night. Since then I have uploaded around 100 photos, edited them all, and am now ready to export them. I successfully created a Watermark and added that onto my