g-change-fakart.w 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  4. &Scoped-define FRAME-NAME gFakturaArtChange
  5. {adecomm/appserv.i}
  6. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gFakturaArtChange
  7. /*------------------------------------------------------------------------
  8. File:
  9. Description: from cntnrdlg.w - ADM2 SmartDialog Template
  10. Input Parameters:
  11. <none>
  12. Output Parameters:
  13. <none>
  14. Author:
  15. Created:
  16. ------------------------------------------------------------------------*/
  17. /* This .W file was created with the Progress AppBuilder. */
  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. DEFINE INPUT PARAMETER iphAufko AS HANDLE NO-UNDO.
  28. DEFINE OUTPUT PARAMETER oplRetVal AS LOG NO-UNDO.
  29. /* Local Variable Definitions --- */
  30. { incl/dlgdefinition.i }
  31. { src/adm2/widgetprto.i }
  32. /* _UIB-CODE-BLOCK-END */
  33. &ANALYZE-RESUME
  34. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  35. /* ******************** Preprocessor Definitions ******************** */
  36. &Scoped-define PROCEDURE-TYPE SmartDialog
  37. &Scoped-define DB-AWARE no
  38. &Scoped-define ADM-CONTAINER DIALOG-BOX
  39. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  40. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  41. &Scoped-define FRAME-NAME gFakturaArtChange
  42. /* Standard List Definitions */
  43. &Scoped-Define ENABLED-OBJECTS RECT-2 F_Knr F_Kunde F_Aufnr F_Faknr ~
  44. F_Sammnr CB_Fakart Btn_OK Btn_Cancel
  45. &Scoped-Define DISPLAYED-OBJECTS F_Knr F_Kunde F_Aufnr F_Faknr F_Sammnr ~
  46. CB_Fakart
  47. /* Custom List Definitions */
  48. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  49. &Scoped-define List-6 F_Knr F_Aufnr F_Faknr F_Sammnr
  50. /* _UIB-PREPROCESSOR-BLOCK-END */
  51. &ANALYZE-RESUME
  52. /* *********************** Control Definitions ********************** */
  53. /* Define a dialog box */
  54. /* Definitions of the field level widgets */
  55. DEFINE BUTTON Btn_Cancel AUTO-END-KEY
  56. LABEL "abbrechen"
  57. SIZE 15 BY 1.
  58. DEFINE BUTTON Btn_OK AUTO-GO
  59. LABEL "OK"
  60. SIZE 15 BY 1.
  61. DEFINE VARIABLE CB_Fakart AS CHARACTER FORMAT "X(256)":U
  62. LABEL "Fakturaart"
  63. VIEW-AS COMBO-BOX INNER-LINES 5
  64. LIST-ITEM-PAIRS "Item 1","Item 1"
  65. DROP-DOWN-LIST
  66. SIZE 51.6 BY 1
  67. BGCOLOR 15 NO-UNDO.
  68. DEFINE VARIABLE F_Aufnr AS INTEGER FORMAT "9999999":U INITIAL 0
  69. LABEL "Aufnr"
  70. VIEW-AS FILL-IN NATIVE
  71. SIZE 12 BY 1
  72. BGCOLOR 15 NO-UNDO.
  73. DEFINE VARIABLE F_Faknr AS INTEGER FORMAT "9999999":U INITIAL 0
  74. LABEL "Faknr"
  75. VIEW-AS FILL-IN NATIVE
  76. SIZE 12 BY 1
  77. BGCOLOR 15 NO-UNDO.
  78. DEFINE VARIABLE F_Knr AS INTEGER FORMAT "999999":U INITIAL 0
  79. LABEL "Kunde"
  80. VIEW-AS FILL-IN NATIVE
  81. SIZE 11 BY 1
  82. BGCOLOR 15 NO-UNDO.
  83. DEFINE VARIABLE F_Kunde AS CHARACTER FORMAT "X(256)":U
  84. LABEL "/"
  85. VIEW-AS FILL-IN NATIVE
  86. SIZE 80 BY 1 NO-UNDO.
  87. DEFINE VARIABLE F_Sammnr AS INTEGER FORMAT "9999999":U INITIAL 0
  88. LABEL "SammelNr"
  89. VIEW-AS FILL-IN NATIVE
  90. SIZE 12 BY 1
  91. BGCOLOR 15 NO-UNDO.
  92. DEFINE RECTANGLE RECT-2
  93. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  94. SIZE 113.2 BY 7.14.
  95. /* ************************ Frame Definitions *********************** */
  96. DEFINE FRAME gFakturaArtChange
  97. F_Knr AT ROW 2 COL 13 COLON-ALIGNED WIDGET-ID 4 NO-TAB-STOP
  98. F_Kunde AT ROW 2 COL 27 COLON-ALIGNED WIDGET-ID 6 NO-TAB-STOP
  99. F_Aufnr AT ROW 3 COL 13 COLON-ALIGNED WIDGET-ID 8 NO-TAB-STOP
  100. F_Faknr AT ROW 4 COL 13 COLON-ALIGNED WIDGET-ID 10 NO-TAB-STOP
  101. F_Sammnr AT ROW 4 COL 41.6 COLON-ALIGNED WIDGET-ID 14 NO-TAB-STOP
  102. CB_Fakart AT ROW 5.57 COL 13 COLON-ALIGNED WIDGET-ID 12
  103. Btn_OK AT ROW 10 COL 12.2
  104. Btn_Cancel AT ROW 10 COL 33.4
  105. RECT-2 AT ROW 1.48 COL 3 WIDGET-ID 2
  106. SPACE(3.79) SKIP(2.94)
  107. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  108. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  109. TITLE "Fakturaart wechseln"
  110. CANCEL-BUTTON Btn_Cancel WIDGET-ID 100.
  111. /* *********************** Procedure Settings ************************ */
  112. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  113. /* Settings for THIS-PROCEDURE
  114. Type: SmartDialog
  115. Allow: Basic,Browse,DB-Fields,Query,Smart
  116. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  117. Design Page: 1
  118. Other Settings: COMPILE APPSERVER
  119. */
  120. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  121. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gFakturaArtChange
  122. /* ************************* Included-Libraries *********************** */
  123. {src/adm2/containr.i}
  124. /* _UIB-CODE-BLOCK-END */
  125. &ANALYZE-RESUME
  126. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  127. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  128. /* SETTINGS FOR DIALOG-BOX gFakturaArtChange
  129. FRAME-NAME */
  130. ASSIGN
  131. FRAME gFakturaArtChange:SCROLLABLE = FALSE
  132. FRAME gFakturaArtChange:HIDDEN = TRUE.
  133. /* SETTINGS FOR FILL-IN F_Aufnr IN FRAME gFakturaArtChange
  134. 6 */
  135. ASSIGN
  136. F_Aufnr:READ-ONLY IN FRAME gFakturaArtChange = TRUE.
  137. /* SETTINGS FOR FILL-IN F_Faknr IN FRAME gFakturaArtChange
  138. 6 */
  139. ASSIGN
  140. F_Faknr:READ-ONLY IN FRAME gFakturaArtChange = TRUE.
  141. /* SETTINGS FOR FILL-IN F_Knr IN FRAME gFakturaArtChange
  142. 6 */
  143. ASSIGN
  144. F_Knr:READ-ONLY IN FRAME gFakturaArtChange = TRUE.
  145. ASSIGN
  146. F_Kunde:READ-ONLY IN FRAME gFakturaArtChange = TRUE.
  147. /* SETTINGS FOR FILL-IN F_Sammnr IN FRAME gFakturaArtChange
  148. 6 */
  149. ASSIGN
  150. F_Sammnr:READ-ONLY IN FRAME gFakturaArtChange = TRUE.
  151. /* _RUN-TIME-ATTRIBUTES-END */
  152. &ANALYZE-RESUME
  153. /* Setting information for Queries and Browse Widgets fields */
  154. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gFakturaArtChange
  155. /* Query rebuild information for DIALOG-BOX gFakturaArtChange
  156. _Options = "SHARE-LOCK"
  157. _Query is NOT OPENED
  158. */ /* DIALOG-BOX gFakturaArtChange */
  159. &ANALYZE-RESUME
  160. /* ************************ Control Triggers ************************ */
  161. &Scoped-define SELF-NAME gFakturaArtChange
  162. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gFakturaArtChange gFakturaArtChange
  163. ON END-ERROR OF FRAME gFakturaArtChange /* Fakturaart wechseln */
  164. DO:
  165. RUN ENDE.
  166. RETURN NO-APPLY.
  167. END.
  168. /* _UIB-CODE-BLOCK-END */
  169. &ANALYZE-RESUME
  170. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gFakturaArtChange gFakturaArtChange
  171. ON WINDOW-CLOSE OF FRAME gFakturaArtChange /* Fakturaart wechseln */
  172. DO:
  173. RUN ENDE.
  174. RETURN NO-APPLY.
  175. END.
  176. /* _UIB-CODE-BLOCK-END */
  177. &ANALYZE-RESUME
  178. &Scoped-define SELF-NAME Btn_Cancel
  179. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel gFakturaArtChange
  180. ON CHOOSE OF Btn_Cancel IN FRAME gFakturaArtChange /* abbrechen */
  181. DO:
  182. RUN ENDE.
  183. RETURN NO-APPLY.
  184. END.
  185. /* _UIB-CODE-BLOCK-END */
  186. &ANALYZE-RESUME
  187. &Scoped-define SELF-NAME Btn_OK
  188. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK gFakturaArtChange
  189. ON CHOOSE OF Btn_OK IN FRAME gFakturaArtChange /* OK */
  190. DO:
  191. DEFINE VARIABLE iFak_Art AS INTEGER NO-UNDO.
  192. DEFINE VARIABLE iOld AS INTEGER NO-UNDO.
  193. DEFINE VARIABLE lOldFest AS LOG NO-UNDO.
  194. DEFINE VARIABLE cCodeC AS CHARACTER NO-UNDO.
  195. DEFINE VARIABLE iAufnr AS INTEGER NO-UNDO.
  196. DEFINE BUFFER bAufko FOR Aufko.
  197. DEFINE BUFFER sAufko FOR Aufko.
  198. DEFINE BUFFER bTabel FOR Tabel.
  199. btnOK = TRUE.
  200. DO WITH FRAME {&FRAME-NAME}:
  201. ASSIGN {&List-6}.
  202. iFak_Art = INTEGER(CB_Fakart:SCREEN-VALUE) NO-ERROR.
  203. iAufnr = F_Aufnr.
  204. REPEAT TRANSACTION:
  205. FIND bAufko
  206. WHERE bAufko.Firma = Firma
  207. AND bAufko.Aufnr = iAufnr.
  208. IF bAufko.Fak_Art = iFak_Art THEN
  209. DO:
  210. RELEASE bAufko.
  211. LEAVE.
  212. END.
  213. FIND bTabel NO-LOCK
  214. WHERE bTabel.Firma = Firma
  215. AND bTabel.RecArt = "FAKART"
  216. AND bTabel.CodeC = ""
  217. AND bTabel.CodeI = bAufko.Fak_Art
  218. AND bTabel.Sprcd = 1 NO-ERROR.
  219. iOld = bTabel.Int_3.
  220. lOldFest = bTabel.Flag_1.
  221. IF bAufko.Fak_Art = 99 AND
  222. iFak_Art <> 99 THEN ASSIGN bAufko.Faknr = 0
  223. bAufko.Samm_Nr = 0.
  224. IF bAufko.Fak_Art <> 99 AND
  225. iFak_Art = 99 THEN ASSIGN bAufko.Faknr = Aufko.Aufnr
  226. bAufko.Samm_Nr = 0.
  227. bAufko.Fak_Art = iFak_Art.
  228. FIND bTabel NO-LOCK
  229. WHERE bTabel.Firma = Firma
  230. AND bTabel.RecArt = "FAKART"
  231. AND bTabel.CodeC = ""
  232. AND bTabel.CodeI = iFak_Art
  233. AND bTabel.Sprcd = 1 NO-ERROR.
  234. IF lOldFest OR
  235. bTabel.Flag_1 THEN
  236. DO:
  237. RELEASE bAufko.
  238. RELEASE sAufko.
  239. RELEASE bTabel.
  240. LEAVE.
  241. END.
  242. IF bTabel.Int_3 = 4 THEN
  243. DO:
  244. FIND FIRST sAufko NO-LOCK USE-INDEX Aufko-k4
  245. WHERE sAufko.Firma = bAufko.Firma
  246. AND sAufko.Knr = bAufko.Knr
  247. AND sAufko.Fak_Art = iFak_Art
  248. AND sAufko.Faknr = 0
  249. AND sAufko.Samm_Nr <> 0 NO-ERROR.
  250. IF AVAILABLE sAufko THEN
  251. DO:
  252. ASSIGN
  253. bAufko.Samm_Nr = sAufko.Samm_Nr
  254. bAufko.Faknr = sAufko.Faknr
  255. bAufko.Auf_Sta = sAufko.Auf_Sta
  256. bAufko.Gedruckt = FALSE.
  257. FOR EACH sAufko
  258. WHERE sAufko.Firma = bAufko.Firma
  259. AND sAufko.Knr = bAufko.Knr
  260. AND sAufko.Samm_Nr = bAufko.Samm_Nr
  261. AND sAufko.Aufnr <> bAufko.Aufnr:
  262. ASSIGN
  263. sAufko.Gedruckt = FALSE.
  264. END.
  265. RELEASE sAufko.
  266. RELEASE bAufko.
  267. END.
  268. ELSE
  269. DO:
  270. bAufko.Samm_Nr = DYNAMIC-FUNCTION('createSammnr':U, bAufko.Firma) NO-ERROR.
  271. bAufko.Faknr = 0.
  272. bAufko.Fak_Dat = ?.
  273. bAufko.Gedruckt = FALSE.
  274. END.
  275. END.
  276. ELSE
  277. DO:
  278. ASSIGN
  279. bAufko.Samm_Nr = 0
  280. bAufko.Gedruckt = FALSE.
  281. IF iOld = 4 THEN
  282. DO:
  283. ASSIGN
  284. bAufko.Faknr = 0
  285. bAufko.Fak_Dat = ?.
  286. END.
  287. END.
  288. RELEASE bAufko.
  289. RELEASE sAufko.
  290. RELEASE bTabel.
  291. LEAVE.
  292. END.
  293. END.
  294. RUN ENDE.
  295. RETURN NO-APPLY.
  296. END.
  297. /* _UIB-CODE-BLOCK-END */
  298. &ANALYZE-RESUME
  299. &Scoped-define SELF-NAME CB_Fakart
  300. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Fakart gFakturaArtChange
  301. ON RETURN OF CB_Fakart IN FRAME gFakturaArtChange /* Fakturaart */
  302. DO:
  303. APPLY 'TAB' TO SELF.
  304. RETURN NO-APPLY.
  305. END.
  306. /* _UIB-CODE-BLOCK-END */
  307. &ANALYZE-RESUME
  308. &UNDEFINE SELF-NAME
  309. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gFakturaArtChange
  310. /* *************************** Main Block *************************** */
  311. { incl/dlgmainblock.i }
  312. {src/adm2/dialogmn.i}
  313. /* _UIB-CODE-BLOCK-END */
  314. &ANALYZE-RESUME
  315. /* ********************** Internal Procedures *********************** */
  316. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gFakturaArtChange _ADM-CREATE-OBJECTS
  317. PROCEDURE adm-create-objects :
  318. /*------------------------------------------------------------------------------
  319. Purpose: Create handles for all SmartObjects used in this procedure.
  320. After SmartObjects are initialized, then SmartLinks are added.
  321. Parameters: <none>
  322. ------------------------------------------------------------------------------*/
  323. END PROCEDURE.
  324. /* _UIB-CODE-BLOCK-END */
  325. &ANALYZE-RESUME
  326. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gFakturaArtChange _DEFAULT-DISABLE
  327. PROCEDURE disable_UI :
  328. /*------------------------------------------------------------------------------
  329. Purpose: DISABLE the User Interface
  330. Parameters: <none>
  331. Notes: Here we clean-up the user-interface by deleting
  332. dynamic widgets we have created and/or hide
  333. frames. This procedure is usually called when
  334. we are ready to "clean-up" after running.
  335. ------------------------------------------------------------------------------*/
  336. /* Hide all frames. */
  337. HIDE FRAME gFakturaArtChange.
  338. END PROCEDURE.
  339. /* _UIB-CODE-BLOCK-END */
  340. &ANALYZE-RESUME
  341. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gFakturaArtChange
  342. PROCEDURE enableObject :
  343. /*------------------------------------------------------------------------------
  344. Purpose: Super Override
  345. Parameters:
  346. Notes:
  347. ------------------------------------------------------------------------------*/
  348. DEFINE VARIABLE iFak_Art AS INTEGER NO-UNDO.
  349. DEFINE BUFFER bAufko FOR Aufko .
  350. DEFINE BUFFER bAdresse FOR Adresse.
  351. DO WITH FRAME {&FRAME-NAME}:
  352. ASSIGN
  353. F_Knr = iphAufko::Knr
  354. F_Aufnr = iphAufko::Aufnr
  355. F_Faknr = iphAufko::Faknr
  356. F_Sammnr = iphAufko::Samm_Nr
  357. iFak_Art = iphAufko::Fak_Art
  358. oplRetVal = FALSE.
  359. FIND bAdresse NO-LOCK
  360. WHERE bAdresse.Firma = AdFirma
  361. AND bAdresse.Knr = F_Knr NO-ERROR.
  362. RUN COMBO_FAKART ( CB_Fakart:HANDLE ) NO-ERROR.
  363. CB_Fakart:SCREEN-VALUE = STRING(iFak_Art,'999999').
  364. F_Kunde = bAdresse.Anzeig_Br.
  365. RELEASE bAdresse.
  366. END.
  367. { incl/dlgenableobject.i }
  368. END PROCEDURE.
  369. /* _UIB-CODE-BLOCK-END */
  370. &ANALYZE-RESUME
  371. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gFakturaArtChange _DEFAULT-ENABLE
  372. PROCEDURE enable_UI :
  373. /*------------------------------------------------------------------------------
  374. Purpose: ENABLE the User Interface
  375. Parameters: <none>
  376. Notes: Here we display/view/enable the widgets in the
  377. user-interface. In addition, OPEN all queries
  378. associated with each FRAME and BROWSE.
  379. These statements here are based on the "Other
  380. Settings" section of the widget Property Sheets.
  381. ------------------------------------------------------------------------------*/
  382. DISPLAY F_Knr F_Kunde F_Aufnr F_Faknr F_Sammnr CB_Fakart
  383. WITH FRAME gFakturaArtChange.
  384. ENABLE RECT-2 F_Knr F_Kunde F_Aufnr F_Faknr F_Sammnr CB_Fakart Btn_OK
  385. Btn_Cancel
  386. WITH FRAME gFakturaArtChange.
  387. VIEW FRAME gFakturaArtChange.
  388. {&OPEN-BROWSERS-IN-QUERY-gFakturaArtChange}
  389. END PROCEDURE.
  390. /* _UIB-CODE-BLOCK-END */
  391. &ANALYZE-RESUME
  392. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gFakturaArtChange
  393. PROCEDURE ENDE :
  394. /*------------------------------------------------------------------------------
  395. Purpose:
  396. Parameters: <none>
  397. Notes:
  398. ------------------------------------------------------------------------------*/
  399. IF btnOK THEN
  400. DO:
  401. oplRetVal = TRUE.
  402. END.
  403. { incl/dlgende.i }
  404. END PROCEDURE.
  405. /* _UIB-CODE-BLOCK-END */
  406. &ANALYZE-RESUME