‎2009 Apr 09 11:46 AM
Hi All,
My requirement is to fetch characteristic value for the material and batch from MSC3N tcode.
I think we can use this Function module BAPI_OBJCL_GETDETAIL, however I am not able to use it.
Kindly let me know how to pass the data to obtain cahracteristics value based on Material no and Batch no.
What will be the following input parameters
OBJECTKEY
OBJECTTABLE
Thanks in advance,
Amruta
‎2009 Apr 12 12:51 AM
‎2009 Apr 12 9:51 AM
Try a where used list on this FM or serach in this Forum only
‎2009 Apr 12 11:11 AM
hi amruta sawant , try this sample code .
CALL FUNCTION 'BAPI_OBJCL_CHANGE'
EXPORTING
objectkey = '102315' "Customer
objecttable = 'KNA1'
classnum = 'CATALOG_VIEW_CUST' "Class Number
classtype = '011' "Class Type
regards
chinnaiya
‎2009 May 12 10:03 PM
CALL FUNCTION 'BAPI_OBJCL_GETDETAIL'
EXPORTING
objectkey = l_objkey " concatenate material ,batch
objecttable = table "MCH1
classnum = class name "u can find this in MSC3n
classtype = Classtype "023
TABLES
allocvalueschar = i_allocvalueschar
allocvaluesnum = i_char_val
allocvaluescurr = i_allocvaluescurr
return = i_return1.
READ TABLE i_char_val into <wa> WITH KEY charact = 'ACCEPTBY' or any other charc
*call this FM for convertion
CALL FUNCTION 'CTCV_CONVERT_FLOAT_TO_DATE'
‎2009 May 13 10:53 AM
Hi,
Try this sample code:
* Retreive the existing Class Data First
CALL FUNCTION 'BAPI_OBJCL_GETDETAIL'
EXPORTING
OBJECTKEY = V_OBJNUM
OBJECTTABLE = C_TABL " EQUI
CLASSNUM = C_CLSNUM " GL_INSP
CLASSTYPE = C_CLAS " Z02
UNVALUATED_CHARS = C_X " X
LANGUAGE = SY-LANGU
TABLES
ALLOCVALUESNUM = I_ALLOCNUM
ALLOCVALUESCHAR = I_ALLOCCHAR
ALLOCVALUESCURR = I_ALLOCCURR
RETURN = I_RETURN.
* Handle errors for when reading the class data
LOOP AT I_RETURN WHERE TYPE = C_E. " E
* Read long text of error message
CALL FUNCTION 'BAPI_MESSAGE_GETDETAIL'
EXPORTING
ID = I_RETURN-ID
NUMBER = I_RETURN-NUMBER
TEXTFORMAT = C_TEXT " ASC
MESSAGE_V1 = I_RETURN-MESSAGE_V1
MESSAGE_V2 = I_RETURN-MESSAGE_V2
MESSAGE_V3 = I_RETURN-MESSAGE_V3
MESSAGE_V4 = I_RETURN-MESSAGE_V4
IMPORTING
MESSAGE = V_MESSAGE
TABLES
TEXT = I_BAPITGB.
MESSAGE V_MESSAGE TYPE C_E. " E
LOOP AT I_BAPITGB.
MESSAGE I_BAPITGB-LINE TYPE C_E. " E
ENDLOOP.
ENDLOOP.Rgds.
RamaniN
‎2010 Oct 12 11:31 AM
Hi
It's:
OBJECTKEY = 000000000031000015 (a full lenght mat. number (which internally is stored as C(18))
OBJECTTABLE = MARA
Br,
Philippe
Edited by: Philippe Addor on Nov 11, 2010 2:10 PM
‎2010 Nov 11 1:15 PM
>
> Hi
>
> It's:
> OBJECTKEY = 000000000031000015 (a full lenght mat. number (which internally is stored as C(18))
>
> OBJECTTABLE = MARA
>
> Br,
> Philippe
>
> Edited by: Philippe Addor on Nov 11, 2010 2:10 PM
Almost... if it's a batch without plant: use MCH1
If it's within a plant use MCHA and possible concatenate the WERKS into OBJECTKEY as well. Check the contents in table INOB to see how the fields must be concatenated.
edit:
As said before: concatenate MATNR and CHARG into OBJECTKEY for MCH1.
If you only have the 40 long (external) material number: then you can find the 18 long (internal) in table MATERIALID.
edit2: ok.. just noticed it.. reply on on an necro'ed thread...
-
Stop hugging me!
‎2010 Nov 11 2:02 PM
This is an example of data imput for BAPI_OBJCL_GETDETAIL
lv_key_object = matnr + charg " 28 CHARACTERS LONG.
lv_objecttable = 'MCH1'.
lv_classnum = 'XA_LOTE_MATERIAL'.
lv_classtype = '023'.
CALL FUNCTION 'BAPI_OBJCL_GETDETAIL'
EXPORTING
objectkey = lv_key_object
objecttable = lv_objecttable
classnum = lv_classnum
classtype = lv_classtype
* KEYDATE = SY-DATUM
* UNVALUATED_CHARS = ' '
* LANGUAGE = SY-LANGU
* IMPORTING
* STATUS = STATUS
* STANDARDCLASS = STANDARDCLASS
TABLES
allocvaluesnum = lt_num
allocvalueschar = lt_char
allocvaluescurr = lt_curr
RETURN = lt_return.
‎2025 Feb 14 9:47 AM
*&---------------------------------------------------------------------*
REPORT zrr_test.
*&---------------------------------------------------------------------*
DATA: lt_bapi1003 TYPE TABLE OF bapi1003_alloc_values_num,
lt_values_char TYPE TABLE OF bapi1003_alloc_values_char,
ls_values_char TYPE bapi1003_alloc_values_char,
lt_values_curr TYPE TABLE OF bapi1003_alloc_values_curr,
lt_bapiret2 TYPE TABLE OF bapiret2,
ls_bapiret2 TYPE bapiret2.
DATA: ls_bapi1003 TYPE bapi1003_alloc_values_num,
ls_objkey TYPE bapi1003_key-object,
ls_otable TYPE bapi1003_key-objecttable VALUE 'MCH1',
ls_classnum TYPE bapi1003_key-classnum VALUE 'GLOBAL_BATCH_CLASS',
ls_classtype TYPE bapi1003_key-classtype VALUE '023'.
BREAK rgarnepudi.
DATA:lv_objectkey_long TYPE bapi1003_key-object_long.
DATA:lv_len TYPE i.
DATA(lv_matnr) = 'ENDITEMDELIVERABLE-AURORA'.
**lv_matnr = lv_matnr+0(18).
lv_objectkey_long(40) = lv_matnr.
lv_objectkey_long+40(4) = '2550'.
lv_objectkey_long+40(10) = '0000001944'.
CALL FUNCTION 'BAPI_OBJCL_GETDETAIL'
EXPORTING
objectkey = ls_objkey
objecttable = ls_otable
classnum = ls_classnum
classtype = ls_classtype
keydate = sy-datum
unvaluated_chars = ' '
language = sy-langu
objectkey_long = lv_objectkey_long
** IMPORTING
** status =
** standardclass =
TABLES
allocvaluesnum = lt_bapi1003
allocvalueschar = lt_values_char
allocvaluescurr = lt_values_curr
return = lt_bapiret2.
ls_values_char-charact = 'BATCH_NUMBER'. "Characteristics
ls_values_char-value_char_long = '123456789'. "characteristics value
APPEND ls_values_char TO lt_values_char.
CALL FUNCTION 'BAPI_OBJCL_CHANGE'
EXPORTING
objectkey_long = lv_objectkey_long
objecttable = ls_otable
classnum = ls_classnum
classtype = ls_classtype
TABLES
allocvaluesnumnew = lt_bapi1003
allocvaluescharnew = lt_values_char
allocvaluescurrnew = lt_values_curr
return = lt_bapiret2.
READ TABLE lt_bapiret2 INTO ls_bapiret2 WITH KEY type = 'S'.
IF sy-subrc = 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
ENDIF.