Code: Alles auswählen.
*&---------------------------------------------------------------------*
*& Report Z_PLM_CHANGE_CLASS_AT_WERT
*&
*&---------------------------------------------------------------------*
*&
*& Author: Daniel Obst
*& Beschreibung: Programm zur veränderung des AT_Werts
*& Erstellungsdatum: 23.03.2010
*& Version: 1.1b
*&
*&---------------------------------------------------------------------*
REPORT Z_PLM_CHANGE_CLASS_AT_WERT.
TABLES: cabn, ausp.
data: documentkey type ausp-objek.
data: ls_cabn type cabn.
data: Dokument(25) type c.
data: kriterium(2) type c.
data lst_ausp type ausp.
data ls_ausp type ausp.
data i_ausp TYPE STANDARD TABLE OF ausp. "dient zum anzeigen wie die Daten vorher aussahen
data i_auspx TYPE STANDARD TABLE OF ausp.
data i_auspy TYPE STANDARD TABLE OF ausp. "dient zur späteren verarbeitung der echten tabellen
data ab type ausp.
selection-screen: begin of block 0 with frame title text-001.
selection-screen skip.
PARAMETERS type(3) type c OBLIGATORY.
SELECT-OPTIONS doc for Dokument.
PARAMETERS vers(2) type c.
PARAMETERS partdoc(3) type c.
selection-screen skip.
selection-screen: end of block 0.
SELECTION-SCREEN: BEGIN OF BLOCK 1 WITH FRAME TITLE text-002.
PARAMETERS class type cabn-atnam OBLIGATORY.
SELECTION-SCREEN: END OF block 1.
SELECTION-SCREEN: BEGIN OF BLOCK 2 WITH FRAME TITLE text-003.
Parameters von type c.
PARAMETERS zu type c.
SELECTION-SCREEN: END OF block 2.
PARAMETERS p_check as checkbox default 'X' user-command comm.
*&----------------------------------------------------------------------*
*& Beginn des Hauptprogrammes
*&----------------------------------------------------------------------*
START-OF-SELECTION.
CONCATENATE von zu into kriterium.
PERFORM Einlesen.
PERFORM change.
IF p_check NE 'X'.
perform update.
ENDIF.
perform ausgabe.
end-of-SELECTION.
*&---------------------------------------------------------------------*
*& Form Einlesen
*&---------------------------------------------------------------------*
* Befüllen der internen Tabellen.
*----------------------------------------------------------------------*
FORM Einlesen.
LOOP AT doc.
concatenate type doc-low vers partdoc into ls_ausp-objek RESPECTING BLANKS.
append ls_ausp to i_auspx.
ENDLOOP.
select SINGLE * from cabn into ls_cabn
where atnam = class.
LOOP AT i_auspx into ab .
select * From ausp INTO CORRESPONDING FIELDS OF ab
where objek like ab-objek
and atinn = ls_cabn-atinn.
append ab to i_ausp.
append ab to i_auspy.
modify i_auspx from ab.
clear ab.
ENDSELECT.
ENDLOOP.
ENDFORM.
ja, Deine Vermutung stimmt. In Open-SQL sind die Wildcard-Zeichen '%' (entspricht '*') und '_' (entspricht '+'). Dazu muss aber die Bedingung statt '=' bzw. 'EQ' 'LIKE' benutzen (WHERE field LIKE 'DRWAC%').Dabap hat geschrieben:...
Mein Problem ist jetzt, ob ich was bei der SQL-Abfrage falsch mache oder ob ich mit so eingaben wie 'DRWAC*' überhaupt arbeiten kann, da ich die Vermutung habe das er GENAU nach 'DRWAC*' sucht und das Sternchen nicht interpretiert.
...
Hm, Neulinge, die fast nichts können, haben meistens genau deshalb noch wenig Erfahrung. Also, Kopf hoch, es kann nur besser werden...Dabap hat geschrieben: Vielen Dank im vorraus und vezeiht meine Anfängerfehler, denn ich bin neu in Abap und kann fast gar nichts....