Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

CLAF_CLASSIFICATION_OF_OBJECTS for Material Batch (MSC3N)

SimoneMilesi
Active Contributor
0 Likes
5,138

Hi all.

I need a little help in retreiving the Classification for material Batch using CLAF_CLASSIFICATION_OF_OBJECTS.

I can retrieve the Material classification (MM03 data) without any problem, but i cannot read the the Material Batch Classification (MSC3N transaction).

Can you help me?

Here it's my code


select single * from mcha where matnr eq p_matnr
                            and werks eq p_werks
                            and charg eq p_charg.

concatenate mcha-matnr mcha-werks mcha-charg   into obj.


CALL FUNCTION 'CLAF_CLASSIFICATION_OF_OBJECTS'
  EXPORTING
*   CLASS                      = ' '
*   CLASSTEXT                  = 'X'
    CLASSTYPE                  = '023'
*   CLINT                      = 0
*   FEATURES                   = 'X'
*   LANGUAGE                   = SY-LANGU
    OBJECT                     = obj
    OBJECTTABLE                = 'MCH1'
*   KEY_DATE                   = SY-DATUM
*   INITIAL_CHARACT            = 'X'
*   NO_VALUE_DESCRIPT          =
*   CHANGE_SERVICE_CLF         = 'X'
*   INHERITED_CHAR             = ' '
*   CHANGE_NUMBER              = ' '
  TABLES
    T_CLASS                    = t_class
    T_OBJECTDATA               = objdata
*   I_SEL_CHARACTERISTIC       =
*   T_NO_AUTH_CHARACT          =
 EXCEPTIONS
   NO_CLASSIFICATION          = 1
   NO_CLASSTYPES              = 2
   INVALID_CLASS_TYPE         = 3
   OTHERS                     = 4
          .

Hi all.

I need a little help in retreiving the Classification for material Batch using CLAF_CLASSIFICATION_OF_OBJECTS.

I can retrieve the Material classification (MM03 data) without any problem, but i cannot read the the Material Batch Classification (MSC3N transaction).

Can you help me?

Here it's my code


select single * from mcha where matnr eq p_matnr
                            and werks eq p_werks
                            and charg eq p_charg.

concatenate mcha-matnr mcha-werks mcha-charg   into obj.


CALL FUNCTION 'CLAF_CLASSIFICATION_OF_OBJECTS'
  EXPORTING
*   CLASS                      = ' '
*   CLASSTEXT                  = 'X'
    CLASSTYPE                  = '023'
*   CLINT                      = 0
*   FEATURES                   = 'X'
*   LANGUAGE                   = SY-LANGU
    OBJECT                     = obj
    OBJECTTABLE                = 'MCH1'
*   KEY_DATE                   = SY-DATUM
*   INITIAL_CHARACT            = 'X'
*   NO_VALUE_DESCRIPT          =
*   CHANGE_SERVICE_CLF         = 'X'
*   INHERITED_CHAR             = ' '
*   CHANGE_NUMBER              = ' '
  TABLES
    T_CLASS                    = t_class
    T_OBJECTDATA               = objdata
*   I_SEL_CHARACTERISTIC       =
*   T_NO_AUTH_CHARACT          =
 EXCEPTIONS
   NO_CLASSIFICATION          = 1
   NO_CLASSTYPES              = 2
   INVALID_CLASS_TYPE         = 3
   OTHERS                     = 4
          .

4 REPLIES 4
Read only

SimoneMilesi
Active Contributor
0 Likes
2,088

Solved the enigma

Instead of instruction

concatenate mcha-matnr mcha-werks mcha-charg into obj.

i used

move mcha-matnr to obj(18).

move mcha-charg to obj+18.

And now works

Read only

Former Member
0 Likes
2,088

hi,

Please concatenate the material vaule it will work

Edited by: sabyasachi kar on Dec 22, 2008 11:13 AM

Read only

0 Likes
2,088

This is the sample code


FORM voorraden_in_output TABLES xmchb STRUCTURE wa_xmchb

                        CHANGING wa_vart04_charg

                                 STRUCTURE wa_vart04_charg.

   SORT xmchb BY werks lgort matnr.

* charge tabel lezen

   LOOP AT xmchb INTO wa_xmchb WHERE matnr = wa_vart04_charg-matnr.

     l_wa_mchb = wa_xmchb.

     wa_vart04_charg-werks   = l_wa_mchb-werks.

* magazijn

     wa_vart04_charg-lgort   = l_wa_mchb-lgort.

* charge

     wa_vart04_charg-charge  = wa_xmchb-charg.          "LCMG PD 20070712

* bepaal batchclassificatie

     PERFORM clear_class_fields CHANGING wa_vart04_charg.

     IF NOT wa_xmchb-charg IS INITIAL.                  "LCMG PD 20070712

       PERFORM get_classificatie_batch TABLES ta_object_data

                                        USING wa_vart04_charg-matnr

                                              wa_vart04_charg-charge.

*  vul wa_vart04_charg met gegevens uit ta_object_data

       PERFORM kenmerken_in_output TABLES ta_object_data

                                          ta_class

                                   USING  wa_vart04_charg

                                          wa_xmchb.     "LCMG PD 20070712

     ENDIF.

     PERFORM check_kenmerken USING wa_vart04_charg

                          CHANGING sy-subrc.

     IF sy-subrc <> 0.

       CHECK 1 = 2.

     ENDIF.

*  gereserveerde voorraad bepalen

     PERFORM gereserveerde_voorraad  CHANGING l_wa_mchb

                                              wa_vart04_charg.

*  voorraden charge regel bepalen

     PERFORM charge_voorraden           USING l_wa_mchb

                                              wa_vart04_charg.

* charge regel is volledig bepaald

     APPEND wa_vart04_charg TO ta_vart04_charg.

   ENDLOOP.

ENDFORM


* lokale data vullen

   l_object(18)    = artikel.

   l_object+18(10) = charg.

   l_classtype     = c_023.

   l_obtab         = 'MCH1'.

*

FORM get_classificatie_batch TABLES  ta_object_data STRUCTURE clobjdat

                               USING  artikel TYPE mara-matnr

                                      charg   TYPE mchb-charg.

   DATA: l_object TYPE ausp-objek,

         l_classtype  TYPE  klah-klart,

         l_obtab TYPE  tcla-obtab.

* lokale data vullen

   l_object(18)    = artikel.

   l_object+18(10) = charg.

   l_classtype     = c_023.

   l_obtab         = 'MCH1'.

* schonen interne classificatie tabellen

*  REFRESH: ta_class, ta_object_data.                  "LCMG PD 20070712

   CLEAR  : ta_class, ta_object_data.

   CALL FUNCTION 'CLAF_CLASSIFICATION_OF_OBJECTS'

     EXPORTING

       classtype          = l_classtype

       language           = sy-langu

       object             = l_object

       objecttable        = l_obtab

       key_date           = sy-datum

       no_value_descript  = 'X'                              " 467394GVE

       initial_charact    = ' '

     TABLES

       t_class            = ta_class

       t_objectdata       = ta_object_data

     EXCEPTIONS

       no_classification  = 1

       no_classtypes      = 2

       invalid_class_type = 3

       OTHERS             = 4.

ENDFORM

Read only

0 Likes
2,088

can any one suggest how to improve performance for that FM it taking too much time inside fm......?