Hallo liebe Mitglieder,
ich habe vorher noch nie was mit SQL oder SAP gemacht und bin somit unfassbar unerfahren damit.
Habe nun eine Aufgabe: Ich soll von einer SQL Datenbank(im SQL Developer) bestimmte Daten (Kennzeichen,Datum,Fahrgestellnr, etc.) rausnehmen und sie in eine SAP Datenbanktabelle hinzufügen. Nun hat jedes Kennzeichen eine bestimmte Bildnr, wie sie gespeichert ist und wieviele Bilder zu dem Kennzeichen gehören.(Sind als Bilder gespeichert, aber darum geht es nicht) Nun habe ich mir gedacht, dass man halt in ABAP schreibt, dass man zuerst die Bildnr. = 0 sucht und von dem Datensatz in SQL das Kennzeichen, Datum und Fahrgestellnr. rausliest und es in die SAP Tabelle (die ich schon erstellt habe) hinzufügt und abspeichert. Und dann geht er die Bilderanzahl(wieviele Bilder zu dem kennzeichen gehören) solange mit einem Zähler hoch, bis die anzahl erreicht wurde und speichert jede einzelne Datei(Bilderanzahl) in die Tabelle. Der Zähler fängt bei dem nächsten Kennzeichen wieder bei 1 ein, damit man weiß, wann das nächste Kennzeichen erreicht wurde.
Die Tablle hat folgende Datensätze:
FKennzeichen (für das Kennzeichen)
Fahrgestellnr (Fahrgestellnummer)
BildNr (Damit man weiß welche Nr. es ist und man das Bild finden kann, weil die Bilder nummeriert sind)
BildAnzahl ( Damit man weiß wieviele Bilder es gibt, dachte, man bräuchte dies in der Tabelle, glaube aber es ist unnötig)
Datum ( Weil das Datum des Kennzeichen bzw der Erfassung, welches in der Datenbank hinterlegt ist, auch gespeichert werden soll)
Zähler ( Der Zähler, der auf die BilderAnzahl beruht und sich wieder zurücksetzt, sobald ein neues Kennzeichen anfängt)
Mein Problem ist nun, dass ich nicht weiß, wie ich sowas in ABAP schreibe :/
Habe nur ein kleines "Grundgerüst" bekommen.
Code: Alles auswählen.
REPORT ZCDAR.
DATA: con_name LIKE dbcon-con_name VALUE 'CDARTEST'.
DATA: z_kennzeichen(20) TYPE c.
DATA: i TYPE i.
CLEAR i.
i = 1.
EXEC SQL.
connect to :con_name as 'CDARTEST'
ENDEXEC.
IF sy-subrc <> 0.
WRITE: 'Connect zur Datenbank war nicht erfolgreich'.
ENDIF.
EXEC SQL.
open sql_curw for
select kennzeichen from kfz
where bildnr = '0'
ENDEXEC.
do.
IF i = 1.
EXEC SQL.
fetch next sql_curw into :z_kennzeichen
ENDEXEC.
IF sy-subrc = 0.
EXEC SQL.
close sql_curw
ENDEXEC.
EXEC SQL.
disconnect 'CDARTEST'
ENDEXEC.
ENDIF.
ENDIF.
i = i + 1.
ENDDO.
WRITE: z_kennzeichen.
Weiß halt nur noch nicht, ob ich davon was brauchen kann
Hoffe ihr könnt mir helfen
Lg,
Elric