Material where-used list
hi all,
i was given a list of hundreds of components and is there any tcode that i can use to derive the bom (to get the finished product)?
regards.
Hi
Pl use the t.Code <b>CS15</b> , it'll show the all finished goods in which the materials has been used as BOM component..
<b>This transection will be run for a single material (as input)only</b>
<i>if you wanna give a list of materials together..you'll need to create a Simple SAP query report .using T.CODE - SQ01 ,02,03...pl use tables . STPO , STKO and MARD for the same</i>
BR
Sumit
*Rewards will be appriciated if usefu l..or come back with more details
Message was edited by:
Sumit Sharma
Message was edited by:
Sumit Sharma
Similar Messages
-
How to mass get material where-used list
Dear Experts,
Prsently, we can get material where-used list one by one by CS15, and then we want to mass get them for many of materirlas once.
Could you give me a good idea?
Thanks and best Regards,
Colin.Hi,
You would need to use the FM - CS_WHERE_USED_MAT or CSEP_MAT_BOM_SELECT_WHERE_USED in a Z program & you will be able meet your need.
However a word of caution, the run time will be long if you run for several materials a time. Good luck.
Regards,
Vivek -
CS15(Material where-used List)
I need Some IMP tables that Related to this transacton and also can any one pls explain me brief about this transaction..
Regards
uday kiranThe Trxn code CS15 will update the Following Transparent Tables:
AENR Change Master
DRAD Document-Object Link
DRAW Document Info Record
KDST Sales Order to BOM Link
KLAH Class Header Data
MARA General Material Data
MARC Plant Data for Material
MAST Material to BOM Link
STPO BOM item
STZU Permanent BOM data
T001W Plants/Branches
TC01 CUA status table
TC04 Applic-Specific Criteria for Alternative Determination
TCC08 Engineering Change Management: Control Data
TCS03 Modification Parameters/Defaults for BOMs
TCS41 Automatic alternative BOM determination
TCSPR User Profile for BOMs
TCSVL User defaults list display (variable lists)
TECS Master Effectivity Object
TOJTB Business object repository: Basic data
USR02 Logon Data (Kernel-Side Use)
Also you can Use Function Module CS_WHERE_USED_MAT_ANY will give you the header information of the material you pass, whereas the other one does not provide so. Other than that they are similar. Try outputs in SE37 having both these FM called
and pass the following inputs as provided in the example.
DATUB
DATUV
MATNR
POSTP
STLAN
WERKS
In the out put other than the header information you will be getting the following output tables populated.
WULTB - Here you will be get including the description of the materials and corresponding qty.
MATCAT - You get Matnr with index.
In case of MAT_ANY you will also get an additional table as output having the header details - TOPMAT.
Please use link : http://www.sap-img.com/pp024.htm
Regards,
Ashok -
Planning Material Where-Used list
Hi All,
I wish to know in which materials and plants a Planning Material has been used. How is it possible?What are the transactions involved...kindly help!!!
Thanks & Regards,
Deepak Prasanna SDeepak,
I think your query was on planning material which is getting assigned in Materail master MRP3 view. The data should be available in MARC table, right now i dont have access to system to check the field for Planning material, you can check it place your cursor in the planning material field and then use F1 key in key board in the popup screen hit the technical information button to get the field and table details.
You can use transaction SE16 or SE11 to get the data from table, if you want this to be used frequently then you can create a query using SQVI transaction.
If your are looking for whereused list of a component in BOM then CS15 will do.
Regards,
Prasobh -
Function module to replicate CA81 (Resource where used list)
Hi,
Is there a FM or BAPI to replicate CA81 (Resource where used list)?
Regards
Gary BDear Sankaran,
These are the Functional Modules which you can use,
CS_WHERE_USED_MAT Bills of material; where-used list
CS_WHERE_USED_MAT_ANY Bills of material; where-used list as material or class item
MASS_WHERE_USED where used list for mass maintenance screens
CSEP_MAT_BOM_SELECT_WHERE_USED API Bills of Material: Select BOM(s)
But Multi-level is not possible as far I knew.
You can use either the 1st or the 4th Functional Module for preparing the report.
No other way of getting a report simliar to CS15.
Regards
Mangalraj.S -
Where Used List with multiple/range of material
Hi there Gurus!
We have requirement to have multiple material on CS15(Where-used List Single-Level Material).
IW13 won't work since there are spares/eqpmnt that has no PM Order yet.
We are looking at developing SAP Query for this using but I am reluctant if this will work since it's from bottom going up.
Has anyone tried this? Any tip/watchout?
Your very valuable input is highly regarded and will be rewarded.
Thanks a lot in advance!Hello Thyagarajan,
Thanks for clarifying the requirement.
Can only input one material in selection screen of CS15 and what we want is functionality to enable multiple material entry. Thanks!
Hi Pete,
Thanks for your input.
When you copy CS15 and modify to enable multiple material entry, what other options did you consider before deciding on copying CS15? Does your other options include SAP Query? Do you think it will meet our reqmnt? Thanks! -
Hi Frndz,
what is the t. code to see material where used report?
I want to see usage of matls in BOM,Routings, Pro.orders and also it's qty. in stock at a glance.
Thanks in advance,
Rohit.Dear Rohit,
You can get the material where used for a single material using T Code CS15, and prepare a report to check the same for a
multiple list of materials using this FM,
CS_WHERE_USED_MAT or else CSEP_MAT_BOM_SELECT_WHERE_USED.
Regards
Mangalraj.S -
Hi ,
I want to link the Finished goods to Raw Material and vise versa. I want all the levels from the Raw Material to Finished goods . Do u have any FM where we can give the Material number and batch and get the where used list corresponding to MB56?
Kindly help.
Thanks in Advance.
ParamitaHi,
Use FM 'CHVW_EXPLODE_ALL' to get the Batch where used list
Regards
Venu -
Traceability with batch class characteristics in batch where used list.
Hi,
I have a process order which issues 5 pallets or material and produces 5 pallets of another material. Each pallet is a seperate batch in my scenario.
All materials are assigned to a batch class and i will be using a class characteristic to enter the issued pallet number (includes material number and batch number) to the produced pallet batch. This way i want to create a traceability system.
the problem is i need a way to create a hierarchical view or integrate this scenario to batch where used list.
there is a badi for where used list to read external data. but i guess that is for something called "external batches"
can you please guide me for the best practice of doing this?
Thanks,
Alper,Hi!,
I think you have to use the mix of two functionalities:
1. Original batch function
2. Batch derivation
This way you can pull the characteristics of the source material batch in to raw material as well as finish material batches.
In this you have to create a nonvaluated material which is used as original batch mateial. You have to assign this material in material master of the RM and FG alongwith other required entries. Also you have to use batch derivation function to pull the charactristics of this original material batch in to the RM and FG.
Please go through the SAP help regarding Original batch and Batch derivation function to have more clarity.
Please revert back in case of any further issue.
Regards,
Uday -
What is the transaction code for where used list
hi,
what is the transaction code for where used list and
how to retrieve the previous delivery quantity and quantity delivered for a particular material with reference to both material document number and material number.hi,
there is no transaction code for where-used-list..
its one of the buttons in application tool bar which if you click will tell you where,in which program or tables etc this object is used.
to retrieve the previous delivery quantity and quantity delivered for a particular material with reference to both material document number and material number,
use tables <b>likp lips and mara</b> and use material number and document number in where condtion.
regards,
pankaj singh
<b>**** please mark all helpful answers</b> -
Hi All,
Is there any report of BOM which will suffice the requirement like if am putting any level of component like where used list the system will display the highest level of material.
e.g
'A' having component X , Y AND Z
'X' having compnent P Q and R
P having component L, M and N.
if am putting component to search what is the highest level of assembly material, for my requirement i required it should give display of materail 'A'.
I had gone through where used list report CS15 but which is giving only header of the selected component and my requirement it give top material of the assembly.
Plz suggest its urgent.
Regards,
RajeshHi,
Probably it is not possible to have this in Standard SAP.
You need to consider Custom report for this.
In your case you wanted the diplay of Header Material.
Say, your BOM is having 10 level structure and you wanted to have the 8/9th Level Material as input in your report and you wanted the Header Material (Lowest Level) as output.
You need to conider the Low Level Code of the Input Material.
One more thing is this same component may be part of some other Materials as well.
Hope this helps in decision making and some sort of Logic to build the regport..
Regards,
Siva -
Dear PP Gurus,
My client requires a where used list report for material part number.
When i give the part number, it should display the Semi FG/FG part number in whose BOM that part number is component.
Is there any standard report in system?
If no , through which tables i can create such report using SQVI or do i need ABAP help?
Thanks & Regards
ShaliniDear Shalini,
If you want to display the where used list for a single material you can use T code CS15.
If it's more muliple material,then You have to develop a small report in order to meet your client's
requirement.
For this you can use the FM's CSEP_MAT_BOM_SELECT_WHERE_USED or else
CS_WHERE_USED_MAT. Prepare the functional Spec's and prepare a customized report.
Regards
Mangalraj.S -
Multi level where used list (cs_where_use_mat)
How to get Multi level where use list of a component?
CS_WHERE_USE_MAT has details of a material. but i need to dig where use list for all materials of that component. CS15 does not give compleate details(only few fields are there)Check the below program :
REPORT ZPPR_BOM_INFOL_REPORT no standard page heading
line-size 160
line-count 60.
======================================================================
Program Name : ZPPR_BOM_INFOL_REPORT
Table definition *
TABLES: mast,
stko,
stpo,
T418,
makt.
TYPE - POOLS
TYPE-POOLS: slis.
Constants
constants : c_tcode(4) type c value 'CS03',
gc_formname_top_of_page TYPE slis_formname
VALUE 'TOP_OF_PAGE'.
Variables
data : v_maktx like makt-maktx,
wa_stko like stko.
DATA:
Objekttyp 'Material'
otyp_mat(1) TYPE c VALUE '1',
ootyp_mat(1) TYPE c VALUE 'M',
Objekttyp 'kein Objekt'
otyp_noo(1) TYPE c VALUE '2',
Objekttyp 'Dokument'
otyp_doc(1) TYPE c VALUE '3',
Objekttyp 'Klasse'
otyp_kla(1) TYPE c VALUE '4',
Objekttyp 'Intramaterial'
otyp_ntm(1) TYPE c VALUE '5'.
maximal anzeigbare Menge
data: max_num(7) TYPE p DECIMALS 3 VALUE '9999999999.999',
ueberl_kz(1) TYPE c VALUE '*',
min_num(7) TYPE p DECIMALS 3 VALUE '9999999999.999-',
b_flag(1) TYPE c VALUE 'X',
ecfld(250) TYPE c,
v_flag type c.
ALV Variables
DATA: gt_fieldcat TYPE slis_t_fieldcat_alv,
gs_layout TYPE slis_layout_alv,
gs_keyinfo TYPE slis_keyinfo_alv,
gt_sp_group TYPE slis_t_sp_group_alv,
gt_events TYPE slis_t_event.
DATA: g_repid LIKE sy-repid.
DATA: gt_list_top_of_page TYPE slis_t_listheader,
g_tabname_header TYPE slis_tabname,
g_tabname_item TYPE slis_tabname,
g_save(1) TYPE c,
gx_variant LIKE disvariant,
g_variant LIKE disvariant,
g_default(1) TYPE c,
g_exit(1) TYPE c.
Includes *
INCLUDE .
Internal Table Declaration *
DATA: t_mast LIKE STANDARD TABLE OF mast WITH HEADER LINE.
*DATA: t_makt LIKE STANDARD TABLE OF makt WITH HEADER LINE.
BOM Function module Related
DATA: t_matcat LIKE cscmat OCCURS 0 WITH HEADER LINE.
Internal Table for Level by Level Function module
DATA: t_stb LIKE stpox OCCURS 0 WITH HEADER LINE.
Get the Relevant data from FM
DATA: BEGIN OF hd_tab OCCURS 0,
stufe LIKE stpox-stufe,
vwegx LIKE stpox-vwegx,
END OF hd_tab.
Final Output
DATA: BEGIN OF alv_stb OCCURS 0.
INCLUDE STRUCTURE stpox_alv.
DATA: info(3) TYPE c,
END OF alv_stb.
DATA: BEGIN OF stb_orig.
INCLUDE STRUCTURE stpox.
DATA: END OF stb_orig.
DATA: BEGIN OF stb_add.
INCLUDE STRUCTURE stpol_add.
DATA: END OF stb_add.
Internal Table for STPO
*-- BOM Line item
TYPES: BEGIN OF ty_stpo,
stlty TYPE stpo-stlty,
stlnr TYPE stpo-stlnr,
stlkn TYPE stpo-stlkn,
stpoz TYPE stpo-stpoz,
idnrk TYPE stpo-idnrk,
meins TYPE stpo-meins,
menge TYPE stpo-menge, "Component Qty
END OF ty_stpo.
DATA: t_stpo TYPE STANDARD TABLE OF ty_stpo WITH HEADER LINE.
*-- BOM Header
TYPES: BEGIN OF ty_stko,
stlty TYPE stko-stlty,
stlnr TYPE stko-stlnr,
stlal TYPE stko-stlal,
stkoz TYPE stko-stkoz,
bmein TYPE stko-bmein,
bmeng TYPE stko-bmeng,
END OF ty_stko.
DATA: t_stko TYPE STANDARD TABLE OF ty_stko WITH HEADER LINE .
data : t_makt like makt occurs 0 with header line.
DATA: BEGIN OF cl_clstab OCCURS 0, "YHG079407
class LIKE klah-class, "YHG079407
klart LIKE klah-klart, "YHG079407
chked LIKE csdata-xfeld, "YHG079407
noobj LIKE csdata-xfeld, "YHG079407
dsply LIKE csdata-xfeld, "YHG079407
END OF cl_clstab.
*-- Header table
TYPES: BEGIN OF ty_main_material,
matnr TYPE mast-matnr, "Material
werks TYPE mast-werks, "Plant
maktx TYPE makt-maktx, "Description
stlal TYPE mast-stlal, "Alternative BOM
stlnr TYPE stko-stlnr, "BOM Number
bmein TYPE stko-bmein, "UOM
bmeng TYPE stko-bmeng, "Base Qty
expand(1) TYPE c, "Expanding Field
END OF ty_main_material.
DATA: t_main_material TYPE STANDARD TABLE OF ty_main_material WITH
HEADER LINE.
*-- Item (Component) Table
TYPES: BEGIN OF ty_item_material,
matnr TYPE mast-matnr, "Material
werks TYPE mast-werks, "Plant
idnrk TYPE stpo-idnrk, "Component (Material)
maktx TYPE makt-maktx, "Description
stlal TYPE mast-stlal, "Alternative BOM
stlnr TYPE stpo-stlnr, "BOM Number
meins TYPE stpo-meins, "UOM
menge TYPE stpo-menge, "Base Qty
END OF ty_item_material.
DATA: t_item_material TYPE STANDARD TABLE OF ty_item_material WITH
HEADER LINE.
Selection Screen *
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_werks LIKE marc-werks DEFAULT '1000' OBLIGATORY.
SELECT-OPTIONS s_stlal FOR mast-stlal .
SELECT-OPTIONS s_stlan FOR mast-stlan DEFAULT '1'.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
SELECTION-SCREEN SKIP.
PARAMETERS: p_bomlst RADIOBUTTON GROUP g1 DEFAULT 'X'.
SELECT-OPTIONS s_matnr FOR mast-matnr.
SELECTION-SCREEN SKIP.
PARAMETERS: p_compon RADIOBUTTON GROUP g1.
SELECT-OPTIONS: s_idnrk FOR stpo-idnrk.
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN END OF BLOCK b1.
selection-screen begin of block b03 with frame title text-b03.
selection-screen begin of line.
selection-screen comment 1(40) text-005.
parameters: p_all radiobutton group r1 default 'X'.
selection-screen end of line.
selection-screen begin of line.
selection-screen comment 1(40) text-006.
parameters: p_one radiobutton group r1 .
selection-screen end of line.
selection-screen end of block b03.
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.
PARAMETERS: p_vari LIKE disvariant-variant.
SELECTION-SCREEN END OF BLOCK b3.
At slection screen events *
*-- Process on value request
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.
PERFORM f4_for_variant.
Intitialisation
INITIALIZATION.
g_repid = sy-repid.
g_tabname_header = 'T_MAIN_MATERIAL'.
g_tabname_item = 'T_ITEM_MATERIAL'.
*-- define keyinformation
CLEAR gs_keyinfo.
gs_keyinfo-header01 = 'MATNR'.
gs_keyinfo-item01 = 'MATNR'.
PERFORM e03_eventtab_build USING gt_events[].
PERFORM e04_comment_build USING gt_list_top_of_page[].
PERFORM e07_sp_group_build USING gt_sp_group[].
PERFORM e08_layout_build USING gs_layout.
Set Options: save variants userspecific or general
g_save = 'A'.
PERFORM variant_init.
Get default variant
gx_variant = g_variant.
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
i_save = g_save
CHANGING
cs_variant = gx_variant
EXCEPTIONS
not_found = 2.
IF sy-subrc = 0.
p_vari = gx_variant-variant.
ENDIF.
S T A R T - O F - S E L E C T I O N *******************
start-of-selection.
if p_all = 'X'.
Get the data from MAST and MAKT Table
if p_bomlst = 'X'.
Get the data Based On Material #
perform get_data.
else.
Get the data Based On Component
perform get_data_component.
endif.
else.
Get the Single Level Report
*-- Moved the fiedl catalog here inorder to change the layout based on
*-- Selection
PERFORM e01_fieldcat_init USING gt_fieldcat[].
PERFORM select_data.
endif.
E N D - O F - S E L E C T I O N *******************
end-of-selection.
if p_one = 'X'.
perform alv.
endif.
User Command
at line-selection.
Interactive to CS03 Transaction
case sy-ucomm.
when 'PICK' or 'F2'.
if not alv_stb-idnrk is initial .
if not alv_stb-werks is initial.
if not alv_stb-objty is initial.
SET PARAMETER ID 'MAT' FIELD alv_stb-idnrk.
SET PARAMETER ID 'WRK' FIELD alv_stb-werks.
SET PARAMETER ID 'CSV' FIELD alv_stb-OBJTY.
call transaction c_tcode and skip first screen.
endif.
endif.
endif.
clear alv_stb.
endcase.
*& Form get_data
Get data from MAST and MAKT Table
FORM get_data.
data : wa_lines type sy-index.
REFRESH : T_MAST,
t_STB,
t_MATCAT,
alv_STB.
CLEAR : T_MAST,
t_STB,
t_MATCAT,
alv_STB.
Get the data from MAST Table
Get all the information from MAST - BOM Table
SELECT * FROM mast INTO TABLE t_mast WHERE matnr IN s_matnr AND
werks = p_werks AND
stlan IN s_stlan AND
stlal IN s_stlal.
describe table t_mast lines wa_lines.
if wa_lines is initial.
Write:/2 'List contains no data'.
stop.
endif.
loop at t_mast.
clear : v_maktx.
Start of change Seshu
Reason - Remove the new page option
if sy-tabix ne 1.
skip 1.
endif.
End of Change Seshu
Get the material Description
select single maktx from makt into v_maktx
where matnr = t_mast-matnr
and spras = 'E'.
Get the material details from STKO Table
select single * from stko into wa_stko
where STLTY = 'M'
and STLNR = t_mast-stlnr
and STLAL = t_mast-stlal.
Main Header for Each Material
format color 5 on.
write:/2 'Material',20 'Material Description',65 'Alternative BOM',
90 'Base Qty', 115 'Base Unit'.
format color 5 off.
format color 1 on.
write:/2 t_mast-matnr,20 v_maktx,65 wa_stko-STLAL, 85 wa_stko-BMENG,
115 wa_stko-BMEIN.
format color 1 off.
Use the Function Module and get the format level by level
perform get_level_level.
endloop.
ENDFORM. " get_data
Top of page *
top-of-page.
perform report_header .
*& Form report_header
text
--> p1 text
<-- p2 text
FORM report_header.
new-page line-size 160 .
format color col_heading intensified on.
write:/ sy-uline(160) .
*--- Write Company Name.
perform calc_col_and_write using text-h00
sy-linsz.
*--- Write Report Title.
perform calc_col_and_write using sy-title
sy-linsz.
*--- Write User Id, Date / Time, Program Id, Page etc.
perform write_other_hdr_details.
write:/ sy-uline(160) .
ENDFORM. " report_header
*& Form calc_col_and_write
text
-->P_TEXT_H00 text
-->P_SY_LINSZ text
FORM calc_col_and_write USING P_TEXT
P_LINSZ.
data: col1 type i,
col2 type i,
len type i,
str type i.
str = strlen( p_text ).
col1 = ( p_linsz / 2 ) - ( str / 2 ) .
len = p_linsz - col1 - 2.
write: at /1 '|'.
write: at col1 p_text,
at sy-colno(len) space.
write at 160 '|'.
ENDFORM. " calc_col_and_write
*& Form write_other_hdr_details
text
--> p1 text
<-- p2 text
FORM write_other_hdr_details.
data: col1 type i,
col2 type i,
len type i.
col1 = 3.
write:/1 '|'.
write: at col1 'UserId : ',
sy-uname.
len = sy-linsz - 1.
write at sy-colno(len) space.
col2 = sy-linsz - 18.
write: at col2 'Date: ',
sy-datum mm/dd/yyyy.
write: at sy-linsz '|'.
write:/1 '|'.
write: at col1 'ReportId: ',
sy-repid.
write at sy-colno(len) space.
col2 = sy-linsz - 18.
write: at col2 'Page: ',
sy-pagno.
write: at sy-linsz '|'.
ENDFORM. " write_other_hdr_details
*& Form get_data_component
Get the data based on Component level
FORM get_data_component.
data wa_lines type i.
*-- Get the BOM item details
SELECT stlty stlnr stlkn stpoz idnrk meins menge
FROM stpo
INTO TABLE t_stpo
WHERE idnrk IN s_idnrk.
IF sy-subrc = 0.
CLEAR wa_lines.
DESCRIBE TABLE t_stpo LINES wa_lines.
IF wa_lines > 0.
SELECT stlty stlnr stlal stkoz bmein bmeng
FROM stko
INTO TABLE t_stko
FOR ALL ENTRIES IN t_stpo
WHERE stlnr = t_stpo-stlnr.
CLEAR wa_lines.
DELETE ADJACENT DUPLICATES FROM t_stko COMPARING ALL FIELDS.
DESCRIBE TABLE t_stko LINES wa_lines.
IF wa_lines > 0.
*-- Get the BOM item details
SELECT * FROM mast INTO TABLE t_mast FOR ALL ENTRIES IN t_stko
WHERE werks = p_werks AND
stlnr = t_stko-stlnr
and stlal in s_stlal.
ENDIF.
ENDIF.
else.
Write:/2 'List contains no data'.
stop.
endif.
loop at t_mast.
clear : v_maktx.
Start of change Seshu
Reason - Remove the new page option
if sy-tabix ne 1.
skip 1.
endif.
End of change Seshu
Get the material Description
select single maktx from makt into v_maktx
where matnr = t_mast-matnr
and spras = 'E'.
Get the material details from STKO Table
select single * from stko into wa_stko
where STLTY = 'M'
and STLNR = t_mast-stlnr
and STLAL = t_mast-stlal.
Main Header for Each Material
format color 5 on.
write:/2 'Material',20 'Material Description',65 'Alternative BOM',
90 'Base Qty', 115 'Base Unit'.
format color 5 off.
format color 1 on.
write:/2 t_mast-matnr,20 v_maktx,65 wa_stko-STLAL, 85 wa_stko-BMENG,
115 wa_stko-BMEIN.
format color 1 off.
Use the Function Module and get the format level by level
perform get_level_level.
clear : t_mast.
endloop.
ENDFORM. " get_data_component
*& Form obj_ident
text
FORM obj_ident.
weder Mat noch Doc
CHECK: T_stb-objty NE otyp_mat,
T_stb-objty NE ootyp_mat,
T_stb-objty NE otyp_doc,
T_stb-objty NE otyp_ntm.
?T418-WA schon ok
nein
IF T_stb-postp NE t418-postp.
T418 einlesen
PERFORM t418_lesen USING T_stb-postp.
ENDIF.
PERFORM cl_clstab_maint.
?MatNr-Eingabe bei diesem PosTyp moeglich
und keine Textposition
trifft zu
IF t418-matin NE '-'
AND t418-txpos IS INITIAL.
aktuelles Objekt ist Material NLAG
T_stb-objty = '1'.
PosKurztext in ObjKurztext uebernehmen.
T_stb-ojtxp = T_stb-potx1.
MODIFY T_stb.
ELSE.
IF T_stb-objty IS INITIAL.
T_stb-objty = '2'.
MODIFY T_stb.
ENDIF.
ENDIF.
ENDFORM. " obj_ident
*& Form t418_lesen
text
-->P_T_STB_POSTP text
FORM t418_lesen USING lkl_postp LIKE stpo-postp.
T418-WA initialisieren
CLEAR:
t418.
Key angeben
t418-postp = lkl_postp.
PosTypDefinition lesen
READ TABLE t418.
ENDFORM. " t418_lesen
*& Form cl_clstab_maint
text
FORM cl_clstab_maint.
nur fuer Klassenpositionen
CHECK t_STB-OBJTY EQ OTYP_KLA.
Teilkey der Klassenpositionentabelle
CL_CLSTAB-CLASS = t_STB-CLASS.
CL_CLSTAB-KLART = t_STB-KLART.
Klassenpositionentabelle lesen
READ TABLE CL_CLSTAB
WITH KEY CL_CLSTAB(21)
BINARY SEARCH.
aktuelle Klassenposition bereits in Klassenpositionentabelle
nein
IF SY-SUBRC <> 0.
Klassenposition in Klassenpositionentabelle hinzufuegen
INSERT CL_CLSTAB INDEX SY-TABIX.
ENDIF.
ENDFORM. " cl_clstab_maint
*& Form alv_stb_prep
Printing the data as LEVEL BY LEVEL
FORM alv_stb_prep.
CLEAR:
alv_stb,
stb_orig,
stb_add.
IF t_stb-hdnfo IS INITIAL.
stb_orig = t_stb.
IF t_stb-mngko >= max_num.
stb_add-ovfls = ueberl_kz.
ELSE.
IF t_stb-mngko <= min_num.
stb_add-ovfls = ueberl_kz.
ELSE.
CLEAR: stb_add-ovfls.
ENDIF.
ENDIF.
IF NOT t_stb-xtlnr IS INITIAL.
stb_add-bomfl = b_flag.
ENDIF.
IF NOT t_stb-knobj IS INITIAL
OR NOT t_stb-class IS INITIAL
OR NOT t_stb-kzclb IS INITIAL.
stb_add-knofl = 'X'.
ENDIF.
ELSE.
CHECK t_stb-stufe > 1.
alv_stb-info = 'C30'.
IF t_stb-ttidx <> t_matcat-index.
READ TABLE t_matcat INDEX t_stb-ttidx.
ENDIF.
stb_orig-hdnfo = t_stb-hdnfo.
stb_orig-stufe = t_stb-stufe - 1 .
stb_orig-ojtxp = t_stb-ojtxb.
IF NOT t_stb-altst IS INITIAL.
stb_orig-stlal = t_stb-stlal.
IF stb_orig-stlal(1) EQ '0'.
stb_orig-stlal(1) = ' '.
ENDIF.
ENDIF.
stb_orig-idnrk = t_matcat-matnr.
ENDIF.
CLEAR:
stb_add-dobjt,
stb_add-objic.
CASE t_stb-objty.
WHEN otyp_mat.
WRITE: stb_orig-idnrk TO ecfld.
stb_add-objic = '@A6@'.
WHEN 'M'.
WRITE: stb_orig-idnrk TO ecfld.
stb_add-objic = '@A6@'.
WHEN otyp_noo.
WRITE: stb_orig-potx1 TO ecfld.
stb_add-objic = '@0Q@'.
WHEN otyp_doc.
write stb_orig-doknr to ecfld. "note 489354
IF ecfld CP '*# '. ENDIF. "note 489354
sy-fdpos = sy-fdpos + 1. "note 489354
CONCATENATE
*d stb_orig-doknr "note 489354
stb_orig-dokar
stb_orig-doktl
stb_orig-dokvr
*d INTO ecfld "note 489354
INTO ecfld+sy-fdpos "note 489354
SEPARATED BY space.
stb_add-objic = '@AR@'.
WHEN otyp_kla.
CONCATENATE
stb_orig-class
stb_orig-klart
INTO ecfld
SEPARATED BY space.
stb_add-objic = '@7C@'.
WHEN otyp_ntm.
WRITE: stb_orig-intrm TO ecfld.
WHEN OTHERS.
ENDCASE.
*d CONDENSE ecfld. "note 515408
stb_add-dobjt = ecfld(40).
CLEAR: ecfld.
WRITE stb_orig-stufe TO stb_add-dstuf NO-SIGN.
*d MOVE-CORRESPONDING stb_orig TO alv_stb. "note 331962
MOVE-CORRESPONDING stb_add TO alv_stb.
MOVE-CORRESPONDING stb_orig TO alv_stb. "note 331962
APPEND alv_stb.
ENDFORM. " alv_stb_prep
*& Form get_level_level
text
FORM get_level_level.
REFRESH : T_STB,
T_MATCAT,
ALV_STB.
CLEAR : T_STB,
T_MATCAT,
ALV_STB.
CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
EXPORTING
capid = 'PP01'
datuv = sy-datum
mktls = 'X'
mehrs = 'X'
mtnrv = t_mast-matnr
stlal = '01'
stlan = '1'
stpst = 0
svwvo = 'X'
werks = p_werks
vrsvo = 'X'
TABLES
stb = t_stb
matcat = t_matcat
EXCEPTIONS
alt_not_found = 1
call_invalid = 2
material_not_found = 3
missing_authorization = 4
no_bom_found = 5
no_plant_data = 6
no_suitable_bom_found = 7
conversion_error = 8
OTHERS = 9.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CLEAR: hd_tab.
Entry der KlassenstatusTab. initialisieren
cl_clstab,
Entry 'Objekte von Klassen' initialisieren
cl_objmemo.
REFRESH: hd_tab.
SORT t_matcat BY index ASCENDING.
Get the All levels
loop at t_stb.
IF NOT t_stb-hdnfo IS INITIAL.
EXIT.
ENDIF.
Object Identification
PERFORM obj_ident.
READ TABLE hd_tab
WITH KEY stufe = t_stb-stufe
vwegx = t_stb-vwegx
BINARY SEARCH
TRANSPORTING NO FIELDS.
?gibt es diesen Satz schon
nein
IF sy-subrc <> 0.
dann in SFP-Infosatzverweistab. aufnehmen
*d APPEND HD_TAB. "HGH054648
hd_tab-stufe = t_stb-stufe.
"HGH054648
hd_tab-vwegx = t_stb-vwegx.
"HGH054648
INSERT hd_tab "HGH054648
INTO hd_tab "HGH054648
INDEX sy-tabix. "HGH054648
PosNr initialisieren
CLEAR: t_stb-posnr.
SFP-InfosatzKz setzen
t_stb-hdnfo = 'X'.
stb-objty = otyp_mat.
"HGE246532
als SFP-Infosatz in die STB aufnehmen
append t_stb.
ENDIF.
*del ENDIF.
clear t_stb.
endloop.
SORT t_stb ASCENDING BY stufe
index ASCENDING
*del POSNR ASCENDING. "HGC062735
posnr ASCENDING "HGC062735
hdnfo DESCENDING.
LOOP AT t_stb.
T_stb-index = sy-tabix.
MODIFY T_stb.
PERFORM alv_stb_prep.
ENDLOOP.
Displays the Value as Level by Level
loop at ALV_stb.
if sy-tabix = 1.
format color 3 on.
write:/2 'Level',12 'Item',22 'Component',
42 'Material Description',82 'Base Qty',
107 'Base Unit',120 'Assembly Indicator'.
format color 3 on.
endif.
if alv_stb-MEINs is initial.
v_flag = 'X'.
endif.
if v_flag = 'X'.
format color 5 on.
write:/2 ALV_stb-STUFE,12 alv_stb-posnr,22 alv_stb-idnrk,
42 alv_stb-OJTXP.
format color 1 off.
else.
if alv_stb-STUFE = '1'.
format color 1 on.
write:/2 ALV_stb-STUFE,12 alv_stb-posnr,22 alv_stb-idnrk,
42 alv_stb-OJTXP,72 alv_stb-mngko,
107 alv_stb-MEINs, 120 alv_stb-bomfl .
format color 1 off.
elseif alv_stb-STUFE = '2'.
format color 2 on.
write:/2 alv_stb-STUFE,12 alv_stb-posnr,22 alv_stb-idnrk,
42 alv_stb-OJTXP,72 alv_stb-mngko,
107 alv_stb-MEINs,120 alv_stb-bomfl.
format color 2 off.
elseif alv_stb-STUFE = '3'.
format color 3 on.
write:/2 alv_stb-STUFE,12 alv_stb-posnr,22 alv_stb-idnrk,
42 alv_stb-OJTXP,72 alv_stb-mngko,
107 alv_stb-MEINs,120 alv_stb-bomfl .
format color 3 off.
elseif alv_stb-STUFE = '4'.
format color 4 on.
write:/2 alv_stb-STUFE,12 alv_stb-posnr,22 alv_stb-idnrk,
42 alv_stb-OJTXP,72 alv_stb-mngko,
107 alv_stb-MEINs,120 alv_stb-bomfl .
format color 4 off.
elseif alv_stb-STUFE = '5'.
format color 5 on.
write:/2 alv_stb-STUFE,12 alv_stb-posnr,22 alv_stb-idnrk,
42 alv_stb-OJTXP,72 alv_stb-mngko,
107 alv_stb-MEINs,120 alv_stb-bomfl .
format color 5 off.
elseif alv_stb-STUFE = '6'.
format color 7 on.
write:/2 alv_stb-STUFE,12 alv_stb-posnr,22 alv_stb-idnrk,
42 alv_stb-OJTXP,72 alv_stb-mngko,
107 alv_stb-MEINs,120 alv_stb-bomfl.
format color 6 off.
elseif alv_stb-STUFE = '7'.
format color 7 on.
write:/2 alv_stb-STUFE,12 alv_stb-posnr,22 alv_stb-idnrk,
42 alv_stb-OJTXP,72 alv_stb-mngko,
107 alv_stb-MEINs,120 alv_stb-bomfl .
format color 7 off.
else.
format color 1 on.
write:/2 alv_stb-STUFE,12 alv_stb-posnr,22 alv_stb-idnrk,
42 alv_stb-OJTXP,72 alv_stb-mngko,
107 alv_stb-MEINs,120 alv_stb-bomfl .
format color 1 off.
endif.
endif.
hide: alv_stb.
clear : alv_stb.
clear v_flag.
endloop.
ENDFORM. " get_level_level
*& Form f4_for_variant
text
FORM f4_for_variant.
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
is_variant = g_variant
i_save = g_save
i_tabname_header = g_tabname_header
i_tabname_item = g_tabname_item
it_default_fieldcat =
IMPORTING
e_exit = g_exit
es_variant = gx_variant
EXCEPTIONS
not_found = 2.
IF sy-subrc = 2.
MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
IF g_exit = space.
p_vari = gx_variant-variant.
ENDIF.
ENDIF.
ENDFORM. " f4_for_variant
FORM E03_EVENTTAB_BUILD *
--> E03_LT_EVENTS *
FORM e03_eventtab_build USING e03_lt_events TYPE slis_t_event.
DATA: ls_event TYPE slis_alv_event.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = e03_lt_events.
READ TABLE e03_lt_events WITH KEY name = slis_ev_top_of_page
INTO ls_event.
IF sy-subrc = 0.
MOVE gc_formname_top_of_page TO ls_event-form.
APPEND ls_event TO e03_lt_events.
ENDIF.
ENDFORM.
FORM E04_COMMENT_BUILD *
--> E04_LT_TOP_OF_PAGE *
FORM e04_comment_build USING e04_lt_top_of_page TYPE slis_t_listheader.
DATA: ls_line TYPE slis_listheader.
Listenüberschrift: Typ H
CLEAR ls_line.
ls_line-typ = 'H'.
LS_LINE-KEY: not used for this type
ls_line-info = text-001.
APPEND ls_line TO e04_lt_top_of_page.
Kopfinfo: Typ S
CLEAR ls_line.
ls_line-typ = 'S'.
ls_line-key = text-050.
ls_line-info = text-010.
APPEND ls_line TO e04_lt_top_of_page.
ls_line-key = text-051.
APPEND ls_line TO e04_lt_top_of_page.
Aktionsinfo: Typ A
CLEAR ls_line.
ls_line-typ = 'A'.
LS_LINE-KEY: not used for this type
ls_line-info = text-002.
APPEND ls_line TO e04_lt_top_of_page.
ENDFORM.
FORM E07_SP_GROUP_BUILD *
--> E07_LT_SP_GROUP *
FORM e07_sp_group_build USING e07_lt_sp_group TYPE slis_t_sp_group_alv.
DATA: ls_sp_group TYPE slis_sp_group_alv.
CLEAR ls_sp_group.
ls_sp_group-sp_group = 'A'.
ls_sp_group-text = text-005.
APPEND ls_sp_group TO e07_lt_sp_group.
ENDF -
How to find out where used list of Table or T-code
Dear ABAP gurus
I know many of you have done this several times.
wish to find out which Transaction code INSERTs the data into the table IHPA.
I did the where used list - SE11 ( for specific key work called INSERT ).
Used the Table called D010TAB which has some information.
Vise versa if I know a T-CODE , how to know which tables it read & Modify...
any better procedure than spending hours in research...
I found similar custom program to find USER EXITS ...here..., looking soething similar...
[http://wiki.sdn.sap.com/wiki/display/Snippets/FindUser-exits%2CBADIs%2CBTEs%2CEtcbyTCodeorProgram]
thank you for your help
Edited by: Raj Anvesh on Aug 3, 2011 9:58 PMHi Anvesh,
Maybe the data INSERTION is happening by BAPI,
So just try to look for the concerned BAPIS.
ECP_SRV_PARTNERS_IHPA
IREP1_IHPA_ADRNR_PRE_FETCH
IREP1_IHPA_ADRNR_READ
MAP2E_DIIHPA_TO_PARTNER
MAP2E_IHPAVB_BAPI2080_NOTPARTE
MAP2E_IHPAVB_TO_BAPI_IHPA
MAP2E_IHPA_BAPI2080_NOTPARTNRI
MAP2E_IHPA_M_BAPI2080_NOTPNRI
MAP2I_BAPI2080_NOTPARTNRI_IHPA
MAP2I_BAPI_IHPA_TO_IHPA
PM_DB_FILL_DIIHPA
PM_PARTNERCOPY_FILL_XIHPA
PM_PARTNER_DELETE_XIHPA
PM_PARTNER_GET_XIHPA
PM_PARTNER_PUT_XIHPA
PM_PARTNER_REFRESH_XIHPA
these are the bapis which are dealing with the IHPA table,
Segregate them as needed and then go to the std program
Revert for further clarification.
Thanks
Sri -
Where used list of a function module
hello ,
i want to find out where used list of a function modules , but the problem when I try where used button with in a function module Im getting message saying 'Function Is Not An Include' when it is used in other programs. Function AKB_WHERE_USED_LIST does not exist.Function FUNC_GET_OBJECT does not show the names of the programs.Im Stuck..Plz advise.
Thanks in AdvanceHello,
This is working fine.
i am getting the name of the programs where the Fm is used.
In
OBJ_TYPE FUNC
OBJ_NAME FUNC_GET_OBJECT
Try this.........
Maybe you are looking for
-
Reboot my Macbook Pro when using external monitor w Thunderbolt to VGA adapter
I have a Macbook Pro running 10.9.2 OS X (MacBookPro8,1). I never had any problem w that but yesterday i bought an external monitor (kind of old model from LG - L1900E). Well, i was trying to extend my Macbook Pro display through a Thunderbolt to VGA
-
Can someone advise how to solve a glitch with arranging files in Finder
I have a peculiar glitch in Finder: I cannot arrange alphabetically in the column view even though I check, arrange by name. When I do that, list view loses the expand triangle in front of the folder. Can anyone suggest a solution? Here is what the
-
Photoshop CS3, Windows XP
I have both Photoshop CS3 and Photoshop Elements 6 on my computer. When I click on a .psd file it opens Elements to read it, and I want it to open CS3. How can I fix this? Thanks so much for your help.
-
Hi, I am on 10g and need to implement dynamic partitioning. In a table based on a column I need to implement dynamic partitioning . id name value 1 name1 val1 2 name1 val2 3 name2 val3 4 name2 val4 5 name2 val5 From the above table for each name uniq
-
Hi all, Im very new at designing websites, in fact I just designed my first real one, I learned from the "Studio 8: Training From The Source" book, which I went over and took notes twice. The question I have is probably a very very simple one: How do