11-05-2013 7:55 AM
Hi Experts,
I am using the BAPI [BAPI_OBJCL_CHANGE] to transfer the material characteristics values .
In spite of getting success message the characteristics vales are not transferred to the materiel in classification view.
Please suggest me any solution.
Thanks and Regards.
Uma
11-05-2013 8:18 AM
Hi uma devi,
1. debug and find the problem or
2. Share your code to understand your problem or
3. Just search in SCN or google you will get lot of information on BAPI_OBJCL_CHANGE
See this wiki page
http://wiki.scn.sap.com/wiki/display/Snippets/BAPI_OBJCL_CHANGE+for+modifying+characteristics+values
REPORT
zs1 NO
STANDARD
PAGE
HEADING
LINE
-
SIZE
500.
DATA
: git_bapi1003
TYPE
TABLE
OF bapi1003_alloc_values_num,
git_values_char
TYPE
TABLE
OF bapi1003_alloc_values_char,
git_values_curr
TYPE
TABLE
OF bapi1003_alloc_values_curr,
git_bapiret2
TYPE
TABLE
OF bapiret2,
ls_bapiret2
TYPE
bapiret2.
DATA
: gs_bapi1003
TYPE
bapi1003_alloc_values_num,
gs_values_char
TYPE
bapi1003_alloc_values_char,
gs_values_curr
TYPE
bapi1003_alloc_values_char,
gc_flag_x(1)
TYPE
c VALUE
'X'
.
gs_values_char-charact =
'VIEWS_ID'
.
"Characteristics
gs_values_char-value_char = '012'. "
characteristics value
APPEND
gs_values_char
TO
git_values_char.
CALL
FUNCTION
'BAPI_OBJCL_CHANGE'
EXPORTING
objectkey =
'1100000028'
"Customer
objecttable = 'KNA1'
classnum = 'CATALOG_VIEW_CUST' "
Class Number
classtype =
'011'
"Class Type
TABLES
allocvaluesnumnew = git_bapi1003
allocvaluescharnew = git_values_char
allocvaluescurrnew = git_values_curr
return = git_bapiret2.
CALL
FUNCTION
'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait =
'X'
IMPORTING
return = ls_bapiret2.
11-05-2013 8:01 AM
Hello,
Please have a glance at this link if it meets your requirements.
http://scn.sap.com/thread/1816534
Thanks and Kind Regards,
Yovish.
11-05-2013 8:05 AM
have you written the BAPI COMMIT statement after executing the BAPI?
11-05-2013 8:18 AM
Hi uma devi,
1. debug and find the problem or
2. Share your code to understand your problem or
3. Just search in SCN or google you will get lot of information on BAPI_OBJCL_CHANGE
See this wiki page
http://wiki.scn.sap.com/wiki/display/Snippets/BAPI_OBJCL_CHANGE+for+modifying+characteristics+values
REPORT
zs1 NO
STANDARD
PAGE
HEADING
LINE
-
SIZE
500.
DATA
: git_bapi1003
TYPE
TABLE
OF bapi1003_alloc_values_num,
git_values_char
TYPE
TABLE
OF bapi1003_alloc_values_char,
git_values_curr
TYPE
TABLE
OF bapi1003_alloc_values_curr,
git_bapiret2
TYPE
TABLE
OF bapiret2,
ls_bapiret2
TYPE
bapiret2.
DATA
: gs_bapi1003
TYPE
bapi1003_alloc_values_num,
gs_values_char
TYPE
bapi1003_alloc_values_char,
gs_values_curr
TYPE
bapi1003_alloc_values_char,
gc_flag_x(1)
TYPE
c VALUE
'X'
.
gs_values_char-charact =
'VIEWS_ID'
.
"Characteristics
gs_values_char-value_char = '012'. "
characteristics value
APPEND
gs_values_char
TO
git_values_char.
CALL
FUNCTION
'BAPI_OBJCL_CHANGE'
EXPORTING
objectkey =
'1100000028'
"Customer
objecttable = 'KNA1'
classnum = 'CATALOG_VIEW_CUST' "
Class Number
classtype =
'011'
"Class Type
TABLES
allocvaluesnumnew = git_bapi1003
allocvaluescharnew = git_values_char
allocvaluescurrnew = git_values_curr
return = git_bapiret2.
CALL
FUNCTION
'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait =
'X'
IMPORTING
return = ls_bapiret2.
11-05-2013 8:52 AM
Hi Ramesh,
When am debugging, return table is filling with success message but stranded is not updating the same.
This is my BAPI
call function 'BAPI_OBJCL_CHANGE'
exporting
objectkey = gv_objek
objecttable = 'MARA'
classnum = 'COILS_BATCH_CLASS'
classtype = '023'
keydate = sy-datum
tables
allocvaluesnumnew = it_num
allocvaluescharnew = it_char
allocvaluescurrnew = it_curr
return = it_return.
call function 'BAPI_TRANSACTION_COMMIT'
exporting
wait = 'X'.
1 | S | CL | 506 | Saving changes to assignments | $000002 | 000001 |
2 | S | CL | 737 | Assignment changed | 000000 |
This what am getting in return table
Thanks and regards,
Uma
11-05-2013 9:02 AM
Looking at the message it looks like Classification data is not created and you are trying to change it . I think you should use 'BAPI_OBJCL_CREATE to create the classifications first
11-05-2013 9:12 AM
Hi Madan,
Yes what you said is right Classification data is not created but change bapi changes an existing classification, or creates the classification if it does not yet exist right?
11-05-2013 9:16 AM
11-05-2013 10:54 AM
Hi Madan,
When am trying to create Assignment getting the below errors...
I | CL | 732 | Assignment does not exist or is not valid on |
E | CL | 117 | Class type 023, object type MARA, object 000000000001093352 |
E | CL | 763 | Object 000000000001093352 does not exist |
I | CL | 736 | Assignment was not created |
Am using below code
CALL FUNCTION 'BAPI_OBJCL_CONCATENATEKEY_KEY'
EXPORTING
objecttable = 'MARA'
classtype = '023'
IMPORTING
CLOBJECTKEYOUT = l_objnum
tables
objectkeytable = IT_KEY
return = it_return
.
CALL FUNCTION 'BAPI_OBJCL_CREATE'
EXPORTING
objectkeynew = l_objnum
objecttablenew = 'MARA'
classnumnew = 'COILS_BATCH_CLASS'
classtypenew = '023'
* STATUS = '1'
* STANDARDCLASS =
* CHANGENUMBER =
KEYDATE = SY-DATUM
* NO_DEFAULT_VALUES = ' '
* IMPORTING
* CLASSIF_STATUS =
tables
ALLOCVALUESNUM = it_num
ALLOCVALUESCHAR = it_char
ALLOCVALUESCURR = it_curr
return = it_return
.
Please help me on this
regards
uam
11-05-2013 11:00 AM
Dont use the first FM
W_CLASSTYPE = 'ABC'
W_CLASSNUM = '123'.
W_OBJECTTABLE = 'MARA'.
W_OBJECT = 'ENTER MATERIAL NUMBER'.
DATA: W_CLASSIF_STATUS(1).
CALL FUNCTION 'BAPI_OBJCL_CREATE'
EXPORTING
OBJECTKEYNEW = W_OBJECT
OBJECTTABLENEW = W_OBJECTTABLE
CLASSNUMNEW = W_CLASSNUM
CLASSTYPENEW = W_CLASSTYPE
IMPORTING
CLASSIF_STATUS = W_CLASSIF_STATUS
TABLES
RETURN = W_RETURN
.
11-05-2013 11:25 AM
Thanks a lot Madan
Issues is solved .....
Admire and appreciate your skill
11-06-2013 9:47 AM
Hi Madan,
Is there any BAPI or can we use same BAPI to create or change the characteristic values pertaining to Batch.
Thanks And Regards.,
Uma
11-06-2013 10:39 AM
11-06-2013 11:07 AM
Thanks Madan...
May i know how to fill the objectkeynew, i tried as following ways
1st way: move: g_matnr to gv_objek(18),
w_ztppi-werks to gv_objek+18(4),
w_ztppi-rcharg to gv_objek+22(10).
CALL FUNCTION 'BAPI_OBJCL_CREATE'
EXPORTING
objectkeynew = gv_objek
objecttablenew = 'MARA'
classnumnew = 'COILS_BATCH_CLASS'
classtypenew = '023'
STATUS = '1'
STANDARDCLASS =
CHANGENUMBER =
keydate = sy-datum
NO_DEFAULT_VALUES = ' '
IMPORTING
CLASSIF_STATUS =
TABLES
allocvaluesnum = it_num
allocvalueschar = it_char
allocvaluescurr = it_curr
return = it_return
.
2nd way:
CALL FUNCTION 'BAPI_OBJCL_CONCATENATEKEY_KEY'
EXPORTING
objecttable = 'MARA'
classtype = '023'
IMPORTING
clobjectkeyout = l_objnum
TABLES
objectkeytable = it_key
return = it_return.
then i passed l_objnum to objectkeynew .
BOTH WAYS ARE NOT WORKING.
Please suggested me to fill the objectkeynew
Regards,
Uma
11-05-2013 8:19 AM
Check this sample code for modifying classification value in customer Master.
REPORT ZS1 no standard page heading line-size 500.
data: git_bapi1003 type table of bapi1003_alloc_values_num,
git_values_char type table of bapi1003_alloc_values_char,
git_values_curr type table of bapi1003_alloc_values_curr,
git_bapiret2 type table of bapiret2,
ls_bapiret2 type bapiret2.
data: gs_bapi1003 type bapi1003_alloc_values_num,
gs_values_char type bapi1003_alloc_values_char,
gs_values_curr type bapi1003_alloc_values_char,
gc_flag_x(1) type c value 'X'.
gs_values_char-charact = 'VIEWS_ID'. "Characteristics
gs_values_char-value_char = '012'. "characteristics value
append gs_values_char to git_values_char.
CALL FUNCTION 'BAPI_OBJCL_CHANGE'
EXPORTING
objectkey = '1100000028' "Customer
objecttable = 'KNA1'
classnum = 'CATALOG_VIEW_CUST' "Class Number
classtype = '011' "Class Type
* STATUS = '1'
* STANDARDCLASS =
* CHANGENUMBER =
* KEYDATE = SY-DATUM
* NO_DEFAULT_VALUES = ' '
* IMPORTING
* CLASSIF_STATUS =
tables
allocvaluesnumnew = git_bapi1003
allocvaluescharnew = git_values_char
allocvaluescurrnew = git_values_curr
return = git_bapiret2
.
call function 'BAPI_TRANSACTION_COMMIT'
exporting
wait = 'X'
importing
return = ls_bapiret2
http://sapabap-techsupport.blogspot.ae/2010/09/bapiobjclchange-for-modifying.html
Make sure you have also added this second function module BAPI_TRANSACTION_COMMIT to complete the updation.
11-06-2013 12:52 PM
11-06-2013 2:32 PM