FuBa Klassifizierung von Equipment

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

FuBa Klassifizierung von Equipment

Beitrag von trashcoder (ForumUser / 8 / 0 / 0 ) »
Hallo zusammen,

ich suche nach einer Möglichkeit Equipment zu klassifizieren. Habe selbst den Baustein EQUIPMENT_CLASSIFY gefunden. Jedoch erhalte ich beim Ausprobieren die Fehlermeldung "DRU03837: Zuordnung der Klasse I_DRUCKER (Klassenart 002) nicht durchführbar". Anscheinend gebe ich die Parameter falsch mit.

Hat jemand eine Beschreibung für diesen Baustein oder kennt eine Alternative?

Viele Grüße
Dennis

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von Tron (Top Expert / 1327 / 35 / 332 ) »
Hallo Dennis,
ich habe Dir mal ein Beispiel für das Bewerten einer Materialklasse angefügt.
Versuche mal das Coding für eine Equipmentklasse abzuändern.

Code: Alles auswählen.

*&---------------------------------------------------------------------*
*& Report  ZTEST_BEWERTEN                                              *
*&                                                                     *
*&---------------------------------------------------------------------*
*&                                                                     *
*&                                                                     *
*&---------------------------------------------------------------------*

REPORT  ZTEST_BEWERTEN  .

* Equipment
data i_object type RMCLF-OBJEK value '000000000000000065'.

** Wahrscheinlich ist das für Dich  EQUI !!!!!
data I_OBTAB  type RMCLF-OBTAB value 'MARA'.
data T_FIELD_TAB type API_OB_KEY occurs 0 with header line.

*-- Bewertungen aufbereiten für API
  data: L_ausp_tab like api_ausp occurs 5 with header line.
                                           .
CALL FUNCTION 'CLCV_CONVERT_OBJEK_TO_TABLE'
  EXPORTING
    I_OBJECT                 = I_OBJECT
    I_OBTAB                  = I_OBTAB
*   I_CONV_TO_INTERNAL       =
  TABLES
    T_FIELD_TAB              = T_FIELD_TAB
 EXCEPTIONS
   ERROR                    = 1
   OTHERS                   = 2 .

IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.



*-- AUSP aufbereiten
        refresh l_ausp_tab .

*        loop at change_ausp.
*          write change_ausp-atinn to l_ausp_tab-charact.
*          move  change_ausp-atwrt to l_ausp_tab-value.
*          append l_ausp_tab.
*        endloop.


******************************
* Denk Dir mal eine paar Bewrtungen aus !
*******************************

* Merkmalname
l_ausp_tab-charact = 'XXXX'.
* Merkmalwert
l_ausp_tab-value   = '1234'.
append l_ausp_tab.

************************************************
* EINGABEPARAMETER ANPASSEN !    CLASS_TYPE  = '002'
************************************************

        CALL FUNCTION 'CACL_OBJECT_VALIDATION_MAINT'
             EXPORTING
*                  OBJECT               = '000000000000000065'
                  OBJECT_TYPE           = 'MARA'
                  CLASS                 = '427100'
                  CLASS_TYPE            = '001'
*                  CHANGE_NO             = change_KSSK-aennr
                  I_DATUV               = sy-datum
*                  I_NO_DEFAULTS         = 'X'
             TABLES
                  VALIDATION_MAINT      = l_ausp_tab
                  OBJECT_IDENTIFICATION = T_FIELD_TAB
             EXCEPTIONS
                  ERROR                 = 1
                  OTHERS                = 2.
        IF SY-SUBRC <> 0.
*          perFORM WRITE_SINGLE_MESSAGE USING SY-MSGID SY-MSGNO
*                     SY-MSGTY SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.

* UND DAS GANZE SICHERN !


        CALL FUNCTION 'CACL_CLASSIFICATION_SAVE'
*         EXPORTING
*           I_COMMIT            = 'X'
*           I_WAIT              = ' '
*           I_NO_UPD_TASK       = ' '
*           I_NO_CHECK          = ' '
         EXCEPTIONS
           ERROR               = 1
           WARNING             = 2
           OTHERS              = 3
                  .
        IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
.... und falls Du eine Eingabeoberfläche suchst :

Code: Alles auswählen.

*&---------------------------------------------------------------------*
*& Report  ZTEST_CTMS_ENTER_VALUES_POPUP                               *
*&                                                                     *
*&---------------------------------------------------------------------*
*&                                                                     *
*&                                                                     *
*&---------------------------------------------------------------------*

REPORT  ZTEST_CTMS_ENTER_VALUES_POPUP                               .

DATA INCLUDE_HEADER TYPE INCL_BILD.

DATA: BEGIN OF MTABLE OCCURS 0,
ZMMNR LIKE CABN-ATINN,      "int. Merkmalnr. zentral
OMMNR LIKE CABN-ATINN,      "Int. Merkmalnr. überschrieben
SICHT LIKE KSML-ABTEI,      "Anwendungssicht
END OF MTABLE.

DATA OBJECT TYPE CTMS_01.

DATA SELECTION TYPE COMW OCCURS 0 WITH HEADER LINE.
DATA RETURN(4).

DATA LT_KLAH TYPE KLAH OCCURS 0 WITH HEADER LINE.
DATA LT_KSML TYPE KSML OCCURS 0 WITH HEADER LINE.

OBJECT-KLART = '001'."Materialklasse
*object-OBJEK = '000000000000000065'.
OBJECT-CLASS = '427100'.
*object-MAFID
*object-OBJID = 'MARA'.
*object-CUOBJ
*object-CLINT



LT_KLAH-KLART = OBJECT-KLART.
LT_KLAH-CLASS = OBJECT-CLASS.
APPEND LT_KLAH.

* Objekt zur Klasse
CALL FUNCTION 'CLSE_SELECT_KLAH'
 EXPORTING
   NO_BUFFER            = 'X'
*   FILL_BUFFER          =
 TABLES
   IMP_EXP_KLAH         = LT_KLAH
 EXCEPTIONS
   NO_ENTRY_FOUND       = 1
   OTHERS               = 2.

IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

LT_KSML-CLINT = LT_KLAH-CLINT.
APPEND LT_KSML.
* Merkmale zu Klassen
CALL FUNCTION 'CLSE_SELECT_KSML'
 EXPORTING
   KEY_DATE               = SY-DATUM
   BYPASSING_BUFFER       = 'X'
*   I_AENNR                = ' '
  TABLES
    IMP_EXP_KSML           = LT_KSML
 EXCEPTIONS
   NO_ENTRY_FOUND         = 1
   OTHERS                 = 2
          .
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.


LOOP AT LT_KSML.
  MTABLE-ZMMNR = LT_KSML-IMERK.
  APPEND MTABLE.
ENDLOOP.



*  INCLUDE_HEADER-PROGRAM = 'SAPLCBCM'.
*  INCLUDE_HEADER-SCREEN  = '0010'.
INCLUDE_HEADER-PROGRAM = 'SAPLCOP0'.
INCLUDE_HEADER-SCREEN  = '0001'.



*zB  SAPLCBCM
*    0010

CALL FUNCTION 'CTMS_ENTER_VALUES'
  EXPORTING
*   BATCH                        = ' '
*   CALLED_FROM_CL24             = ' '
*   CONFIGURE_INSTANCE           = ' '
*   CUTTING_VALUES               = ' '
    IDENT                        = 'KL'
    INCLUDE_HEADER               = INCLUDE_HEADER
*   KNOWLEDGE_DISPLAY            = ' '
    LANGUAGE                     = SY-LANGU
 LINE                         = '1'
*   LINES_INCLUDE_HEADER         = ' '
*   MESSAGE                      = ' '
*   MESSAGE_ID                   = ' '
  MESSAGE_NR                   = '000'
*   MESSAGE_TYPE                 = ' '
    MODE                         = 'S'
*   M_POINTS                     = ' '
*   M_SELECTIV                   = ' '
*   NEUTRAL_LANGUAGE             = ' '
*   NO_CHANGES                   = ' '
    NO_CLASSIFICATION            = 'X'
    NO_DISPLAY                   = ' '
*   NO_F11                       = ' '
*   NO_F12                       = ' '
*   NO_F15                       = ' '
*   NO_F3                        = ' '
*   NO_F8                        = ' '
*   NO_PASSING                   = ' '
    OBJECT                       = OBJECT
*   OBJECT_NOT_CLASS             = ' '
*   OBJECT_TEXT                  = ' '
*   OBLIGATORY                   = ' '
    OKCODE                       = 'WEIT'
*   ONE_NODE_BACK                = ' '
    PF_STATUS                    = 'OBJD'
*=> OBJD=Vorgabe/MWRT=Merkmale alle Werte/MRKM=Merkmalliste
*   RESULT                       = ' '
 ROLL                         = ' '
*   ROOT                         = ' '
*   ROOTID                       = ' '
  ROW                          = '5'
  SINGLE_VALUE                 = ' '
*   STATUS                       = ' '
  TITLEBAR                     = 'CLA'
  WITH_INFORMATION             = ' '
  KEY_DATE                     = SY-DATUM
*   CHANGE_NUMBER                =
*   ONLY_CLASS_ALLOCATIONS       = ' '
*   CDDB_INSTANCE                =
  SUPPRESS_DIALOG              = ' '
  HIERARCHY_ALLOWED            = ' '
  MULTIPLE_ALLOWED             = ' '
*   LANGUAGE_BY_DIALOG           =
*   VIEW                         = ' '
*   FILTER_ACTIVE                = ' '
*   FOCUS                        = ' '
*   OBJECT_INSTANCE              =
*   READONLY                     = ' '
IMPORTING
*   DECIMALPOINT                 =
*   NEW_LANGUAGE                 =
*   NEW_NEUTRAL_LANGUAGE         =
*   NEW_STATUS                   =
  RETURN                       = RETURN
*   WITH_INHERITED               =
  TABLES
    MTABLE                       = MTABLE
*   NEW_MULTIPLE_CLASSES         =
*   PASSING_VALUE                =
    SELECTION                    = SELECTION
 EXCEPTIONS
   NO_CHARACTERISTICS           = 1
   INTERNAL_ERROR               = 2
   OTHERS                       = 3 .
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

Die Beispiele sind für Materialbewertungen. Die Klassenart für Equipment ist 002. Die Objektklasse musst Du Wissen. :wink:


gruß Tron
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Beitrag von trashcoder (ForumUser / 8 / 0 / 0 ) »
Hallo Tron,

vielen Dank für deine Hilfe. Auf der Suche nach dem Baustein 'CLCV_CONVERT_OBJEK_TO_TABLE' bin ich im Netz (mal wieder) auf Tricktresor gestoßen, dort werden die Bausteine über Bapis abgesprochen. Jedoch erhalte ich sowohl über die Bapis als auch über deinen Baustein die Fehlermeldung:
Sie haben keine Berechtigung für DRU03837
Die Zuordnung wurde nicht geändert.

Jetzt bin ich kein Berechtigungsfachmann, mich wundert es jedoch, dass ich
über IE02 das Equipment und die Bewertung verändern kann.

* Ne Ahnung, wo es hakt?
Ein Besuch bei unserer SAP-Basis hat das Problem gelöst

Viele Grüße
Dennis

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1866
Views
Equipment und Klassifizierung
von Betze » 22.11.2005 14:24 • Verfasst in ABAP® für Anfänger
4
Antw.
542
Views
Equipment: Instandhaltungsplanungswerk
von thelocgirl » 04.07.2022 05:58 • Verfasst in ABAP® für Anfänger
0
Antw.
1630
Views
6
Antw.
9178
Views
Gewährleistungsende im Equipment
von mareikemei92 » 25.01.2018 16:57 • Verfasst in Sonstige Module

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.