| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- DEFINE VARIABLE iSf AS INTEGER NO-UNDO.
- DEFINE VARIABLE cFirma AS CHARACTER NO-UNDO INIT '1000'.
- DEFINE VARIABLE ii AS INTEGER NO-UNDO.
- DEFINE VARIABLE cRegal AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cPlatz AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cNiveau AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cSf AS CHARACTER NO-UNDO.
- DEF TEMP-TABLE tExcel
- FIELD cSort AS CHAR
- FIELD iArtnr AS INT
- .
- DEFINE TEMP-TABLE tHoReLager
- FIELD cRegal AS CHARACTER /* Spalte A */
- FIELD cPlatz AS CHARACTER /* Spalte B */
- FIELD cNiveau AS CHARACTER /* Spalte C */
- FIELD iArtnr AS INTEGER /* Spalte D */
- FIELD cBez AS CHARACTER /* Spalte E */
- FIELD iJahr AS INTEGER /* Spalte F */
- FIELD AlkGehalt AS DECIMAL /* Spalte G */
- FIELD cGebinde AS CHARACTER /* Spalte H */
- FIELD iBestand AS INTEGER /* Spalte I */
- FIELD cSf AS CHARACTER
-
- INDEX tHoReLager-k1 IS PRIMARY
- cRegal
- cPlatz
- cNiveau
- cSf
- .
- /* FOR EACH HoReLager: */
- /* DELETE HoReLager. */
- /* END. */
- /* EMPTY TEMP-TABLE tHoReLager. */
- /* FOR EACH HoReLager NO-LOCK */
- /* WHERE HoReLager.Firma = '1000' */
- /* AND HoReLager.Lager = 0: */
- /* */
- /* CREATE tHoReLager. */
- /* BUFFER-COPY HoReLager TO tHoReLager. */
- /* END. */
- INPUT FROM 'C:\Entwicklung\TEMP\Huber\TankLager_Import.csv' NO-MAP NO-CONVERT.
- REPEAT TRANSACTION ON STOP UNDO, LEAVE ON ERROR UNDO, NEXT:
- CREATE tExcel.
- IMPORT DELIMITER ';' tExcel NO-ERROR.
- IF ERROR-STATUS:ERROR THEN NEXT.
- END.
- INPUT CLOSE.
- FOR EACH tExcel
- BY tExcel.cSort :
-
- ASSIGN cRegal = ''
- cPlatz = ''
- cNiveau = ''
- cSf = ''.
-
- DO ii = 1 TO NUM-ENTRIES(tExcel.cSort, '-'):
- CASE ii:
- WHEN 1 THEN cRegal = TRIM(ENTRY(ii, tExcel.cSort, '-')).
- WHEN 2 THEN cPlatz = TRIM(ENTRY(ii, tExcel.cSort, '-')).
- WHEN 3 THEN cNiveau = TRIM(ENTRY(ii, tExcel.cSort, '-')).
- WHEN 4 THEN cSf = TRIM(ENTRY(ii, tExcel.cSort, '-')).
- END CASE.
- END.
-
- FIND FIRST tHoReLager
- WHERE tHoReLager.cRegal = cRegal
- AND tHoReLager.cPlatz = cPlatz
- AND tHoReLager.cNiveau = cNiveau NO-ERROR.
-
- /* -------------------------------------------------- */
- /* Lagerplatz ohne Sf gibt es noch nicht */
- /* -------------------------------------------------- */
- IF NOT AVAILABLE tHoReLager THEN DO:
- CREATE tHoReLager.
- ASSIGN tHoReLager.cRegal = cRegal
- tHoReLager.cPlatz = cPlatz
- tHoReLager.cNiveau = cNiveau
- tHoReLager.cSf = cSf
- tHoReLager.iArtnr = tExcel.iArtnr.
- NEXT.
- END.
- IF tHoReLager.iArtnr = tExcel.iArtnr THEN NEXT.
-
- /* HoReLager vorhanden / Test auf Sf */
-
- IF tHoReLager.cSf = '' THEN tHoReLager.cSf = '01'.
- FIND LAST tHoReLager
- WHERE tHoReLager.cRegal = cRegal
- AND tHoReLager.cPlatz = cPlatz
- AND tHoReLager.cNiveau = cNiveau NO-ERROR.
-
- iSf = INTEGER(tHoReLager.cSf) + 1.
- cSf = STRING(iSf,'99').
- CREATE tHoReLager.
- ASSIGN tHoReLager.cRegal = cRegal
- tHoReLager.cPlatz = cPlatz
- tHoReLager.cNiveau = cNiveau
- tHoReLager.cSf = cSf
- tHoReLager.iArtnr = tExcel.iArtnr.
- END.
- FOR EACH tHoReLager:
- CREATE HoReLager.
- ASSIGN
- HoReLager.Firma = cFirma
- HoReLager.Lager = 0
- HoReLager.Art = 1
- HoReLager.Regal = tHoReLager.cRegal
- HoReLager.Niveau = tHoReLager.cNiveau
- HoReLager.Platz = tHoReLager.cPlatz
- HoReLager.Sf = tHoReLager.cSf
- HoReLager.Artnr = tHoReLager.iArtnr
- HoReLager.Inhalt = 0
- HoReLager.Jahr = 0
- HoReLager.Bestand = 0
- HoReLager.iStatus = (IF tHoReLager.iArtnr = 0 THEN 0 ELSE 1).
- IF HoReLager.Sf = '' THEN HoReLager.cSort = SUBSTITUTE('&1-&2-&3',
- HoReLager.Regal,
- HoReLager.Platz,
- HoReLager.Niveau).
- ELSE HoReLager.cSort = SUBSTITUTE('&1-&2-&3-&4',
- HoReLager.Regal,
- HoReLager.Platz,
- HoReLager.Niveau,
- HoReLager.Sf).
- IF HoReLager.Artnr = 0 THEN NEXT.
-
- FOR EACH ArtLager
- WHERE ArtLager.Firma = HoReLager.Firma
- AND ArtLager.Lager = HoReLager.Lager
- AND ArtLager.Artnr = HoReLager.Artnr
- AND ArtLager.Inhalt = HoReLager.Inhalt :
-
- ArtLager.Ort = HoReLager.cSort.
- END.
- END.
|