DEF VAR cStrichcode1 AS CHAR NO-UNDO. DEF VAR cStrichcode2 AS CHAR NO-UNDO. DEF VAR cArtikel AS CHAR NO-UNDO. DEF VAR ii AS INT NO-UNDO. DEF VAR iLotNr AS INT NO-UNDO INIT 1000. DEF VAR dDatum AS DATE NO-UNDO INIT 12/31/2022. DEF VAR iPos AS INT NO-UNDO. DEF VAR cPdfName AS CHAR NO-UNDO INIT 'C:\Entwicklung\TEMP\Huber\Barcodes_CocaCola.pdf'. { vpr.i INIT } { vpr.i START } RUN VIPER_INIT. FOR EACH Besko NO-LOCK WHERE Besko.Firma = '1000' AND Besko.Besnr = 142712, EACH Besze NO-LOCK OF Besko, EACH ArtLief NO-LOCK WHERE ArtLief.Firma = Besko.Firma AND ArtLief.Knr = Besko.Knr AND ArtLief.Artnr = Besze.Artnr AND ArtLief.Inhalt = Besze.Inhalt AND ArtLief.Jahr = Besze.Jahr, FIRST Artbez NO-LOCK WHERE Artbez.Firma = ArtLief.Firma AND Artbez.Artnr = ArtLief.Artnr AND Artbez.Inhalt = ArtLief.Inhalt AND Artbez.Jahr = ArtLief.Jahr. cStrichcode1 = ''. cStrichcode2 = ''. IF ArtLief.Strichcode_GGeb <> '' THEN cStrichcode1 = ArtLief.Strichcode_GGeb. ELSE IF ArtLief.Strichcode_VGeb <> '' THEN cStrichcode1 = ArtLief.Strichcode_VGeb. ELSE IF ArtLief.Strichcode_KGeb <> '' THEN cStrichcode1 = ArtLief.Strichcode_KGeb. IF cStrichcode1 = '' THEN NEXT. DO WHILE LENGTH(cStrichcode1) < 14: cStrichcode1 = '0' + cStrichcode1. END. cStrichcode1 = '01' + cStrichcode1. iLotnr = iLotNr + 1. dDatum = dDatum + 1. cStrichcode1 = cStrichcode1 + '15' + STRING(YEAR(dDatum) - 2000,'99') + STRING(MONTH(dDatum) ,'99') + STRING(DAY (dDatum) ,'99'). cStrichcode1 = '*' + cStrichcode1 + '*'. cStrichcode2 = SUBSTITUTE('*10&1Z17&2*', SUBSTITUTE('Lot-Nr&1', STRING(iLotNr,'99999')), STRING(Besze.VGeb_Me,'9999') ). cArtikel = SUBSTITUTE('&1 &2&8&3 &4 &5 &6 &7', cStrichcode1, cStrichcode2, STRING(ArtLief.Artnr ,'999999'), STRING(ArtLief.Inhalt,'9999'), STRING(ArtLief.Jahr ,'9999'), ArtBez.Bez1, ArtBez.Bez2, CHR(10) ). RUN vpr_setCellText( 'Barcode_T1', 'Artikel', cStrichcode1 ). RUN vpr_setCellText( 'Barcode_T2', 'Artikel', cStrichcode2 ). /* RUN vpr_setCellText( 'Barcode_T', 'Artikel', '*' + STRING(ArtLief.Artnr,'999999') + '*'). */ RUN vpr_setCellText( 'Artikel_T', 'Artikel', cArtikel ). RUN vpr_flushGroup ( 'Artikel' ). ii = ii + 1. IF ii >= 20 THEN LEAVE. iPos = vpr_getPageVPos( ). IF iPos > 2700 THEN RUN vpr_newPage. END. RUN vpr_EndDoc. RUN vpr_SaveDoc ( 'C:\Entwicklung\TEMP\Huber\Barcodes_CocaCola.vpr' ). RUN vpr_printDoc (0, 0 ). RUN vpr_printPDF (0, 0, INPUT-OUTPUT cPDFName ). { vpr.i STOP } PROCEDURE VIPER_INIT: RUN vpr_LoadVFR ('huber/barcode_128.vfr'). RUN vpr_ActivateReport ('barcode_128'). RUN vpr_ResetDoc. /* RUN vpr_SelectPrinter ('HP Color LaserJet Pro MFP M476 PCL 6'). */ RUN vpr_SelectPrinter ('PDF24'). RUN vpr_setPrinterAttrib('duplex=1'). RUN vpr_SetPrinterAttrib('copies=1'). RUN vpr_SetDocAttrib ('PAPERSIZE=A4'). RUN vpr_SetPreviewMode ('Direct'). RUN vpr_setDocTitle ('Barcode_128'). RUN vpr_SetDelimiter (CHR(01)). RUN vpr_initGroups(''). END PROCEDURE.