w-ddartikelabgleich.w 75 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. */
  5. &Scoped-define WINDOW-NAME DigitalDrink
  6. {adecomm/appserv.i}
  7. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS DigitalDrink
  8. /*------------------------------------------------------------------------
  9. File:
  10. Description: from cntnrwin.w - ADM SmartWindow Template
  11. Input Parameters:
  12. <none>
  13. Output Parameters:
  14. <none>
  15. History: New V9 Version - January 15, 1998
  16. ------------------------------------------------------------------------*/
  17. /* This .W file was created with the Progress AB. */
  18. /*----------------------------------------------------------------------*/
  19. /* Create an unnamed pool to store all the widgets created
  20. by this procedure. This is a good default which assures
  21. that this procedure's triggers and internal procedures
  22. will execute in this procedure's storage, and that proper
  23. cleanup will occur on deletion of the procedure. */
  24. CREATE WIDGET-POOL.
  25. /* *************************** Definitions ************************** */
  26. /* Parameters Definitions --- */
  27. /* Local Variable Definitions --- */
  28. { incl/windefinition.i }
  29. { properties.i }
  30. DEFINE VARIABLE rAdresse AS RECID NO-UNDO.
  31. DEFINE VARIABLE iArt AS INTEGER NO-UNDO.
  32. DEFINE VARIABLE cStrichcode AS CHARACTER NO-UNDO.
  33. DEFINE VARIABLE ctArtstSort AS CHARACTER NO-UNDO INIT 'Bez'.
  34. DEFINE VARIABLE lMeldung AS LOGICAL NO-UNDO.
  35. DEFINE VARIABLE hqtArtst AS HANDLE NO-UNDO.
  36. DEFINE VARIABLE hqtArtstOK AS HANDLE NO-UNDO.
  37. DEFINE VARIABLE hqttDDArtikel AS HANDLE NO-UNDO.
  38. DEFINE BUFFER bAdresse FOR Adresse .
  39. DEFINE BUFFER bLiefst FOR Liefst .
  40. DEFINE BUFFER bArtst FOR Artst .
  41. DEFINE BUFFER bArtLief FOR ArtLief .
  42. { ttDDArtikel.i }
  43. DEFINE BUFFER bttDDArtikel FOR ttDDArtikel.
  44. DEFINE TEMP-TABLE tArtst LIKE Artst
  45. FIELD S_Artnr AS CHARACTER
  46. FIELD EANKGeb AS CHARACTER
  47. FIELD EANVGeb AS CHARACTER
  48. FIELD EANGGeb AS CHARACTER
  49. FIELD KGebinde AS CHARACTER
  50. FIELD rArtst AS RECID
  51. FIELD KGebMe AS INTEGER
  52. FIELD VGebMe AS INTEGER
  53. FIELD GGebMe AS INTEGER
  54. FIELD DDKGebCd AS CHARACTER
  55. FIELD DDVGebCd AS CHARACTER
  56. FIELD DDGGebCd AS CHARACTER
  57. FIELD lFound AS LOGICAL
  58. FIELD lS_Artnr AS LOGICAL
  59. FIELD lEANVGeb AS LOGICAL
  60. FIELD lAnzeigen AS LOGICAL
  61. INDEX tArtst-k1 IS PRIMARY
  62. Firma
  63. Artnr
  64. Inhalt
  65. Jahr
  66. INDEX tArtst-k2
  67. S_Artnr
  68. INDEX tArtst-k3
  69. Strichcode
  70. INDEX tArtst-k4
  71. EANKGeb
  72. INDEX tArtst-k5
  73. EANVGeb
  74. INDEX tArtst-k6
  75. EANGGeb
  76. .
  77. DEFINE BUFFER btArtst FOR tArtst.
  78. DEFINE TEMP-TABLE tArtstOK LIKE Artst
  79. FIELD S_Artnr AS CHARACTER
  80. FIELD EANKGeb AS CHARACTER
  81. FIELD EANVGeb AS CHARACTER
  82. FIELD EANGGeb AS CHARACTER
  83. FIELD KGebinde AS CHARACTER
  84. FIELD iArt AS INTEGER
  85. FIELD KGebMe AS INTEGER
  86. FIELD VGebMe AS INTEGER
  87. FIELD GGebMe AS INTEGER
  88. FIELD DDKGebCd AS CHARACTER
  89. FIELD DDVGebCd AS CHARACTER
  90. FIELD DDGGebCd AS CHARACTER
  91. FIELD lAktiv AS LOGICAL
  92. FIELD lVerfuegbar AS LOGICAL
  93. FIELD rtArtst AS RECID
  94. FIELD rttDDArtikel AS RECID
  95. .
  96. DEFINE VARIABLE httDDArtikel AS HANDLE NO-UNDO.
  97. DEFINE VARIABLE htArtst AS HANDLE NO-UNDO.
  98. DEFINE VARIABLE htArtstOK AS HANDLE NO-UNDO.
  99. httDDArtikel = TEMP-TABLE ttDDArtikel:DEFAULT-BUFFER-HANDLE.
  100. htArtst = TEMP-TABLE tArtst :DEFAULT-BUFFER-HANDLE.
  101. htArtstOK = TEMP-TABLE tArtstOK :DEFAULT-BUFFER-HANDLE.
  102. {src/adm2/widgetprto.i}
  103. /* _UIB-CODE-BLOCK-END */
  104. &ANALYZE-RESUME
  105. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  106. /* ******************** Preprocessor Definitions ******************** */
  107. &Scoped-define PROCEDURE-TYPE SmartWindow
  108. &Scoped-define DB-AWARE no
  109. &Scoped-define ADM-CONTAINER WINDOW
  110. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target,Filter-target,Filter-Source
  111. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  112. &Scoped-define FRAME-NAME fMain
  113. &Scoped-define BROWSE-NAME Br_tArtst
  114. /* Internal Tables (found by Frame, Query & Browse Queries) */
  115. &Scoped-define INTERNAL-TABLES tArtst tArtstOK ttDDArtikel
  116. /* Definitions for BROWSE Br_tArtst */
  117. &Scoped-define FIELDS-IN-QUERY-Br_tArtst tArtst.Artnr tArtst.Inhalt tArtst.Jahr tArtst.KGebinde tArtst.Bez tArtst.EANKGeb tArtst.EANVGeb tArtst.S_Artnr
  118. &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_tArtst
  119. &Scoped-define SELF-NAME Br_tArtst
  120. &Scoped-define QUERY-STRING-Br_tArtst FOR EACH tArtst
  121. &Scoped-define OPEN-QUERY-Br_tArtst OPEN QUERY {&SELF-NAME} FOR EACH tArtst.
  122. &Scoped-define TABLES-IN-QUERY-Br_tArtst tArtst
  123. &Scoped-define FIRST-TABLE-IN-QUERY-Br_tArtst tArtst
  124. /* Definitions for BROWSE Br_tArtstOK */
  125. &Scoped-define FIELDS-IN-QUERY-Br_tArtstOK tArtstOK.Artnr tArtstOK.Inhalt tArtstOK.Jahr tArtstOK.KGebinde tArtstOK.Bez tArtstOK.EANKGeb tArtstOK.EANVGeb tArtstOK.S_Artnr
  126. &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_tArtstOK
  127. &Scoped-define SELF-NAME Br_tArtstOK
  128. &Scoped-define QUERY-STRING-Br_tArtstOK FOR EACH tArtstOK
  129. &Scoped-define OPEN-QUERY-Br_tArtstOK OPEN QUERY {&SELF-NAME} FOR EACH tArtstOK.
  130. &Scoped-define TABLES-IN-QUERY-Br_tArtstOK tArtstOK
  131. &Scoped-define FIRST-TABLE-IN-QUERY-Br_tArtstOK tArtstOK
  132. /* Definitions for BROWSE Br_ttDDArtikel */
  133. &Scoped-define FIELDS-IN-QUERY-Br_ttDDArtikel ttDDArtikel.Bezeichnung ttDDArtikel.HerstArtnr ttDDArtikel.EANKGeb ttDDArtikel.EANVGeb
  134. &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_ttDDArtikel
  135. &Scoped-define SELF-NAME Br_ttDDArtikel
  136. &Scoped-define QUERY-STRING-Br_ttDDArtikel FOR EACH ttDDArtikel
  137. &Scoped-define OPEN-QUERY-Br_ttDDArtikel OPEN QUERY {&SELF-NAME} FOR EACH ttDDArtikel.
  138. &Scoped-define TABLES-IN-QUERY-Br_ttDDArtikel ttDDArtikel
  139. &Scoped-define FIRST-TABLE-IN-QUERY-Br_ttDDArtikel ttDDArtikel
  140. /* Definitions for FRAME fMain */
  141. /* Standard List Definitions */
  142. &Scoped-Define ENABLED-OBJECTS F_Knr F_Lieferant F_GlnNr Btn_Sammeln ~
  143. Btn_DDAbgleich Br_tArtst Br_tArtstOK Btn_ARTIKELOK Br_ttDDArtikel ~
  144. Btn_ARTIKELNOK Bt_OK Btn_Cancel
  145. &Scoped-Define DISPLAYED-OBJECTS F_Knr F_Lieferant F_GlnNr
  146. /* Custom List Definitions */
  147. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  148. &Scoped-define List-6 F_Knr F_Lieferant F_GlnNr
  149. /* _UIB-PREPROCESSOR-BLOCK-END */
  150. &ANALYZE-RESUME
  151. /* ************************ Function Prototypes ********************** */
  152. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD checkDoppelte DigitalDrink
  153. FUNCTION checkDoppelte RETURNS LOGICAL
  154. ( ) FORWARD.
  155. /* _UIB-CODE-BLOCK-END */
  156. &ANALYZE-RESUME
  157. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD fillDaten DigitalDrink
  158. FUNCTION fillDaten RETURNS LOGICAL
  159. ( iprttDDArtikel AS RECID, iprtArtst AS RECID ) FORWARD.
  160. /* _UIB-CODE-BLOCK-END */
  161. &ANALYZE-RESUME
  162. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getProgname DigitalDrink
  163. FUNCTION getProgname RETURNS CHARACTER
  164. ( /* parameter-definitions */ ) FORWARD.
  165. /* _UIB-CODE-BLOCK-END */
  166. &ANALYZE-RESUME
  167. /* *********************** Control Definitions ********************** */
  168. /* Define the widget handle for the window */
  169. DEFINE VAR DigitalDrink AS WIDGET-HANDLE NO-UNDO.
  170. /* Definitions of the field level widgets */
  171. DEFINE BUTTON Btn_ARTIKELNOK
  172. IMAGE-UP FILE "grafik/prev.bmp":U
  173. IMAGE-DOWN FILE "grafik/prev.bmp":U
  174. LABEL "Button 2"
  175. SIZE 3.6 BY .86.
  176. DEFINE BUTTON Btn_ARTIKELOK
  177. IMAGE-UP FILE "grafik/next.bmp":U
  178. IMAGE-DOWN FILE "grafik/next.bmp":U
  179. LABEL "Button 1"
  180. SIZE 3.6 BY .86.
  181. DEFINE BUTTON Btn_Cancel
  182. LABEL "abbrechen"
  183. SIZE 15 BY 1.
  184. DEFINE BUTTON Btn_DDAbgleich
  185. LABEL "mit DigitalDrink abgleichen"
  186. SIZE 30 BY 1.
  187. DEFINE BUTTON Btn_Sammeln
  188. LABEL "Sammeln"
  189. SIZE 15 BY 1.
  190. DEFINE BUTTON Bt_OK
  191. LABEL "mutieren"
  192. SIZE 15 BY 1.
  193. DEFINE VARIABLE F_GlnNr AS CHARACTER FORMAT "x(20)":U
  194. LABEL "GLN-Nr"
  195. VIEW-AS FILL-IN NATIVE
  196. SIZE 20 BY 1
  197. BGCOLOR 15 NO-UNDO.
  198. DEFINE VARIABLE F_Knr AS INTEGER FORMAT "999999":U INITIAL 0
  199. LABEL "Lieferanten-Nr"
  200. VIEW-AS FILL-IN NATIVE
  201. SIZE 12 BY 1
  202. BGCOLOR 15 NO-UNDO.
  203. DEFINE VARIABLE F_Lieferant AS CHARACTER FORMAT "X(256)":U
  204. LABEL "/"
  205. VIEW-AS FILL-IN NATIVE
  206. SIZE 80 BY 1
  207. BGCOLOR 15 NO-UNDO.
  208. /* Query definitions */
  209. &ANALYZE-SUSPEND
  210. DEFINE QUERY Br_tArtst FOR
  211. tArtst SCROLLING.
  212. DEFINE QUERY Br_tArtstOK FOR
  213. tArtstOK SCROLLING.
  214. DEFINE QUERY Br_ttDDArtikel FOR
  215. ttDDArtikel SCROLLING.
  216. &ANALYZE-RESUME
  217. /* Browse definitions */
  218. DEFINE BROWSE Br_tArtst
  219. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_tArtst DigitalDrink _FREEFORM
  220. QUERY Br_tArtst DISPLAY
  221. tArtst.Artnr FORMAT '999999' LABEL 'Artnr'
  222. tArtst.Inhalt FORMAT '9999' LABEL 'Inhalt'
  223. tArtst.Jahr FORMAT '9999' LABEL 'Jahr'
  224. tArtst.KGebinde FORMAT 'x(12)' LABEL 'KGebinde'
  225. tArtst.Bez FORMAT 'x(54)' LABEL 'Artikel'
  226. tArtst.EANKGeb FORMAT 'x(17)' LABEL 'EAN-/KGeb'
  227. tArtst.EANVGeb FORMAT 'x(17)' LABEL 'EAN-/VGeb'
  228. tArtst.S_Artnr FORMAT 'x(20)' LABEL 'Artnr Lief'
  229. /* _UIB-CODE-BLOCK-END */
  230. &ANALYZE-RESUME
  231. WITH NO-ROW-MARKERS SEPARATORS SIZE 144 BY 12.86.
  232. DEFINE BROWSE Br_tArtstOK
  233. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_tArtstOK DigitalDrink _FREEFORM
  234. QUERY Br_tArtstOK DISPLAY
  235. tArtstOK.Artnr FORMAT '999999' LABEL 'Artnr'
  236. tArtstOK.Inhalt FORMAT '9999' LABEL 'Inhalt'
  237. tArtstOK.Jahr FORMAT '9999' LABEL 'Jahr'
  238. tArtstOK.KGebinde FORMAT 'x(12)' LABEL 'KGebinde'
  239. tArtstOK.Bez FORMAT 'x(54)' LABEL 'Artikel'
  240. tArtstOK.EANKGeb FORMAT 'x(17)' LABEL 'EAN-/KGebinde'
  241. tArtstOK.EANVGeb FORMAT 'x(17)' LABEL 'EAN-/VGebinde'
  242. tArtstOK.S_Artnr FORMAT 'x(20)' LABEL 'Artnr Lief'
  243. /* _UIB-CODE-BLOCK-END */
  244. &ANALYZE-RESUME
  245. WITH NO-ROW-MARKERS SEPARATORS SIZE 150 BY 27.62.
  246. DEFINE BROWSE Br_ttDDArtikel
  247. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_ttDDArtikel DigitalDrink _FREEFORM
  248. QUERY Br_ttDDArtikel DISPLAY
  249. ttDDArtikel.Bezeichnung FORMAT 'x(68)' LABEL 'DD-Artikel'
  250. ttDDArtikel.HerstArtnr FORMAT 'x(18)' LABEL 'Artnr Lief'
  251. ttDDArtikel.EANKGeb FORMAT 'x(19)' LABEL 'EAN-Code KGeb'
  252. ttDDArtikel.EANVGeb FORMAT 'x(19)' LABEL 'EAN-Code VGeb'
  253. ttDDArtikel.GGebMe FORMAT 'zz9' LABEL 'GGeb Me'
  254. /* _UIB-CODE-BLOCK-END */
  255. &ANALYZE-RESUME
  256. WITH NO-ROW-MARKERS SEPARATORS SIZE 144 BY 12.86.
  257. /* ************************ Frame Definitions *********************** */
  258. DEFINE FRAME fMain
  259. F_Knr AT ROW 2 COL 20 COLON-ALIGNED WIDGET-ID 2
  260. F_Lieferant AT ROW 2 COL 35 COLON-ALIGNED WIDGET-ID 4 NO-TAB-STOP
  261. F_GlnNr AT ROW 2 COL 130 COLON-ALIGNED WIDGET-ID 6 NO-TAB-STOP
  262. Btn_Sammeln AT ROW 2 COL 170 WIDGET-ID 8
  263. Btn_DDAbgleich AT ROW 2 COL 196.2 WIDGET-ID 10
  264. Br_tArtst AT ROW 3.86 COL 5 WIDGET-ID 200
  265. Br_tArtstOK AT ROW 3.86 COL 161 WIDGET-ID 400
  266. Btn_ARTIKELOK AT ROW 13.38 COL 152 WIDGET-ID 16
  267. Br_ttDDArtikel AT ROW 18.62 COL 5 WIDGET-ID 300
  268. Btn_ARTIKELNOK AT ROW 21.48 COL 152 WIDGET-ID 18
  269. Bt_OK AT ROW 32.52 COL 132 WIDGET-ID 20
  270. Btn_Cancel AT ROW 32.52 COL 163 WIDGET-ID 22
  271. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  272. SIDE-LABELS NO-UNDERLINE THREE-D
  273. AT COL 1 ROW 1
  274. SIZE 314.2 BY 33.33
  275. CANCEL-BUTTON Btn_Cancel WIDGET-ID 100.
  276. /* *********************** Procedure Settings ************************ */
  277. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  278. /* Settings for THIS-PROCEDURE
  279. Type: SmartWindow
  280. Allow: Basic,Browse,DB-Fields,Query,Smart,Window
  281. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target,Filter-target,Filter-Source
  282. Other Settings: COMPILE APPSERVER
  283. */
  284. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  285. /* ************************* Create Window ************************** */
  286. &ANALYZE-SUSPEND _CREATE-WINDOW
  287. IF SESSION:DISPLAY-TYPE = "GUI":U THEN
  288. CREATE WINDOW DigitalDrink ASSIGN
  289. HIDDEN = YES
  290. TITLE = "Artikel von Digital Drink"
  291. HEIGHT = 33.33
  292. WIDTH = 314.2
  293. MAX-HEIGHT = 65.57
  294. MAX-WIDTH = 512
  295. VIRTUAL-HEIGHT = 65.57
  296. VIRTUAL-WIDTH = 512
  297. RESIZE = NO
  298. SCROLL-BARS = NO
  299. STATUS-AREA = NO
  300. BGCOLOR = ?
  301. FGCOLOR = ?
  302. THREE-D = YES
  303. MESSAGE-AREA = NO
  304. SENSITIVE = YES.
  305. ELSE {&WINDOW-NAME} = CURRENT-WINDOW.
  306. &IF '{&WINDOW-SYSTEM}' NE 'TTY' &THEN
  307. IF NOT DigitalDrink:LOAD-ICON("grafik/appl.ico":U) THEN
  308. MESSAGE "Unable to load icon: grafik/appl.ico"
  309. VIEW-AS ALERT-BOX WARNING BUTTONS OK.
  310. &ENDIF
  311. /* END WINDOW DEFINITION */
  312. &ANALYZE-RESUME
  313. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB DigitalDrink
  314. /* ************************* Included-Libraries *********************** */
  315. {src/adm2/containr.i}
  316. /* _UIB-CODE-BLOCK-END */
  317. &ANALYZE-RESUME
  318. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  319. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  320. /* SETTINGS FOR WINDOW DigitalDrink
  321. VISIBLE,,RUN-PERSISTENT */
  322. /* SETTINGS FOR FRAME fMain
  323. FRAME-NAME */
  324. /* BROWSE-TAB Br_tArtst Btn_DDAbgleich fMain */
  325. /* BROWSE-TAB Br_tArtstOK Br_tArtst fMain */
  326. /* BROWSE-TAB Br_ttDDArtikel Btn_ARTIKELOK fMain */
  327. ASSIGN
  328. Br_tArtst:ALLOW-COLUMN-SEARCHING IN FRAME fMain = TRUE
  329. Br_tArtst:COLUMN-RESIZABLE IN FRAME fMain = TRUE.
  330. ASSIGN
  331. Br_tArtstOK:COLUMN-RESIZABLE IN FRAME fMain = TRUE.
  332. ASSIGN
  333. Br_ttDDArtikel:COLUMN-RESIZABLE IN FRAME fMain = TRUE.
  334. /* SETTINGS FOR FILL-IN F_GlnNr IN FRAME fMain
  335. 6 */
  336. ASSIGN
  337. F_GlnNr:READ-ONLY IN FRAME fMain = TRUE.
  338. /* SETTINGS FOR FILL-IN F_Knr IN FRAME fMain
  339. 6 */
  340. /* SETTINGS FOR FILL-IN F_Lieferant IN FRAME fMain
  341. 6 */
  342. ASSIGN
  343. F_Lieferant:READ-ONLY IN FRAME fMain = TRUE.
  344. IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(DigitalDrink)
  345. THEN DigitalDrink:HIDDEN = YES.
  346. /* _RUN-TIME-ATTRIBUTES-END */
  347. &ANALYZE-RESUME
  348. /* Setting information for Queries and Browse Widgets fields */
  349. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_tArtst
  350. /* Query rebuild information for BROWSE Br_tArtst
  351. _START_FREEFORM
  352. OPEN QUERY {&SELF-NAME} FOR EACH tArtst.
  353. _END_FREEFORM
  354. _Query is NOT OPENED
  355. */ /* BROWSE Br_tArtst */
  356. &ANALYZE-RESUME
  357. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_tArtstOK
  358. /* Query rebuild information for BROWSE Br_tArtstOK
  359. _START_FREEFORM
  360. OPEN QUERY {&SELF-NAME} FOR EACH tArtstOK.
  361. _END_FREEFORM
  362. _Query is NOT OPENED
  363. */ /* BROWSE Br_tArtstOK */
  364. &ANALYZE-RESUME
  365. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_ttDDArtikel
  366. /* Query rebuild information for BROWSE Br_ttDDArtikel
  367. _START_FREEFORM
  368. OPEN QUERY {&SELF-NAME} FOR EACH ttDDArtikel.
  369. _END_FREEFORM
  370. _Query is NOT OPENED
  371. */ /* BROWSE Br_ttDDArtikel */
  372. &ANALYZE-RESUME
  373. /* ************************ Control Triggers ************************ */
  374. &Scoped-define SELF-NAME DigitalDrink
  375. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL DigitalDrink DigitalDrink
  376. ON END-ERROR OF DigitalDrink /* Artikel von Digital Drink */
  377. OR ENDKEY OF {&WINDOW-NAME} ANYWHERE
  378. DO:
  379. /* This case occurs when the user presses the "Esc" key.
  380. In a persistently run window, just ignore this. If we did not, the
  381. application would exit. */
  382. IF THIS-PROCEDURE:PERSISTENT THEN RETURN NO-APPLY.
  383. /* ****************************** */
  384. RUN ENDE.
  385. RETURN NO-APPLY.
  386. /* ****************************** */
  387. END.
  388. /* _UIB-CODE-BLOCK-END */
  389. &ANALYZE-RESUME
  390. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL DigitalDrink DigitalDrink
  391. ON WINDOW-CLOSE OF DigitalDrink /* Artikel von Digital Drink */
  392. DO:
  393. /* This ADM code must be left here in order for the SmartWindow
  394. and its descendents to terminate properly on exit. */
  395. RUN ENDE.
  396. RETURN NO-APPLY.
  397. END.
  398. /* _UIB-CODE-BLOCK-END */
  399. &ANALYZE-RESUME
  400. &Scoped-define BROWSE-NAME Br_tArtst
  401. &Scoped-define SELF-NAME Br_tArtst
  402. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_tArtst DigitalDrink
  403. ON DELETE-CHARACTER OF Br_tArtst IN FRAME fMain
  404. DO:
  405. Br_tArtst:FETCH-SELECTED-ROW(1).
  406. DELETE tArtst.
  407. Br_tArtst:DELETE-SELECTED-ROW (1).
  408. END.
  409. /* _UIB-CODE-BLOCK-END */
  410. &ANALYZE-RESUME
  411. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_tArtst DigitalDrink
  412. ON END-ERROR OF Br_tArtst IN FRAME fMain
  413. OR ENDKEY OF Br_tArtst
  414. DO:
  415. APPLY 'ENTRY' TO F_Knr.
  416. RETURN NO-APPLY.
  417. END.
  418. /* _UIB-CODE-BLOCK-END */
  419. &ANALYZE-RESUME
  420. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_tArtst DigitalDrink
  421. ON LEFT-MOUSE-DBLCLICK OF Br_tArtst IN FRAME fMain
  422. DO:
  423. DEFINE VARIABLE cEANKGeb AS CHARACTER NO-UNDO.
  424. DEFINE VARIABLE cEANVGeb AS CHARACTER NO-UNDO.
  425. DEFINE VARIABLE cS_Artnr AS CHARACTER NO-UNDO.
  426. DEFINE VARIABLE lOK AS LOGICAL NO-UNDO.
  427. DEFINE VARIABLE rwtArtst AS ROWID NO-UNDO.
  428. Br_tArtst:FETCH-SELECTED-ROW(1).
  429. rwtArtst = ROWID(tArtst).
  430. ASSIGN
  431. cEANKGeb = tArtst.EANKGeb
  432. cEANVGeb = tArtst.EANVGeb
  433. cS_Artnr = tArtst.S_Artnr.
  434. RUN g-ddwerteingabe.w ( INPUT-OUTPUT cEANKGeb, INPUT-OUTPUT cEANVGeb, INPUT-OUTPUT cS_Artnr, OUTPUT lOK ) NO-ERROR.
  435. IF NOT lOK THEN RETURN NO-APPLY.
  436. tArtst.EANKGeb = cEANKGeb.
  437. tArtst.EANVGeb = cEANVGeb.
  438. tArtst.S_Artnr = cS_Artnr.
  439. lMeldung = DYNAMIC-FUNCTION ('checkDoppelte':U) NO-ERROR.
  440. hqtArtst:QUERY-OPEN ().
  441. hqtArtst:REPOSITION-TO-ROWID (ROWID(tArtst)).
  442. END.
  443. /* _UIB-CODE-BLOCK-END */
  444. &ANALYZE-RESUME
  445. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_tArtst DigitalDrink
  446. ON RETURN OF Br_tArtst IN FRAME fMain
  447. DO:
  448. DEFINE VARIABLE cEANKGeb AS CHARACTER NO-UNDO.
  449. DEFINE VARIABLE cEANVGeb AS CHARACTER NO-UNDO.
  450. DEFINE VARIABLE cS_Artnr AS CHARACTER NO-UNDO.
  451. DEFINE VARIABLE lOK AS LOGICAL NO-UNDO.
  452. DEFINE VARIABLE rwtArtst AS ROWID NO-UNDO.
  453. Br_tArtst:FETCH-SELECTED-ROW(1).
  454. rwtArtst = ROWID(tArtst).
  455. ASSIGN
  456. cEANKGeb = tArtst.EANKGeb
  457. cEANVGeb = tArtst.EANVGeb
  458. cS_Artnr = tArtst.S_Artnr.
  459. RUN g-ddwerteingabe.w ( INPUT-OUTPUT cEANKGeb, INPUT-OUTPUT cEANVGeb, INPUT-OUTPUT cS_Artnr, OUTPUT lOK ) NO-ERROR.
  460. IF NOT lOK THEN RETURN NO-APPLY.
  461. tArtst.EANKGeb = cEANKGeb.
  462. tArtst.EANVGeb = cEANVGeb.
  463. tArtst.S_Artnr = cS_Artnr.
  464. lMeldung = DYNAMIC-FUNCTION ('checkDoppelte':U) NO-ERROR.
  465. hqtArtst:QUERY-OPEN ().
  466. hqtArtst:REPOSITION-TO-ROWID (ROWID(tArtst)).
  467. END.
  468. /* _UIB-CODE-BLOCK-END */
  469. &ANALYZE-RESUME
  470. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_tArtst DigitalDrink
  471. ON ROW-DISPLAY OF Br_tArtst IN FRAME fMain
  472. DO:
  473. IF tArtst.lS_Artnr THEN tArtst.S_Artnr:BGCOLOR IN BROWSE Br_tArtst = 14.
  474. ELSE tArtst.S_Artnr:BGCOLOR IN BROWSE Br_tArtst = 15.
  475. IF tArtst.lEANVGeb THEN tArtst.EANVGeb:BGCOLOR IN BROWSE Br_tArtst = 14.
  476. ELSE tArtst.EANVGeb:BGCOLOR IN BROWSE Br_tArtst = 15.
  477. END.
  478. /* _UIB-CODE-BLOCK-END */
  479. &ANALYZE-RESUME
  480. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_tArtst DigitalDrink
  481. ON START-SEARCH OF Br_tArtst IN FRAME fMain
  482. DO:
  483. DEF VAR cString AS CHAR NO-UNDO.
  484. DEF VAR hCol AS HANDLE NO-UNDO.
  485. DEF VAR iSort AS INT NO-UNDO.
  486. hCol = SELF:CURRENT-COLUMN.
  487. ctArtstSort = hCol:NAME .
  488. APPLY 'END-SEARCH' TO {&BROWSE-NAME}.
  489. hqtArtst:QUERY-PREPARE (SUBSTITUTE('FOR EACH tArtst WHERE tArtst.Aktiv AND tArtst.lAnzeigen BY &1', ctArtstSort)).
  490. hqtArtst:QUERY-OPEN ().
  491. APPLY 'ENTRY' TO Br_tArtst.
  492. RETURN NO-APPLY.
  493. END.
  494. /* _UIB-CODE-BLOCK-END */
  495. &ANALYZE-RESUME
  496. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_tArtst DigitalDrink
  497. ON VALUE-CHANGED OF Br_tArtst IN FRAME fMain
  498. DO:
  499. Br_tArtst:FETCH-SELECTED-ROW(1).
  500. RUN FIND_DDARTIKEL ( tArtst.Bez ).
  501. PUBLISH 'DDABGLEICH' ( tArtst.Artnr, tArtst.Inhalt, tArtst.Jahr).
  502. END.
  503. /* _UIB-CODE-BLOCK-END */
  504. &ANALYZE-RESUME
  505. &Scoped-define BROWSE-NAME Br_tArtstOK
  506. &Scoped-define SELF-NAME Br_tArtstOK
  507. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_tArtstOK DigitalDrink
  508. ON END-ERROR OF Br_tArtstOK IN FRAME fMain
  509. OR ENDKEY OF Br_tArtstOK
  510. DO:
  511. APPLY 'ENTRY' TO F_Knr.
  512. RETURN NO-APPLY.
  513. END.
  514. /* _UIB-CODE-BLOCK-END */
  515. &ANALYZE-RESUME
  516. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_tArtstOK DigitalDrink
  517. ON ROW-DISPLAY OF Br_tArtstOK IN FRAME fMain
  518. DO:
  519. Br_tArtstOK:BGCOLOR = ?.
  520. Br_tArtstOK:FGCOLOR = ?.
  521. FIND FIRST bArtLief NO-LOCK
  522. WHERE bArtLief.Firma = Firma
  523. AND bArtLief.Knr = F_Knr
  524. AND bArtLief.Artnr = tArtstOK.Artnr
  525. AND bArtLief.Inhalt = tArtstOK.Inhalt
  526. AND bArtLief.Jahr = tArtstOK.Jahr NO-ERROR.
  527. IF NOT tArtstOK.lAktiv THEN
  528. DO:
  529. ASSIGN
  530. tArtstOK.Artnr :BGCOLOR IN BROWSE Br_tArtstOK = 12
  531. tArtstOK.Artnr :FGCOLOR = 15
  532. tArtstOK.Inhalt :BGCOLOR = 12
  533. tArtstOK.Inhalt :FGCOLOR = 15
  534. tArtstOK.Jahr :BGCOLOR = 12
  535. tArtstOK.Jahr :FGCOLOR = 15
  536. tArtstOK.KGebinde:BGCOLOR = 12
  537. tArtstOK.KGebinde:FGCOLOR = 15
  538. tArtstOK.Bez :BGCOLOR = 12
  539. tArtstOK.Bez :FGCOLOR = 15
  540. tArtstOK.EANKGeb :BGCOLOR = 12
  541. tArtstOK.EANKGeb :FGCOLOR = 15
  542. tArtstOK.EANVGeb :BGCOLOR = 12
  543. tArtstOK.EANVGeb :FGCOLOR = 15
  544. tArtstOK.S_Artnr :BGCOLOR = 12
  545. tArtstOK.S_Artnr :FGCOLOR = 15
  546. .
  547. END.
  548. IF NOT tArtstOK.lVerfuegbar THEN
  549. DO:
  550. ASSIGN
  551. tArtstOK.Artnr :BGCOLOR = 13
  552. tArtstOK.Artnr :FGCOLOR = 0
  553. tArtstOK.Inhalt :BGCOLOR = 13
  554. tArtstOK.Inhalt :FGCOLOR = 0
  555. tArtstOK.Jahr :BGCOLOR = 13
  556. tArtstOK.Jahr :FGCOLOR = 0
  557. tArtstOK.KGebinde:BGCOLOR = 13
  558. tArtstOK.KGebinde:FGCOLOR = 0
  559. tArtstOK.Bez :BGCOLOR = 13
  560. tArtstOK.Bez :FGCOLOR = 0
  561. tArtstOK.EANKGeb :BGCOLOR = 13
  562. tArtstOK.EANKGeb :FGCOLOR = 0
  563. tArtstOK.EANVGeb :BGCOLOR = 13
  564. tArtstOK.EANVGeb :FGCOLOR = 0
  565. tArtstOK.S_Artnr :BGCOLOR = 13
  566. tArtstOK.S_Artnr :FGCOLOR = 0
  567. .
  568. END.
  569. IF bArtLief.Strichcode_KGeb <> tArtstOK.EANKGeb THEN tArtstOK.EANKGeb:BGCOLOR IN BROWSE Br_tArtstOK = 14.
  570. /* ELSE tArtstOK.EANKGeb:BGCOLOR IN BROWSE Br_tArtstOK = 15.*/
  571. IF bArtLief.Strichcode_VGeb <> tArtstOK.EANVGeb THEN tArtstOK.EANVGeb:BGCOLOR IN BROWSE Br_tArtstOK = 14.
  572. /* ELSE tArtstOK.EANVGeb:BGCOLOR IN BROWSE Br_tArtstOK = 15.*/
  573. IF bArtLief.S_Artnr <> tArtstOK.S_Artnr THEN tArtstOK.S_Artnr:BGCOLOR IN BROWSE Br_tArtstOK = 14.
  574. /* ELSE tArtstOK.S_Artnr:BGCOLOR IN BROWSE Br_tArtstOK = 15.*/
  575. END.
  576. /* _UIB-CODE-BLOCK-END */
  577. &ANALYZE-RESUME
  578. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_tArtstOK DigitalDrink
  579. ON VALUE-CHANGED OF Br_tArtstOK IN FRAME fMain
  580. DO:
  581. Br_tArtstOK:FETCH-SELECTED-ROW(1).
  582. PUBLISH 'DDABGLEICH' ( tArtstOK.Artnr, tArtstOK.Inhalt, tArtstOK.Jahr).
  583. END.
  584. /* _UIB-CODE-BLOCK-END */
  585. &ANALYZE-RESUME
  586. &Scoped-define BROWSE-NAME Br_ttDDArtikel
  587. &Scoped-define SELF-NAME Br_ttDDArtikel
  588. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_ttDDArtikel DigitalDrink
  589. ON DELETE-CHARACTER OF Br_ttDDArtikel IN FRAME fMain
  590. DO:
  591. Br_ttDDArtikel:FETCH-SELECTED-ROW(1).
  592. DELETE ttDDArtikel.
  593. Br_ttDDArtikel:DELETE-SELECTED-ROW (1).
  594. END.
  595. /* _UIB-CODE-BLOCK-END */
  596. &ANALYZE-RESUME
  597. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_ttDDArtikel DigitalDrink
  598. ON END-ERROR OF Br_ttDDArtikel IN FRAME fMain
  599. OR ENDKEY OF Br_tArtstOK
  600. DO:
  601. APPLY 'ENTRY' TO F_Knr.
  602. RETURN NO-APPLY.
  603. END.
  604. /* _UIB-CODE-BLOCK-END */
  605. &ANALYZE-RESUME
  606. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_ttDDArtikel DigitalDrink
  607. ON ROW-DISPLAY OF Br_ttDDArtikel IN FRAME fMain
  608. DO:
  609. Br_ttDDArtikel:BGCOLOR = ?.
  610. Br_ttDDArtikel:FGCOLOR = ?.
  611. IF NOT ttDDArtikel.lAktiv THEN
  612. DO:
  613. ASSIGN
  614. ttDDArtikel.Bezeichnung:BGCOLOR IN BROWSE Br_ttDDArtikel = 12
  615. ttDDArtikel.Bezeichnung:FGCOLOR = 15
  616. ttDDArtikel.HerstArtnr :BGCOLOR = 12
  617. ttDDArtikel.HerstArtnr :FGCOLOR = 15
  618. ttDDArtikel.EANKGeb :BGCOLOR = 12
  619. ttDDArtikel.EANKGeb :FGCOLOR = 15
  620. ttDDArtikel.EANVGeb :BGCOLOR = 12
  621. ttDDArtikel.EANVGeb :FGCOLOR = 15
  622. .
  623. END.
  624. IF NOT ttDDArtikel.lVerfuegbar THEN
  625. DO:
  626. ASSIGN
  627. ttDDArtikel.Bezeichnung:BGCOLOR = 13
  628. ttDDArtikel.Bezeichnung:FGCOLOR = 0
  629. ttDDArtikel.HerstArtnr :BGCOLOR = 13
  630. ttDDArtikel.HerstArtnr :FGCOLOR = 0
  631. ttDDArtikel.EANKGeb :BGCOLOR = 13
  632. ttDDArtikel.EANKGeb :FGCOLOR = 0
  633. ttDDArtikel.EANVGeb :BGCOLOR = 13
  634. ttDDArtikel.EANVGeb :FGCOLOR = 0
  635. .
  636. END.
  637. END.
  638. /* _UIB-CODE-BLOCK-END */
  639. &ANALYZE-RESUME
  640. &Scoped-define SELF-NAME Btn_ARTIKELNOK
  641. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_ARTIKELNOK DigitalDrink
  642. ON CHOOSE OF Btn_ARTIKELNOK IN FRAME fMain /* Button 2 */
  643. DO:
  644. RUN ARTIKEL_NOK.
  645. APPLY 'ENTRY' TO Br_tArtst.
  646. RETURN NO-APPLY.
  647. END.
  648. /* _UIB-CODE-BLOCK-END */
  649. &ANALYZE-RESUME
  650. &Scoped-define SELF-NAME Btn_ARTIKELOK
  651. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_ARTIKELOK DigitalDrink
  652. ON CHOOSE OF Btn_ARTIKELOK IN FRAME fMain /* Button 1 */
  653. DO:
  654. RUN ARTIKEL_OK.
  655. APPLY 'ENTRY' TO Br_tArtst.
  656. RETURN NO-APPLY.
  657. END.
  658. /* _UIB-CODE-BLOCK-END */
  659. &ANALYZE-RESUME
  660. &Scoped-define SELF-NAME Btn_Cancel
  661. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel DigitalDrink
  662. ON CHOOSE OF Btn_Cancel IN FRAME fMain /* abbrechen */
  663. DO:
  664. RUN ENDE.
  665. RETURN NO-APPLY.
  666. END.
  667. /* _UIB-CODE-BLOCK-END */
  668. &ANALYZE-RESUME
  669. &Scoped-define SELF-NAME Btn_DDAbgleich
  670. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_DDAbgleich DigitalDrink
  671. ON CHOOSE OF Btn_DDAbgleich IN FRAME fMain /* mit DigitalDrink abgleichen */
  672. DO:
  673. SESSION:SET-WAIT-STATE ('GENERAL').
  674. RUN DD_ABGLEICH.
  675. SESSION:SET-WAIT-STATE ('').
  676. APPLY 'ENTRY' TO Br_tArtst.
  677. RETURN NO-APPLY.
  678. END.
  679. /* _UIB-CODE-BLOCK-END */
  680. &ANALYZE-RESUME
  681. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_DDAbgleich DigitalDrink
  682. ON END-ERROR OF Btn_DDAbgleich IN FRAME fMain /* mit DigitalDrink abgleichen */
  683. OR ENDKEY OF Btn_DDAbgleich
  684. DO:
  685. APPLY 'ENTRY' TO F_Knr.
  686. RETURN NO-APPLY.
  687. END.
  688. /* _UIB-CODE-BLOCK-END */
  689. &ANALYZE-RESUME
  690. &Scoped-define SELF-NAME Btn_Sammeln
  691. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Sammeln DigitalDrink
  692. ON CHOOSE OF Btn_Sammeln IN FRAME fMain /* Sammeln */
  693. DO:
  694. SESSION:SET-WAIT-STATE ('GENERAL').
  695. RUN ARTIKEL_SAMMELN.
  696. IF lMeldung THEN
  697. DO:
  698. FIND FIRST tArtst NO-LOCK
  699. WHERE tArtst.lS_Artnr
  700. OR tArtst.lEANVGeb NO-ERROR.
  701. IF AVAILABLE tArtst THEN
  702. DO:
  703. hqtArtst:REPOSITION-TO-ROWID (ROWID(tArtst)).
  704. END.
  705. END.
  706. SESSION:SET-WAIT-STATE ('').
  707. IF lMeldung THEN APPLY 'ENTRY' TO Br_tArtst IN FRAME {&FRAME-NAME}.
  708. ELSE APPLY 'ENTRY' TO Btn_DDAbgleich IN FRAME {&FRAME-NAME}.
  709. RETURN NO-APPLY.
  710. END.
  711. /* _UIB-CODE-BLOCK-END */
  712. &ANALYZE-RESUME
  713. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Sammeln DigitalDrink
  714. ON END-ERROR OF Btn_Sammeln IN FRAME fMain /* Sammeln */
  715. OR ENDKEY OF Btn_Sammeln
  716. DO:
  717. APPLY 'ENTRY' TO F_Knr.
  718. RETURN NO-APPLY.
  719. END.
  720. /* _UIB-CODE-BLOCK-END */
  721. &ANALYZE-RESUME
  722. &Scoped-define SELF-NAME Bt_OK
  723. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Bt_OK DigitalDrink
  724. ON CHOOSE OF Bt_OK IN FRAME fMain /* mutieren */
  725. DO:
  726. RUN ARTIKEL_MUTATION.
  727. APPLY 'ENTRY' TO F_Knr.
  728. RETURN NO-APPLY.
  729. END.
  730. /* _UIB-CODE-BLOCK-END */
  731. &ANALYZE-RESUME
  732. &Scoped-define SELF-NAME F_Knr
  733. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Knr DigitalDrink
  734. ON ALT-F OF F_Knr IN FRAME fMain /* Lieferanten-Nr */
  735. DO:
  736. DO WITH FRAME {&FRAME-NAME}:
  737. RUN g-suchen-adresse.w ( 'LIE', OUTPUT rAdresse ).
  738. IF rAdresse = ? OR
  739. rAdresse = 0 THEN
  740. DO:
  741. APPLY 'ENTRY' TO F_Knr.
  742. RETURN NO-APPLY.
  743. END.
  744. FIND bAdresse NO-LOCK
  745. WHERE RECID(bAdresse) = rAdresse.
  746. FIND bLiefst NO-LOCK
  747. WHERE bLiefst.Firma = Firma
  748. AND bLiefst.Knr = bAdresse.Knr.
  749. ASSIGN
  750. F_Knr = bLiefst.Knr
  751. F_Lieferant = bAdresse.Anzeig_Br
  752. F_GlnNr = bLiefst.GLN_Nr1.
  753. DISPLAY {&List-6}.
  754. EMPTY TEMP-TABLE tArtstOK.
  755. hqtArtstOK:QUERY-OPEN ().
  756. EMPTY TEMP-TABLE ttDDArtikel.
  757. hqttDDArtikel:QUERY-OPEN ().
  758. APPLY 'ENTRY' TO Btn_Sammeln.
  759. RETURN NO-APPLY.
  760. END.
  761. END.
  762. /* _UIB-CODE-BLOCK-END */
  763. &ANALYZE-RESUME
  764. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Knr DigitalDrink
  765. ON LEAVE OF F_Knr IN FRAME fMain /* Lieferanten-Nr */
  766. DO:
  767. IF LASTKEY <> 13 AND
  768. LASTKEY <> 10 AND
  769. LASTKEY <> 09 THEN RETURN.
  770. DO WITH FRAME {&FRAME-NAME}:
  771. ASSIGN {&list-6}.
  772. FIND bAdresse NO-LOCK
  773. WHERE bAdresse.FIrma = AdFirma
  774. AND bAdresse.Knr = F_Knr NO-ERROR.
  775. IF F_Knr = 0 OR
  776. NOT AVAILABLE bAdresse THEN
  777. DO:
  778. APPLY 'ENTRY' TO SELF.
  779. RETURN NO-APPLY.
  780. END.
  781. FIND bLiefst NO-LOCK
  782. WHERE bLiefst.Firma = Firma
  783. AND bLiefst.Knr = F_Knr NO-ERROR.
  784. IF NOT AVAILABLE bAdresse THEN
  785. DO:
  786. APPLY 'ENTRY' TO SELF.
  787. RETURN NO-APPLY.
  788. END.
  789. ASSIGN
  790. F_Knr = bLiefst.Knr
  791. F_Lieferant = bAdresse.Anzeig_Br
  792. F_GlnNr = bLiefst.GLN_Nr1.
  793. DISPLAY {&List-6}.
  794. EMPTY TEMP-TABLE tArtstOK.
  795. hqtArtstOK:QUERY-OPEN ().
  796. EMPTY TEMP-TABLE ttDDArtikel.
  797. hqttDDArtikel:QUERY-OPEN ().
  798. APPLY 'ENTRY' TO Btn_Sammeln.
  799. RETURN NO-APPLY.
  800. END.
  801. END.
  802. /* _UIB-CODE-BLOCK-END */
  803. &ANALYZE-RESUME
  804. &Scoped-define BROWSE-NAME Br_tArtst
  805. &UNDEFINE SELF-NAME
  806. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK DigitalDrink
  807. /* *************************** Main Block *************************** */
  808. { incl/winmainblock.i }
  809. {src/adm2/windowmn.i}
  810. /* _UIB-CODE-BLOCK-END */
  811. &ANALYZE-RESUME
  812. /* ********************** Internal Procedures *********************** */
  813. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects DigitalDrink _ADM-CREATE-OBJECTS
  814. PROCEDURE adm-create-objects :
  815. /*------------------------------------------------------------------------------
  816. Purpose: Create handles for all SmartObjects used in this procedure.
  817. After SmartObjects are initialized, then SmartLinks are added.
  818. Parameters: <none>
  819. ------------------------------------------------------------------------------*/
  820. END PROCEDURE.
  821. /* _UIB-CODE-BLOCK-END */
  822. &ANALYZE-RESUME
  823. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ARTIKEL_MUTATION DigitalDrink
  824. PROCEDURE ARTIKEL_MUTATION :
  825. /*-------------------------------------------------------------------------------- */
  826. /* Purpose: */
  827. /* Parameters: <none> */
  828. /* Notes: */
  829. /* ------------------------------------------------------------------------------ */
  830. DO WITH FRAME {&FRAME-NAME}:
  831. ASSIGN {&List-6}.
  832. END.
  833. FOR EACH tArtstOK:
  834. FIND Artst
  835. WHERE Artst.Firma = Firma
  836. AND Artst.Artnr = tArtstOK.Artnr
  837. AND Artst.Inhalt = tArtstOK.Inhalt
  838. AND Artst.Jahr = tArtstOK.Jahr.
  839. IF tArtstOK.EANKGeb <> '' THEN
  840. ASSIGN
  841. Artst.Strichcode = tArtstOK.Strichcode.
  842. FIND KGebinde
  843. WHERE KGebinde.Firma = Artst.Firma
  844. AND KGebinde.Geb_Cd = Artst.KGeb_Cd NO-ERROR.
  845. IF AVAILABLE KGebinde AND
  846. tArtstOK.DDKGebCd <> '' THEN
  847. DO:
  848. IF LOOKUP(tArtstOK.DDKGebCd, KGebinde.DD_Code, ';') = 0 THEN
  849. DO:
  850. KGebinde.DD_Code = KGebinde.DD_Code
  851. + (IF KGebinde.DD_Code = '' THEN '' ELSE ';')
  852. + tArtstOK.DDKGebCd.
  853. KGebinde.DD_Code = REPLACE(KGebinde.DD_Code, ';;', ';').
  854. END.
  855. END.
  856. FIND VGebinde
  857. WHERE VGebinde.Firma = Artst.Firma
  858. AND VGebinde.Geb_Cd = Artst.VGeb_Cd NO-ERROR.
  859. IF AVAILABLE VGebinde AND
  860. tArtstOK.DDVGebCd <> '' THEN
  861. DO:
  862. IF LOOKUP(tArtstOK.DDVGebCd, VGebinde.DD_Code, ';') = 0 THEN
  863. DO:
  864. VGebinde.DD_Code = VGebinde.DD_Code
  865. + (IF VGebinde.DD_Code = '' THEN '' ELSE ';')
  866. + tArtstOK.DDVGebCd.
  867. VGebinde.DD_Code = REPLACE(VGebinde.DD_Code, ';;', ';').
  868. END.
  869. END.
  870. FIND GGebinde
  871. WHERE GGebinde.Firma = Artst.Firma
  872. AND GGebinde.Geb_Cd = Artst.GGeb_Cd NO-ERROR.
  873. IF AVAILABLE GGebinde AND
  874. tArtstOK.DDGGebCd <> '' THEN
  875. DO:
  876. IF LOOKUP(tArtstOK.DDGGebCd, GGebinde.DD_Code, ';') = 0 THEN
  877. DO:
  878. GGebinde.DD_Code = GGebinde.DD_Code
  879. + (IF GGebinde.DD_Code = '' THEN '' ELSE ';')
  880. + tArtstOK.DDGGebCd.
  881. GGebinde.DD_Code = REPLACE(GGebinde.DD_Code, ';;', ';').
  882. END.
  883. END.
  884. RELEASE KGebinde.
  885. RELEASE VGebinde.
  886. RELEASE GGebinde.
  887. FOR EACH ArtLief USE-INDEX ArtLief-k1
  888. WHERE ArtLief.Firma = Firma
  889. AND ArtLief.Artnr = tArtstOK.Artnr
  890. AND ArtLief.Inhalt = tArtstOK.Inhalt
  891. AND ArtLief.Jahr = tArtstOK.Jahr.
  892. ASSIGN
  893. ArtLief.Strichcode_KGeb = tArtstOK.EANKGeb
  894. ArtLief.S_Artnr = (IF tArtstOK.S_Artnr <> '' THEN tArtstOK.S_Artnr ELSE ArtLief.S_Artnr).
  895. IF tArtstOK.EANVGeb <> '' THEN ArtLief.Strichcode_VGeb = tArtstOK.EANVGeb.
  896. IF tArtstOK.EANGGeb <> '' AND
  897. ArtLief.Knr = F_Knr THEN ArtLief.Strichcode_GGeb = tArtstOK.EANGGeb.
  898. RELEASE Artst.
  899. RELEASE ArtLief.
  900. END.
  901. END.
  902. EMPTY TEMP-TABLE tArtst .
  903. EMPTY TEMP-TABLE tArtstOK .
  904. EMPTY TEMP-TABLE ttDDArtikel.
  905. hqtArtst :QUERY-OPEN ().
  906. hqtArtstOK :QUERY-OPEN ().
  907. hqttDDArtikel:QUERY-OPEN ().
  908. END PROCEDURE.
  909. /* _UIB-CODE-BLOCK-END */
  910. &ANALYZE-RESUME
  911. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ARTIKEL_NOK DigitalDrink
  912. PROCEDURE ARTIKEL_NOK :
  913. /*-------------------------------------------------------------------------------- */
  914. /* Purpose: */
  915. /* Parameters: <none> */
  916. /* Notes: */
  917. /* ------------------------------------------------------------------------------ */
  918. DO WITH FRAME {&FRAME-NAME}:
  919. ASSIGN {&List-6}.
  920. Br_tArtstOK:FETCH-SELECTED-ROW (1).
  921. END.
  922. CREATE tArtst.
  923. FIND tArtst WHERE RECID(tArtst) = tArtstOK.rtArtst.
  924. FIND ttDDArtikel WHERE RECID(ttDDArtikel) = tArtstOK.rttDDArtikel.
  925. ASSIGN
  926. ttDDArtikel.Artnr = 0
  927. ttDDArtikel.Inhalt = 0
  928. ttDDArtikel.Jahr = 0
  929. ttDDArtikel.rArtst = 0
  930. ttDDArtikel.LieferGLN = F_GlnNr
  931. ttDDArtikel.lFound = FALSE
  932. ttDDArtikel.lAnzeigen = TRUE
  933. tArtst.lANzeigen = TRUE.
  934. DELETE tArtstOK.
  935. hqtArtst :QUERY-OPEN ().
  936. hqtArtstOK :QUERY-OPEN ().
  937. hqttDDArtikel:QUERY-OPEN ().
  938. END PROCEDURE.
  939. /* _UIB-CODE-BLOCK-END */
  940. &ANALYZE-RESUME
  941. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ARTIKEL_OK DigitalDrink
  942. PROCEDURE ARTIKEL_OK :
  943. /*-------------------------------------------------------------------------------- */
  944. /* Purpose: */
  945. /* Parameters: <none> */
  946. /* Notes: */
  947. /* ------------------------------------------------------------------------------ */
  948. DEFINE VARIABLE rwtArtstOK AS ROWID NO-UNDO.
  949. DO WITH FRAME {&FRAME-NAME}:
  950. Br_tArtst :FETCH-SELECTED-ROW (1).
  951. Br_ttDDArtikel:FETCH-SELECTED-ROW (1).
  952. END.
  953. CREATE tArtstOK.
  954. BUFFER-COPY tArtst
  955. TO tArtstOK
  956. ASSIGN
  957. tArtstOK.EANKGeb = ttDDArtikel.EANKGeb
  958. tArtstOK.EANVGeb = ttDDArtikel.EANVGeb
  959. tArtstOK.S_Artnr = (IF ttDDArtikel.HerstArtnr <> '' THEN ttDDArtikel.HerstArtnr ELSE tArtst.S_Artnr)
  960. tArtstOK.iArt = ttDDArtikel.iArt
  961. tArtstOK.lAktiv = ttDDArtikel.lAktiv
  962. tArtstOK.lVerfuegbar = ttDDArtikel.lVerfuegbar
  963. tArtstOK.rtArtst = RECID(tArtst)
  964. tArtstOK.rttDDArtikel = RECID(ttDDArtikel).
  965. rwtArtstOK = ROWID(tArtstOK).
  966. ASSIGN
  967. tArtst.lAnzeigen = FALSE
  968. ttDDArtikel.lAnzeigen = FALSE.
  969. hqtArtst :QUERY-OPEN ().
  970. hqtArtstOK :QUERY-OPEN ().
  971. hqttDDArtikel:QUERY-OPEN ().
  972. hqtArtstOK:REPOSITION-TO-ROWID (rwtArtstOK).
  973. END PROCEDURE.
  974. /* _UIB-CODE-BLOCK-END */
  975. &ANALYZE-RESUME
  976. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ARTIKEL_SAMMELN DigitalDrink
  977. PROCEDURE ARTIKEL_SAMMELN :
  978. /*-------------------------------------------------------------------------------- */
  979. /* Purpose: */
  980. /* Parameters: <none> */
  981. /* Notes: */
  982. /* ------------------------------------------------------------------------------ */
  983. DEFINE VARIABLE cDDVGebinde AS CHARACTER NO-UNDO.
  984. DO WITH FRAME {&FRAME-NAME}:
  985. ASSIGN {&List-6}.
  986. EMPTY TEMP-TABLE tArtst.
  987. FOR EACH ArtLief NO-LOCK
  988. WHERE ArtLief.Firma = Firma
  989. AND ArtLief.Knr = F_Knr
  990. ,
  991. FIRST Artst NO-LOCK
  992. WHERE Artst.Firma = ArtLief.Firma
  993. AND Artst.Artnr = ArtLief.Artnr
  994. AND Artst.Inhalt = ArtLief.Inhalt
  995. AND Artst.Jahr = ArtLief.Jahr
  996. AND Artst.Leih_Art = FALSE
  997. AND Artst.Aktiv = TRUE
  998. AND Artst.Ausverk < 9
  999. ,
  1000. FIRST Artbez NO-LOCK OF Artst:
  1001. FIND FIRST tArtst NO-LOCK OF Artst NO-ERROR.
  1002. IF AVAILABLE tArtst THEN NEXT.
  1003. FIND KGebinde NO-LOCK
  1004. WHERE KGebinde.Firma = Artst.Firma
  1005. AND KGebinde.Geb_Cd = Artst.KGeb_Cd NO-ERROR.
  1006. FIND VGebinde NO-LOCK
  1007. WHERE VGebinde.Firma = Artst.Firma
  1008. AND VGebinde.Geb_Cd = Artst.VGeb_Cd NO-ERROR.
  1009. FIND GGebinde NO-LOCK
  1010. WHERE GGebinde.Firma = Artst.Firma
  1011. AND GGebinde.Geb_Cd = Artst.GGeb_Cd NO-ERROR.
  1012. CREATE tArtst.
  1013. BUFFER-COPY Artst
  1014. TO tArtst
  1015. ASSIGN
  1016. tArtst.Bez = TRIM(Artbez.Bez1 + ' ' + Artbez.Bez2)
  1017. tArtst.S_Artnr = ArtLief.S_Artnr
  1018. tArtst.KGebinde = (IF AVAILABLE KGebinde THEN KGebinde.KBez ELSE '')
  1019. tArtst.rArtst = RECID(Artst)
  1020. tArtst.EANKGeb = ArtLief.Strichcode_KGeb
  1021. tArtst.EANVGeb = ArtLief.Strichcode_VGeb
  1022. tArtst.EANGGeb = ArtLief.Strichcode_GGeb
  1023. tArtst.KGebMe = (IF AVAILABLE KGebinde THEN KGebinde.Inhalt ELSE 1)
  1024. tArtst.VGebMe = (IF AVAILABLE VGebinde THEN VGebinde.Inhalt ELSE 1)
  1025. tArtst.GGebMe = (IF AVAILABLE GGebinde THEN GGebinde.Inhalt ELSE 1)
  1026. tArtst.DDKGebCd = (IF AVAILABLE KGebinde THEN KGebinde.DD_Code ELSE '')
  1027. tArtst.DDVGebCd = (IF AVAILABLE VGebinde THEN VGebinde.DD_Code ELSE '')
  1028. tArtst.DDGGebCd = (IF AVAILABLE GGebinde THEN GGebinde.DD_Code ELSE '')
  1029. tArtst.lFound = FALSE
  1030. tArtst.lS_Artnr = FALSE
  1031. tArtst.lEANVGeb = FALSE
  1032. tArtst.lAnzeigen = TRUE
  1033. .
  1034. IF tArtst.EANKGeb = '' THEN tArtst.EANKGeb = tArtst.Strichcode.
  1035. END.
  1036. lMeldung = DYNAMIC-FUNCTION ('checkDoppelte':U) NO-ERROR.
  1037. END.
  1038. hqtArtst:QUERY-OPEN ().
  1039. IF lMeldung THEN
  1040. MESSAGE 'Es hat Unstimmigkeiten in der Auswahl'
  1041. VIEW-AS ALERT-BOX INFORMATION .
  1042. END PROCEDURE.
  1043. /* _UIB-CODE-BLOCK-END */
  1044. &ANALYZE-RESUME
  1045. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage DigitalDrink
  1046. PROCEDURE changePage :
  1047. /*-------------------------------------------------------------------------------- */
  1048. /* Purpose: */
  1049. /* Parameters: <none> */
  1050. /* Notes: */
  1051. /* ------------------------------------------------------------------------------ */
  1052. RUN SUPER.
  1053. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  1054. CASE AktSeite:
  1055. WHEN 1 THEN
  1056. DO:
  1057. /* RUN addLink ( hAktionen , 'TableIO':U , h_v-auftr ). */
  1058. /* RUN addLink ( hAktionen , 'Navigation':U , h_d-auftr ). */
  1059. /* RUN setButtons IN hAktionen ( 'initial-TableIo' ) NO-ERROR. */
  1060. END.
  1061. WHEN 2 THEN
  1062. DO:
  1063. END.
  1064. END CASE.
  1065. RUN ENTRY_CURSOR.
  1066. END PROCEDURE.
  1067. /* _UIB-CODE-BLOCK-END */
  1068. &ANALYZE-RESUME
  1069. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DD_ABGLEICH DigitalDrink
  1070. PROCEDURE DD_ABGLEICH :
  1071. /*------------------------------------------------------------------------------*/
  1072. /* Purpose: */
  1073. /* Notes: */
  1074. /*------------------------------------------------------------------------------*/
  1075. DEFINE VARIABLE cConString AS CHARACTER NO-UNDO.
  1076. DEFINE VARIABLE hServer AS HANDLE NO-UNDO.
  1077. DEFINE VARIABLE ii AS INTEGER NO-UNDO.
  1078. DEFINE VARIABLE iLauf AS INTEGER NO-UNDO.
  1079. DEFINE VARIABLE rtArtst AS RECID NO-UNDO.
  1080. DEFINE VARIABLE rttDDArtikel AS RECID NO-UNDO.
  1081. DEFINE VARIABLE lok AS LOGICAL NO-UNDO.
  1082. DO WITH FRAME {&FRAME-NAME}:
  1083. ASSIGN {&List-6}.
  1084. EMPTY TEMP-TABLE ttDDArtikel.
  1085. cConString = SUBSTITUTE('-AppService &1 -H &2 -S &3 -sessionModel session-free', cERPAppServer, cERPServer, cNSPort ).
  1086. CREATE SERVER hServer.
  1087. hServer:CONNECT(cConString) NO-ERROR.
  1088. IF NOT hServer:CONNECTED() THEN
  1089. DO:
  1090. MESSAGE 'Kein AppServer für asERP' SKIP
  1091. 'Connect-String -> ' cConString VIEW-AS ALERT-BOX.
  1092. RETURN.
  1093. END.
  1094. RUN 'ddartikelexport.p' ON hServer ( F_GlnNr, OUTPUT TABLE ttDDArtikel). /* Aufruf Schnittstelle */
  1095. hServer:DISCONNECT().
  1096. DELETE OBJECT hServer NO-ERROR.
  1097. FIND FIRST ttDDArtikel NO-ERROR.
  1098. IF NOT AVAILABLE ttDDArtikel THEN RETURN NO-APPLY.
  1099. FOR EACH bttDDArtikel
  1100. WHERE bttDDArtikel.iArt = 0:
  1101. FOR EACH ttDDArtikel
  1102. WHERE ttDDArtikel.iArt = 1
  1103. AND ttDDArtikel.EANKGeb = bttDDArtikel.EANKGeb:
  1104. ASSIGN
  1105. ttDDArtikel.KGebCd = bttDDArtikel.KGebCd
  1106. ttDDArtikel.KGebMe = bttDDArtikel.KGebMe.
  1107. END.
  1108. END.
  1109. FOR EACH bttDDArtikel
  1110. WHERE bttDDArtikel.iArt = 1:
  1111. FOR EACH ttDDArtikel
  1112. WHERE ttDDArtikel.iArt = 2
  1113. AND ttDDArtikel.EANKGeb = bttDDArtikel.EANKGeb
  1114. AND ttDDArtikel.EANVGeb = bttDDArtikel.EANVGeb:
  1115. ASSIGN
  1116. ttDDArtikel.KGebCd = bttDDArtikel.KGebCd
  1117. ttDDArtikel.KGebMe = bttDDArtikel.KGebMe
  1118. ttDDArtikel.VGebCd = bttDDArtikel.VGebCd
  1119. ttDDArtikel.VGebMe = bttDDArtikel.VGebMe.
  1120. IF bttDDArtikel.HerstArtnr = ttDDArtikel.HerstArtnr THEN
  1121. DO:
  1122. ASSIGN
  1123. bttDDArtikel.GGebMe = ttDDArtikel.GGebMe.
  1124. END.
  1125. END.
  1126. END.
  1127. /* OUTPUT TO 'C:\Entwicklung\TEMP\OE117WRK\ttDDArtikel.csv' NO-MAP NO-CONVERT.*/
  1128. /* FOR EACH ttddArtikel: */
  1129. /* EXPORT DELIMITER ';' ttddArtikel. */
  1130. /* END. */
  1131. /* OUTPUT CLOSE. */
  1132. /* -------------------------------------------------------------- */
  1133. /* alle bereits eindeutig zugeteilten Artikel */
  1134. /* -------------------------------------------------------------- */
  1135. FOR EACH ttDDArtikel
  1136. WHERE ttDDArtikel.iArt = 2
  1137. AND ttDDArtikel.lFound = FALSE:
  1138. FIND FIRST tArtst
  1139. WHERE tArtst.EANKGeb = ttDDArtikel.EANKGeb
  1140. AND tArtst.EANVGeb = ttDDArtikel.EANVGeb
  1141. AND tArtst.S_Artnr = ttDDArtikel.HerstArtnr
  1142. AND tArtst.KGebMe = ttDDArtikel.KGebMe
  1143. AND tArtst.VGebMe = ttDDArtikel.VGebMe
  1144. AND tArtst.GGebMe = ttDDArtikel.GGebMe NO-ERROR.
  1145. IF NOT AVAILABLE tArtst THEN NEXT.
  1146. lok = DYNAMIC-FUNCTION ('fillDaten':U, RECID(ttDDArtikel), RECID(tArtst) ).
  1147. END.
  1148. iArt = 1.
  1149. iLauf = 0.
  1150. DDARTIKEL:
  1151. FOR EACH ttDDArtikel
  1152. WHERE ttDDArtikel.lFound = FALSE
  1153. AND ttDDArtikel.lAnzeigen = TRUE
  1154. AND ttDDArtikel.iArt = iArt :
  1155. CASE iLauf:
  1156. WHEN 0 THEN
  1157. cStrichcode = ttDDArtikel.EANKGeb.
  1158. WHEN 1 THEN
  1159. cStrichcode = ttDDArtikel.EANVGeb.
  1160. WHEN 2 THEN
  1161. cStrichcode = ttDDArtikel.EANGGeb.
  1162. END CASE.
  1163. IF cStrichcode = '' THEN NEXT.
  1164. IF cStrichcode = ? THEN NEXT.
  1165. IF iLauf = 0 AND
  1166. ttDDArtikel.HerstArtnr <> '' THEN
  1167. DO:
  1168. ii = 0.
  1169. FOR EACH tArtst USE-INDEX tArtst-k1
  1170. WHERE tArtst.S_Artnr = ttDDArtikel.HerstArtnr
  1171. AND tArtst.KGebMe = ttDDArtikel.KGebMe
  1172. AND tArtst.VGebMe = ttDDArtikel.VGebMe
  1173. AND tArtst.GGebMe = ttDDArtikel.GGebMe
  1174. AND tArtst.lFound = FALSE
  1175. AND tArtst.lS_Artnr = FALSE
  1176. AND tArtst.lEANVGeb = FALSE
  1177. AND tArtst.lAnzeigen = TRUE:
  1178. ii = ii + 1.
  1179. rtArtst = RECID(tArtst).
  1180. END.
  1181. IF ii = 1 THEN
  1182. DO:
  1183. FIND tArtst WHERE RECID(tArtst) = rtArtst.
  1184. ASSIGN
  1185. ttDDArtikel.lFound = TRUE
  1186. ttDDArtikel.Artnr = tArtst.Artnr
  1187. ttDDArtikel.Inhalt = tArtst.Inhalt
  1188. ttDDArtikel.Jahr = tArtst.Jahr
  1189. ttDDArtikel.rArtst = tArtst.rArtst
  1190. ttDDArtikel.EANKGeb = cStrichcode
  1191. tArtst.lFound = TRUE.
  1192. NEXT.
  1193. END.
  1194. IF ii > 1 THEN NEXT.
  1195. DO WHILE LENGTH(cStrichcode) < 13:
  1196. cStrichcode = '0' + cStrichcode.
  1197. END.
  1198. STRICHCODE00:
  1199. DO WHILE TRUE:
  1200. FIND FIRST tArtst USE-INDEX tArtst-k4
  1201. WHERE tArtst.Firma = Firma
  1202. AND tArtst.EANKGeb = cStrichcode
  1203. AND tArtst.VGebMe = ttDDArtikel.VGebMe
  1204. AND tArtst.lFound = FALSE
  1205. AND tArtst.lS_Artnr = FALSE
  1206. AND tArtst.lEANVGeb = FALSE
  1207. AND tArtst.lAnzeigen = TRUE NO-ERROR.
  1208. lok = FALSE.
  1209. DO WHILE AVAILABLE tArtst:
  1210. IF ttDDArtikel.KGebMe < (tArtst.KGebMe - 1) THEN LEAVE.
  1211. IF ttDDArtikel.KGebMe > (tArtst.KGebMe + 1) THEN LEAVE.
  1212. /* IF ttDDArtikel.VGebMe <> tArtst.VGebMe THEN LEAVE.*/
  1213. /* IF ttDDArtikel.GGebMe <> tArtst.GGebMe THEN LEAVE.*/
  1214. lok = DYNAMIC-FUNCTION ('fillDaten':U, RECID(ttDDArtikel), RECID(tArtst) ).
  1215. LEAVE.
  1216. END.
  1217. IF lok THEN LEAVE STRICHCODE00.
  1218. IF NOT cStrichcode BEGINS '0' THEN LEAVE.
  1219. cStrichcode = SUBSTRING(cStrichcode,02).
  1220. END.
  1221. END.
  1222. END.
  1223. END.
  1224. /* ------------------------------------------------------ */
  1225. /* Artikelnummer Lieferant und Mengen stimmen überein */
  1226. /* ------------------------------------------------------ */
  1227. FOR EACH tArtst
  1228. WHERE tArtst.S_Artnr <> ''
  1229. AND tArtst.lFound = FALSE
  1230. AND tArtst.lAnzeigen = TRUE:
  1231. ii = 0.
  1232. FOR EACH ttDDArtikel
  1233. WHERE ttDDArtikel.lFound = FALSE
  1234. AND ttDDArtikel.lAnzeigen = TRUE
  1235. AND ttDDArtikel.iArt = iArt
  1236. AND ttDDArtikel.HerstArtnr = tArtst.S_Artnr
  1237. AND ttDDArtikel.KGebMe = tArtst.KGebMe
  1238. AND ttDDArtikel.VGebMe = tArtst.VGebMe
  1239. AND ttDDArtikel.GGebMe = tArtst.GGebMe :
  1240. ii = ii + 1.
  1241. rttDDArtikel = RECID(ttDDArtikel).
  1242. END.
  1243. IF ii <> 1 THEN NEXT.
  1244. FIND ttDDArtikel WHERE RECID(ttDDArtikel) = rttDDArtikel.
  1245. ASSIGN
  1246. ttDDArtikel.lFound = TRUE
  1247. ttDDArtikel.Artnr = tArtst.Artnr
  1248. ttDDArtikel.Inhalt = tArtst.Inhalt
  1249. ttDDArtikel.Jahr = tArtst.Jahr
  1250. ttDDArtikel.rArtst = tArtst.rArtst
  1251. tArtst.lFound = TRUE.
  1252. NEXT.
  1253. END.
  1254. /* ------------------------------------------------------ */
  1255. /* Artikel-EAN und Mengen stimmen überein (KGebEAN) */
  1256. /* ------------------------------------------------------ */
  1257. FOR EACH tArtst
  1258. WHERE tArtst.EANKGeb <> ''
  1259. AND tArtst.lFound = FALSE
  1260. AND tArtst.lAnzeigen = TRUE:
  1261. ii = 0.
  1262. FOR EACH ttDDArtikel
  1263. WHERE ttDDArtikel.lFound = FALSE
  1264. AND ttDDArtikel.lAnzeigen = TRUE
  1265. AND ttDDArtikel.iArt = iArt
  1266. AND ttDDArtikel.EANKGeb = tArtst.EANKGeb
  1267. AND ttDDArtikel.KGebMe = tArtst.KGebMe
  1268. AND ttDDArtikel.VGebMe = tArtst.VGebMe
  1269. AND ttDDArtikel.GGebMe = tArtst.GGebMe :
  1270. ii = ii + 1.
  1271. rttDDArtikel = RECID(ttDDArtikel).
  1272. END.
  1273. IF ii <> 1 THEN NEXT.
  1274. FIND ttDDArtikel WHERE RECID(ttDDArtikel) = rttDDArtikel.
  1275. ASSIGN
  1276. ttDDArtikel.lFound = TRUE
  1277. ttDDArtikel.Artnr = tArtst.Artnr
  1278. ttDDArtikel.Inhalt = tArtst.Inhalt
  1279. ttDDArtikel.Jahr = tArtst.Jahr
  1280. ttDDArtikel.rArtst = tArtst.rArtst
  1281. tArtst.lFound = TRUE.
  1282. NEXT.
  1283. END.
  1284. /* ------------------------------------------------------ */
  1285. /* Verkauf-EAN und Mengen stimmen überein (VGebEAN) */
  1286. /* ------------------------------------------------------ */
  1287. FOR EACH tArtst
  1288. WHERE tArtst.EANVGeb <> ''
  1289. AND tArtst.lFound = FALSE
  1290. AND tArtst.lAnzeigen = TRUE:
  1291. ii = 0.
  1292. FOR EACH ttDDArtikel
  1293. WHERE ttDDArtikel.lFound = FALSE
  1294. AND ttDDArtikel.lAnzeigen = TRUE
  1295. AND ttDDArtikel.iArt = iArt
  1296. AND ttDDArtikel.EANVGeb = tArtst.EANVGeb
  1297. AND ttDDArtikel.KGebMe = tArtst.KGebMe
  1298. AND ttDDArtikel.VGebMe = tArtst.VGebMe
  1299. AND ttDDArtikel.GGebMe = tArtst.GGebMe :
  1300. ii = ii + 1.
  1301. rttDDArtikel = RECID(ttDDArtikel).
  1302. END.
  1303. IF ii <> 1 THEN NEXT.
  1304. FIND ttDDArtikel WHERE RECID(ttDDArtikel) = rttDDArtikel.
  1305. ASSIGN
  1306. ttDDArtikel.lFound = TRUE
  1307. ttDDArtikel.Artnr = tArtst.Artnr
  1308. ttDDArtikel.Inhalt = tArtst.Inhalt
  1309. ttDDArtikel.Jahr = tArtst.Jahr
  1310. ttDDArtikel.rArtst = tArtst.rArtst
  1311. tArtst.lFound = TRUE.
  1312. NEXT.
  1313. END.
  1314. EMPTY TEMP-TABLE tArtstOK.
  1315. FOR EACH ttDDArtikel
  1316. WHERE ttDDArtikel.lFound = TRUE.
  1317. FIND FIRST tArtst
  1318. WHERE tArtst.Firma = Firma
  1319. AND tArtst.Artnr = ttDDArtikel.Artnr
  1320. AND tArtst.Inhalt = ttDDArtikel.Inhalt
  1321. AND tArtst.Jahr = ttDDArtikel.Jahr NO-ERROR.
  1322. IF NOT AVAILABLE tArtst THEN NEXT.
  1323. CREATE tArtstOK.
  1324. BUFFER-COPY tArtst
  1325. TO tArtstOK
  1326. ASSIGN
  1327. tArtstOK.EANKGeb = ttDDArtikel.EANKGeb
  1328. tArtstOK.EANVGeb = ttDDArtikel.EANVGeb
  1329. tArtstOK.EANGGeb = ttDDArtikel.EANGGeb
  1330. tArtstOK.S_Artnr = (IF ttDDArtikel.HerstArtnr <> '' THEN ttDDArtikel.HerstArtnr ELSE tArtstOK.S_Artnr)
  1331. tArtstOK.iArt = ttDDArtikel.iArt
  1332. tArtstOK.lAktiv = ttDDArtikel.lAktiv
  1333. tArtstOK.lVerfuegbar = ttDDArtikel.lVerfuegbar
  1334. tArtstOK.rtArtst = RECID(tArtst)
  1335. tArtstOK.rttDDArtikel = RECID(ttDDArtikel)
  1336. tArtst.lAnzeigen = FALSE
  1337. ttDDArtikel.lAnzeigen = FALSE.
  1338. END.
  1339. FOR EACH ttDDArtikel
  1340. WHERE ttDDArtikel.lFound = FALSE
  1341. AND ttDDArtikel.iArt = 1 :
  1342. cStrichcode = ttDDArtikel.EANKGeb.
  1343. IF cStrichcode = '' THEN NEXT.
  1344. IF cStrichcode = ? THEN NEXT.
  1345. FIND FIRST bttDDArtikel USE-INDEX ttDDArtikel-k3
  1346. WHERE bttDDArtikel.iArt = 0
  1347. AND bttDDArtikel.HerstArtnr = ttDDArtikel.HerstArtnr NO-ERROR.
  1348. IF AVAILABLE bttDDArtikel THEN
  1349. DO:
  1350. ASSIGN
  1351. bttDDArtikel.EANVGeb = ttDDArtikel.EANVGeb.
  1352. NEXT.
  1353. END.
  1354. FIND FIRST bttDDArtikel USE-INDEX ttDDArtikel-k4
  1355. WHERE bttDDArtikel.iArt = 0
  1356. AND bttDDArtikel.EANKGeb = cStrichcode NO-ERROR.
  1357. IF NOT AVAILABLE (bttDDArtikel) THEN NEXT.
  1358. ASSIGN
  1359. bttDDArtikel.EANVGeb = ttDDArtikel.EANVGeb.
  1360. END.
  1361. FOR EACH tArtstOK:
  1362. IF NOT tArtstOK.Aktiv OR
  1363. tArtstOK.Ausverk = 9 THEN DELETE tArtstOK.
  1364. END.
  1365. FOR EACH tArtst:
  1366. IF NOT tArtst.Aktiv OR
  1367. tArtst.Ausverk = 9 THEN DELETE tArtst.
  1368. END.
  1369. hqtArtst :QUERY-OPEN ().
  1370. hqtArtstOK :QUERY-OPEN ().
  1371. hqttDDArtikel:QUERY-OPEN ().
  1372. APPLY 'VALUE-CHANGED' TO Br_tArtst.
  1373. RETURN.
  1374. END PROCEDURE.
  1375. /* _UIB-CODE-BLOCK-END */
  1376. &ANALYZE-RESUME
  1377. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE destroyObject DigitalDrink
  1378. PROCEDURE destroyObject :
  1379. /*-------------------------------------------------------------------------------- */
  1380. /* Purpose: */
  1381. /* Parameters: <none> */
  1382. /* Notes: */
  1383. /* ------------------------------------------------------------------------------ */
  1384. IF VALID-OBJECT ( hqtArtst ) THEN
  1385. DO:
  1386. hqtArtst:QUERY-CLOSE().
  1387. DELETE OBJECT hqtArtst.
  1388. END.
  1389. IF VALID-OBJECT ( hqtArtstOK ) THEN
  1390. DO:
  1391. hqtArtstOK:QUERY-CLOSE().
  1392. DELETE OBJECT hqtArtstOK.
  1393. END.
  1394. IF VALID-OBJECT ( hqttDDArtikel ) THEN
  1395. DO:
  1396. hqttDDArtikel:QUERY-CLOSE().
  1397. DELETE OBJECT hqttDDArtikel.
  1398. END.
  1399. RUN SUPER.
  1400. /* Code placed here will execute AFTER standard behavior. */
  1401. END PROCEDURE.
  1402. /* _UIB-CODE-BLOCK-END */
  1403. &ANALYZE-RESUME
  1404. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI DigitalDrink _DEFAULT-DISABLE
  1405. PROCEDURE disable_UI :
  1406. /*------------------------------------------------------------------------------
  1407. Purpose: DISABLE the User Interface
  1408. Parameters: <none>
  1409. Notes: Here we clean-up the user-interface by deleting
  1410. dynamic widgets we have created and/or hide
  1411. frames. This procedure is usually called when
  1412. we are ready to "clean-up" after running.
  1413. ------------------------------------------------------------------------------*/
  1414. /* Delete the WINDOW we created */
  1415. IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(DigitalDrink)
  1416. THEN DELETE WIDGET DigitalDrink.
  1417. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  1418. END PROCEDURE.
  1419. /* _UIB-CODE-BLOCK-END */
  1420. &ANALYZE-RESUME
  1421. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject DigitalDrink
  1422. PROCEDURE enableObject :
  1423. /*-------------------------------------------------------------------------------- */
  1424. /* Purpose: */
  1425. /* Parameters: <none> */
  1426. /* Notes: */
  1427. /* ------------------------------------------------------------------------------ */
  1428. CREATE QUERY hqtArtst.
  1429. hqtArtst:SET-BUFFERS (TEMP-TABLE tArtst:DEFAULT-BUFFER-HANDLE).
  1430. /* hqtArtst:QUERY-PREPARE ('FOR EACH tArtst WHERE tArtst.Aktiv AND tArtst.Ausverk < 9 BY tArtst.Bez').*/
  1431. hqtArtst:QUERY-PREPARE (SUBSTITUTE('FOR EACH tArtst WHERE tArtst.Aktiv AND tArtst.lAnzeigen BY &1', ctArtstSort)).
  1432. CREATE QUERY hqtArtstOK.
  1433. hqtArtstOK:SET-BUFFERS (TEMP-TABLE tArtstOK:DEFAULT-BUFFER-HANDLE).
  1434. hqtArtstOK:QUERY-PREPARE ('FOR EACH tArtstOK WHERE tArtstOK.Aktiv AND tArtstOK.Ausverk < 9 BY tArtstOK.Bez BY tArtstOK.KGebinde ').
  1435. CREATE QUERY hqttDDArtikel.
  1436. hqttDDArtikel:SET-BUFFERS (TEMP-TABLE ttDDArtikel:DEFAULT-BUFFER-HANDLE).
  1437. hqttDDArtikel:QUERY-PREPARE ('FOR EACH ttDDArtikel WHERE ttDDArtikel.iArt = 1 AND ttDDArtikel.lAnzeigen').
  1438. { incl/winenableobject.i }
  1439. RUN SUPER.
  1440. BROWSE Br_tArtst :QUERY = hqtArtst.
  1441. BROWSE Br_tArtstOK :QUERY = hqtArtstOK.
  1442. BROWSE Br_ttDDArtikel:QUERY = hqttDDArtikel.
  1443. /* Code placed here will execute AFTER standard behavior. */
  1444. END PROCEDURE.
  1445. /* _UIB-CODE-BLOCK-END */
  1446. &ANALYZE-RESUME
  1447. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI DigitalDrink _DEFAULT-ENABLE
  1448. PROCEDURE enable_UI :
  1449. /*------------------------------------------------------------------------------
  1450. Purpose: ENABLE the User Interface
  1451. Parameters: <none>
  1452. Notes: Here we display/view/enable the widgets in the
  1453. user-interface. In addition, OPEN all queries
  1454. associated with each FRAME and BROWSE.
  1455. These statements here are based on the "Other
  1456. Settings" section of the widget Property Sheets.
  1457. ------------------------------------------------------------------------------*/
  1458. DISPLAY F_Knr F_Lieferant F_GlnNr
  1459. WITH FRAME fMain IN WINDOW DigitalDrink.
  1460. ENABLE F_Knr F_Lieferant F_GlnNr Btn_Sammeln Btn_DDAbgleich Br_tArtst
  1461. Br_tArtstOK Btn_ARTIKELOK Br_ttDDArtikel Btn_ARTIKELNOK Bt_OK
  1462. Btn_Cancel
  1463. WITH FRAME fMain IN WINDOW DigitalDrink.
  1464. {&OPEN-BROWSERS-IN-QUERY-fMain}
  1465. VIEW DigitalDrink.
  1466. END PROCEDURE.
  1467. /* _UIB-CODE-BLOCK-END */
  1468. &ANALYZE-RESUME
  1469. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE DigitalDrink
  1470. PROCEDURE ENDE :
  1471. /*-------------------------------------------------------------------------------- */
  1472. /* Purpose: */
  1473. /* Parameters: <none> */
  1474. /* Notes: */
  1475. /* ------------------------------------------------------------------------------ */
  1476. { incl/winende.i }
  1477. END PROCEDURE.
  1478. /* _UIB-CODE-BLOCK-END */
  1479. &ANALYZE-RESUME
  1480. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR DigitalDrink
  1481. PROCEDURE ENTRY_CURSOR :
  1482. /*-------------------------------------------------------------------------------- */
  1483. /* Purpose: */
  1484. /* Parameters: <none> */
  1485. /* Notes: */
  1486. /* ------------------------------------------------------------------------------ */
  1487. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  1488. FMutFlag = DYNAMIC-FUNCTION('getMutflag':U, INPUT Progname) NO-ERROR.
  1489. DO WITH FRAME {&FRAME-NAME}:
  1490. APPLY 'ENTRY' TO F_Knr.
  1491. END.
  1492. CASE AktSeite:
  1493. /* WHEN 1 THEN DO: */
  1494. /* IF FMutFlag THEN RUN applyEntry IN h_v- ( INPUT ? ). */
  1495. /* ELSE RUN applyEntry IN h_b- ( INPUT ? ). */
  1496. /* END. */
  1497. /* WHEN 2 THEN RUN applyEntry IN h_f-adrkomm ( INPUT ? ). */
  1498. /* WHEN 3 THEN RUN applyEntry IN h_b-auftbb ( INPUT ? ). */
  1499. /* WHEN 4 THEN RUN applyEntry IN h_b-aufdet ( INPUT ? ). */
  1500. /* WHEN 5 THEN RUN applyEntry IN h_b-aufstreu ( INPUT ? ). */
  1501. /* WHEN 6 THEN RUN applyEntry IN h_b-auffak ( INPUT ? ). */
  1502. /* WHEN 7 THEN RUN applyEntry IN h_b-position ( INPUT ? ). */
  1503. END CASE.
  1504. RETURN NO-APPLY.
  1505. END PROCEDURE.
  1506. /* _UIB-CODE-BLOCK-END */
  1507. &ANALYZE-RESUME
  1508. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject DigitalDrink
  1509. PROCEDURE exitObject :
  1510. /*------------------------------------------------------------------------------*/
  1511. /* Purpose: */
  1512. /* Notes: */
  1513. /*------------------------------------------------------------------------------*/
  1514. RUN ENDE.
  1515. RETURN NO-APPLY.
  1516. END PROCEDURE.
  1517. /* _UIB-CODE-BLOCK-END */
  1518. &ANALYZE-RESUME
  1519. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FIND_DDARTIKEL DigitalDrink
  1520. PROCEDURE FIND_DDARTIKEL :
  1521. /*------------------------------------------------------------------------------*/
  1522. /* Purpose: */
  1523. /* Notes: */
  1524. /*------------------------------------------------------------------------------*/
  1525. DEFINE INPUT PARAMETER ipcBez AS CHARACTER NO-UNDO.
  1526. DEFINE VARIABLE cBez AS CHARACTER NO-UNDO.
  1527. DEFINE VARIABLE ii AS INTEGER NO-UNDO.
  1528. DEFINE VARIABLE iNum AS INTEGER NO-UNDO.
  1529. iNum = NUM-ENTRIES(ipcBez, ' ').
  1530. DO WHILE iNum > 0:
  1531. cBez = ''.
  1532. DO ii = 1 TO iNum:
  1533. cBez = cBez
  1534. + (IF cBez = '' THEN '' ELSE ' ')
  1535. + ENTRY(ii, ipcBez, ' ').
  1536. END.
  1537. FIND FIRST ttDDArtikel NO-LOCK
  1538. WHERE ttDDArtikel.iArt = 1
  1539. AND ttDDArtikel.Bezeichnung BEGINS cBez
  1540. AND ttDDArtikel.lAnzeigen = TRUE NO-ERROR.
  1541. IF NOT AVAILABLE ttDDArtikel THEN
  1542. DO:
  1543. iNum = iNum - 1.
  1544. NEXT.
  1545. END.
  1546. DO WHILE iNum > 0 WITH FRAME {&FRAME-NAME}:
  1547. hqttDDArtikel:REPOSITION-TO-ROWID (ROWID(ttDDArtikel)).
  1548. LEAVE.
  1549. END.
  1550. LEAVE.
  1551. END.
  1552. END PROCEDURE.
  1553. /* _UIB-CODE-BLOCK-END */
  1554. &ANALYZE-RESUME
  1555. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject DigitalDrink
  1556. PROCEDURE initializeObject :
  1557. /*-------------------------------------------------------------------------------- */
  1558. /* Purpose: */
  1559. /* Parameters: <none> */
  1560. /* Notes: */
  1561. /* ------------------------------------------------------------------------------ */
  1562. /* Code placed here will execute PRIOR to standard behavior. */
  1563. RUN SUPER.
  1564. { incl/wininitializeobject.i }
  1565. END PROCEDURE.
  1566. /* _UIB-CODE-BLOCK-END */
  1567. &ANALYZE-RESUME
  1568. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SEITENWECHSEL DigitalDrink
  1569. PROCEDURE SEITENWECHSEL :
  1570. /*-------------------------------------------------------------------------------- */
  1571. /* Purpose: */
  1572. /* Parameters: <none> */
  1573. /* Notes: */
  1574. /* ------------------------------------------------------------------------------ */
  1575. { incl/winseitenwechsel.i }
  1576. END PROCEDURE.
  1577. /* _UIB-CODE-BLOCK-END */
  1578. &ANALYZE-RESUME
  1579. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage DigitalDrink
  1580. PROCEDURE selectPage :
  1581. /*-------------------------------------------------------------------------------- */
  1582. /* Purpose: */
  1583. /* Parameters: <none> */
  1584. /* Notes: */
  1585. /* ------------------------------------------------------------------------------ */
  1586. DEFINE INPUT PARAMETER piPageNum AS INTEGER NO-UNDO.
  1587. DEFINE VARIABLE FMutFlag AS LOG NO-UNDO.
  1588. DEFINE VARIABLE MutProg AS CHARACTER NO-UNDO.
  1589. FMutFlag = DYNAMIC-FUNCTION ('getMutflag':U, INPUT Progname) NO-ERROR.
  1590. IF FMutFlag THEN RETURN NO-APPLY.
  1591. CASE piPageNum:
  1592. END CASE.
  1593. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  1594. CASE AktSeite:
  1595. WHEN 1 THEN
  1596. DO:
  1597. /* RUN removeLink ( hAktionen , 'TableIO':U , h_v-auftr ). */
  1598. /* RUN removeLink ( hAktionen , 'Navigation':U , h_d-auftr ). */
  1599. END.
  1600. END CASE.
  1601. RUN SUPER( INPUT piPageNum).
  1602. END PROCEDURE.
  1603. /* _UIB-CODE-BLOCK-END */
  1604. &ANALYZE-RESUME
  1605. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TOOLBAR DigitalDrink
  1606. PROCEDURE TOOLBAR :
  1607. /*-------------------------------------------------------------------------------- */
  1608. /* Purpose: */
  1609. /* Parameters: <none> */
  1610. /* Notes: */
  1611. /* ------------------------------------------------------------------------------ */
  1612. { incl/wintoolbar.i }
  1613. END PROCEDURE.
  1614. /* _UIB-CODE-BLOCK-END */
  1615. &ANALYZE-RESUME
  1616. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject DigitalDrink
  1617. PROCEDURE viewObject :
  1618. /*-------------------------------------------------------------------------------- */
  1619. /* Purpose: */
  1620. /* Parameters: <none> */
  1621. /* Notes: */
  1622. /* ------------------------------------------------------------------------------ */
  1623. RUN SUPER.
  1624. RUN ENTRY_CURSOR.
  1625. END PROCEDURE.
  1626. /* _UIB-CODE-BLOCK-END */
  1627. &ANALYZE-RESUME
  1628. /* ************************ Function Implementations ***************** */
  1629. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION checkDoppelte DigitalDrink
  1630. FUNCTION checkDoppelte RETURNS LOGICAL
  1631. ( ):
  1632. /*-------------------------------------------------------------------------------- */
  1633. /* Purpose: */
  1634. /* Parameters: <none> */
  1635. /* Notes: */
  1636. /* ------------------------------------------------------------------------------ */
  1637. FOR EACH tArtst:
  1638. ASSIGN
  1639. tArtst.lS_Artnr = FALSE
  1640. tArtst.lEANVGeb = FALSE.
  1641. END.
  1642. FOR EACH tArtst
  1643. WHERE tArtst.S_Artnr <> ''
  1644. BREAK BY tArtst.S_Artnr:
  1645. IF NOT FIRST-OF ( tArtst.S_Artnr ) THEN tArtst.lS_Artnr = TRUE.
  1646. IF NOT LAST-OF ( tArtst.S_Artnr ) THEN tArtst.lS_Artnr = TRUE.
  1647. END.
  1648. FOR EACH tArtst
  1649. WHERE tArtst.EANVGeb <> ''
  1650. BREAK BY tArtst.EANVGeb:
  1651. IF NOT FIRST-OF ( tArtst.EANVGeb ) THEN tArtst.lEANVGeb = TRUE.
  1652. IF NOT LAST-OF ( tArtst.EANVGeb ) THEN tArtst.lEANVGeb = TRUE.
  1653. END.
  1654. lMeldung = FALSE.
  1655. FOR EACH btArtst:
  1656. IF btArtst.lS_Artnr OR
  1657. btArtst.lEANVGeb THEN
  1658. DO:
  1659. lMeldung = TRUE.
  1660. LEAVE.
  1661. END.
  1662. END.
  1663. RETURN lMeldung.
  1664. END FUNCTION.
  1665. /* _UIB-CODE-BLOCK-END */
  1666. &ANALYZE-RESUME
  1667. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION fillDaten DigitalDrink
  1668. FUNCTION fillDaten RETURNS LOGICAL
  1669. ( iprttDDArtikel AS RECID, iprtArtst AS RECID ):
  1670. /*-------------------------------------------------------------------------------- */
  1671. /* Purpose: */
  1672. /* Parameters: <none> */
  1673. /* Notes: */
  1674. /* ------------------------------------------------------------------------------ */
  1675. DEFINE BUFFER btArtst FOR tArtst.
  1676. FIND bttDDArtikel WHERE RECID(bttDDArtikel) = iprttDDArtikel.
  1677. FIND btArtst WHERE RECID(btArtst) = iprtArtst .
  1678. ASSIGN
  1679. ttDDArtikel.lFound = TRUE
  1680. ttDDArtikel.Artnr = tArtst.Artnr
  1681. ttDDArtikel.Inhalt = tArtst.Inhalt
  1682. ttDDArtikel.Jahr = tArtst.Jahr
  1683. ttDDArtikel.rArtst = tArtst.rArtst
  1684. tArtst.lFound = TRUE
  1685. tArtst.DDVGebCd = ttDDArtikel.VGebCd.
  1686. IF ttDDArtikel.HerstArtnr = '' AND
  1687. tArtst.S_Artnr <> '' THEN ttDDArtikel.HerstArtnr = tArtst.S_Artnr.
  1688. RETURN TRUE.
  1689. END FUNCTION.
  1690. /* _UIB-CODE-BLOCK-END */
  1691. &ANALYZE-RESUME
  1692. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getProgname DigitalDrink
  1693. FUNCTION getProgname RETURNS CHARACTER
  1694. ( /* parameter-definitions */ ) :
  1695. /*-------------------------------------------------------------------------------- */
  1696. /* Purpose: */
  1697. /* Parameters: <none> */
  1698. /* Notes: */
  1699. /* ------------------------------------------------------------------------------ */
  1700. RETURN Progname.
  1701. END FUNCTION.
  1702. /* _UIB-CODE-BLOCK-END */
  1703. &ANALYZE-RESUME