Transaktionen
KO01 (Innenauftrag anlegen)
KO03 (Innenauftrag anzeigen)
S_ALR_87012999 (Auftrag: Ist/Plan/Obligo)
Tabellen
AUFK (Auftragsstammdaten)
KO01 (Innenauftrag anlegen)
KO03 (Innenauftrag anzeigen)
S_ALR_87012999 (Auftrag: Ist/Plan/Obligo)
AUFK (Auftragsstammdaten)
KO01 (Innenauftrag anlegen)
KO03 (Innenauftrag anzeigen)
KOB2 (Aufträge Einzelposten Obligo)
S_ALR_87012999 (Auftrag: Ist/Plan/Obligo)
S_ALR_87013558 (Budget/Ist/Obligo/Restplan/Verf.)
S_ALR_87013611 (Kostenstellen: Ist/Plan/Abweichung)
RKACSHOW (CO-Kostensegmente anzeigen)
RKACOR04 (Abgleich zwischen Einzelposten und Summensätzen (Istkosten+Obligo))
RKANBU01 (Übernahme Bestellanforderungs- und Bestellobligo)
RKAGJOBL (Geschäftsjahresabschluß: Obligovortrag)
COOI (Obligoverwaltung: Einzelposten)
COEP (CO-Objekt: Einzelposten periodenbezogen)
AUFK (Auftragsstammdaten)
ACDOCA (Buchungsbelegpositionen)
COSP (CO Object: Cost Totals for External Postings (“COSP”))
COSS (CO Object: Cost Totals for Internal Postings (“COSS”))
ME_REQ_OI_EXT (BAdI: Obligofortschreibung von Banfen aus anderen Applikationen aktivieren)
ME_COMMTMNT_PO_REL_C (BAdI: Prüfung zur Obligorelevanz von Bestellungen)
ME_COMMTMNT_REQ_RE_C (BAdI: Prüfung zur Obligorelevanz von Bestellanforderungen)
ME_COMMITMENT_RETURN (BAdI: Obligo für Retourenpositionen)
ME_COMMITMENT_STO_CH (BAdI: Obligo für Umlagerungsbestellungen)
* erlaubte Zeichen für numerischen String CONSTANTS: c_numeric TYPE string VALUE '-., 0123456789'. DATA: val_in TYPE string VALUE ' -123.2'. * funktioniert nicht mit strings wie '0.0.1' usw. * CO -> contains only IF val_in CO c_numeric. WRITE: / |String "{ val_in }" ist numerisch.|. ELSE. WRITE: / |String "{ val_in }" ist nicht numerisch.|. ENDIF.
* Typen TYPES : BEGIN OF ty_s_sflight, carrid TYPE sflight-carrid, connid TYPE sflight-connid, seatsmax TYPE sflight-seatsmax, flag TYPE abap_bool, END OF ty_s_sflight. TYPES: ty_it_sflight TYPE STANDARD TABLE OF ty_s_sflight WITH DEFAULT KEY. * Daten DATA(it_sflight) = VALUE ty_it_sflight( ). * Select SELECT carrid, connid, seatsmax, CASE WHEN seatsmax > 200 THEN @abap_true " CASE-Anweisung zum Setzen der Spalte "flag" END AS flag INTO TABLE @it_sflight FROM sflight.
* Eintrag mit Index 1 DELETE it_sflight INDEX 1. cl_demo_output=>display( it_sflight ).
* Genau einen Eintrag entsprechend der Struktur DELETE TABLE it_sflight FROM VALUE #( carrid = 'LH' connid = '400' seatsmax = 280 flag = abap_true ). cl_demo_output=>display( it_sflight ).
* Einträge mit Primärschlüssel aus Tabelle löschen DELETE TABLE it_sflight WITH TABLE KEY carrid = 'LH' connid = '400' flag = abap_true. cl_demo_output=>display( it_sflight ).
* Alle Einträge mit leerem flag löschen DELETE it_sflight WHERE flag IS INITIAL. * Alle Einträge innerhalb eines Bereiches löschen DELETE it_sflight WHERE seatsmax > 200 AND seatsmax < 350. * Alle Einträge die nicht der Bedingung entsprechen DELETE it_sflight WHERE NOT carrid = 'AA'. cl_demo_output=>display( it_sflight ).
* alle Carrier, die nicht 'AA' sind aus der iTab löschen DELETE it_sflight WHERE NOT carrid IN VALUE rseloption( ( sign = 'I' option = 'EQ' low = 'AA' high = '' ) ). cl_demo_output=>display( it_sflight ).
* Alle Einträge beginnend mit 'A' und 'L' löschen DELETE it_sflight WHERE carrid IN VALUE rseloption( ( sign = 'I' option = 'CP' low = 'A*' high = '' ) ( sign = 'I' option = 'CP' low = 'L*' high = '' ) ). cl_demo_output=>display( it_sflight ).
* Achtung: löscht alle Einträge in it_sflight! DELETE it_sflight WHERE carrid IN VALUE rseloption( ). cl_demo_output=>display( it_sflight ).
* alle Einträge, deren carrid mit 'L' beginnen DELETE it_sflight WHERE carrid CP 'L*'. cl_demo_output=>display( it_sflight ).
* Stringtab mit WHERE-Conditions -> Leerzeichen beachten! DATA(it_where) = VALUE stringtab( ( |testfehler = 'AA'| ) ( |carrid EQ 'AA' AND connid CP '001*' | ) ( |seatsmax > 300| ) ). LOOP AT it_where ASSIGNING FIELD-SYMBOL(<w>). WRITE: / <w>. TRY. * dynamische WHERE-Condition ausführen * fehlerhafte WHERE-Conditions werfen eine Exception DELETE it_sflight WHERE (<w>). CATCH cx_root INTO DATA(e_txt). WRITE: / e_txt->get_text( ). ENDTRY. ENDLOOP. cl_demo_output=>display( it_sflight ).
* Die Tabellenzeile mit der Struktur ty_s_sflight wird gelöscht DELETE it_sflight WHERE table_line = VALUE ty_s_sflight( carrid = 'LH' connid = '400' seatsmax = 280 flag = abap_true ). cl_demo_output=>display( it_sflight ).
* Carrier darf nur Zeichen 'A' und/oder 'Z' und/oder ' ' enthalten * -> löscht Einträge für 'AA ', 'AZ ' DELETE it_sflight WHERE carrid CO 'AZ '. cl_demo_output=>display( it_sflight ).