Code: Alles auswählen.
DATA: lt_ausp TYPE TABLE OF ausp,
lt_ausp2 TYPE TABLE OF ausp,
ls_ausp type ausp ,
ls_ausp2 type ausp .
select * from ausp inner join mch1
on mch1~cuobj_bm = ausp~objek
inner join cabn on cabn~atinn = ausp~atinn
into CORRESPONDING FIELDS OF TABLE lt_ausp
where matnr = gs_matnr AND charg = gs_batch
and cabn~atnam = 'NUTZBARE_HOEHE'.
select * from ausp inner join mch1
on mch1~cuobj_bm = ausp~objek
inner join cabn on cabn~atinn = ausp~atinn
into CORRESPONDING FIELDS OF TABLE lt_ausp2
where matnr = gs_matnr AND charg = gs_batch
and cabn~atnam = 'NUTZBARE_BREITE'.
read table lt_ausp index 1 INTO ls_ausp.
read table lt_ausp2 index 1 INTO ls_ausp2.
gv_height = ls_ausp-atflv.
gv_width = ls_ausp2-atflv.Code: Alles auswählen.
DATA ls_objek TYPE BAPI1003_KEY-OBJECT.
DATA ls_objtab TYPE BAPI1003_KEY-OBJECTTABLE.
DATA ls_klart TYPE BAPI1003_KEY-CLASSTYPE.
DATA ls_class TYPE BAPI1003_KEY-CLASSNUM.
DATA: lt_alloc_char TYPE TABLE OF BAPI1003_ALLOC_VALUES_CHAR.
DATA lt_return TYPE TABLE OF BAPIRET2.
DATA: lt_alloc_num TYPE TABLE OF BAPI1003_ALLOC_VALUES_NUM,
ls_alloc like line of lt_alloc_num,
lt_alloc_curr TYPE TABLE OF BAPI1003_ALLOC_VALUES_CURR.
Tables mcha.
select single * from mcha where matnr eq gs_matnr
and werks eq gs_werk
and charg eq gs_batch.
concatenate mcha-matnr mcha-werks mcha-charg into ls_objek.
CALL FUNCTION 'BAPI_OBJCL_GETDETAIL'
EXPORTING
OBJECTKEY = ls_objek
OBJECTTABLE = 'MCH1'
CLASSNUM = ls_class
CLASSTYPE = ls_klart
* KEYDATE = SY-DATUM
* UNVALUATED_CHARS = ' '
* LANGUAGE = SY-LANGU
* IMPORTING
* STATUS =
* STANDARDCLASS =
TABLES
ALLOCVALUESNUM = lt_alloc_num
ALLOCVALUESCHAR = lt_alloc_char
ALLOCVALUESCURR = lt_alloc_curr
RETURN = lt_return
.
read table lt_alloc_num into ls_alloc
with key CHARACT = 'NUTZBARE_HOEHE'.
gv_height = ls_alloc-VALUE_FROM.
read table lt_alloc_num into ls_alloc
with key CHARACT = 'NUTZBARE_BREITE'.
gv_width = ls_alloc-VALUE_FROM.Mit Concatenate wird das nix.Tricktresor hat geschrieben: Zusammengesetzter Objektschlüssel
Bei Klassifizierungen für Tabellen mit mehreren Schlüsselfeldern muss der Objektschlüssel aus diesen zusammengesetzt werden. Eine einfache Methode bietet der Baustein BAPI_OBJCL_CONCATENATEKEY. Im Falle des oben genannten Beispiels müssen dem Baustein die Namen und Werte der Schlüsselfelder in einer Tabelle übergeben werden (Wie bei CACL_OBJECT_VALIDATION_READ). Übergeben wird dann der korrekt zusammengesetzte Schlüssel.
Code: Alles auswählen.
12345ABCDE........1000CHARG4711...Code: Alles auswählen.
12345ABCDE1000CHARG4711Code: Alles auswählen.
DATA: ls_objectkey TYPE BAPI1003_KEY-OBJECT,
* ls_objecttable TYPE BAPI1003_KEY-OBJECTTABLE,
* ls_classtype TYPE BAPI1003_KEY-CLASSTYPE.
lt_alloclist TYPE TABLE OF BAPI1003_ALLOC_LIST,
lt_allocnum TYPE TABLE OF BAPI1003_ALLOC_VALUES_NUM,
ls_allocnum like line of lt_allocnum,
lt_allocchar TYPE TABLE OF BAPI1003_ALLOC_VALUES_CHAR,
lt_return TYPE TABLE OF BAPIRET2.
ls_objectkey = gs_matnr.
ls_objectkey+18(10) = gs_batch.
CALL FUNCTION 'BAPI_OBJCL_GETCLASSES'
EXPORTING
OBJECTKEY_IMP = ls_objectkey
OBJECTTABLE_IMP = 'MCH1'
CLASSTYPE_IMP = '023'
* READ_VALUATIONS =
* KEYDATE = SY-DATUM
* LANGUAGE = SY-LANGU
TABLES
ALLOCLIST = lt_alloclist
* ALLOCVALUESCHAR = lt_allocchar
* ALLOCVALUESCURR =
ALLOCVALUESNUM = lt_allocnum
RETURN = lt_return
.
loop at lt_allocnum into ls_allocnum.
read table lt_allocnum into ls_allocnum
with key charact = 'HERSTELLDATUM'.
GV_HERSTELLDATUM = ls_allocnum-value_from.
read table lt_allocnum into ls_allocnum
with key charact = 'HERSTELLUHRZEIT'.
GV_HERSTELLUHRZEIT = ls_allocnum-value_from.
endloop.das gleiche, wie bei lt_allocnum, leer!ewx hat geschrieben:Und was ist mit LT_ALLOCCHAR?
Kann auch nicht gefüllt sein, wenn der Übergabeparameter ausgesternt ist...EmrahKilic hat geschrieben:das gleiche, wie bei lt_allocnum, leer!ewx hat geschrieben:Und was ist mit LT_ALLOCCHAR?
Code: Alles auswählen.
TABLES
ALLOCLIST = lt_alloclist
* ALLOCVALUESCHAR = lt_allocchar
SAP-Doku hat geschrieben: Bewertungen lesen
Bedeutung
Wenn dieses Kennzeichen gesetzt ist, werden auch die zugehörigen
Bewertungen gelesen und ausgegeben. Werden die Bewertungen nicht
benötigt, so sollte das Kennzeichen aus Performancegründen auch nicht
gesetzt werden.