FM to get Material Charecterstis and Material Charecterstiscs of Material
Hi Experts.
do we have any funtion module for getting the Material Charecterstis and Material Charecterstiscs values for a metrial..
Ex: Input = Material : JDMPPLUS
output = class: WTY_MAINT_PLAN
Charecterstic value : JDCSP
Thanks
Hi,
Try this FM CLAF_CLASSIFICATION_OF_OBJECTS
CALL FUNCTION 'CLAF_CLASSIFICATION_OF_OBJECTS'
EXPORTING
* CLASS = ' '
* CLASSTEXT = 'X'
classtype = w_klart " Material class
* CLINT = 0
* FEATURES = 'X'
* LANGUAGE = SY-LANGU
object = w_matnr "Material
* OBJECTTABLE = ' '
* KEY_DATE = SY-DATUM
* INITIAL_CHARACT = 'X'
* NO_VALUE_DESCRIPT =
* CHANGE_SERVICE_CLF = 'X'
* INHERITED_CHAR = ' '
* CHANGE_NUMBER = ' '
TABLES
t_class = wa_sclass
t_objectdata = wa_clobjdat
* I_SEL_CHARACTERISTIC =
* T_NO_AUTH_CHARACT =
EXCEPTIONS
no_classification = 1
no_classtypes = 2
invalid_class_type = 3
OTHERS = 4
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
Regards
Bala Krishna
Similar Messages
-
1 I/P material No and Many O/P material nos.
Dear gurus
Can I create different material codes from different characteristics of one material?
For eg. Material u201CAu201D has lot quantity 30, having three different characteristics X,Y and Z
Can I create three different material codes as above cara?
Or some t-code which can transfer from one material to many materials?
Exactly apposite to MB1B-309?(Many I/P material nos and 1 O/P material No)
Kindly guide
MKHi Kulakarni,
It is Possible,just go to MIGO transaction,select transfer postings,others and 309 movement type.then try to enter from material and destination material.
after that in bottom of the box there is a 2 arrows to select next item,click on right arrow and enetr the different from material and same destination material.
Like this click on arrow and go entering different from material abnd same destination material .
your requirement of Many I/P material nos and 1 O/P material No will be achieved.
Please let us know if you require any inputs. -
Is there any function module to get vc characteristics and its value using material number?
Hi Experts,
I am using BAPI_CLASS_GET_CHARACTERISTICS, BAPI_OBJCL_GETCLASSES to get characteristics description and its values.
Is there any other Function module to pull this values using material number?
Thanks in Advance.
RamkumarHave you tried this BAPI_OBJCL_GETDETAIL
Import parameters
MATNR value in the OBJECTKEY
MARA in OBJECTTABLE
Class name in CLASSNUM
'001' in CLASSTYPE
You will get the Class Characteristics data into these tables:
ALLOCVALUESNUM
ALLOCVALUESCHAR
Jogeswara Rao K -
PR-PO material with one material group and GRN with another material group
Dear friends,
If PR is made for 40W Philips Bulb , PO is made 40W Philips bulb and at the time of GRN it is noticed that 40W Wipro bulbs are coming then how to map this in sap?
Regards,
Mahesh.Hi
In SAP movement type 101 and 161 for the Auto PO at the time if Receipt,
configuration
1. Material Master- Auto PO enable mark this tick in purchasing view
2.Vandor Master- Auto PO enable mark this tick in purchasing tab of vendor master
3. Material should be valuated maetrial
4. P oran shoud be a STD p organ and it has to be assigned with the plant,,
5 Info record has to be maintained with the Value/price with the Validity and tax code
6 you can not post into GR blocked stock for auto po
check following link
[Automatic Po creation With MB01 i am getting Error;
[http://www.sap-img.com/materials/steps-to-create-auto-po.htm]
Regards
Kailas Ugale -
How To Find Opening Stock And Value For a Material
Hi Experts,
How To Find Opening Stock And Value For a Material in Given Dates
Moderator Message: Search.
Edited by: kishan P on Sep 15, 2010 4:05 PMThanks For Answering.....
But I Need Any Function Module To Get Opening Stock And Value For Given Material With in Dates. -
Material Determination use stock of discontinued material
I am trying to determine if there is a way in R/3 to have a material replace an older material but as sales orders are entered take into consideration any inventory that might still remain of the discontinued material. Here is an example.
1.) We have 15 EA of Material A in inventory in Plant 123
2.) We are going to discontinue Material A and replace with Material B in this plant
3.) VB11 Condition Records are setup for the A to B substitution for order entries
4.) Order for 20 EA for Material A comes in
I would like to see a requirement tp use the 15 from A that are still inventory and then place an order for the remaining 5 on the new Matl B (from Mfg or whomever provides).
Is this possible using the condition records for material determination and the follow-up material options on MRP4 view?Hi Bill,
This is possible using standard SAP functionalities.
Now considrer a situation where you are creating VB11 record for material A(to be discontiniued) which is to be substituted by material B. And the need is to deplete the available stock of material A first and then start substituting it with material B.
In order to achieve this, while creating a record in VB11 firstly create a record for replacing mat A by mat A , then double click the record line that you have created, which will pop up a small window giving you options to enter mutiple alternatives apart from mat A. where you can you can enter material B as the second alternative/replacement after mat A.
The sequence of material is important to decide which material is considered as the replacement by the system.
In our case system will first replace mat A by mat A and search for stock availability, if sufficient stock or no stock available it will replace the original mat A with the alternative material entered in the VB11 record i.e. Mat B.
Another important thing to note while creating VB11 record is a check box available as "MRP Indiciator" now this indicator plays an important role while transferring requirement to MRP.
In our case we have Mat A which is being disontinued so we dont want the requirement for mat A to be transferred to MRP incase of shortage, instead we want the requirement for material B to be transferred for MRP.
In this case you need to check the MRP indicator box for Material B. if not checked the requirement for Mat A would be transferred to MRP.
Hope this clarifies your questions.
Thanks,
Kishor -
Unable to get Material No and Description from VBAP
Hi Gurus
Can anyone please help me to get material number and description from vbap table, The report is fine but I am unable to get material no and description.
regards
report ZCHGDOC_BY_SALES no standard page heading
line-size 132.
type-pools:
slis. " ALV types
Tables
tables:
cdhdr, " Change documents: Header
cdpos, " Change documents: Items
vbak, " Sales order: Header
mara, " Material No
user_addr, " User Address
vbap. " Contract order: Items
Types
types:
begin of ty_cdhdr,
objectclas like cdhdr-objectclas, " Object class
objectid like cdhdr-objectid, " Object value
changenr like cdhdr-changenr, " Document change number
username like cdhdr-username, " Changed by
udate like cdhdr-udate, " Changed on
utime like cdhdr-utime, " Changed at
tcode like cdhdr-tcode, " Transaction code
end of ty_cdhdr,
ty_it_cdhdr type ty_cdhdr occurs 0,
begin of ty_cdpos,
objectclas like cdpos-objectclas, " Object class
objectid like cdpos-objectid, " Object value
changenr like cdpos-changenr, " Document change number
tabname like cdpos-tabname, " Table name
tabkey like cdpos-tabkey, " Table key
fname like cdpos-fname, " Field name
chngind like cdpos-chngind, " Change indicator
value_new like cdpos-value_new, " New value of field
value_old like cdpos-value_old, " Old value of field
end of ty_cdpos,
ty_it_cdpos type ty_cdpos occurs 0,
begin of ty_dd03l,
tabname like dd03l-tabname,
fieldname like dd03l-fieldname,
as4local like dd03l-as4local,
as4vers like dd03l-as4vers,
rollname like dd03l-rollname,
end of ty_dd03l,
ty_it_dd03l type ty_dd03l occurs 0,
begin of ty_dd04t,
rollname like dd04t-rollname,
ddlanguage like dd04t-ddlanguage,
as4local like dd04t-as4local,
as4vers like dd04t-as4vers,
scrtext_l like dd04t-scrtext_l,
end of ty_dd04t,
ty_it_dd04t type ty_dd04t occurs 0,
begin of ty_kna1,
kunnr like kna1-kunnr, " Customer number
name1 like kna1-name1, " Customer name
end of ty_kna1,
ty_it_kna1 type ty_kna1 occurs 0,
begin of ty_user_addr,
bname like user_addr-bname, " user no
name_textc like user_addr-name_textc , " Username
end of ty_user_addr,
ty_it_user_addr type ty_user_addr occurs 0,
begin of ty_vbap,
matnr like vbap-matnr, " Material No
arktx like vbap-arktx, " Production Description
end of ty_vbap,
ty_it_vbap type ty_vbap occurs 0,
ty_text(500) type c,
ty_lines type tline,
ty_it_lines type ty_lines occurs 0,
begin of ty_merged,
vbeln like vbak-vbeln, " Sales order number
erdat like vbak-erdat, " Created on
auart like vbak-auart, " Order type
faksk like vbak-faksk, " Billing block in SD document
netwr like vbak-netwr, " Net value
waerk like vbak-waerk, " Currency
vkorg like vbak-vkorg, " Sales organisation
vtweg like vbak-vtweg, " Distribution channel
vkbur like vbak-vkbur, " Sales office
fkara like vbak-fkara, " Proposed billing type
kunnr like vbak-kunnr, " Sold-to party
bname like vbak-bname , " User No
xblnr like vbak-xblnr, " Reference
fbuda like vbkd-fbuda, " Date services rendered
username like cdhdr-username, " Changed by
udate like cdhdr-udate, " Changed on
utime like cdhdr-utime, " Changed at
tcode like cdhdr-tcode, " Transaction code
tabname like cdpos-tabname, " Table name
tabkey like cdpos-tabkey, " Table key
fname like cdpos-fname, " Field name
chngind like cdpos-chngind, " Change indicator
value_new like cdpos-value_new, " New value of field
value_old like cdpos-value_old, " Old value of field
scrtext_l like dd04t-scrtext_l, " Description of field
intnote type ty_text, " Internal note
hdrnote type ty_text, " Header note
name1 like adrc-name1, " Sold-to party name
matnr like vbap-matnr, " Material No
arktx like vbap-arktx, " Product Description
end of ty_merged,
ty_it_merged type ty_merged occurs 0,
begin of ty_vbak,
vbeln like vbak-vbeln, " Sales order number
erdat like vbak-erdat, " Created on
auart like vbak-auart, " Order type
faksk like vbak-faksk, " Billing block in SD document
netwr like vbak-netwr, " Net value
waerk like vbak-waerk, " Currency
vkorg like vbak-vkorg, " Sales organisation
vtweg like vbak-vtweg, " Distribution channel
vkbur like vbak-vkbur, " Sales office
fkara like vbak-fkara, " Proposed billing type
kunnr like vbak-kunnr, " Sold-to party
xblnr like vbak-xblnr, " Reference
objectid like cdhdr-objectid, " Change document object
end of ty_vbak,
ty_it_vbak type ty_vbak occurs 0,
begin of ty_vbkd,
vbeln like vbkd-vbeln, " Sales order number
posnr like vbkd-posnr, " Sales order item
fbuda like vbkd-fbuda, " Date services rendered
end of ty_vbkd,
ty_it_vbkd type ty_vbkd occurs 0.
Internal tables
data:
it_cdhdr type ty_it_cdhdr,
it_cdpos type ty_it_cdpos,
it_fieldcat type slis_t_fieldcat_alv,
it_kna1 type ty_it_kna1,
it_user_addr type ty_it_user_addr,
it_merged type ty_it_merged,
it_vbak type ty_it_vbak,
Material No
it_vbap type ty_it_vbap,
it_vbkd type ty_it_vbkd.
data:
wa_vbak type ty_vbak.
data:
st_tvariant like disvariant,
st_variant like disvariant.
constants:
co_as4local_a like dd03l-as4local " Active version
value 'A',
co_objectclas_verkbeleg like cdhdr-objectclas
value 'VERKBELEG',
co_posnr_initial like vbkd-posnr " Initial item number
value is initial,
co_posnr_initial_2 like vbap-posnr " Initial item number
value is initial,
co_save_u type c " User display variant
value 'U', " saving allowed.
co_trvog_0 like vbak-trvog " Sales order
value '0'.
data:
va_exit type c, " ALV display
va_tabix like sy-tabix.
selection-screen: begin of block b1 with frame title text-001.
select-options:
s_vkorg for vbak-vkorg OBLIGATORY, " Sales organisation
s_vkbur for vbak-vkbur, " Sales office
s_vtweg for vbak-vtweg, " Distribution channel
s_vbeln for vbak-vbeln, " Sales order number
s_usrnme for cdhdr-username, " Changed by
s_udate for cdhdr-udate. " Changed on
selection-screen: end of block b1,
begin of block b2 with frame title text-002.
parameters:
p_varint like disvariant-variant. " Display variant.
selection-screen: end of block b2.
Initialization
initialization.
Load display variant.
if not p_varint is initial.
move st_variant to st_tvariant.
move p_varint to st_tvariant-variant.
call function 'REUSE_ALV_VARIANT_EXISTENCE'
exporting
i_save = co_save_u
changing
cs_variant = st_tvariant.
st_variant = st_tvariant.
else.
clear st_variant.
st_variant-report = sy-repid.
endif.
at selection-screen on value-request for p_varint.
Provide display variant list for this program.
call function 'REUSE_ALV_VARIANT_F4'
exporting
is_variant = st_variant
i_save = co_save_u
importing
e_exit = va_exit
es_variant = st_tvariant
exceptions
not_found = 2.
if sy-subrc eq 2.
message id sy-msgid type 'S'
number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
else.
if va_exit eq space.
st_variant = st_tvariant.
p_varint = st_tvariant-variant.
endif.
endif.
At selection screen
at selection-screen.
Load display variant.
if not p_varint is initial.
move st_variant to st_tvariant.
move p_varint to st_tvariant-variant.
call function 'REUSE_ALV_VARIANT_EXISTENCE'
exporting
i_save = co_save_u
changing
cs_variant = st_tvariant.
st_variant = st_tvariant.
else.
clear st_variant.
st_variant-report = sy-repid.
endif.
Start of selection
Extract order details from VBAK
select vbeln erdat auart faksk netwr waerk vkorg vtweg vkbur fkara
kunnr xblnr
from vbak
into table it_vbak
where vkorg in s_vkorg
and vkbur in s_vkbur
and vbeln in s_vbeln.
if sy-subrc ne 0.
No data found for selection
message s001(zgen).
exit.
endif.
loop at it_vbak into wa_vbak.
va_tabix = sy-tabix.
wa_vbak-objectid = wa_vbak-vbeln.
modify it_vbak from wa_vbak
index va_tabix
transporting objectid.
endloop.
if sy-subrc ne 0.
No data found for selection
message s001(zgen).
exit.
endif.
loop at it_vbak into wa_vbak.
va_tabix = sy-tabix.
wa_vbak-objectid = wa_vbak-vbeln.
modify it_vbak from wa_vbak
index va_tabix
transporting objectid.
endloop.
Extract Change data
select objectclas objectid changenr username udate utime tcode
from cdhdr
into table it_cdhdr
for all entries in it_vbak
where objectclas eq co_objectclas_verkbeleg
and objectid eq it_vbak-objectid
and username in s_usrnme
and udate in s_udate.
if sy-subrc eq 0.
select objectclas objectid changenr tabname tabkey fname chngind
value_new value_old
from cdpos
into table it_cdpos
for all entries in it_cdhdr
where fname NE 'CMPRE_FLT'
and objectclas eq it_cdhdr-objectclas
and objectid eq it_cdhdr-objectid
and changenr eq it_cdhdr-changenr.
endif.
Extract customer details from KNA1
select kunnr name1
from kna1
into table it_kna1
for all entries in it_vbak
where kunnr eq it_vbak-kunnr.
---- Changes are made here -
Extract Material details from vbap
select matnr arktx
from vbap
into table it_vbap
for all entries in it_vbak
where
vbeln eq it_vbak-vbeln
and posnr eq co_posnr_initial.
-----------------End of Change ----------------------*
Extract Contract No from vbkd.
select vbeln posnr fbuda
from vbkd
into table it_vbkd
for all entries in it_vbak
where vbeln eq it_vbak-vbeln
and posnr eq co_posnr_initial.
perform merge_data tables it_cdhdr
it_cdpos
it_kna1
it_user_addr
it_merged
it_vbak
it_vbap
it_vbkd.
if it_merged[] is initial.
message s001(zgen).
exit.
endif.
Release memory no longer required.
free: it_cdhdr,
it_cdpos,
it_kna1,
it_user_addr,
it_vbak,
it_vbap,
it_vbkd.
Build field catalog for call to report function
perform build_field_catalog tables it_fieldcat.
Output report.
perform output_report tables it_fieldcat
it_merged.
*& Form merge_data
text
form merge_data tables pa_it_cdhdr type ty_it_cdhdr
pa_it_cdpos type ty_it_cdpos
pa_it_kna1 type ty_it_kna1
pa_it_user_addr type ty_it_user_addr
pa_it_merged type ty_it_merged
pa_it_vbak type ty_it_vbak
pa_it_vbap type ty_it_vbap
pa_it_vbkd type ty_it_vbkd.
Local internal tables
data:
lit_dd03l type ty_it_dd03l,
lit_dd04t type ty_it_dd04t.
Local work areas
data:
lwa_cdhdr type ty_cdhdr,
lwa_cdpos type ty_cdpos,
lwa_dd03l type ty_dd03l,
lwa_dd04t type ty_dd04t,
lwa_kna1 type ty_kna1,
lwa_user_addr type ty_user_addr,
lwa_merged type ty_merged,
lwa_vbak type ty_vbak,
lwa_vbap type ty_vbap,
lwa_vbkd type ty_vbkd.
Local variables
data:
lva_dd03l_tabix like sy-tabix,
lva_dd04t_tabix like sy-tabix.
Sort Data
sort pa_it_cdhdr by objectid changenr.
sort pa_it_cdpos by objectid changenr tabname tabkey fname.
sort pa_it_kna1 by kunnr.
sort pa_it_user_addr by bname.
sort pa_it_vbak by vbeln.
sort pa_it_vbkd by vbeln.
loop at pa_it_vbak into lwa_vbak.
clear lwa_merged.
Assign sales order fields to reporting work area
lwa_merged-vbeln = lwa_vbak-vbeln.
lwa_merged-erdat = lwa_vbak-erdat.
lwa_merged-auart = lwa_vbak-auart.
lwa_merged-faksk = lwa_vbak-faksk.
lwa_merged-netwr = lwa_vbak-netwr.
lwa_merged-waerk = lwa_vbak-waerk.
lwa_merged-vkorg = lwa_vbak-vkorg.
lwa_merged-vtweg = lwa_vbak-vtweg.
lwa_merged-vkbur = lwa_vbak-vkbur.
lwa_merged-fkara = lwa_vbak-fkara.
lwa_merged-kunnr = lwa_vbak-kunnr.
lwa_merged-bname = 1wa_user_addr-bname.
lwa_merged-xblnr = lwa_vbak-xblnr.
Assgin Material to reporting work area
lwa_merged-matnr = lwa_vbap-vbeln.
Get name of sold-to party from PA_IT_KNA1
clear lwa_kna1.
read table pa_it_kna1 into lwa_kna1
with key kunnr = lwa_vbak-kunnr
binary search.
lwa_merged-name1 = lwa_kna1-name1.
Get name from PA_it_user_addr
clear lwa_user_addr.
read table pa_it_user_addr into lwa_user_addr
with key = lwa_user_addr-bname
binary search.
lwa_merged-username = lwa_user_addr-name_textc.
Get business data from PA_IT_VBKD.
clear lwa_vbkd.
read table pa_it_vbkd into lwa_vbkd
with key vbeln = lwa_vbak-vbeln
binary search.
lwa_merged-fbuda = lwa_vbkd-fbuda.
Get Material Data
clear lwa_vbap.
read table pa_it_vbap into lwa_vbap
with key matnr = lwa_vbap-matnr
with key vbeln = lwa_vbak-vbeln
binary search.
lwa_merged-arktx = lwa_vbap-arktx.
Get internal note text for sales order
perform read_text using '0002'
'1'
lwa_merged-vbeln
'VBBK'
lwa_merged-intnote.
Get header note 1 text for sales order
perform read_text using 'Z002'
'1'
lwa_merged-vbeln
'VBBK'
lwa_merged-hdrnote.
Determine if change documents exist for sales order.
clear lwa_cdhdr.
read table pa_it_cdhdr into lwa_cdhdr
with key objectid = lwa_vbak-objectid.
if sy-subrc ne 0.
continue.
endif.
loop at pa_it_cdhdr into lwa_cdhdr
from sy-tabix.
lwa_merged-username = lwa_cdhdr-username.
lwa_merged-udate = lwa_cdhdr-udate.
lwa_merged-utime = lwa_cdhdr-utime.
lwa_merged-tcode = lwa_cdhdr-tcode.
clear lwa_cdpos.
read table pa_it_cdpos into lwa_cdpos
with key objectid = lwa_cdhdr-objectid
changenr = lwa_cdhdr-changenr
binary search.
loop at pa_it_cdpos into lwa_cdpos
from sy-tabix.
lwa_merged-tabname = lwa_cdpos-tabname.
lwa_merged-tabkey = lwa_cdpos-tabkey.
lwa_merged-fname = lwa_cdpos-fname.
lwa_merged-chngind = lwa_cdpos-chngind.
lwa_merged-value_new = lwa_cdpos-value_new.
lwa_merged-value_old = lwa_cdpos-value_old.
Get description for field - determine date element
clear lwa_dd03l.
read table lit_dd03l into lwa_dd03l
with key tabname = lwa_cdpos-tabname
fieldname = lwa_cdpos-fname
binary search.
lva_dd03l_tabix = sy-tabix.
if sy-subrc ne 0.
select single tabname fieldname as4local as4vers rollname
from dd03l
into lwa_dd03l
where tabname eq lwa_cdpos-tabname
and fieldname eq lwa_cdpos-fname
and as4local eq co_as4local_a.
if sy-subrc eq 0.
insert lwa_dd03l into lit_dd03l
index lva_dd03l_tabix.
endif.
endif.
If data element was found, get description
if not lwa_dd03l is initial.
clear lwa_dd04t.
read table lit_dd04t into lwa_dd04t
with key rollname = lwa_dd03l-rollname
ddlanguage = sy-langu
binary search.
lva_dd04t_tabix = sy-tabix.
if sy-subrc ne 0.
select single rollname ddlanguage as4local as4vers scrtext_l
from dd04t
into lwa_dd04t
where rollname eq lwa_dd03l-rollname
and ddlanguage eq sy-langu.
if sy-subrc eq 0.
insert lwa_dd04t into lit_dd04t
index lva_dd04t_tabix.
else.
lwa_dd04t-scrtext_l = 'Description for field not found'.
endif.
endif.
endif.
lwa_merged-scrtext_l = lwa_dd04t-scrtext_l.
append lwa_merged to pa_it_merged.
at end of changenr.
Only process field changes for this change document.
exit.
endat.
endloop.
at end of objectid.
Initialise work area so we know change document for order has
been processed.
clear lwa_merged.
Only process change documents for this sales order.
exit.
endat.
endloop.
endloop.
endform. " merge_data
*& Form build_field_catalog
text
form build_field_catalog tables pa_it_fieldcat type slis_t_fieldcat_alv.
data:
Local variable
lva_col_pos type slis_fieldcat_alv-col_pos,
Local structure
st_fieldcat type slis_fieldcat_alv.
lva_col_pos = 0.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname = 'PA_IT_MERGED'.
st_fieldcat-fieldname = 'VBELN'.
st_fieldcat-ref_tabname = 'VBAK'.
st_fieldcat-ref_fieldname = 'VBELN'.
st_fieldcat-row_pos = '1'.
st_fieldcat-col_pos = lva_col_pos.
append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname = 'PA_IT_MERGED'.
st_fieldcat-fieldname = 'VKBUR'.
st_fieldcat-ref_tabname = 'VBAK'.
st_fieldcat-ref_fieldname = 'VKBUR'.
st_fieldcat-row_pos = '1'.
st_fieldcat-outputlen = '6'.
st_fieldcat-col_pos = lva_col_pos.
append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname = 'PA_IT_MERGED'.
st_fieldcat-fieldname = 'VKORG'.
st_fieldcat-ref_tabname = 'VBAK'.
st_fieldcat-ref_fieldname = 'VKORG'.
st_fieldcat-row_pos = '1'.
st_fieldcat-outputlen = '6'.
st_fieldcat-col_pos = lva_col_pos.
append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname = 'PA_IT_MERGED'.
st_fieldcat-fieldname = 'KUNNR'.
st_fieldcat-ref_tabname = 'VBAK'.
st_fieldcat-ref_fieldname = 'KUNNR'.
st_fieldcat-row_pos = '1'.
st_fieldcat-col_pos = lva_col_pos.
st_fieldcat-outputlen = '6'.
append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname = 'PA_IT_MERGED'.
st_fieldcat-fieldname = 'NAME1'.
st_fieldcat-ref_tabname = 'KNA1'.
st_fieldcat-ref_fieldname = 'NAME1'.
st_fieldcat-row_pos = '1'.
st_fieldcat-outputlen = '15'.
st_fieldcat-col_pos = lva_col_pos.
append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname = 'PA_IT_MERGED'.
st_fieldcat-fieldname = 'MATNR'.
st_fieldcat-ref_tabname = 'VBAP'.
st_fieldcat-ref_fieldname = 'MATNR'.
st_fieldcat-row_pos = '1'.
st_fieldcat-col_pos = lva_col_pos.
st_fieldcat-outputlen = '6'.
append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname = 'PA_IT_MERGED'.
st_fieldcat-fieldname = 'SCRTEXT_L'.
st_fieldcat-ref_tabname = 'DD04T'.
st_fieldcat-ref_fieldname = 'SCRTEXT_L'.
st_fieldcat-row_pos = '1'.
st_fieldcat-outputlen = '20'.
st_fieldcat-col_pos = lva_col_pos.
append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname = 'PA_IT_MERGED'.
st_fieldcat-fieldname = 'UDATE'.
st_fieldcat-ref_tabname = 'CDHDR'.
st_fieldcat-ref_fieldname = 'UDATE'.
st_fieldcat-row_pos = '1'.
st_fieldcat-outputlen = '10'.
st_fieldcat-col_pos = lva_col_pos.
append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname = 'PA_IT_MERGED'.
st_fieldcat-fieldname = 'USERNAME'.
st_fieldcat-ref_tabname = 'CDHDR'.
st_fieldcat-ref_fieldname = 'USERNAME'.
st_fieldcat-row_pos = '1'.
st_fieldcat-outputlen = '6'.
st_fieldcat-col_pos = lva_col_pos.
append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname = 'PA_IT_MERGED'.
st_fieldcat-fieldname = 'FNAME'.
st_fieldcat-ref_tabname = 'CDPOS'.
st_fieldcat-ref_fieldname = 'FNAME'.
st_fieldcat-row_pos = '4'.
st_fieldcat-outputlen = '8'.
st_fieldcat-col_pos = lva_col_pos.
append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname = 'PA_IT_MERGED'.
st_fieldcat-fieldname = 'CHNGIND'.
st_fieldcat-ref_tabname = 'CDPOS'.
st_fieldcat-ref_fieldname = 'CHNGIND'.
st_fieldcat-row_pos = '1'.
st_fieldcat-outputlen = '8'.
st_fieldcat-col_pos = lva_col_pos.
append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname = 'PA_IT_MERGED'.
st_fieldcat-fieldname = 'WAERK'.
st_fieldcat-ref_tabname = 'VBAK'.
st_fieldcat-ref_fieldname = 'WAERK'.
st_fieldcat-row_pos = '1'.
st_fieldcat-outputlen = '5'.
st_fieldcat-col_pos = lva_col_pos..
append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname = 'PA_IT_MERGED'.
st_fieldcat-fieldname = 'VALUE_NEW'.
st_fieldcat-ref_tabname = 'CDPOS'.
st_fieldcat-ref_fieldname = 'VALUE_NEW'.
st_fieldcat-row_pos = '1'.
st_fieldcat-outputlen = '20'.
st_fieldcat-col_pos = lva_col_pos.
append st_fieldcat to pa_it_fieldcat.
clear st_fieldcat.
add 1 to lva_col_pos.
st_fieldcat-tabname = 'PA_IT_MERGED'.
st_fieldcat-fieldname = 'VALUE_OLD'.
st_fieldcat-ref_tabname = 'CDPOS'.
st_fieldcat-ref_fieldname = 'VALUE_OLD'.
st_fieldcat-row_pos = '1'.
st_fieldcat-outputlen = '20'.
st_fieldcat-col_pos = lva_col_pos.
append st_fieldcat to pa_it_fieldcat.
endform. " build_field_catalog
*& Form output_report
text
form output_report tables pa_it_fieldcat type slis_t_fieldcat_alv
pa_it_merged type ty_it_merged.
Local variables
data:
lva_formname type slis_formname,
lva_repid like sy-repid.
lva_repid = sy-repid.
lva_formname = 'ALV_USER_COMMAND'.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = lva_repid
i_callback_user_command = lva_formname
i_save = 'A'
is_variant = st_variant
it_fieldcat = pa_it_fieldcat[]
tables
t_outtab = pa_it_merged
exceptions
program_error = 1
others = 2.
endform. " output_report
*& Form alv_user_command
text
form alv_user_command using pa_ucomm like sy-ucomm
pa_selfield type slis_selfield.
Local work areas
data:
lwa_merged type ty_merged.
clear lwa_merged.
read table it_merged into lwa_merged
index pa_selfield-tabindex.
case pa_selfield-fieldname.
when 'VBELN'.
Contract Number
set parameter id 'AUN' field lwa_merged-vbeln.
call transaction 'VA03' and skip first screen.
S_BCE_68001393
when 'USERNAME'.
Username
set parameter id 'username' field lwa_merged-username.
call transaction 'S_BCE_68001393' and skip first screen.
when 'KUNNR'.
Customer number
set parameter id 'KUN' field lwa_merged-kunnr.
set parameter id 'VKO' field space.
set parameter id 'VTW' field space.
set parameter id 'SPA' field space.
call transaction 'XD03' and skip first screen.
endcase.
endform. " alv_user_command
*& Form read_text
text
form read_text using pa_id
pa_inline_count
pa_name
pa_object
pa_text.
Local internal tables
data:
lit_inlines type ty_it_lines,
lit_lines type ty_it_lines.
Local work areas
data:
lwa_lines type ty_lines.
Local variables
data:
lva_tdname like thead-tdname.
refresh: lit_inlines,
lit_lines.
lva_tdname = pa_name.
call function 'READ_TEXT_INLINE'
exporting
id = pa_id
inline_count = pa_inline_count
language = sy-langu
name = lva_tdname
object = pa_object
tables
inlines = lit_inlines
lines = lit_lines
exceptions
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
others = 7.
loop at lit_lines into lwa_lines.
concatenate pa_text
lwa_lines-tdline
into pa_text separated by space.
endloop.
endform. " read_text ENDLOOP.Hi
As per your code here:
"-------------- Changes are made here ----------------
*Extract Material details from vbap
select matnr arktx
from vbap
into table it_vbap
for all entries in it_vbak
where
vbeln eq it_vbak-vbeln
and posnr eq co_posnr_initial. " Here the condition specifies you want to select sales order items where there is no item number, which i beleive shouldnt be the case
" -----------------End of Change ----------------------
Try as below by commenting the Item Number is INITIAL condition:
select matnr arktx
from vbap
into table it_vbap
for all entries in it_vbak
where
vbeln eq it_vbak-vbeln.
"and posnr eq co_posnr_initial.
Regards
Eswar -
Function module to get material characteristics and coresponding value
Hi experts,
I have got one problem...when we go to t code MM03..we select the views for a specific material for Basic Data1,Basic Data2 and Classification..in classification we get the material description and its corresponding values...
These values we receive through specific class and its corresponding object....I want some Function Module which will allow me to receive the description and corresponding value for the material which will automatically retrieve the data for that material using the class and object...
Please help me to sort this problem...
Thanks in advanceTRY these two FMs
1) CLAF_CLASSIFICATION_OF_OBJECTS and
2) Bapi_objcl_getdetails.
for first one it gets the all characteristics assigned to the class even though the values are not assigned
in second case onle the vlaues assigned characteristics will get -
How to get ATINN value based on material number and Class Type ?
I have below SELECT stmt code which gives the correct value of atwrt based on materil no and ATINN.
However in quality system, it is failing because in quality system "atinn" value is not 0000000381. It is different.
So how can I get ATINN(Internal characteristic) value based on material number and Class Type?
-Obtain the batch characterstic value for the Material******************
SELECT atwrt
UP TO 1 ROWS
INTO v_charvalue
FROM ausp
WHERE objek = mcha-matnr
AND atinn = '0000000381' " 'US80_FRENCH_ON_LABEL'
AND klart = '001'.
THANKS N ADVANCE.Hi SAm,
use the Below function module to get the Atinn for Atwrt for thr Class and MAterial combination..
CALL FUNCTION 'CLAF_CLASSIFICATION_OF_OBJECTS'
EXPORTING
classtype = '023' "Class type
object = w_object "Material number with Leading zeros
no_value_descript = 'X' "Default X
objecttable = 'MCH1' "Table name Mara or MCH1 or MARC
TABLES
t_class = t_class "It return the Batch class available for the above combination
t_objectdata = t_char "Return Batch characteristics(ATWRT) and their value ATINN in this table
EXCEPTIONS
no_classification = 1
no_classtypes = 2
invalid_class_type = 3
OTHERS = 4.
Regards,
Prabhudas -
Hello Experts,
Are there any available FMs or BAPIs to get the material documents and its movement type?
Just like in transaction MB5B(Stocks on posting date)
Hope you can help me guys. Thank you and take care!As I said, I need an FM or BAPI and not a standard transaction.
Thanks. -
Need to get the production order by inputting Material number and serial no
Hi Experts,
I have material number and serial number . All I need is PRODUCTION ORDER number.
Can any one give the table joints for that ?
Thanks,
Koya.hai check this code.. similar req:
REPORT z_so_info.
TABLES: vbak, vbap, afko, afpo.
*Field catalog
TYPE-POOLS: slis.
DATA: lv_repid TYPE sy-repid VALUE sy-repid,
xfield TYPE slis_t_fieldcat_alv,
afield TYPE slis_fieldcat_alv.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(25) text-002.
SELECT-OPTIONS: so_so FOR vbak-vbeln OBLIGATORY.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-003.
PARAMETERS:
p_kunnr LIKE vbak-kunnr, " sold-to
p_kunwe LIKE vbak-kunnr. " ship-to
SELECTION-SCREEN END OF BLOCK b2.
*Constants
CONSTANTS: c_zor TYPE vbak-auart VALUE 'ZOR',
c_we TYPE vbpa-parvw VALUE 'WE',
c_ag TYPE vbpa-parvw VALUE 'AG'.
* c_space TYPE space.
*Ranges
RANGES: ra_parvw FOR vbpa-parvw,
ra_kunnr FOR vbpa-kunnr.
*Tables
DATA: BEGIN OF gt_output OCCURS 0,
vbeln LIKE vbak-vbeln, " sales order number
posnr LIKE vbap-posnr, " SO item number
matnr LIKE vbap-matnr, " material number
sh LIKE vbpa-kunnr, " Ship-to
sp LIKE vbpa-kunnr, " Sold-to
lifnr LIKE ekko-lifnr, " Vendor
bstnk LIKE vbak-bstnk, " PO number
banfn LIKE vbep-banfn, " Purchase requi
po_st TYPE char30, " PO status text
pstyv TYPE vbap-pstyv, " Item catagory
aufnr LIKE afpo-aufnr, " Production Order
prd_stat TYPE string, " Prd order status
END OF gt_output.
DATA: wa_output LIKE gt_output.
FIELD-SYMBOLS: <fs_output> LIKE gt_output.
*Table for sales order and PO
TYPES : BEGIN OF gs_data,
vbeln TYPE vbak-vbeln,
posnr TYPE vbap-posnr,
pstyv TYPE vbap-pstyv,
matnr TYPE vbap-matnr,
END OF gs_data.
DATA: gt_data TYPE STANDARD TABLE OF gs_data,
wa_data TYPE gs_data.
*Table for Production Orders
TYPES: BEGIN OF gs_prd,
aufnr TYPE afpo-aufnr,
posnr TYPE afpo-posnr,
kdauf TYPE afpo-kdauf,
kdpos TYPE afpo-kdpos,
wepos TYPE afpo-wepos, "Goods Receipt Indicator
elikz TYPE afpo-elikz, "Delivery Completed Indicator
objnr TYPE aufk-objnr, "Object number
* getri TYPE afko-getri, "Confirmed Order Finish Date
* gltri TYPE afko-gltri, "Actual finish date
END OF gs_prd.
DATA: gt_prd TYPE STANDARD TABLE OF gs_prd,
wa_prd TYPE gs_prd.
*Table for partner data
TYPES: BEGIN OF gs_partner,
vbeln TYPE vbak-vbeln,
posnr TYPE vbap-posnr,
parvw TYPE vbpa-parvw,
kunnr TYPE vbpa-kunnr,
END OF gs_partner.
DATA: gt_partner TYPE STANDARD TABLE OF gs_partner,
wa_partner TYPE gs_partner.
TYPES: BEGIN OF gs_po,
ebeln TYPE ekkn-ebeln,
ebelp TYPE ekkn-ebelp,
vbeln TYPE ekkn-vbeln,
vbelp TYPE ekkn-vbelp,
END OF gs_po.
DATA: gt_po TYPE STANDARD TABLE OF gs_po,
wa_po TYPE gs_po.
TYPES: BEGIN OF gs_preq,
vbeln TYPE vbep-vbeln,
posnr TYPE vbep-posnr,
banfn TYPE vbep-banfn,
END OF gs_preq.
DATA: gt_preq TYPE STANDARD TABLE OF gs_preq,
wa_preq TYPE gs_preq.
TYPES: BEGIN OF gs_po_stat,
ebeln TYPE ekko-ebeln,
procstat TYPE ekko-procstat,
lifnr TYPE ekko-lifnr,
END OF gs_po_stat.
DATA: gt_po_stat TYPE STANDARD TABLE OF gs_po_stat,
wa_po_stat TYPE gs_po_stat.
*Field symbols
FIELD-SYMBOLS: <fs> TYPE tj02t-txt04,
<fs_temp> TYPE tj02t-txt04,
<fs_stat> TYPE char30.
START-OF-SELECTION.
PERFORM fr_build_range.
PERFORM fr_get_data.
PERFORM fr_build_fc.
PERFORM fr_output.
*& Form fr_get_data
* text
* --> p1 text
* <-- p2 text
FORM fr_get_data.
*Get SO
SELECT a~vbeln a~posnr a~pstyv a~matnr
FROM vbap AS a
JOIN vbak AS b
ON a~vbeln = b~vbeln
JOIN vbpa AS c
ON b~vbeln = c~vbeln
INTO TABLE gt_data
WHERE b~vbeln IN so_so
AND b~auart EQ c_zor "Only Sales Orders
AND c~kunnr IN ra_kunnr. "from selection screen
DELETE ADJACENT DUPLICATES FROM gt_data COMPARING vbeln posnr.
*get data of the production order
IF NOT gt_data[] IS INITIAL.
SELECT a~aufnr a~posnr a~kdauf a~kdpos a~wepos a~elikz
b~objnr
FROM afpo AS a
JOIN aufk AS b
ON a~aufnr = b~aufnr
INTO TABLE gt_prd
FOR ALL ENTRIES IN gt_data
WHERE a~kdauf EQ gt_data-vbeln
AND a~kdpos EQ gt_data-posnr.
ENDIF.
*Get partner data
IF NOT gt_data[] IS INITIAL.
SELECT vbeln posnr parvw kunnr
FROM vbpa
INTO TABLE gt_partner
FOR ALL ENTRIES IN gt_data
WHERE vbeln EQ gt_data-vbeln.
ENDIF.
*Get Purchase Order
IF NOT gt_data[] IS INITIAL.
SELECT ebeln ebelp vbeln vbelp
FROM ekkn
INTO TABLE gt_po
FOR ALL ENTRIES IN gt_data
WHERE vbeln EQ gt_data-vbeln
AND vbelp EQ gt_data-posnr.
SELECT vbeln posnr banfn
FROM vbep
INTO TABLE gt_preq
FOR ALL ENTRIES IN gt_data
WHERE vbeln EQ gt_data-vbeln
AND posnr EQ gt_data-posnr.
ENDIF.
IF NOT gt_po[] IS INITIAL.
SELECT a~ebeln a~procstat a~lifnr
FROM ekko AS a
JOIN ekpo AS b
ON a~ebeln = b~ebeln
INTO TABLE gt_po_stat
FOR ALL ENTRIES IN gt_po
WHERE b~ebeln EQ gt_po-ebeln
AND b~ebelp EQ gt_po-ebelp.
ENDIF.
*Move data to output table
LOOP AT gt_data INTO wa_data.
wa_output-vbeln = wa_data-vbeln.
wa_output-posnr = wa_data-posnr.
wa_output-pstyv = wa_data-pstyv.
wa_output-matnr = wa_data-matnr.
READ TABLE gt_po INTO wa_po WITH KEY vbeln = wa_data-vbeln
vbelp = wa_data-posnr.
IF sy-subrc EQ 0.
wa_output-bstnk = wa_po-ebeln.
READ TABLE gt_po_stat INTO wa_po_stat WITH KEY ebeln = wa_po-ebeln.
IF sy-subrc EQ 0.
wa_output-lifnr = wa_po_stat-lifnr.
CASE wa_po_stat-procstat.
WHEN '01'.
wa_output-po_st = 'Version in process'.
WHEN '02'.
wa_output-po_st = 'Active'.
WHEN '03'.
wa_output-po_st = 'In release'.
WHEN '04'.
wa_output-po_st = 'Partially released'.
WHEN '05'.
wa_output-po_st = 'Released Completely'.
WHEN '08'.
wa_output-po_st = 'Rejected'.
ENDCASE.
ENDIF. "inner read subrc
ENDIF. "outer read subrc
READ TABLE gt_preq INTO wa_preq WITH KEY vbeln = wa_data-vbeln
posnr = wa_data-posnr.
IF sy-subrc EQ 0.
wa_output-banfn = wa_preq-banfn.
ENDIF.
READ TABLE gt_prd INTO wa_prd WITH KEY kdauf = wa_data-vbeln
kdpos = wa_data-posnr.
IF sy-subrc EQ 0.
wa_output-aufnr = wa_prd-aufnr.
*get the purchase requisition for production order as well
SELECT SINGLE banfn
FROM ebkn
INTO wa_output-banfn
WHERE aufnr EQ wa_prd-aufnr.
*Get the status of the production order
PERFORM fr_get_prd_stat USING wa_prd-objnr
CHANGING wa_output-prd_stat.
ENDIF. " sy-subrc
READ TABLE gt_partner INTO wa_partner WITH KEY vbeln = wa_data-vbeln
parvw = c_we.
IF sy-subrc EQ 0.
wa_output-sh = wa_partner-kunnr.
ENDIF.
READ TABLE gt_partner INTO wa_partner WITH KEY vbeln = wa_data-vbeln
parvw = c_ag.
IF sy-subrc EQ 0.
wa_output-sp = wa_partner-kunnr.
ENDIF.
APPEND wa_output TO gt_output.
CLEAR: wa_data, wa_prd,wa_partner,wa_output.
ENDLOOP.
ENDFORM. " fr_get_data
*& Form fr_build_range
* text
* --> p1 text
* <-- p2 text
FORM fr_build_range .
*Range for partner function
MOVE 'I' TO ra_parvw-sign.
MOVE 'EQ' TO ra_parvw-option.
MOVE 'SH' TO ra_parvw-low. " we
APPEND ra_parvw.
CLEAR ra_parvw.
MOVE 'I' TO ra_parvw-sign.
MOVE 'EQ' TO ra_parvw-option.
MOVE 'SP' TO ra_parvw-low. " ag
APPEND ra_parvw.
CLEAR ra_parvw.
*Range for ship-to and sold-to
MOVE 'I' TO ra_kunnr-sign.
MOVE 'EQ' TO ra_kunnr-option.
MOVE p_kunnr TO ra_kunnr-low.
APPEND ra_kunnr.
CLEAR ra_kunnr.
MOVE 'I' TO ra_kunnr-sign.
MOVE 'EQ' TO ra_kunnr-option.
MOVE p_kunwe TO ra_kunnr-low.
APPEND ra_kunnr.
CLEAR ra_kunnr.
ENDFORM. " fr_build_range
*& Form fr_build_fc
* text
* --> p1 text
* <-- p2 text
FORM fr_build_fc .
* sales order number
afield-fieldname = 'VBELN'.
afield-seltext_s = 'Sales #'.
afield-ref_tabname = 'VBAK'.
APPEND afield TO xfield. CLEAR afield.
* sales ITEM number
afield-fieldname = 'POSNR'.
afield-seltext_s = 'Item #'.
afield-ref_tabname = 'VBAP'.
APPEND afield TO xfield. CLEAR afield.
* Material Number
afield-fieldname = 'MATNR'.
afield-seltext_s = 'Material #'.
afield-ref_tabname = 'VBAP'.
afield-outputlen = 10.
APPEND afield TO xfield. CLEAR afield.
*Vendor Number
afield-fieldname = 'LIFNR'.
afield-seltext_s = 'Vendor Num.'.
afield-ref_tabname = 'EKKO'.
APPEND afield TO xfield. CLEAR afield.
* ship-to-party
afield-fieldname = 'SH'.
afield-seltext_s = 'Ship-to'.
afield-ref_tabname = 'VBPA'.
APPEND afield TO xfield. CLEAR afield.
* sold-to-party
afield-fieldname = 'SP'.
afield-seltext_s = 'Sold-to'.
afield-ref_tabname = 'VBPA'.
APPEND afield TO xfield. CLEAR afield.
*PO number
afield-fieldname = 'BSTNK'.
afield-seltext_s = 'PO NUM'.
afield-ref_tabname = 'EKKO'.
APPEND afield TO xfield. CLEAR afield.
*PO status
* afield-fieldname = 'PO_STAT'.
* afield-seltext_s = 'Step'.
* afield-ref_tabname = 'zbacklog_v2'.
* APPEND afield TO xfield. CLEAR afield.
*PO step status
afield-fieldname = 'PO_ST'.
afield-seltext_s = 'PO.Status'.
afield-ref_tabname = 'zbacklog_v2'.
APPEND afield TO xfield. CLEAR afield.
*Purchase requisition
afield-fieldname = 'BANFN'.
afield-seltext_s = 'Pur. Req.'.
afield-ref_tabname = 'VBEP'.
APPEND afield TO xfield. CLEAR afield.
*Item catagory
afield-fieldname = 'PSTYV'.
afield-seltext_s = 'Itm. Catg'.
afield-ref_tabname = 'VBAP'.
APPEND afield TO xfield. CLEAR afield.
*Prodcution Order number
afield-fieldname = 'AUFNR'.
afield-seltext_m = 'Prod.Order'.
afield-ref_tabname = 'AFKO'.
APPEND afield TO xfield. CLEAR afield.
*PRODCUTION status
afield-fieldname = 'PRD_STAT'.
afield-seltext_s = 'Prd. Step'.
afield-ref_tabname = 'zbacklog_v2'.
afield-outputlen = 20.
APPEND afield TO xfield. CLEAR afield.
*PRODUCTION step status
* afield-fieldname = 'PRD_ST'.
* afield-seltext_s = 'Prd. Status'.
* afield-ref_tabname = 'zbacklog_v2'.
* APPEND afield TO xfield. CLEAR afield.
ENDFORM. " fr_build_fc
*& Form fr_output
* text
* --> p1 text
* <-- p2 text
FORM fr_output .
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = sy-repid
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_STRUCTURE_NAME =
* IS_LAYOUT =
it_fieldcat = xfield[]
i_default = 'X'
i_save = 'A'
TABLES
t_outtab = gt_output
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDFORM. " fr_output
*& Form fr_get_prd_stat
* text
* -->P_WA_PRD_OBJNR text
FORM fr_get_prd_stat USING p_objnr CHANGING p_prd_stat.
DATA: lt_status TYPE STANDARD TABLE OF jstat,
wa_status TYPE jstat,
lv_status TYPE tj02t-txt04,
lv_temp2 TYPE char5,
lv_buff TYPE string.
CALL FUNCTION 'STATUS_READ'
EXPORTING
client = sy-mandt
objnr = p_objnr
only_active = 'X'
TABLES
status = lt_status
EXCEPTIONS
object_not_found = 1
OTHERS = 2.
LOOP AT lt_status INTO wa_status.
IF wa_status-stat(1) EQ 'I'.
SELECT txt04 FROM tj02t
INTO lv_status
WHERE istat EQ wa_status-stat
AND spras EQ 'E'.
ENDSELECT.
lv_temp2 = lv_status.
CONCATENATE lv_temp2 p_prd_stat INTO p_prd_stat
SEPARATED BY ','.
ENDIF.
CLEAR: wa_status, lv_status, lv_temp2.
ENDLOOP.
lv_buff = p_prd_stat.
*Status of Production Order
IF lv_buff CS 'CRTD'.
p_prd_stat = 'Not Active'.
ENDIF.
IF lv_buff CS 'REL'.
IF lv_buff CS 'GMPS'.
p_prd_stat = 'Printed In Prod'.
ELSE.
p_prd_stat = 'Printed'.
ENDIF.
ENDIF.
IF lv_buff CS 'TECO'.
p_prd_stat = 'Technically Compt.'.
ENDIF.
ENDFORM. " fr_get_prd_stat -
Material Number and Serial Number are not getting filled...Very very urgent
I have my code in the badi...CRM_EQUI_LOAD...method PERFORM_LOAD.In this i try to to create a component for the ibase using the function module... CRM_ICSS_CREATE_COMPONENT...The component gets created but the material and serial number are not getting updated...It is very very urgent..please help....
I am not sure what information you are passing in given FM.
But in my case I have used FM 'CRM_CREATE_IBASE_FROM_EQUI' to create Ibase and component. It creates IBase and Component along with other details like material number and serial number.
you may refer the below code for the same >
Call the standard handling for crm equi load.
call function 'CRM_CREATE_IBASE_FROM_EQUI'
exporting
is_header = is_header
it_equi_dmbdoc = it_equi_dmbdoc
changing
et_error_segments = ct_error_segment
exceptions
technical_error = 1
others = 2.
if sy-subrc <> 0.
raise equi_load_badi_error.
endif.
Cheers,
Ashish -
How can i get the open sale orders for given material no and plant
Hi,
I have to retrieve the open sale orders depending on the material number and plant.
For only open sale orders at header level and item level.
I want to use VBUK-GBSTK to find open sale order at header level and
VBUP-GBSTA at item level.
Can any one suggest me the best logic as performance is concerned?
Thanks,
Kumar.hi Prasanth,
select werks matnr from ZVSCHDRUN into table it_plant.
sort it_plant by matnr werks.
select
vbeln
posnr
matnr
werks
erdat
kbmeng
vrkme
from vbap
into table it_vbap
for all entries in it_plant
where matnr = it_plant-matnr and
werks = it_plant-werks.
and again i have to write one more select query for vbup.
am i right? -
Nested Material Discontinuation and follow-up possible?
Hello Experts,
We have a scenario where we have Material A, Material B, and Material C.
We'd like to set to the discontinuation flag on Material A and have it follow-up with Material B.
We'd also like to set the discontinuation flag on Material B and have it follow-up with Material C.
We can get a 1-to-1 relationship working properly but adding another material to the mix gives us an error message stating that the material is already a follow-up material.
Is there any way around this? We have several older revision material that we'd prefer to use up before continuing on the active material.
Many thanks,
~AdamHi Adam,
have you found solution for your issue?? I have the same problem. I've even tried put deletion flag for component A but no results.
maybe somebody else has any clue how to deal with it??
i'm looking forward for any help. -
Sales text and config for a material
Hi,
I need to know on which table are the maintained Sales text, languages and configuration for a material are stored on R/3
Thanks for any comments
KamranHi vahed kamran,
As said by Aparna, the text are stored in table STXH. we need to fetch them by using the fields
TDOBJECT Texts: Application Object
TDNAME Name
TDID Text ID
TDSPRAS Language Key
we can use READ_TEXT Function module to get the text.
For Example
CALL FUNCTION 'READ_TEXT'
EXPORTING
ID = '0001'
LANGUAGE = 'E'
NAME = XNAME
OBJECT = 'VBBP'
TABLES
LINES = i_XTLINE
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6.
Best regards,
raam
Maybe you are looking for
-
Unwanted spaces in cross references.
Im getting an extra space just after the opening quote in some cross references in FM10 Structured document. This causes the cross reference to wrap around incorrectly and also looks bad. The space does not appear in the definition, in fact majority
-
Pascal code to asscess database
Hi programmers, Can we use Pascal code to access an Oracle database and if it is please point me to where I can find sample PASCAL code. We are on Linux server running Redhat2.5 with Oracle 9i. I am developing an application in Pascal, could use exte
-
Hi Experts, I have created Sales report with Calendar Date prompt (Default date is between 08/01/2010 and 08/15/2010) My requirement is, in Dashboard I need to place Sales Comparison Report below the Sales report but the Data should be Exact one year
-
DO I have options?
-
Migrate Roll between Libraries?
I imported a set of photos into iPhoto 6.0.6 on one computer and edited them. Now I'd like to merge the entire "roll" from that computer into my main iPhoto library on a different computer in such a way that preserves all the "roll" attributes, inclu