Code: Alles auswählen.
"Hier selektieren wir alle Dokumenteninfosätze
SELECT * FROM draw INTO lt_draw
WHERE dokar = 'ZV1'
OR dokar = 'ZV2'
OR dokar = 'ZV3'
OR dokar = 'ZV4'
OR dokar = 'ZV4'
OR dokar = 'ZV5'
OR dokar = 'ZV6'.
"Um die Merkmale zum Dokumenteninfosatz zu finden verwenden wir den FUBA CACL_OBJECT_...
"Der braucht allerdings einen Objectkey (Objekttype) den bauen wir aus 2 Feldern und 5 Nullen
"mit dem Befehl concatenate zusammen.
CONCATENATE lt_draw-dokar lt_draw-doknr '00000' INTO lv_objtype.
"FUBA aufrufen
CALL FUNCTION 'CACL_OBJECT_READ_VALIDATION'
EXPORTING
object = lv_objtype "Dokart+Dokinfosatznummer+00000
object_type = 'DRAW'
class_type = '017'
class = 'DMS_Z02'
with_unassigned_characts = 'X'
with_inherited_characts = 'X'
* DATE =
language = sy-langu
* I_OBJ_NOT_CHK = ' '
* I_AENNR =
* I_EXECUTE_DEP = ' '
TABLES
object_identification = ls_ident
charact_values = ls_values "Tabelle mit Merkmalswerten
EXCEPTIONS
error = 1
warning = 2
OTHERS = 3.
LOOP AT ls_values.
IF LS_VALUES-CHARACT = 'DMS_SACHBEARBEITER'.
LS_VALUES-VALUE = 'TEST'.
LS_VALUES-VALUE_NEUTRAL = 'TEST'.
ENDIF.
CALL FUNCTION 'CACL_OBJECT_VALIDATION_MAINT'
EXPORTING
OBJECT = lv_objtype
OBJECT_TYPE = 'DRAW'
CLASS = 'DMS_Z02'
CLASS_TYPE = '017'
* STATUS =
* STANDARD_CLASS = ' '
* CHANGE_NO =
* I_OBJ_NOT_CHK = ' '
* I_DATUV =
* I_NO_DEFAULTS = ' '
* I_CHECK_SYDATE =
* I_KEEP_SAME_DEFAULTS = ' '
TABLES
OBJECT_IDENTIFICATION = ls_ident
VALIDATION_MAINT = ls_values
EXCEPTIONS
ERROR = 1
WARNING = 2
OTHERS = 3
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
ENDLOOP.
ENDSELECT.
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.
* Implement suitable error handling here
ENDIF.