g-p_auftraege.w 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  4. &Scoped-define FRAME-NAME gAuftraegeDrucke
  5. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gAuftraegeDrucke
  6. /*------------------------------------------------------------------------
  7. File:
  8. Description: from cntnrdlg.w - ADM2 SmartDialog Template
  9. Input Parameters:
  10. <none>
  11. Output Parameters:
  12. <none>
  13. Author:
  14. Created:
  15. ------------------------------------------------------------------------*/
  16. /* This .W file was created with the Progress AppBuilder. */
  17. /*----------------------------------------------------------------------*/
  18. /* Create an unnamed pool to store all the widgets created
  19. by this procedure. This is a good default which assures
  20. that this procedure's triggers and internal procedures
  21. will execute in this procedure's storage, and that proper
  22. cleanup will occur on deletion of the procedure. */
  23. CREATE WIDGET-POOL.
  24. /* *************************** Definitions ************************** */
  25. /* Parameters Definitions --- */
  26. /* Local Variable Definitions --- */
  27. DEFINE VARIABLE MaxPage AS INTEGER NO-UNDO.
  28. DEFINE VARIABLE AktSeite AS INTEGER NO-UNDO.
  29. DEFINE VARIABLE FMutFlag AS LOG NO-UNDO.
  30. DEFINE VARIABLE Firma AS CHARACTER NO-UNDO.
  31. DEFINE VARIABLE AdFirma AS CHARACTER NO-UNDO.
  32. DEFINE VARIABLE VSammFak AS LOG NO-UNDO.
  33. DEFINE VARIABLE lFakDat AS LOG INIT TRUE NO-UNDO.
  34. DEFINE VARIABLE VRuest AS INTEGER NO-UNDO.
  35. DEFINE VARIABLE fok AS LOG NO-UNDO.
  36. DEFINE VARIABLE ARecid AS RECID NO-UNDO.
  37. DEFINE VARIABLE BRecid AS RECID NO-UNDO.
  38. DEFINE VARIABLE CRecid AS RECID NO-UNDO.
  39. DEFINE VARIABLE VBesr AS INTEGER NO-UNDO.
  40. DEFINE VARIABLE VDokument AS CHARACTER NO-UNDO.
  41. DEFINE VARIABLE cBenutzerdaten AS CHARACTER NO-UNDO.
  42. DEFINE TEMP-TABLE TAufko
  43. FIELD Knr AS INTEGER
  44. FIELD Samm_Nr AS INTEGER
  45. FIELD Aufnr AS INTEGER
  46. FIELD RID AS RECID.
  47. DEFINE BUFFER BTabel FOR Tabel.
  48. DEFINE BUFFER BAufko FOR Aufko.
  49. DEFINE TEMP-TABLE WAufko LIKE Aufko.
  50. DEFINE WORKFILE WDrucker
  51. FIELD Drucker AS CHARACTER
  52. FIELD Schrift AS CHARACTER
  53. FIELD TotZZ AS INTEGER
  54. FIELD BegZZ AS INTEGER
  55. FIELD EndZZ AS INTEGER
  56. FIELD AnzKop AS INTEGER
  57. FIELD SchOri AS INTEGER
  58. FIELD SchKop AS INTEGER
  59. FIELD Besr AS INTEGER
  60. FIELD SchBesr AS INTEGER
  61. FIELD iRecid AS RECID.
  62. /* _UIB-CODE-BLOCK-END */
  63. &ANALYZE-RESUME
  64. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  65. /* ******************** Preprocessor Definitions ******************** */
  66. &Scoped-define PROCEDURE-TYPE SmartDialog
  67. &Scoped-define DB-AWARE no
  68. &Scoped-define ADM-CONTAINER DIALOG-BOX
  69. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  70. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  71. &Scoped-define FRAME-NAME gAuftraegeDrucke
  72. /* Standard List Definitions */
  73. &Scoped-Define ENABLED-OBJECTS RECT-12 F_VonKnr F_BisKnr F_VonAufnr ~
  74. F_bisAufnr F_VonDatum F_bisDatum F_Fakdat CB_Auftragsart CB_Aufstatus ~
  75. Btn_OK Btn_Cancel
  76. &Scoped-Define DISPLAYED-OBJECTS F_VonKnr F_BisKnr F_VonAufnr F_bisAufnr ~
  77. F_VonDatum F_bisDatum F_Fakdat CB_Auftragsart CB_Aufstatus
  78. /* Custom List Definitions */
  79. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  80. &Scoped-define List-6 F_VonKnr F_BisKnr F_VonAufnr F_bisAufnr F_VonDatum ~
  81. F_bisDatum F_Fakdat CB_Auftragsart CB_Aufstatus
  82. /* _UIB-PREPROCESSOR-BLOCK-END */
  83. &ANALYZE-RESUME
  84. /* *********************** Control Definitions ********************** */
  85. /* Define a dialog box */
  86. /* Menu Definitions */
  87. DEFINE MENU POPUP-MENU-gAuftraegeDrucke
  88. MENU-ITEM m_OK_ohne_Fakdat LABEL "OK ohne Fakdat".
  89. /* Definitions of the field level widgets */
  90. DEFINE BUTTON Btn_Cancel AUTO-END-KEY
  91. LABEL "&abbrechen"
  92. SIZE 14 BY 1.
  93. DEFINE BUTTON Btn_OK
  94. LABEL "&Start"
  95. SIZE 15 BY 1.
  96. DEFINE VARIABLE CB_Aufstatus AS CHARACTER FORMAT "X(256)":U
  97. LABEL "Auftragsstatus"
  98. VIEW-AS COMBO-BOX INNER-LINES 5
  99. LIST-ITEM-PAIRS "Item 1","Item 1"
  100. DROP-DOWN-LIST
  101. SIZE 40 BY 1
  102. BGCOLOR 15 NO-UNDO.
  103. DEFINE VARIABLE CB_Auftragsart AS CHARACTER FORMAT "X(256)":U
  104. LABEL "Auftragsart"
  105. VIEW-AS COMBO-BOX INNER-LINES 5
  106. LIST-ITEM-PAIRS "Item 1","Item 1"
  107. DROP-DOWN-LIST
  108. SIZE 40 BY 1
  109. BGCOLOR 15 NO-UNDO.
  110. DEFINE VARIABLE F_bisAufnr AS INTEGER FORMAT "999999":U INITIAL 999999
  111. LABEL "-"
  112. VIEW-AS FILL-IN NATIVE
  113. SIZE 11 BY 1
  114. BGCOLOR 15 NO-UNDO.
  115. DEFINE VARIABLE F_bisDatum AS DATE FORMAT "99.99.9999":U
  116. LABEL "-"
  117. VIEW-AS FILL-IN NATIVE
  118. SIZE 16 BY 1
  119. BGCOLOR 15 NO-UNDO.
  120. DEFINE VARIABLE F_BisKnr AS INTEGER FORMAT "999999":U INITIAL 999999
  121. LABEL "-"
  122. VIEW-AS FILL-IN NATIVE
  123. SIZE 11 BY 1
  124. BGCOLOR 15 NO-UNDO.
  125. DEFINE VARIABLE F_Fakdat AS DATE FORMAT "99.99.9999":U
  126. LABEL "Fakturadatum"
  127. VIEW-AS FILL-IN NATIVE
  128. SIZE 16 BY 1
  129. BGCOLOR 15 NO-UNDO.
  130. DEFINE VARIABLE F_VonAufnr AS INTEGER FORMAT "999999":U INITIAL 0
  131. LABEL "von - bis Aufnr"
  132. VIEW-AS FILL-IN NATIVE
  133. SIZE 11 BY 1
  134. BGCOLOR 15 NO-UNDO.
  135. DEFINE VARIABLE F_VonDatum AS DATE FORMAT "99.99.9999":U
  136. LABEL "von - bis LS-Datum"
  137. VIEW-AS FILL-IN NATIVE
  138. SIZE 16 BY 1
  139. BGCOLOR 15 NO-UNDO.
  140. DEFINE VARIABLE F_VonKnr AS INTEGER FORMAT "999999":U INITIAL 0
  141. LABEL "von - bis Knr"
  142. VIEW-AS FILL-IN NATIVE
  143. SIZE 11 BY 1
  144. BGCOLOR 15 NO-UNDO.
  145. DEFINE RECTANGLE RECT-12
  146. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  147. SIZE 84 BY 9.05.
  148. /* ************************ Frame Definitions *********************** */
  149. DEFINE FRAME gAuftraegeDrucke
  150. F_VonKnr AT ROW 2 COL 28 COLON-ALIGNED
  151. F_BisKnr AT ROW 2 COL 41 COLON-ALIGNED
  152. F_VonAufnr AT ROW 3 COL 28 COLON-ALIGNED
  153. F_bisAufnr AT ROW 3 COL 41 COLON-ALIGNED
  154. F_VonDatum AT ROW 4 COL 28 COLON-ALIGNED
  155. F_bisDatum AT ROW 4 COL 46 COLON-ALIGNED
  156. F_Fakdat AT ROW 5 COL 28 COLON-ALIGNED
  157. CB_Auftragsart AT ROW 6 COL 28 COLON-ALIGNED
  158. CB_Aufstatus AT ROW 7 COL 28 COLON-ALIGNED
  159. Btn_OK AT ROW 8.52 COL 30.6
  160. Btn_Cancel AT ROW 8.52 COL 55.8
  161. RECT-12 AT ROW 1.24 COL 2
  162. SPACE(0.99) SKIP(0.22)
  163. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  164. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  165. TITLE "Drucken von Aufträgen"
  166. CANCEL-BUTTON Btn_Cancel.
  167. /* *********************** Procedure Settings ************************ */
  168. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  169. /* Settings for THIS-PROCEDURE
  170. Type: SmartDialog
  171. Allow: Basic,Browse,DB-Fields,Query,Smart
  172. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  173. Design Page: 1
  174. Other Settings: COMPILE
  175. */
  176. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  177. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gAuftraegeDrucke
  178. /* ************************* Included-Libraries *********************** */
  179. {src/adm2/containr.i}
  180. /* _UIB-CODE-BLOCK-END */
  181. &ANALYZE-RESUME
  182. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  183. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  184. /* SETTINGS FOR DIALOG-BOX gAuftraegeDrucke
  185. FRAME-NAME */
  186. ASSIGN
  187. FRAME gAuftraegeDrucke:SCROLLABLE = FALSE
  188. FRAME gAuftraegeDrucke:HIDDEN = TRUE
  189. FRAME gAuftraegeDrucke:POPUP-MENU = MENU POPUP-MENU-gAuftraegeDrucke:HANDLE.
  190. /* SETTINGS FOR COMBO-BOX CB_Aufstatus IN FRAME gAuftraegeDrucke
  191. 6 */
  192. /* SETTINGS FOR COMBO-BOX CB_Auftragsart IN FRAME gAuftraegeDrucke
  193. 6 */
  194. /* SETTINGS FOR FILL-IN F_bisAufnr IN FRAME gAuftraegeDrucke
  195. 6 */
  196. /* SETTINGS FOR FILL-IN F_bisDatum IN FRAME gAuftraegeDrucke
  197. 6 */
  198. /* SETTINGS FOR FILL-IN F_BisKnr IN FRAME gAuftraegeDrucke
  199. 6 */
  200. /* SETTINGS FOR FILL-IN F_Fakdat IN FRAME gAuftraegeDrucke
  201. 6 */
  202. /* SETTINGS FOR FILL-IN F_VonAufnr IN FRAME gAuftraegeDrucke
  203. 6 */
  204. /* SETTINGS FOR FILL-IN F_VonDatum IN FRAME gAuftraegeDrucke
  205. 6 */
  206. /* SETTINGS FOR FILL-IN F_VonKnr IN FRAME gAuftraegeDrucke
  207. 6 */
  208. /* _RUN-TIME-ATTRIBUTES-END */
  209. &ANALYZE-RESUME
  210. /* Setting information for Queries and Browse Widgets fields */
  211. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gAuftraegeDrucke
  212. /* Query rebuild information for DIALOG-BOX gAuftraegeDrucke
  213. _Options = "SHARE-LOCK"
  214. _Query is NOT OPENED
  215. */ /* DIALOG-BOX gAuftraegeDrucke */
  216. &ANALYZE-RESUME
  217. /* ************************ Control Triggers ************************ */
  218. &Scoped-define SELF-NAME gAuftraegeDrucke
  219. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gAuftraegeDrucke gAuftraegeDrucke
  220. ON END-ERROR OF FRAME gAuftraegeDrucke /* Drucken von Aufträgen */
  221. DO:
  222. RUN ENDE.
  223. RETURN NO-APPLY.
  224. END.
  225. /* _UIB-CODE-BLOCK-END */
  226. &ANALYZE-RESUME
  227. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gAuftraegeDrucke gAuftraegeDrucke
  228. ON GO OF FRAME gAuftraegeDrucke /* Drucken von Aufträgen */
  229. DO:
  230. /*
  231. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
  232. */
  233. END.
  234. /* _UIB-CODE-BLOCK-END */
  235. &ANALYZE-RESUME
  236. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gAuftraegeDrucke gAuftraegeDrucke
  237. ON WINDOW-CLOSE OF FRAME gAuftraegeDrucke /* Drucken von Aufträgen */
  238. DO:
  239. RUN ENDE.
  240. RETURN NO-APPLY.
  241. END.
  242. /* _UIB-CODE-BLOCK-END */
  243. &ANALYZE-RESUME
  244. &Scoped-define SELF-NAME Btn_Cancel
  245. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel gAuftraegeDrucke
  246. ON CHOOSE OF Btn_Cancel IN FRAME gAuftraegeDrucke /* abbrechen */
  247. DO:
  248. RUN ENDE.
  249. RETURN NO-APPLY.
  250. END.
  251. /* _UIB-CODE-BLOCK-END */
  252. &ANALYZE-RESUME
  253. &Scoped-define SELF-NAME Btn_OK
  254. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK gAuftraegeDrucke
  255. ON CHOOSE OF Btn_OK IN FRAME gAuftraegeDrucke /* Start */
  256. DO:
  257. RUN DRUCKEN.
  258. END.
  259. /* _UIB-CODE-BLOCK-END */
  260. &ANALYZE-RESUME
  261. &Scoped-define SELF-NAME CB_Aufstatus
  262. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Aufstatus gAuftraegeDrucke
  263. ON RETURN OF CB_Aufstatus IN FRAME gAuftraegeDrucke /* Auftragsstatus */
  264. DO:
  265. APPLY 'TAB' TO SELF.
  266. RETURN NO-APPLY.
  267. END.
  268. /* _UIB-CODE-BLOCK-END */
  269. &ANALYZE-RESUME
  270. &Scoped-define SELF-NAME CB_Auftragsart
  271. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Auftragsart gAuftraegeDrucke
  272. ON RETURN OF CB_Auftragsart IN FRAME gAuftraegeDrucke /* Auftragsart */
  273. DO:
  274. APPLY 'TAB' TO SELF.
  275. RETURN NO-APPLY.
  276. END.
  277. /* _UIB-CODE-BLOCK-END */
  278. &ANALYZE-RESUME
  279. &Scoped-define SELF-NAME F_BisKnr
  280. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_BisKnr gAuftraegeDrucke
  281. ON ALT-F OF F_BisKnr IN FRAME gAuftraegeDrucke /* - */
  282. DO:
  283. DEFINE VARIABLE iRecid AS RECID NO-UNDO.
  284. RUN 'g-suchen-adresse.w':U ( 'AUF;', OUTPUT iRecid ).
  285. IF iRecid = ? OR
  286. iRecid = 0 THEN RETURN NO-APPLY.
  287. FIND Adresse NO-LOCK WHERE RECID(Adresse) = iRecid.
  288. SELF:SCREEN-VALUE = STRING(Adresse.Knr).
  289. APPLY 'ENTRY' TO SELF.
  290. RETURN NO-APPLY.
  291. END.
  292. /* _UIB-CODE-BLOCK-END */
  293. &ANALYZE-RESUME
  294. &Scoped-define SELF-NAME F_VonKnr
  295. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_VonKnr gAuftraegeDrucke
  296. ON ALT-F OF F_VonKnr IN FRAME gAuftraegeDrucke /* von - bis Knr */
  297. DO:
  298. DEFINE VARIABLE iRecid AS RECID NO-UNDO.
  299. RUN 'g-suchen-adresse.w':U ( 'AUF;', OUTPUT iRecid ).
  300. IF iRecid = ? OR
  301. iRecid = 0 THEN RETURN NO-APPLY.
  302. FIND Adresse NO-LOCK WHERE RECID(Adresse) = iRecid.
  303. SELF:SCREEN-VALUE = STRING(Adresse.Knr).
  304. F_BisKnr:SCREEN-VALUE = STRING(Adresse.Knr).
  305. APPLY 'ENTRY' TO SELF.
  306. RETURN NO-APPLY.
  307. END.
  308. /* _UIB-CODE-BLOCK-END */
  309. &ANALYZE-RESUME
  310. &Scoped-define SELF-NAME m_OK_ohne_Fakdat
  311. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL m_OK_ohne_Fakdat gAuftraegeDrucke
  312. ON CHOOSE OF MENU-ITEM m_OK_ohne_Fakdat /* OK ohne Fakdat */
  313. DO:
  314. lFakDat = FALSE.
  315. RUN DRUCKEN.
  316. END.
  317. /* _UIB-CODE-BLOCK-END */
  318. &ANALYZE-RESUME
  319. &UNDEFINE SELF-NAME
  320. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gAuftraegeDrucke
  321. /* *************************** Main Block *************************** */
  322. MaxPage = 1.
  323. AktSeite = 1.
  324. Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
  325. AdFirma = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR.
  326. SESSION:DATA-ENTRY-RETURN = TRUE.
  327. ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE
  328. DO:
  329. RUN ENDE.
  330. RETURN NO-APPLY.
  331. END.
  332. /* ------------------------------------------------------------------ */
  333. {src/adm2/dialogmn.i}
  334. /* _UIB-CODE-BLOCK-END */
  335. &ANALYZE-RESUME
  336. /* ********************** Internal Procedures *********************** */
  337. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gAuftraegeDrucke _ADM-CREATE-OBJECTS
  338. PROCEDURE adm-create-objects :
  339. /*------------------------------------------------------------------------------
  340. Purpose: Create handles for all SmartObjects used in this procedure.
  341. After SmartObjects are initialized, then SmartLinks are added.
  342. Parameters: <none>
  343. ------------------------------------------------------------------------------*/
  344. END PROCEDURE.
  345. /* _UIB-CODE-BLOCK-END */
  346. &ANALYZE-RESUME
  347. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gAuftraegeDrucke _DEFAULT-DISABLE
  348. PROCEDURE disable_UI :
  349. /*------------------------------------------------------------------------------
  350. Purpose: DISABLE the User Interface
  351. Parameters: <none>
  352. Notes: Here we clean-up the user-interface by deleting
  353. dynamic widgets we have created and/or hide
  354. frames. This procedure is usually called when
  355. we are ready to "clean-up" after running.
  356. ------------------------------------------------------------------------------*/
  357. /* Hide all frames. */
  358. HIDE FRAME gAuftraegeDrucke.
  359. END PROCEDURE.
  360. /* _UIB-CODE-BLOCK-END */
  361. &ANALYZE-RESUME
  362. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKEN gAuftraegeDrucke
  363. PROCEDURE DRUCKEN :
  364. /*------------------------------------------------------------------------------
  365. Purpose:
  366. Parameters: <none>
  367. Notes:
  368. ------------------------------------------------------------------------------*/
  369. DEFINE VARIABLE VProgname AS CHARACTER NO-UNDO.
  370. DEFINE VARIABLE VListnr AS INTEGER NO-UNDO.
  371. DEFINE VARIABLE i1 AS INTEGER NO-UNDO.
  372. DEFINE VARIABLE XDateiName AS CHARACTER NO-UNDO.
  373. DEFINE VARIABLE VSamm_Nr AS INTEGER NO-UNDO.
  374. DEFINE VARIABLE Schacht AS INTEGER NO-UNDO.
  375. DEFINE VARIABLE Fakart AS INTEGER NO-UNDO.
  376. DEFINE VARIABLE Dokart AS INTEGER NO-UNDO.
  377. DEFINE VARIABLE AufSta AS INTEGER NO-UNDO.
  378. DEFINE VARIABLE DruckProgramm AS CHARACTER NO-UNDO.
  379. DEFINE VARIABLE VSammFak AS LOG NO-UNDO.
  380. DEFINE VARIABLE cUSERID AS CHARACTER NO-UNDO.
  381. DO WITH FRAME {&FRAME-NAME}:
  382. ASSIGN {&List-6}.
  383. IF F_vonKnr = 0 AND F_bisKnr = 0 THEN F_bisKnr = 9999.
  384. IF F_vonKnr > F_bisKnr THEN F_bisKnr = F_vonKnr.
  385. IF F_vonAufnr = 0 AND F_bisAufnr = 0 THEN F_bisAufnr = 9999.
  386. IF F_vonAufnr > F_bisAufnr THEN F_bisAufnr = F_vonAufnr.
  387. cUSERID = DYNAMIC-FUNCTION('getDBUser') NO-ERROR.
  388. DISPLAY {&List-6}.
  389. IF F_vonDatum = ? THEN
  390. DO:
  391. MESSAGE 'Datum ungültig' VIEW-AS ALERT-BOX.
  392. APPLY 'ENTRY' TO F_vonDatum.
  393. RETURN NO-APPLY.
  394. END.
  395. IF F_bisDatum = ? THEN
  396. DO:
  397. MESSAGE 'Datum ungültig' VIEW-AS ALERT-BOX.
  398. APPLY 'ENTRY' TO F_bisDatum.
  399. RETURN NO-APPLY.
  400. END.
  401. IF lFakDat THEN
  402. DO:
  403. IF F_Fakdat = ? OR
  404. F_Fakdat < (TODAY - 30) OR
  405. F_Fakdat > (TODAY + 10) THEN
  406. DO:
  407. MESSAGE 'Rechnungsdatum ist ungültig' VIEW-AS ALERT-BOX.
  408. APPLY 'ENTRY' TO F_Fakdat.
  409. RETURN NO-APPLY.
  410. END.
  411. END.
  412. IF CB_Auftragsart:SCREEN-VALUE = '000000' THEN
  413. DO:
  414. MESSAGE 'bitte Auftragsart wählen' VIEW-AS ALERT-BOX ERROR.
  415. APPLY 'ENTRY' TO CB_Auftragsart.
  416. RETURN NO-APPLY.
  417. END.
  418. Fakart = INTEGER(CB_Auftragsart:SCREEN-VALUE).
  419. Aufsta = INTEGER(CB_AufStatus :SCREEN-VALUE).
  420. FIND FIRST Tabel NO-LOCK USE-INDEX Tabel-k1
  421. WHERE Tabel.Firma = Firma
  422. AND Tabel.RecArt = 'FAKART'
  423. AND Tabel.CodeI = FakArt NO-ERROR.
  424. DokArt = Tabel.Int_3.
  425. END.
  426. VSammFak = (IF DokArt = 4 THEN TRUE ELSE FALSE).
  427. EMPTY TEMP-TABLE WAufko.
  428. EMPTY TEMP-TABLE tAufko.
  429. FIND FIRST WDrucker NO-ERROR.
  430. IF NOT AVAILABLE WDrucker THEN CREATE WDrucker.
  431. FIND Steuer WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR.
  432. XDateiName = Steuer.Fwc10.
  433. FIND FIRST Aufko NO-LOCK USE-INDEX Aufko-k5
  434. WHERE Aufko.Firma = Firma
  435. AND Aufko.Fak_Art = Fakart
  436. AND Aufko.Auf_Sta = AufSta
  437. AND Aufko.Knr >= F_vonKnr
  438. AND Aufko.Knr <= F_bisKnr
  439. AND Aufko.Aufnr >= F_vonAufnr
  440. AND Aufko.Aufnr <= F_bisAufnr
  441. AND Aufko.Lief_Datum >= F_vonDatum
  442. AND Aufko.Lief_Datum <= F_bisDatum NO-ERROR.
  443. IF NOT AVAILABLE Aufko THEN
  444. DO:
  445. MESSAGE 'Keine Auftragsdokumente zum Drucken mit diesen Parametern'
  446. VIEW-AS ALERT-BOX ERROR.
  447. RETURN NO-APPLY.
  448. END.
  449. CREATE WAufko.
  450. BUFFER-COPY Aufko TO WAufko.
  451. DO WHILE TRUE:
  452. DruckProgramm = 'v8/c-p_' + XDateiName + '.r'.
  453. DruckProgramm = SEARCH(DruckProgramm).
  454. IF DruckProgramm <> ? THEN LEAVE.
  455. DruckProgramm = 'v8/c-p_' + XDateiName + '.w'.
  456. DruckProgramm = SEARCH(DruckProgramm).
  457. IF DruckProgramm <> ? THEN LEAVE.
  458. DruckProgramm = 'd-p_' + XDateiName + '.r'.
  459. DruckProgramm = SEARCH(DruckProgramm).
  460. IF DruckProgramm <> ? THEN LEAVE.
  461. DruckProgramm = 'd-p_' + XDateiName + '.w'.
  462. DruckProgramm = SEARCH(DruckProgramm).
  463. IF DruckProgramm <> ? THEN LEAVE.
  464. DruckProgramm = 'v8/c-p_aufdrucken.r'.
  465. DruckProgramm = SEARCH(DruckProgramm).
  466. IF DruckProgramm <> ? THEN LEAVE.
  467. DruckProgramm = 'v8/c-p_aufdrucken.w'.
  468. DruckProgramm = SEARCH(DruckProgramm).
  469. IF DruckProgramm <> ? THEN LEAVE.
  470. LEAVE.
  471. END.
  472. IF DruckProgramm = ? THEN RETURN NO-APPLY.
  473. RUN LESEN_AUFKO_TABELLE.
  474. IF NOT fok THEN
  475. DO:
  476. MESSAGE 'Für dieses Formular wurde kein Drucker zugeteilt'
  477. VIEW-AS ALERT-BOX.
  478. RETURN NO-APPLY.
  479. END.
  480. FOR EACH Aufko NO-LOCK USE-INDEX Aufko-k5
  481. WHERE Aufko.Firma = Firma
  482. AND Aufko.Fak_Art = Fakart
  483. AND Aufko.Auf_Sta = Aufsta
  484. AND Aufko.Fak_Knr >= F_VonKnr
  485. AND Aufko.Fak_Knr <= F_bisKnr
  486. AND Aufko.Lief_Datum >= F_VonDatum
  487. AND Aufko.Lief_Datum <= F_BisDatum
  488. AND Aufko.Aufnr >= F_vonAufnr
  489. AND Aufko.Aufnr <= F_bisAufnr :
  490. CREATE tAufko.
  491. ASSIGN
  492. tAufko.Knr = Aufko.Fak_Knr
  493. tAufko.Samm_Nr = Aufko.Samm_Nr
  494. tAufko.Aufnr = Aufko.Aufnr
  495. tAufko.RID = RECID(Aufko).
  496. IF tAufko.Samm_Nr = 0 THEN tAufko.Samm_Nr = Aufko.Aufnr.
  497. END.
  498. FOR EACH tAufko
  499. BREAK BY tAufko.Knr
  500. BY tAufko.Samm_Nr
  501. BY tAufko.Aufnr :
  502. IF lFakDat THEN
  503. DO:
  504. REPEAT TRANSACTION:
  505. FIND Aufko WHERE RECID(Aufko) = tAufko.RID.
  506. Aufko.Fak_Datum = F_FakDat.
  507. RELEASE Aufko.
  508. LEAVE.
  509. END.
  510. END.
  511. IF FIRST-OF ( tAufko.Samm_Nr ) THEN NEXT.
  512. DELETE tAufko.
  513. END.
  514. DO WITH FRAME {&FRAME-NAME}:
  515. Btn_OK :SENSITIVE = FALSE.
  516. Btn_Cancel:SENSITIVE = FALSE.
  517. END.
  518. FOR EACH tAufko BY tAufko.Knr:
  519. DO WHILE VSammFak:
  520. VSamm_Nr = 0.
  521. /* Sammelrechnungen ausserhalb des Datums neue Sammelnummer geben */
  522. FOR EACH Aufko USE-INDEX Aufko-k5
  523. WHERE Aufko.Firma = Firma
  524. AND Aufko.Fak_Art = Fakart
  525. AND Aufko.Samm_Nr = tAufko.Samm_Nr
  526. AND Aufko.Fak_Knr = tAufko.Knr
  527. AND Aufko.Lief_Datum > F_bisDatum :
  528. IF VSamm_Nr = 0 THEN
  529. DO:
  530. RUN "v8/steunr.p" ( INPUT 5, OUTPUT VSamm_Nr ).
  531. END.
  532. REPEAT TRANSACTION:
  533. FIND bAufko WHERE RECID(bAufko) = RECID(Aufko).
  534. ASSIGN
  535. bAufko.Samm_Nr = VSamm_Nr
  536. bAufko.Gedruckt = FALSE
  537. bAufko.Faknr = 0.
  538. RELEASE bAufko.
  539. LEAVE.
  540. END.
  541. END.
  542. LEAVE.
  543. END.
  544. CRecid = tAufko.RID.
  545. VRuest = 0.
  546. FIND Aufko NO-LOCK WHERE RECID(Aufko) = tAufko.RID.
  547. FIND FIRST WAufko.
  548. BUFFER-COPY Aufko TO WAufko.
  549. RUN LESEN_AUFKO_TABELLE.
  550. IF NOT fok THEN NEXT.
  551. REPEAT TRANSACTION:
  552. VProgname = TRIM(cUSERID) + '!AUFTRAG'.
  553. FIND FIRST Listen USE-INDEX Listen-k1
  554. WHERE Listen.Firma = Firma
  555. AND Listen.Progname = VProgname
  556. AND Listen.Listfl = '' NO-ERROR.
  557. IF NOT AVAILABLE Listen THEN
  558. DO:
  559. FIND LAST Listen USE-INDEX Listen-k1
  560. WHERE Listen.Firma = Firma NO-LOCK NO-ERROR.
  561. IF AVAILABLE Listen THEN VListnr = Listen.Listnr + 1.
  562. ELSE VListnr = 1.
  563. CREATE Listen.
  564. ASSIGN
  565. Listen.Firma = Firma
  566. Listen.Listnr = VListnr
  567. Listen.Progname = VProgname
  568. Listen.Listfl = ''
  569. Listen.Jahr = YEAR(F_Fakdat)
  570. Listen.Sprcd = 1
  571. Listen.Sort = 1
  572. Listen.ProgWahl = 1.
  573. END.
  574. Listen.Listfl = 'A'.
  575. ARecid = RECID(Listen).
  576. FIND LiDruck USE-INDEX LiDruck-k1
  577. WHERE LiDruck.Firma = Firma
  578. AND LiDruck.Listnr = Listen.Listnr
  579. AND LiDruck.ProgWahl = Listen.ProgWahl NO-ERROR.
  580. IF NOT AVAILABLE LiDruck THEN
  581. DO:
  582. CREATE LiDruck.
  583. ASSIGN
  584. LiDruck.Firma = Firma
  585. LiDruck.Listnr = Listen.Listnr
  586. LiDruck.ProgWahl = Listen.ProgWahl
  587. LiDruck.Listprog = 'AUFTRAG' + STRING(Listen.ProgWahl,'99')
  588. LiDruck.ListCopy = 1
  589. LiDruck.Schacht = 0
  590. LiDruck.Listlq = FALSE.
  591. END.
  592. BRecid = RECID(LiDruck).
  593. FIND FIRST WDrucker.
  594. ASSIGN
  595. LiDruck.ListDru = WDrucker.Drucker
  596. LiDruck.ListBild = WDrucker.Schrift
  597. LiDruck.Listtzz = WDrucker.TotZZ
  598. LiDruck.Listkzz = WDrucker.BegZZ
  599. LiDruck.Listfzz = WDrucker.EndZZ
  600. LiDruck.ListCopy = WDrucker.AnzKop
  601. LiDruck.Schacht = WDrucker.SchOri
  602. VBesr = WDrucker.Besr
  603. Schacht = WDrucker.SchBesr.
  604. IF LiDruck.ListCopy = 0 THEN LiDruck.ListCopy = 1.
  605. RELEASE Listen.
  606. RELEASE LiDruck.
  607. FIND LAST Tabel NO-LOCK USE-INDEX Tabel-k1
  608. WHERE Tabel.Firma = Firma
  609. AND Tabel.RecArt = 'AUFDRUCK'
  610. AND Tabel.CodeC = cUSERID NO-ERROR.
  611. IF AVAILABLE Tabel THEN i1 = Tabel.CodeI + 1.
  612. ELSE i1 = 1.
  613. CREATE Tabel.
  614. ASSIGN
  615. Tabel.Firma = Firma
  616. Tabel.RecArt = 'AUFDRUCK'
  617. Tabel.CodeC = cUSERID
  618. Tabel.CodeI = i1
  619. Tabel.Sprcd = 1
  620. Tabel.Int_1 = ARecid
  621. Tabel.Int_2 = BRecid
  622. Tabel.Int_3 = CRecid
  623. Tabel.Dec_1 = VBesr
  624. Tabel.Dec_2 = INTEGER(WDrucker.iRecid)
  625. Tabel.Dec_3 = Schacht
  626. Tabel.Bez1 = ''
  627. Tabel.Bez2 = VDokument
  628. Tabel.BezL = SUBSTITUTE('&1;&2;&3;&4',
  629. WDrucker.SchOri,
  630. WDrucker.SchKop,
  631. WDrucker.SchBesr,
  632. WDrucker.Besr).
  633. fok = FALSE.
  634. IF VRuest > 0 THEN RUN LESEN_RUEST_TABELLE.
  635. RELEASE Tabel.
  636. IF NOT fok THEN LEAVE.
  637. END.
  638. DYNAMIC-FUNCTION('setBatch':U, TRUE) NO-ERROR.
  639. RUN VALUE(DruckProgramm).
  640. END. /* FOR EACH tAufko */
  641. DO WITH FRAME {&FRAME-NAME}:
  642. Btn_OK :SENSITIVE = TRUE.
  643. Btn_Cancel:SENSITIVE = TRUE.
  644. END.
  645. END PROCEDURE.
  646. /* _UIB-CODE-BLOCK-END */
  647. &ANALYZE-RESUME
  648. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gAuftraegeDrucke
  649. PROCEDURE enableObject :
  650. /*------------------------------------------------------------------------------
  651. Purpose: Super Override
  652. Parameters:
  653. Notes:
  654. ------------------------------------------------------------------------------*/
  655. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  656. DEFINE VARIABLE cInhalt AS CHARACTER NO-UNDO.
  657. DEFINE VARIABLE cKey AS CHARACTER NO-UNDO.
  658. DEFINE VARIABLE ii AS INTEGER NO-UNDO.
  659. DEFINE VARIABLE VonDat AS DATE NO-UNDO.
  660. DEFINE VARIABLE BisDat AS DATE NO-UNDO.
  661. DO WITH FRAME {&FRAME-NAME}:
  662. F_Fakdat = TODAY.
  663. VonDat = DATE(MONTH(F_Fakdat), 01, YEAR(F_Fakdat)).
  664. BisDat = VonDat + 27.
  665. DO WHILE MONTH(BisDat + 1) = MONTH(VonDat):
  666. BisDat = BisDat + 1.
  667. END.
  668. F_vonDatum = vonDat.
  669. F_bisDatum = bisDat.
  670. RUN COMBO_AUFSTATUS ( INPUT CB_Aufstatus :HANDLE ).
  671. RUN COMBO_FAKART ( INPUT CB_Auftragsart:HANDLE ).
  672. cString = 'bitte wählen;000000;' + CB_Auftragsart:LIST-ITEM-PAIRS.
  673. CB_Auftragsart:LIST-ITEM-PAIRS = cString.
  674. CB_Auftragsart:SCREEN-VALUE = '000000' NO-ERROR.
  675. END.
  676. RUN SUPER.
  677. RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
  678. END PROCEDURE.
  679. /* _UIB-CODE-BLOCK-END */
  680. &ANALYZE-RESUME
  681. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gAuftraegeDrucke _DEFAULT-ENABLE
  682. PROCEDURE enable_UI :
  683. /*------------------------------------------------------------------------------
  684. Purpose: ENABLE the User Interface
  685. Parameters: <none>
  686. Notes: Here we display/view/enable the widgets in the
  687. user-interface. In addition, OPEN all queries
  688. associated with each FRAME and BROWSE.
  689. These statements here are based on the "Other
  690. Settings" section of the widget Property Sheets.
  691. ------------------------------------------------------------------------------*/
  692. DISPLAY F_VonKnr F_BisKnr F_VonAufnr F_bisAufnr F_VonDatum F_bisDatum F_Fakdat
  693. CB_Auftragsart CB_Aufstatus
  694. WITH FRAME gAuftraegeDrucke.
  695. ENABLE RECT-12 F_VonKnr F_BisKnr F_VonAufnr F_bisAufnr F_VonDatum F_bisDatum
  696. F_Fakdat CB_Auftragsart CB_Aufstatus Btn_OK Btn_Cancel
  697. WITH FRAME gAuftraegeDrucke.
  698. VIEW FRAME gAuftraegeDrucke.
  699. {&OPEN-BROWSERS-IN-QUERY-gAuftraegeDrucke}
  700. END PROCEDURE.
  701. /* _UIB-CODE-BLOCK-END */
  702. &ANALYZE-RESUME
  703. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gAuftraegeDrucke
  704. PROCEDURE ENDE :
  705. /*------------------------------------------------------------------------------
  706. Purpose:
  707. Parameters: <none>
  708. Notes:
  709. ------------------------------------------------------------------------------*/
  710. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
  711. APPLY 'GO' TO FRAME {&FRAME-NAME}.
  712. RETURN NO-APPLY.
  713. END PROCEDURE.
  714. /* _UIB-CODE-BLOCK-END */
  715. &ANALYZE-RESUME
  716. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gAuftraegeDrucke
  717. PROCEDURE exitObject :
  718. /*------------------------------------------------------------------------------
  719. Purpose: Super Override
  720. Parameters:
  721. Notes:
  722. ------------------------------------------------------------------------------*/
  723. RUN ENDE.
  724. RETURN NO-APPLY.
  725. END PROCEDURE.
  726. /* _UIB-CODE-BLOCK-END */
  727. &ANALYZE-RESUME
  728. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LESEN_AUFKO_TABELLE gAuftraegeDrucke
  729. PROCEDURE LESEN_AUFKO_TABELLE :
  730. /*------------------------------------------------------------------------------
  731. Purpose:
  732. Parameters: <none>
  733. Notes:
  734. ------------------------------------------------------------------------------*/
  735. DEFINE VARIABLE cBenutzer AS CHARACTER NO-UNDO.
  736. DEFINE VARIABLE Fak_Art AS INTEGER NO-UNDO.
  737. DEFINE VARIABLE CodeC AS CHARACTER NO-UNDO.
  738. DEFINE VARIABLE hRecid AS RECID NO-UNDO.
  739. DEFINE BUFFER bHilfsTab FOR HilfsTab.
  740. cBenutzer = DYNAMIC-FUNCTION('GETBENUTZER':U) NO-ERROR.
  741. FIND FIRST WAufko.
  742. Fak_Art = WAufko.Fak_Art.
  743. FIND Tabel NO-LOCK USE-INDEX Tabel-k1
  744. WHERE Tabel.Firma = Firma
  745. AND Tabel.RecArt = 'FAKART'
  746. AND Tabel.CodeC = ''
  747. AND Tabel.CodeI = Fak_Art
  748. AND Tabel.Sprcd = 1 NO-ERROR.
  749. IF NOT AVAILABLE Tabel THEN LEAVE.
  750. CodeC = Tabel.Bez2.
  751. VDokument = Tabel.Bez2.
  752. VRuest = Tabel.Dec_2.
  753. FIND FIRST WDrucker NO-ERROR.
  754. IF NOT AVAILABLE WDrucker THEN CREATE WDrucker.
  755. DO WHILE TRUE:
  756. FIND FIRST HilfsTab NO-LOCK USE-INDEX HilfsTab-k1
  757. WHERE HilfsTab.Firma = Firma
  758. AND HilfsTab.Sort_1 = cBenutzer
  759. AND HilfsTab.Sort_2 = VDokument NO-ERROR.
  760. IF NOT AVAILABLE HilfsTab THEN
  761. DO:
  762. FIND FIRST bHilfsTab NO-LOCK USE-INDEX HilfsTab-k1
  763. WHERE bHilfsTab.Firma = Firma
  764. AND bHilfsTab.Sort_1 = ''
  765. AND bHilfsTab.Sort_2 = VDokument NO-ERROR.
  766. IF AVAILABLE bHilfsTab THEN
  767. DO:
  768. REPEAT TRANSACTION:
  769. CREATE HilfsTab.
  770. BUFFER-COPY bHilfsTab
  771. EXCEPT Sort_1
  772. TO HilfsTab
  773. ASSIGN
  774. HilfsTab.Sort_1 = cBenutzer.
  775. hRecid = RECID(HilfsTab).
  776. RELEASE HilfsTab.
  777. LEAVE.
  778. END.
  779. FIND HilfsTab NO-LOCK
  780. WHERE RECID(HilfsTab) = hRecid.
  781. END.
  782. END.
  783. IF AVAILABLE HilfsTab THEN
  784. DO:
  785. ASSIGN
  786. WDrucker.Drucker = HilfsTab.Zeichen_1
  787. WDrucker.Schrift = HilfsTab.Zeichen_2
  788. WDrucker.TotZZ = HilfsTab.Zahl[01]
  789. WDrucker.BegZZ = HilfsTab.Zahl[02]
  790. WDrucker.EndZZ = HilfsTab.Zahl[03]
  791. WDrucker.AnzKop = HilfsTab.Zahl[04]
  792. WDrucker.SchOri = HilfsTab.Zahl[05]
  793. WDrucker.SchKop = HilfsTab.Zahl[06]
  794. WDrucker.Besr = HilfsTab.Zahl[07]
  795. WDrucker.SchBesr = HilfsTab.Zahl[08]
  796. WDrucker.iRecid = RECID(HilfsTab).
  797. fok = TRUE.
  798. LEAVE.
  799. END.
  800. FIND BTabel NO-LOCK USE-INDEX Tabel-k1
  801. WHERE BTabel.Firma = Firma
  802. AND BTabel.RecArt = 'FAKDRU'
  803. AND BTabel.CodeC = CodeC
  804. AND BTabel.CodeI = 0
  805. AND BTabel.Sprcd = 1 NO-ERROR.
  806. IF NOT AVAILABLE BTabel THEN LEAVE.
  807. REPEAT TRANSACTION:
  808. CREATE HilfsTab.
  809. ASSIGN
  810. HilfsTab.Firma = Firma
  811. HilfsTab.Sort_1 = cBenutzer
  812. HilfsTab.Sort_2 = VDokument
  813. HilfsTab.Zeichen_1 = BTabel.Bez1
  814. HilfsTab.Zeichen_2 = BTabel.Bez2
  815. HilfsTab.Zahl[01] = BTabel.Int_1
  816. HilfsTab.Zahl[02] = BTabel.Int_2
  817. HilfsTab.Zahl[03] = BTabel.Int_3
  818. HilfsTab.Zahl[04] = BTabel.Dec_2
  819. HilfsTab.Zahl[05] = BTabel.Dec_3
  820. HilfsTab.Zahl[06] = BTabel.Dec_3
  821. HilfsTab.Zahl[07] = BTabel.Dec_1
  822. HilfsTab.Zahl[08] = BTabel.Dec_3.
  823. RELEASE HilfsTab.
  824. LEAVE.
  825. END.
  826. END.
  827. END PROCEDURE.
  828. /* _UIB-CODE-BLOCK-END */
  829. &ANALYZE-RESUME
  830. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LESEN_RUEST_TABELLE gAuftraegeDrucke
  831. PROCEDURE LESEN_RUEST_TABELLE :
  832. /*------------------------------------------------------------------------------
  833. Purpose:
  834. Parameters: <none>
  835. Notes:
  836. ------------------------------------------------------------------------------*/
  837. DEFINE VARIABLE cBenutzer AS CHARACTER NO-UNDO.
  838. DEFINE VARIABLE Fak_Art AS INTEGER NO-UNDO.
  839. DEFINE VARIABLE CodeC AS CHARACTER NO-UNDO.
  840. cBenutzer = DYNAMIC-FUNCTION('GETBENUTZER':U) NO-ERROR.
  841. FIND Tabel USE-INDEX Tabel-k1
  842. WHERE Tabel.Firma = Firma
  843. AND Tabel.RecArt = 'FAKART'
  844. AND Tabel.CodeC = ''
  845. AND Tabel.CodeI = VRuest
  846. AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
  847. IF NOT AVAILABLE Tabel THEN LEAVE.
  848. CodeC = Tabel.Bez2.
  849. VDokument = Tabel.Bez2.
  850. VRuest = 0.
  851. FIND FIRST WDrucker NO-ERROR.
  852. IF NOT AVAILABLE WDrucker THEN CREATE WDrucker.
  853. DO WHILE TRUE:
  854. FIND FIRST HilfsTab NO-LOCK USE-INDEX HilfsTab-k1
  855. WHERE HilfsTab.Firma = Firma
  856. AND HilfsTab.Sort_1 = cBenutzer
  857. AND HilfsTab.Sort_2 = VDokument NO-ERROR.
  858. IF NOT AVAILABLE HilfsTab THEN
  859. DO:
  860. FIND FIRST HilfsTab NO-LOCK USE-INDEX HilfsTab-k1
  861. WHERE HilfsTab.Firma = Firma
  862. AND HilfsTab.Sort_1 = ''
  863. AND HilfsTab.Sort_2 = VDokument NO-ERROR.
  864. END.
  865. IF AVAILABLE HilfsTab THEN
  866. DO:
  867. ASSIGN
  868. WDrucker.Drucker = HilfsTab.Zeichen_1
  869. WDrucker.Schrift = HilfsTab.Zeichen_2
  870. WDrucker.TotZZ = HilfsTab.Zahl[01]
  871. WDrucker.BegZZ = HilfsTab.Zahl[02]
  872. WDrucker.EndZZ = HilfsTab.Zahl[03]
  873. WDrucker.AnzKop = HilfsTab.Zahl[04]
  874. WDrucker.SchOri = HilfsTab.Zahl[05]
  875. WDrucker.SchKop = HilfsTab.Zahl[06]
  876. WDrucker.Besr = HilfsTab.Zahl[07]
  877. WDrucker.SchBesr = HilfsTab.Zahl[08]
  878. WDrucker.iRecid = RECID(HilfsTab).
  879. fok = TRUE.
  880. LEAVE.
  881. END.
  882. FIND BTabel USE-INDEX Tabel-k1
  883. WHERE BTabel.Firma = Firma
  884. AND BTabel.RecArt = 'FAKDRU'
  885. AND BTabel.CodeC = CodeC
  886. AND BTabel.CodeI = 0
  887. AND BTabel.Sprcd = 1 NO-LOCK NO-ERROR.
  888. IF NOT AVAILABLE BTabel THEN LEAVE.
  889. REPEAT TRANSACTION:
  890. CREATE HilfsTab.
  891. ASSIGN
  892. HilfsTab.Firma = Firma
  893. HilfsTab.Sort_1 = cBenutzer
  894. HilfsTab.Sort_2 = VDokument
  895. HilfsTab.Zeichen_1 = BTabel.Bez1
  896. HilfsTab.Zeichen_2 = BTabel.Bez2
  897. HilfsTab.Zahl[01] = BTabel.Int_1
  898. HilfsTab.Zahl[02] = BTabel.Int_2
  899. HilfsTab.Zahl[03] = BTabel.Int_3
  900. HilfsTab.Zahl[04] = BTabel.Dec_2
  901. HilfsTab.Zahl[05] = BTabel.Dec_3
  902. HilfsTab.Zahl[06] = BTabel.Dec_3
  903. HilfsTab.Zahl[07] = BTabel.Dec_1
  904. HilfsTab.Zahl[08] = BTabel.Dec_3.
  905. RELEASE HilfsTab.
  906. LEAVE.
  907. END.
  908. LEAVE.
  909. END.
  910. END PROCEDURE.
  911. /* _UIB-CODE-BLOCK-END */
  912. &ANALYZE-RESUME