g-mwstcd_aendern.w 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  4. &Scoped-define FRAME-NAME gmwstcdmut
  5. {adecomm/appserv.i}
  6. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gmwstcdmut
  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. DEF INPUT PARAMETER ipAufnr AS INT NO-UNDO.
  28. /* Local Variable Definitions --- */
  29. DEF VAR hAufze AS HANDLE NO-UNDO.
  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 gmwstcdmut
  42. /* Standard List Definitions */
  43. &Scoped-Define ENABLED-OBJECTS RECT-2 F_Aufnr CB_MWST Btn_OK Btn_Cancel
  44. &Scoped-Define DISPLAYED-OBJECTS F_Aufnr CB_MWST
  45. /* Custom List Definitions */
  46. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  47. /* _UIB-PREPROCESSOR-BLOCK-END */
  48. &ANALYZE-RESUME
  49. /* *********************** Control Definitions ********************** */
  50. /* Define a dialog box */
  51. /* Definitions of the field level widgets */
  52. DEFINE BUTTON Btn_Cancel AUTO-END-KEY
  53. LABEL "abbrechen"
  54. SIZE 15 BY 1.
  55. DEFINE BUTTON Btn_OK AUTO-GO
  56. LABEL "OK"
  57. SIZE 15 BY 1.
  58. DEFINE VARIABLE CB_MWST AS CHARACTER FORMAT "X(256)":U
  59. LABEL "MWSt-Cd Kunde"
  60. VIEW-AS COMBO-BOX INNER-LINES 5
  61. LIST-ITEM-PAIRS "Item 1","Item 1"
  62. DROP-DOWN-LIST
  63. SIZE 40 BY 1 NO-UNDO.
  64. DEFINE VARIABLE F_Aufnr AS INTEGER FORMAT "z999999":U INITIAL 0
  65. LABEL "Auftragsnummer"
  66. VIEW-AS FILL-IN NATIVE
  67. SIZE 12 BY 1
  68. BGCOLOR 15 NO-UNDO.
  69. DEFINE RECTANGLE RECT-2
  70. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  71. SIZE 72 BY 4.76.
  72. /* ************************ Frame Definitions *********************** */
  73. DEFINE FRAME gmwstcdmut
  74. F_Aufnr AT ROW 2.52 COL 21 COLON-ALIGNED WIDGET-ID 4 NO-TAB-STOP
  75. CB_MWST AT ROW 4 COL 21 COLON-ALIGNED WIDGET-ID 6
  76. Btn_OK AT ROW 7 COL 12.2
  77. Btn_Cancel AT ROW 7 COL 43.2
  78. RECT-2 AT ROW 1.48 COL 3 WIDGET-ID 2
  79. SPACE(1.99) SKIP(2.80)
  80. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  81. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  82. TITLE "Mehrwertsteuer-Code ändern"
  83. CANCEL-BUTTON Btn_Cancel WIDGET-ID 100.
  84. /* *********************** Procedure Settings ************************ */
  85. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  86. /* Settings for THIS-PROCEDURE
  87. Type: SmartDialog
  88. Allow: Basic,Browse,DB-Fields,Query,Smart
  89. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  90. Design Page: 1
  91. Other Settings: COMPILE APPSERVER
  92. */
  93. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  94. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gmwstcdmut
  95. /* ************************* Included-Libraries *********************** */
  96. {src/adm2/containr.i}
  97. /* _UIB-CODE-BLOCK-END */
  98. &ANALYZE-RESUME
  99. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  100. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  101. /* SETTINGS FOR DIALOG-BOX gmwstcdmut
  102. FRAME-NAME */
  103. ASSIGN
  104. FRAME gmwstcdmut:SCROLLABLE = FALSE
  105. FRAME gmwstcdmut:HIDDEN = TRUE.
  106. ASSIGN
  107. F_Aufnr:READ-ONLY IN FRAME gmwstcdmut = TRUE.
  108. /* _RUN-TIME-ATTRIBUTES-END */
  109. &ANALYZE-RESUME
  110. /* Setting information for Queries and Browse Widgets fields */
  111. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gmwstcdmut
  112. /* Query rebuild information for DIALOG-BOX gmwstcdmut
  113. _Options = "SHARE-LOCK"
  114. _Query is NOT OPENED
  115. */ /* DIALOG-BOX gmwstcdmut */
  116. &ANALYZE-RESUME
  117. /* ************************ Control Triggers ************************ */
  118. &Scoped-define SELF-NAME gmwstcdmut
  119. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gmwstcdmut gmwstcdmut
  120. ON END-ERROR OF FRAME gmwstcdmut /* Mehrwertsteuer-Code ändern */
  121. DO:
  122. RUN ENDE.
  123. RETURN NO-APPLY.
  124. END.
  125. /* _UIB-CODE-BLOCK-END */
  126. &ANALYZE-RESUME
  127. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gmwstcdmut gmwstcdmut
  128. ON WINDOW-CLOSE OF FRAME gmwstcdmut /* Mehrwertsteuer-Code ändern */
  129. DO:
  130. RUN ENDE.
  131. RETURN NO-APPLY.
  132. END.
  133. /* _UIB-CODE-BLOCK-END */
  134. &ANALYZE-RESUME
  135. &Scoped-define SELF-NAME Btn_Cancel
  136. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel gmwstcdmut
  137. ON CHOOSE OF Btn_Cancel IN FRAME gmwstcdmut /* abbrechen */
  138. DO:
  139. RUN ENDE.
  140. RETURN NO-APPLY.
  141. END.
  142. /* _UIB-CODE-BLOCK-END */
  143. &ANALYZE-RESUME
  144. &Scoped-define SELF-NAME Btn_OK
  145. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK gmwstcdmut
  146. ON CHOOSE OF Btn_OK IN FRAME gmwstcdmut /* OK */
  147. DO:
  148. btnOK = TRUE.
  149. RUN NEU-RECHNEN.
  150. RUN ENDE.
  151. RETURN NO-APPLY.
  152. END.
  153. /* _UIB-CODE-BLOCK-END */
  154. &ANALYZE-RESUME
  155. &UNDEFINE SELF-NAME
  156. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gmwstcdmut
  157. /* *************************** Main Block *************************** */
  158. { incl/dlgmainblock.i }
  159. {src/adm2/dialogmn.i}
  160. /* _UIB-CODE-BLOCK-END */
  161. &ANALYZE-RESUME
  162. /* ********************** Internal Procedures *********************** */
  163. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gmwstcdmut _ADM-CREATE-OBJECTS
  164. PROCEDURE adm-create-objects :
  165. /*------------------------------------------------------------------------------
  166. Purpose: Create handles for all SmartObjects used in this procedure.
  167. After SmartObjects are initialized, then SmartLinks are added.
  168. Parameters: <none>
  169. ------------------------------------------------------------------------------*/
  170. END PROCEDURE.
  171. /* _UIB-CODE-BLOCK-END */
  172. &ANALYZE-RESUME
  173. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gmwstcdmut _DEFAULT-DISABLE
  174. PROCEDURE disable_UI :
  175. /*------------------------------------------------------------------------------
  176. Purpose: DISABLE the User Interface
  177. Parameters: <none>
  178. Notes: Here we clean-up the user-interface by deleting
  179. dynamic widgets we have created and/or hide
  180. frames. This procedure is usually called when
  181. we are ready to "clean-up" after running.
  182. ------------------------------------------------------------------------------*/
  183. /* Hide all frames. */
  184. HIDE FRAME gmwstcdmut.
  185. END PROCEDURE.
  186. /* _UIB-CODE-BLOCK-END */
  187. &ANALYZE-RESUME
  188. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gmwstcdmut
  189. PROCEDURE enableObject :
  190. /*------------------------------------------------------------------------------
  191. Purpose: Super Override
  192. Parameters:
  193. Notes:
  194. ------------------------------------------------------------------------------*/
  195. DO WITH FRAME {&FRAME-NAME}:
  196. F_Aufnr = ipAufnr.
  197. RUN COMBO_MWSTKUND ( CB_Mwst:HANDLE ).
  198. END.
  199. FIND Aufko NO-LOCK
  200. WHERE Aufko.Firma = Firma
  201. AND Aufko.Aufnr = ipAufnr NO-ERROR.
  202. IF NOT AVAILABLE Aufko THEN DO:
  203. RUN ENDE.
  204. RETURN NO-APPLY.
  205. END.
  206. CB_MWST:SCREEN-VALUE = STRING(Aufko.Mwst,'999999').
  207. { incl/dlgenableobject.i }
  208. END PROCEDURE.
  209. /* _UIB-CODE-BLOCK-END */
  210. &ANALYZE-RESUME
  211. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gmwstcdmut _DEFAULT-ENABLE
  212. PROCEDURE enable_UI :
  213. /*------------------------------------------------------------------------------
  214. Purpose: ENABLE the User Interface
  215. Parameters: <none>
  216. Notes: Here we display/view/enable the widgets in the
  217. user-interface. In addition, OPEN all queries
  218. associated with each FRAME and BROWSE.
  219. These statements here are based on the "Other
  220. Settings" section of the widget Property Sheets.
  221. ------------------------------------------------------------------------------*/
  222. DISPLAY F_Aufnr CB_MWST
  223. WITH FRAME gmwstcdmut.
  224. ENABLE RECT-2 F_Aufnr CB_MWST Btn_OK Btn_Cancel
  225. WITH FRAME gmwstcdmut.
  226. VIEW FRAME gmwstcdmut.
  227. {&OPEN-BROWSERS-IN-QUERY-gmwstcdmut}
  228. END PROCEDURE.
  229. /* _UIB-CODE-BLOCK-END */
  230. &ANALYZE-RESUME
  231. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gmwstcdmut
  232. PROCEDURE ENDE :
  233. /*------------------------------------------------------------------------------
  234. Purpose:
  235. Parameters: <none>
  236. Notes:
  237. ------------------------------------------------------------------------------*/
  238. IF btnOK THEN DO:
  239. END.
  240. { incl/dlgende.i }
  241. END PROCEDURE.
  242. /* _UIB-CODE-BLOCK-END */
  243. &ANALYZE-RESUME
  244. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEU-RECHNEN gmwstcdmut
  245. PROCEDURE NEU-RECHNEN :
  246. /*------------------------------------------------------------------------------
  247. Purpose:
  248. Parameters: <none>
  249. Notes:
  250. ------------------------------------------------------------------------------*/
  251. DEF VAR iMwst AS INT NO-UNDO.
  252. DEF VAR iRecid AS RECID NO-UNDO.
  253. DEF VAR cString AS CHAR NO-UNDO.
  254. DO WITH FRAME {&FRAME-NAME}:
  255. iMwst = INTEGER(CB_Mwst:SCREEN-VALUE).
  256. END.
  257. REPEAT TRANSACTION:
  258. FIND Aufko
  259. WHERE Aufko.Firma = Firma
  260. AND Aufko.Aufnr = ipAufnr.
  261. ASSIGN Aufko.Mwst = iMwst
  262. iRecid = RECID(Aufko).
  263. RELEASE Aufko.
  264. FIND Aufko NO-LOCK WHERE RECID(Aufko) = iRecid.
  265. hAufze = BUFFER Aufze:HANDLE.
  266. FOR EACH Aufze
  267. WHERE Aufze.Firma = Firma
  268. AND Aufze.Aufnr = ipAufnr:
  269. FIND Wust NO-LOCK
  270. WHERE Wust.CodeK = Aufko.Mwst
  271. AND Wust.CodeA = Aufze.WC NO-ERROR.
  272. IF NOT AVAILABLE Wust THEN NEXT.
  273. ASSIGN Aufze.WuCd = Wust.WuCd.
  274. RUN ZEILENBERECHNUNG ( hAufze ).
  275. RELEASE Aufze.
  276. END.
  277. RUN AUFTRAGSTOTAL ( ipAufnr, OUTPUT cString ).
  278. LEAVE.
  279. END.
  280. RELEASE Aufze.
  281. RELEASE Aufko.
  282. END PROCEDURE.
  283. /* _UIB-CODE-BLOCK-END */
  284. &ANALYZE-RESUME