w-translate.w 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. */
  5. &Scoped-define WINDOW-NAME wTranslate
  6. {adecomm/appserv.i}
  7. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS wTranslate
  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. DEF VAR cFirma AS CHAR NO-UNDO.
  29. DEF VAR iabSprcd AS INT NO-UNDO.
  30. DEF VAR izuSprcd AS INT NO-UNDO.
  31. DEF VAR cViewName AS CHAR NO-UNDO.
  32. DEF VAR lCancel AS LOG INIT FALSE NO-UNDO.
  33. { incl/windefinition.i }
  34. {src/adm2/widgetprto.i}
  35. DEF TEMP-TABLE tLabels NO-UNDO
  36. FIELD cViewName AS CHAR
  37. FIELD iabSprcd AS INT
  38. FIELD izuSprcd AS INT
  39. FIELD cFieldName AS CHAR FORMAT "x(30)"
  40. FIELD cLabel_1 AS CHAR FORMAT "x(30)"
  41. FIELD cLabel_2 AS CHAR FORMAT "x(30)"
  42. FIELD cColumn_1 AS CHAR FORMAT "x(30)"
  43. FIELD cColumn_2 AS CHAR FORMAT "x(30)"
  44. .
  45. DEF VAR hQuery AS HANDLE NO-UNDO.
  46. DEF VAR hBrowse AS HANDLE NO-UNDO.
  47. DEF VAR htLabels AS HANDLE NO-UNDO.
  48. DEF TEMP-TABLE tScreenGUI LIKE ScreenGUI.
  49. DEF TEMP-TABLE tScreens NO-UNDO
  50. FIELD hScreen AS HANDLE
  51. FIELD lAktiv AS LOG.
  52. /* _UIB-CODE-BLOCK-END */
  53. &ANALYZE-RESUME
  54. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  55. /* ******************** Preprocessor Definitions ******************** */
  56. &Scoped-define PROCEDURE-TYPE SmartWindow
  57. &Scoped-define DB-AWARE no
  58. &Scoped-define ADM-CONTAINER WINDOW
  59. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target,Filter-target,Filter-Source
  60. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  61. &Scoped-define FRAME-NAME fMain
  62. &Scoped-define BROWSE-NAME Br_Labels
  63. /* Internal Tables (found by Frame, Query & Browse Queries) */
  64. &Scoped-define INTERNAL-TABLES tLabels
  65. /* Definitions for BROWSE Br_Labels */
  66. &Scoped-define FIELDS-IN-QUERY-Br_Labels tLabels.cFieldName tLabels.cLabel_1 tLabels.cColumn_1 tLabels.cLabel_2 tLabels.cColumn_2
  67. &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_Labels
  68. &Scoped-define SELF-NAME Br_Labels
  69. &Scoped-define QUERY-STRING-Br_Labels FOR EACH tLabels
  70. &Scoped-define OPEN-QUERY-Br_Labels OPEN QUERY {&SELF-NAME} FOR EACH tLabels.
  71. &Scoped-define TABLES-IN-QUERY-Br_Labels tLabels
  72. &Scoped-define FIRST-TABLE-IN-QUERY-Br_Labels tLabels
  73. /* Definitions for FRAME fMain */
  74. /* Standard List Definitions */
  75. &Scoped-Define ENABLED-OBJECTS Br_Labels F_Label F_Column Btn_OK Btn_Cancel ~
  76. F_Titel F_Titel_Trans RECT-6
  77. &Scoped-Define DISPLAYED-OBJECTS F_Label F_Column F_Titel F_Titel_Trans
  78. /* Custom List Definitions */
  79. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  80. &Scoped-define List-6 F_Titel F_Titel_Trans
  81. /* _UIB-PREPROCESSOR-BLOCK-END */
  82. &ANALYZE-RESUME
  83. /* ************************ Function Prototypes ********************** */
  84. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getProgname wTranslate
  85. FUNCTION getProgname RETURNS CHARACTER
  86. ( /* parameter-definitions */ ) FORWARD.
  87. /* _UIB-CODE-BLOCK-END */
  88. &ANALYZE-RESUME
  89. /* *********************** Control Definitions ********************** */
  90. /* Define the widget handle for the window */
  91. DEFINE VAR wTranslate AS WIDGET-HANDLE NO-UNDO.
  92. /* Definitions of the field level widgets */
  93. DEFINE BUTTON Btn_Cancel
  94. LABEL "abbrechen"
  95. SIZE 15 BY 1.
  96. DEFINE BUTTON Btn_OK
  97. LABEL "mutieren"
  98. SIZE 15 BY 1.
  99. DEFINE VARIABLE F_Column AS CHARACTER FORMAT "x(30)":U
  100. VIEW-AS FILL-IN NATIVE
  101. SIZE 40 BY 1
  102. BGCOLOR 15 NO-UNDO.
  103. DEFINE VARIABLE F_Label AS CHARACTER FORMAT "x(30)":U
  104. VIEW-AS FILL-IN NATIVE
  105. SIZE 40 BY 1
  106. BGCOLOR 15 NO-UNDO.
  107. DEFINE VARIABLE F_Titel AS CHARACTER FORMAT "x(80)":U
  108. LABEL "Titel"
  109. VIEW-AS FILL-IN NATIVE
  110. SIZE 40 BY 1
  111. BGCOLOR 15 NO-UNDO.
  112. DEFINE VARIABLE F_Titel_Trans AS CHARACTER FORMAT "x(80)":U
  113. VIEW-AS FILL-IN NATIVE
  114. SIZE 40 BY 1
  115. BGCOLOR 15 NO-UNDO.
  116. DEFINE RECTANGLE RECT-6
  117. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  118. SIZE 164 BY 14.19.
  119. /* Query definitions */
  120. &ANALYZE-SUSPEND
  121. DEFINE QUERY Br_Labels FOR
  122. tLabels SCROLLING.
  123. &ANALYZE-RESUME
  124. /* Browse definitions */
  125. DEFINE BROWSE Br_Labels
  126. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_Labels wTranslate _FREEFORM
  127. QUERY Br_Labels DISPLAY
  128. tLabels.cFieldName LABEL 'Field'
  129. tLabels.cLabel_1 LABEL 'Source Label'
  130. tLabels.cColumn_1 LABEL 'Source Side Label'
  131. tLabels.cLabel_2 LABEL 'Target Label'
  132. tLabels.cColumn_2 LABEL 'Target Side Label'
  133. /* _UIB-CODE-BLOCK-END */
  134. &ANALYZE-RESUME
  135. WITH NO-ROW-MARKERS SEPARATORS SIZE 160 BY 10.
  136. /* ************************ Frame Definitions *********************** */
  137. DEFINE FRAME fMain
  138. Br_Labels AT ROW 3.52 COL 5 WIDGET-ID 200
  139. F_Label AT ROW 14 COL 33 COLON-ALIGNED NO-LABEL WIDGET-ID 4
  140. F_Column AT ROW 14 COL 88 COLON-ALIGNED NO-LABEL WIDGET-ID 12
  141. Btn_OK AT ROW 16 COL 29 WIDGET-ID 6
  142. Btn_Cancel AT ROW 16 COL 69.4 WIDGET-ID 8
  143. F_Titel AT ROW 2 COL 33 COLON-ALIGNED WIDGET-ID 16
  144. F_Titel_Trans AT ROW 2 COL 88 COLON-ALIGNED NO-LABEL WIDGET-ID 14
  145. RECT-6 AT ROW 1.48 COL 3 WIDGET-ID 10
  146. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  147. SIDE-LABELS NO-UNDERLINE THREE-D
  148. AT COL 1 ROW 1
  149. SIZE 168 BY 17.14 WIDGET-ID 100.
  150. /* *********************** Procedure Settings ************************ */
  151. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  152. /* Settings for THIS-PROCEDURE
  153. Type: SmartWindow
  154. Allow: Basic,Browse,DB-Fields,Query,Smart,Window
  155. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target,Filter-target,Filter-Source
  156. Other Settings: COMPILE APPSERVER
  157. */
  158. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  159. /* ************************* Create Window ************************** */
  160. &ANALYZE-SUSPEND _CREATE-WINDOW
  161. IF SESSION:DISPLAY-TYPE = "GUI":U THEN
  162. CREATE WINDOW wTranslate ASSIGN
  163. HIDDEN = YES
  164. TITLE = "Translate Labels"
  165. HEIGHT = 17.24
  166. WIDTH = 168
  167. MAX-HEIGHT = 30.48
  168. MAX-WIDTH = 173.6
  169. VIRTUAL-HEIGHT = 30.48
  170. VIRTUAL-WIDTH = 173.6
  171. RESIZE = no
  172. SCROLL-BARS = no
  173. STATUS-AREA = no
  174. BGCOLOR = ?
  175. FGCOLOR = ?
  176. THREE-D = yes
  177. MESSAGE-AREA = no
  178. SENSITIVE = yes.
  179. ELSE {&WINDOW-NAME} = CURRENT-WINDOW.
  180. &IF '{&WINDOW-SYSTEM}' NE 'TTY' &THEN
  181. IF NOT wTranslate:LOAD-ICON("grafik/appl.ico":U) THEN
  182. MESSAGE "Unable to load icon: grafik/appl.ico"
  183. VIEW-AS ALERT-BOX WARNING BUTTONS OK.
  184. &ENDIF
  185. /* END WINDOW DEFINITION */
  186. &ANALYZE-RESUME
  187. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB wTranslate
  188. /* ************************* Included-Libraries *********************** */
  189. {src/adm2/containr.i}
  190. /* _UIB-CODE-BLOCK-END */
  191. &ANALYZE-RESUME
  192. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  193. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  194. /* SETTINGS FOR WINDOW wTranslate
  195. VISIBLE,,RUN-PERSISTENT */
  196. /* SETTINGS FOR FRAME fMain
  197. FRAME-NAME Custom */
  198. /* BROWSE-TAB Br_Labels 1 fMain */
  199. /* SETTINGS FOR FILL-IN F_Titel IN FRAME fMain
  200. 6 */
  201. /* SETTINGS FOR FILL-IN F_Titel_Trans IN FRAME fMain
  202. 6 */
  203. IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(wTranslate)
  204. THEN wTranslate:HIDDEN = yes.
  205. /* _RUN-TIME-ATTRIBUTES-END */
  206. &ANALYZE-RESUME
  207. /* Setting information for Queries and Browse Widgets fields */
  208. &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_Labels
  209. /* Query rebuild information for BROWSE Br_Labels
  210. _START_FREEFORM
  211. OPEN QUERY {&SELF-NAME} FOR EACH tLabels.
  212. _END_FREEFORM
  213. _Query is NOT OPENED
  214. */ /* BROWSE Br_Labels */
  215. &ANALYZE-RESUME
  216. /* ************************ Control Triggers ************************ */
  217. &Scoped-define SELF-NAME wTranslate
  218. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL wTranslate wTranslate
  219. ON END-ERROR OF wTranslate /* Translate Labels */
  220. OR ENDKEY OF {&WINDOW-NAME} ANYWHERE DO:
  221. /* This case occurs when the user presses the "Esc" key.
  222. In a persistently run window, just ignore this. If we did not, the
  223. application would exit. */
  224. IF THIS-PROCEDURE:PERSISTENT THEN RETURN NO-APPLY.
  225. /* ****************************** */
  226. RUN ENDE.
  227. RETURN NO-APPLY.
  228. /* ****************************** */
  229. END.
  230. /* _UIB-CODE-BLOCK-END */
  231. &ANALYZE-RESUME
  232. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL wTranslate wTranslate
  233. ON WINDOW-CLOSE OF wTranslate /* Translate Labels */
  234. DO:
  235. /* This ADM code must be left here in order for the SmartWindow
  236. and its descendents to terminate properly on exit. */
  237. RUN ENDE.
  238. RETURN NO-APPLY.
  239. END.
  240. /* _UIB-CODE-BLOCK-END */
  241. &ANALYZE-RESUME
  242. &Scoped-define BROWSE-NAME Br_Labels
  243. &Scoped-define SELF-NAME Br_Labels
  244. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Labels wTranslate
  245. ON END-ERROR OF Br_Labels IN FRAME fMain
  246. DO:
  247. RETURN NO-APPLY.
  248. END.
  249. /* _UIB-CODE-BLOCK-END */
  250. &ANALYZE-RESUME
  251. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Labels wTranslate
  252. ON ENTRY OF Br_Labels IN FRAME fMain
  253. DO:
  254. IF hQuery:NUM-RESULTS = ? OR
  255. hQuery:NUM-RESULTS = 0 THEN RETURN.
  256. F_Label :SCREEN-VALUE = tLabels.cLabel_2.
  257. F_Column:SCREEN-VALUE = tLabels.cColumn_2.
  258. END.
  259. /* _UIB-CODE-BLOCK-END */
  260. &ANALYZE-RESUME
  261. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Labels wTranslate
  262. ON LEFT-MOUSE-DBLCLICK OF Br_Labels IN FRAME fMain
  263. DO:
  264. APPLY 'ENTRY' TO F_Label.
  265. END.
  266. /* _UIB-CODE-BLOCK-END */
  267. &ANALYZE-RESUME
  268. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Labels wTranslate
  269. ON RETURN OF Br_Labels IN FRAME fMain
  270. DO:
  271. APPLY 'ENTRY' TO F_Label.
  272. END.
  273. /* _UIB-CODE-BLOCK-END */
  274. &ANALYZE-RESUME
  275. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Labels wTranslate
  276. ON ROW-DISPLAY OF Br_Labels IN FRAME fMain
  277. DO:
  278. F_Label:SCREEN-VALUE = tLabels.cLabel_2.
  279. END.
  280. /* _UIB-CODE-BLOCK-END */
  281. &ANALYZE-RESUME
  282. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Labels wTranslate
  283. ON VALUE-CHANGED OF Br_Labels IN FRAME fMain
  284. DO:
  285. F_Label :SCREEN-VALUE = tLabels.cLabel_2.
  286. F_Column:SCREEN-VALUE = tLabels.cColumn_2.
  287. END.
  288. /* _UIB-CODE-BLOCK-END */
  289. &ANALYZE-RESUME
  290. &Scoped-define SELF-NAME Btn_Cancel
  291. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel wTranslate
  292. ON CHOOSE OF Btn_Cancel IN FRAME fMain /* abbrechen */
  293. DO:
  294. lCancel = TRUE.
  295. RUN ENDE.
  296. RETURN NO-APPLY.
  297. END.
  298. /* _UIB-CODE-BLOCK-END */
  299. &ANALYZE-RESUME
  300. &Scoped-define SELF-NAME Btn_OK
  301. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK wTranslate
  302. ON CHOOSE OF Btn_OK IN FRAME fMain /* mutieren */
  303. DO:
  304. FOR EACH tScreenGUI:
  305. FIND ScreenGUI OF tScreenGUI NO-ERROR.
  306. IF NOT AVAILABLE ScreenGUI THEN DO:
  307. CREATE ScreenGUI.
  308. BUFFER-COPY tScreenGUI TO ScreenGUI.
  309. NEXT.
  310. END.
  311. BUFFER-COPY tScreenGUI
  312. EXCEPT Firma Sprcd ViewName FieldName
  313. TO ScreenGUI.
  314. END.
  315. ASSIGN {&List-6}.
  316. IF F_Titel_Trans <> '' AND
  317. F_Titel_Trans <> ? THEN DO:
  318. FIND FIRST ScreenGUI
  319. WHERE ScreenGUI.Firma = cFirma
  320. AND ScreenGUI.Sprcd = izuSprcd
  321. AND ScreenGUI.ViewName = cViewName
  322. AND ScreenGUI.FieldName = 'TITEL' NO-ERROR.
  323. IF NOT AVAILABLE ScreenGUI THEN DO:
  324. CREATE ScreenGUI.
  325. ASSIGN ScreenGUI.Firma = cFirma
  326. ScreenGUI.Sprcd = izuSprcd
  327. ScreenGUI.ViewName = cViewName
  328. ScreenGUI.FieldName = 'TITEL'.
  329. END.
  330. ASSIGN ScreenGUI.Label_Text = F_Titel_Trans.
  331. END.
  332. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  333. RETURN NO-APPLY.
  334. END.
  335. /* _UIB-CODE-BLOCK-END */
  336. &ANALYZE-RESUME
  337. &Scoped-define SELF-NAME F_Column
  338. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Column wTranslate
  339. ON END-ERROR OF F_Column IN FRAME fMain
  340. DO:
  341. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  342. RETURN NO-APPLY.
  343. END.
  344. /* _UIB-CODE-BLOCK-END */
  345. &ANALYZE-RESUME
  346. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Column wTranslate
  347. ON RETURN OF F_Column IN FRAME fMain
  348. DO:
  349. tLabels.cColumn_2:SCREEN-VALUE IN BROWSE {&BROWSE-NAME} = SELF:SCREEN-VALUE.
  350. tLabels.cColumn_2 = SELF:SCREEN-VALUE.
  351. FIND FIRST tScreenGUI
  352. WHERE tScreenGUI.Firma = cFirma
  353. AND tScreenGUI.Sprcd = izuSprcd
  354. AND tScreenGUI.FieldName = tLabels.cFieldName.
  355. tScreenGUI.Column_Text = SELF:SCREEN-VALUE.
  356. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  357. RETURN NO-APPLY.
  358. END.
  359. /* _UIB-CODE-BLOCK-END */
  360. &ANALYZE-RESUME
  361. &Scoped-define SELF-NAME F_Label
  362. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Label wTranslate
  363. ON END-ERROR OF F_Label IN FRAME fMain
  364. DO:
  365. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  366. RETURN NO-APPLY.
  367. END.
  368. /* _UIB-CODE-BLOCK-END */
  369. &ANALYZE-RESUME
  370. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Label wTranslate
  371. ON RETURN OF F_Label IN FRAME fMain
  372. DO:
  373. tLabels.cLabel_2:SCREEN-VALUE IN BROWSE {&BROWSE-NAME} = SELF:SCREEN-VALUE.
  374. tLabels.cLabel_2 = SELF:SCREEN-VALUE.
  375. FIND FIRST tScreenGUI
  376. WHERE tScreenGUI.Firma = cFirma
  377. AND tScreenGUI.Sprcd = izuSprcd
  378. AND tScreenGUI.FieldName = tLabels.cFieldName.
  379. tScreenGUI.Label_Text = SELF:SCREEN-VALUE.
  380. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  381. RETURN NO-APPLY.
  382. END.
  383. /* _UIB-CODE-BLOCK-END */
  384. &ANALYZE-RESUME
  385. &Scoped-define SELF-NAME F_Titel
  386. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Titel wTranslate
  387. ON END-ERROR OF F_Titel IN FRAME fMain /* Titel */
  388. DO:
  389. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  390. RETURN NO-APPLY.
  391. END.
  392. /* _UIB-CODE-BLOCK-END */
  393. &ANALYZE-RESUME
  394. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Titel wTranslate
  395. ON RETURN OF F_Titel IN FRAME fMain /* Titel */
  396. DO:
  397. /* tLabels.cLabel_2:SCREEN-VALUE IN BROWSE {&BROWSE-NAME} = SELF:SCREEN-VALUE. */
  398. /* tLabels.cLabel_2 = SELF:SCREEN-VALUE. */
  399. /* FIND FIRST tScreenGUI */
  400. /* WHERE tScreenGUI.Firma = cFirma */
  401. /* AND tScreenGUI.Sprcd = izuSprcd */
  402. /* AND tScreenGUI.FieldName = tLabels.cFieldName. */
  403. /* tScreenGUI.Label_Text = SELF:SCREEN-VALUE. */
  404. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  405. RETURN NO-APPLY.
  406. END.
  407. /* _UIB-CODE-BLOCK-END */
  408. &ANALYZE-RESUME
  409. &Scoped-define SELF-NAME F_Titel_Trans
  410. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Titel_Trans wTranslate
  411. ON END-ERROR OF F_Titel_Trans IN FRAME fMain
  412. DO:
  413. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  414. RETURN NO-APPLY.
  415. END.
  416. /* _UIB-CODE-BLOCK-END */
  417. &ANALYZE-RESUME
  418. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Titel_Trans wTranslate
  419. ON RETURN OF F_Titel_Trans IN FRAME fMain
  420. DO:
  421. /* tLabels.cColumn_2:SCREEN-VALUE IN BROWSE {&BROWSE-NAME} = SELF:SCREEN-VALUE. */
  422. /* tLabels.cColumn_2 = SELF:SCREEN-VALUE. */
  423. /* FIND FIRST tScreenGUI */
  424. /* WHERE tScreenGUI.Firma = cFirma */
  425. /* AND tScreenGUI.Sprcd = izuSprcd */
  426. /* AND tScreenGUI.FieldName = tLabels.cFieldName. */
  427. /* tScreenGUI.Column_Text = SELF:SCREEN-VALUE. */
  428. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  429. RETURN NO-APPLY.
  430. END.
  431. /* _UIB-CODE-BLOCK-END */
  432. &ANALYZE-RESUME
  433. &UNDEFINE SELF-NAME
  434. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK wTranslate
  435. /* *************************** Main Block *************************** */
  436. { incl/winmainblock.i }
  437. {src/adm2/windowmn.i}
  438. SUBSCRIBE TO 'TRANSLATE' ANYWHERE.
  439. SUBSCRIBE TO 'TRANSLATEFOLDER' ANYWHERE.
  440. /* _UIB-CODE-BLOCK-END */
  441. &ANALYZE-RESUME
  442. /* ********************** Internal Procedures *********************** */
  443. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects wTranslate _ADM-CREATE-OBJECTS
  444. PROCEDURE adm-create-objects :
  445. /*------------------------------------------------------------------------------
  446. Purpose: Create handles for all SmartObjects used in this procedure.
  447. After SmartObjects are initialized, then SmartLinks are added.
  448. Parameters: <none>
  449. ------------------------------------------------------------------------------*/
  450. END PROCEDURE.
  451. /* _UIB-CODE-BLOCK-END */
  452. &ANALYZE-RESUME
  453. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage wTranslate
  454. PROCEDURE changePage :
  455. /*------------------------------------------------------------------------------
  456. Purpose: Super Override
  457. Parameters:
  458. Notes:
  459. ------------------------------------------------------------------------------*/
  460. RUN SUPER.
  461. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  462. CASE AktSeite:
  463. WHEN 1 THEN DO:
  464. /* RUN addLink ( hAktionen , 'TableIO':U , h_v-auftr ). */
  465. /* RUN addLink ( hAktionen , 'Navigation':U , h_d-auftr ). */
  466. /* RUN setButtons IN hAktionen ( 'initial-TableIo' ) NO-ERROR. */
  467. END.
  468. WHEN 2 THEN DO:
  469. END.
  470. END CASE.
  471. RUN ENTRY_CURSOR.
  472. END PROCEDURE.
  473. /* _UIB-CODE-BLOCK-END */
  474. &ANALYZE-RESUME
  475. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI wTranslate _DEFAULT-DISABLE
  476. PROCEDURE disable_UI :
  477. /*------------------------------------------------------------------------------
  478. Purpose: DISABLE the User Interface
  479. Parameters: <none>
  480. Notes: Here we clean-up the user-interface by deleting
  481. dynamic widgets we have created and/or hide
  482. frames. This procedure is usually called when
  483. we are ready to "clean-up" after running.
  484. ------------------------------------------------------------------------------*/
  485. /* Delete the WINDOW we created */
  486. IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(wTranslate)
  487. THEN DELETE WIDGET wTranslate.
  488. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  489. END PROCEDURE.
  490. /* _UIB-CODE-BLOCK-END */
  491. &ANALYZE-RESUME
  492. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject wTranslate
  493. PROCEDURE enableObject :
  494. /*------------------------------------------------------------------------------
  495. Purpose: Super Override
  496. Parameters:
  497. Notes:
  498. ------------------------------------------------------------------------------*/
  499. { incl/winenableobject.i }
  500. htLabels = TEMP-TABLE tLabels:DEFAULT-BUFFER-HANDLE.
  501. CREATE QUERY hQuery.
  502. hQuery:SET-BUFFERS(htLabels).
  503. hQuery:QUERY-PREPARE('FOR EACH tLabels').
  504. BROWSE {&BROWSE-NAME}:QUERY = hQuery.
  505. RUN SUPER.
  506. /* Code placed here will execute AFTER standard behavior. */
  507. END PROCEDURE.
  508. /* _UIB-CODE-BLOCK-END */
  509. &ANALYZE-RESUME
  510. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI wTranslate _DEFAULT-ENABLE
  511. PROCEDURE enable_UI :
  512. /*------------------------------------------------------------------------------
  513. Purpose: ENABLE the User Interface
  514. Parameters: <none>
  515. Notes: Here we display/view/enable the widgets in the
  516. user-interface. In addition, OPEN all queries
  517. associated with each FRAME and BROWSE.
  518. These statements here are based on the "Other
  519. Settings" section of the widget Property Sheets.
  520. ------------------------------------------------------------------------------*/
  521. DISPLAY F_Label F_Column F_Titel F_Titel_Trans
  522. WITH FRAME fMain IN WINDOW wTranslate.
  523. ENABLE Br_Labels F_Label F_Column Btn_OK Btn_Cancel F_Titel F_Titel_Trans
  524. RECT-6
  525. WITH FRAME fMain IN WINDOW wTranslate.
  526. {&OPEN-BROWSERS-IN-QUERY-fMain}
  527. VIEW wTranslate.
  528. END PROCEDURE.
  529. /* _UIB-CODE-BLOCK-END */
  530. &ANALYZE-RESUME
  531. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE wTranslate
  532. PROCEDURE ENDE :
  533. /*------------------------------------------------------------------------------
  534. Purpose:
  535. Parameters: <none>
  536. Notes:
  537. ------------------------------------------------------------------------------*/
  538. IF NOT lCancel THEN RETURN NO-APPLY.
  539. { incl/winende.i }
  540. END PROCEDURE.
  541. /* _UIB-CODE-BLOCK-END */
  542. &ANALYZE-RESUME
  543. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR wTranslate
  544. PROCEDURE ENTRY_CURSOR :
  545. /*------------------------------------------------------------------------------
  546. Purpose:
  547. Parameters: <none>
  548. Notes:
  549. ------------------------------------------------------------------------------*/
  550. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  551. FMutFlag = DYNAMIC-FUNCTION('getMutflag':U, INPUT Progname) NO-ERROR.
  552. CASE AktSeite:
  553. /* WHEN 1 THEN DO: */
  554. /* IF FMutFlag THEN RUN applyEntry IN h_v- ( INPUT ? ). */
  555. /* ELSE RUN applyEntry IN h_b- ( INPUT ? ). */
  556. /* END. */
  557. /* WHEN 1 THEN RUN applyEntry IN h_v-adresse ( INPUT ? ). */
  558. /* WHEN 2 THEN RUN applyEntry IN h_f-adrkomm ( INPUT ? ). */
  559. /* WHEN 3 THEN RUN applyEntry IN h_b-auftbb ( INPUT ? ). */
  560. /* WHEN 4 THEN RUN applyEntry IN h_b-aufdet ( INPUT ? ). */
  561. /* WHEN 5 THEN RUN applyEntry IN h_b-aufstreu ( INPUT ? ). */
  562. /* WHEN 6 THEN RUN applyEntry IN h_b-auffak ( INPUT ? ). */
  563. /* WHEN 7 THEN RUN applyEntry IN h_b-position ( INPUT ? ). */
  564. END CASE.
  565. RETURN NO-APPLY.
  566. END PROCEDURE.
  567. /* _UIB-CODE-BLOCK-END */
  568. &ANALYZE-RESUME
  569. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject wTranslate
  570. PROCEDURE exitObject :
  571. /*------------------------------------------------------------------------------
  572. Purpose: Window-specific override of this procedure which destroys
  573. its contents and itself.
  574. Notes:
  575. ------------------------------------------------------------------------------*/
  576. RUN ENDE.
  577. RETURN NO-APPLY.
  578. END PROCEDURE.
  579. /* _UIB-CODE-BLOCK-END */
  580. &ANALYZE-RESUME
  581. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject wTranslate
  582. PROCEDURE initializeObject :
  583. /*------------------------------------------------------------------------------
  584. Purpose: Super Override
  585. Parameters:
  586. Notes:
  587. ------------------------------------------------------------------------------*/
  588. /* Code placed here will execute PRIOR to standard behavior. */
  589. RUN SUPER.
  590. { incl/wininitializeobject.i }
  591. END PROCEDURE.
  592. /* _UIB-CODE-BLOCK-END */
  593. &ANALYZE-RESUME
  594. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SEITENWECHSEL wTranslate
  595. PROCEDURE SEITENWECHSEL :
  596. /*------------------------------------------------------------------------------
  597. Purpose:
  598. Parameters: <none>
  599. Notes:
  600. ------------------------------------------------------------------------------*/
  601. { incl/winseitenwechsel.i }
  602. END PROCEDURE.
  603. /* _UIB-CODE-BLOCK-END */
  604. &ANALYZE-RESUME
  605. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage wTranslate
  606. PROCEDURE selectPage :
  607. /*------------------------------------------------------------------------------
  608. Purpose: Super Override
  609. Parameters:
  610. Notes:
  611. ------------------------------------------------------------------------------*/
  612. DEF INPUT PARAMETER piPageNum AS INT NO-UNDO.
  613. DEF VAR FMutFlag AS LOG NO-UNDO.
  614. DEF VAR MutProg AS CHAR NO-UNDO.
  615. FMutFlag = DYNAMIC-FUNCTION ('getMutflag':U, INPUT Progname) NO-ERROR.
  616. IF FMutFlag THEN RETURN NO-APPLY.
  617. CASE piPageNum:
  618. END CASE.
  619. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  620. CASE AktSeite:
  621. WHEN 1 THEN DO:
  622. /* RUN removeLink ( hAktionen , 'TableIO':U , h_v-auftr ). */
  623. /* RUN removeLink ( hAktionen , 'Navigation':U , h_d-auftr ). */
  624. END.
  625. END CASE.
  626. RUN SUPER( INPUT piPageNum).
  627. END PROCEDURE.
  628. /* _UIB-CODE-BLOCK-END */
  629. &ANALYZE-RESUME
  630. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TOOLBAR wTranslate
  631. PROCEDURE TOOLBAR :
  632. /*------------------------------------------------------------------------------
  633. Purpose:
  634. Parameters: <none>
  635. Notes:
  636. ------------------------------------------------------------------------------*/
  637. { incl/wintoolbar.i }
  638. END PROCEDURE.
  639. /* _UIB-CODE-BLOCK-END */
  640. &ANALYZE-RESUME
  641. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TRANSLATE wTranslate
  642. PROCEDURE TRANSLATE :
  643. /*------------------------------------------------------------------------------
  644. Purpose:
  645. Parameters: <none>
  646. Notes:
  647. ------------------------------------------------------------------------------*/
  648. DEF INPUT PARAMETER ipcFirma AS CHAR NO-UNDO.
  649. DEF INPUT PARAMETER iphScreen AS HANDLE NO-UNDO.
  650. DEF INPUT PARAMETER ipcViewName AS CHAR NO-UNDO.
  651. DEF INPUT PARAMETER ipiabSprcd AS INT NO-UNDO.
  652. DEF INPUT PARAMETER ipizuSprcd AS INT NO-UNDO.
  653. DEF VAR hFenster AS HANDLE NO-UNDO.
  654. DEF VAR hParent AS HANDLE NO-UNDO.
  655. DEF VAR hSideLabel AS HANDLE NO-UNDO.
  656. DEF VAR cProgramm AS CHAR NO-UNDO.
  657. DEF VAR iPos AS INT NO-UNDO.
  658. DEF VAR cTitel AS CHAR NO-UNDO.
  659. DEF VAR cType AS CHAR NO-UNDO.
  660. DEF VAR cFieldName AS CHAR NO-UNDO.
  661. DEF VAR cLabel AS CHAR NO-UNDO.
  662. DEF VAR cSideLabel AS CHAR NO-UNDO.
  663. DEF VAR lBrowse AS LOG INIT FALSE NO-UNDO.
  664. DEF VAR cExclude AS CHAR NO-UNDO
  665. INIT 'RECTANGLE,LITERAL,FRAME,FIELD-GROUP,BROWSE'.
  666. DEF VAR cHandles AS CHAR NO-UNDO
  667. INIT 'BROWSE,FIELD-GROUP'.
  668. DEF BUFFER bScreenGUI FOR ScreenGUI.
  669. cProgramm = ipcViewName.
  670. iPos = R-INDEX(cProgramm, '.') - 1.
  671. IF iPos > 1 THEN cProgramm = TRIM(SUBSTRING(ipcViewName,01,iPos)).
  672. ASSIGN cFirma = ipcFirma
  673. iabSprcd = ipiabSprcd
  674. izuSprcd = ipizuSprcd
  675. cViewName = cProgramm.
  676. ASSIGN F_Titel = ''
  677. F_Titel_Trans = ''
  678. F_Label = ''
  679. F_Column = ''.
  680. DO WITH FRAME {&FRAME-NAME}:
  681. F_Titel :BGCOLOR = 12.
  682. F_Titel_Trans:BGCOLOR = 12.
  683. PAUSE 0.5 NO-MESSAGE.
  684. END.
  685. cTitel = iphScreen:TITLE NO-ERROR.
  686. IF INDEX (cTitel , "Haupt-Menu") > 0 THEN cTitel = "Haupt-Menu".
  687. F_Titel = (IF cTitel <> ? THEN cTitel ELSE '').
  688. F_Titel_Trans = (IF cTitel <> ? THEN cTitel ELSE '').
  689. FIND FIRST ScreenGUI NO-LOCK
  690. WHERE ScreenGUI.Firma = ipcFirma
  691. AND ScreenGUI.Sprcd = ipiabSprcd
  692. AND ScreenGUI.ViewName = cProgramm
  693. AND ScreenGUI.FieldName = 'TITEL' NO-ERROR.
  694. IF AVAILABLE ScreenGUI THEN F_Titel = ScreenGUI.Label_Text.
  695. EMPTY TEMP-TABLE tScreens.
  696. FIND FIRST ScreenGUI NO-LOCK
  697. WHERE ScreenGUI.Firma = ipcFirma
  698. AND ScreenGUI.Sprcd = ipizuSprcd
  699. AND ScreenGUI.ViewName = cProgramm
  700. AND ScreenGUI.FieldName = 'TITEL' NO-ERROR.
  701. IF AVAILABLE ScreenGUI THEN F_Titel_Trans = ScreenGUI.Label_Text.
  702. DO WITH FRAME {&FRAME-NAME}:
  703. DISPLAY F_Titel F_Titel_Trans F_Label F_Column.
  704. IF F_Titel = '' THEN ASSIGN F_Titel :READ-ONLY = TRUE
  705. F_Titel_Trans:READ-ONLY = TRUE.
  706. ELSE ASSIGN F_Titel :READ-ONLY = FALSE
  707. F_Titel_Trans:READ-ONLY = FALSE.
  708. F_Titel :BGCOLOR = 15.
  709. F_Titel_Trans:BGCOLOR = 15.
  710. END.
  711. CREATE tScreens.
  712. ASSIGN tScreens.hScreen = iphScreen
  713. tScreens.lAktiv = FALSE.
  714. IF iphScreen:TYPE BEGINS 'BROWS' THEN lBrowse = TRUE.
  715. IF lBrowse THEN hFenster = iphScreen:FIRST-COLUMN.
  716. ELSE hFenster = iphScreen:FIRST-CHILD.
  717. DO WHILE VALID-HANDLE(hFenster):
  718. cType = hFenster:TYPE.
  719. IF LOOKUP(cType, cHandles, ',') > 0 THEN DO:
  720. CREATE tScreens.
  721. ASSIGN tScreens.hScreen = hFenster
  722. tScreens.lAktiv = TRUE.
  723. END.
  724. IF lBrowse THEN hFenster = hFenster:NEXT-COLUMN.
  725. ELSE hFenster = hFenster:NEXT-SIBLING.
  726. END.
  727. DO WHILE TRUE:
  728. FIND FIRST tScreens
  729. WHERE tScreens.lAktiv = TRUE NO-ERROR.
  730. IF NOT AVAILABLE tScreens THEN LEAVE.
  731. tScreens.lAktiv = FALSE.
  732. hFenster = tScreens.hScreen.
  733. IF hFenster:TYPE BEGINS 'BROWS' THEN lBrowse = TRUE.
  734. IF lBrowse THEN hFenster = hFenster:FIRST-COLUMN.
  735. ELSE hFenster = hFenster:FIRST-CHILD.
  736. DO WHILE VALID-HANDLE(hFenster):
  737. cType = hFenster:TYPE.
  738. IF LOOKUP(cType, cHandles, ',') > 0 THEN DO:
  739. CREATE tScreens.
  740. ASSIGN tScreens.hScreen = hFenster
  741. tScreens.lAktiv = TRUE.
  742. END.
  743. IF lBrowse THEN hFenster = hFenster:NEXT-COLUMN.
  744. ELSE hFenster = hFenster:NEXT-SIBLING.
  745. END.
  746. END.
  747. EMPTY TEMP-TABLE tLabels.
  748. EMPTY TEMP-TABLE tScreenGUI.
  749. ASSIGN cFirma = ipcFirma
  750. iabSprcd = ipiabSprcd
  751. izuSprcd = ipizuSprcd.
  752. FOR EACH ScreenGUI NO-LOCK
  753. WHERE ScreenGUI.Firma = ipcFirma
  754. AND ScreenGUI.Sprcd = ipiabSprcd
  755. AND ScreenGUI.ViewName = cProgramm:
  756. CREATE tScreenGUI.
  757. BUFFER-COPY ScreenGUI TO tScreenGUI.
  758. END.
  759. IF ipizuSprcd <> ipiabSprcd THEN DO:
  760. FOR EACH ScreenGUI NO-LOCK
  761. WHERE ScreenGUI.Firma = ipcFirma
  762. AND ScreenGUI.Sprcd = ipizuSprcd
  763. AND ScreenGUI.ViewName = cProgramm:
  764. CREATE tScreenGUI.
  765. BUFFER-COPY ScreenGUI TO tScreenGUI.
  766. END.
  767. END.
  768. FOR EACH tScreens:
  769. hFenster = tScreens.hScreen.
  770. lBrowse = FALSE.
  771. IF hFenster:TYPE BEGINS 'BROWS' THEN lBrowse = TRUE.
  772. IF lBrowse THEN hFenster = hFenster:FIRST-COLUMN.
  773. ELSE hFenster = hFenster:FIRST-CHILD.
  774. DO WHILE VALID-HANDLE (hFenster) :
  775. DO WHILE TRUE:
  776. cType = hFenster:TYPE.
  777. IF LOOKUP(cType, cExclude, ',') > 0 THEN LEAVE.
  778. IF lBrowse THEN IF NOT hFenster:VISIBLE THEN LEAVE. ELSE.
  779. ELSE IF hFenster:HIDDEN THEN LEAVE. ELSE.
  780. IF hFenster:LABEL = '/' THEN LEAVE.
  781. IF hFenster:LABEL = '-' THEN LEAVE.
  782. IF hFenster:LABEL = '.' THEN LEAVE.
  783. cSideLabel = ''.
  784. hSideLabel = hFenster:SIDE-LABEL-HANDLE NO-ERROR.
  785. IF VALID-HANDLE(hSideLabel) THEN DO:
  786. cType = hSideLabel:TYPE.
  787. IF LOOKUP(cType, cExclude, ',') = 0 THEN DO:
  788. cSideLabel = hSideLabel:LABEL.
  789. END.
  790. END.
  791. cFieldName = hFenster:NAME.
  792. cLabel = hFenster:LABEL.
  793. IF cLabel = ? THEN cLabel = cFieldName.
  794. CREATE tLabels.
  795. ASSIGN tLabels.cViewName = cProgramm
  796. tLabels.iabSprcd = ipiabSprcd
  797. tLabels.izuSprcd = ipizuSprcd
  798. tLabels.cFieldName = cFieldName
  799. tLabels.cLabel_1 = cLabel
  800. tLabels.cColumn_1 = cSideLabel.
  801. FIND FIRST tScreenGUI NO-LOCK
  802. WHERE tScreenGUI.Firma = ipcFirma
  803. AND tScreenGUI.ViewName = cProgramm
  804. AND tScreenGUI.FieldName = cFieldName
  805. AND tScreenGUI.Sprcd = ipiabSprcd
  806. NO-ERROR.
  807. IF NOT AVAILABLE tScreenGUI THEN DO:
  808. FIND FIRST bScreenGUI NO-LOCK USE-INDEX ScreenGUI-k2
  809. WHERE bScreenGUI.Firma = ipcFirma
  810. AND bScreenGUI.Sprcd = ipiabSprcd
  811. AND bScreenGUI.FieldName = cFieldName
  812. NO-ERROR.
  813. IF AVAILABLE bScreenGUI THEN DO:
  814. CREATE tScreenGUI.
  815. BUFFER-COPY bScreenGUI
  816. EXCEPT ViewName
  817. TO tScreenGUI
  818. ASSIGN tScreenGUI.ViewName = cProgramm
  819. tScreenGUI.Label_Text = cLabel
  820. tScreenGUI.Column_Text = cSideLabel.
  821. END.
  822. ELSE DO:
  823. CREATE tScreenGUI.
  824. ASSIGN tScreenGUI.Firma = ipcFirma
  825. tScreenGUI.ViewName = cProgramm
  826. tScreenGUI.FieldName = cFieldName
  827. tScreenGUI.Sprcd = ipiabSprcd
  828. tScreenGUI.Label_Text = cLabel
  829. tScreenGUI.Column_Text = cSideLabel.
  830. END.
  831. END.
  832. ASSIGN cLabel = tScreenGUI.Label_Text.
  833. tLabels.cLabel_1 = cLabel.
  834. FIND FIRST tScreenGUI NO-LOCK
  835. WHERE tScreenGUI.Firma = ipcFirma
  836. AND tScreenGUI.ViewName = cProgramm
  837. AND tScreenGUI.FieldName = cFieldName
  838. AND tScreenGUI.Sprcd = ipizuSprcd
  839. NO-ERROR.
  840. IF NOT AVAILABLE tScreenGUI THEN DO:
  841. FIND FIRST bScreenGUI NO-LOCK USE-INDEX ScreenGUI-k2
  842. WHERE bScreenGUI.Firma = ipcFirma
  843. AND bScreenGUI.Sprcd = ipizuSprcd
  844. AND bScreenGUI.FieldName = cFieldName
  845. NO-ERROR.
  846. IF AVAILABLE bScreenGUI THEN DO:
  847. CREATE tScreenGUI.
  848. BUFFER-COPY bScreenGUI
  849. EXCEPT ViewName
  850. TO tScreenGUI
  851. ASSIGN tScreenGUI.ViewName = cProgramm
  852. tScreenGUI.Label_Text = cLabel
  853. tScreenGUI.Column_Text = cSideLabel.
  854. END.
  855. ELSE DO:
  856. CREATE tScreenGUI.
  857. ASSIGN tScreenGUI.Firma = ipcFirma
  858. tScreenGUI.ViewName = cProgramm
  859. tScreenGUI.FieldName = cFieldName
  860. tScreenGUI.Sprcd = ipizuSprcd
  861. tScreenGUI.Label_Text = cLabel
  862. tScreenGUI.Column_Text = cSideLabel.
  863. END.
  864. END.
  865. ASSIGN cLabel = tScreenGUI.Label_Text
  866. cSideLabel = tScreenGUI.Column_Text
  867. tLabels.cLabel_2 = cLabel
  868. tLabels.cColumn_2 = cSideLabel.
  869. LEAVE.
  870. END.
  871. IF lBrowse THEN hFenster = hFenster:NEXT-COLUMN.
  872. ELSE hFenster = hFenster:NEXT-SIBLING.
  873. END.
  874. FOR EACH tLabels:
  875. FIND FIRST tScreenGUI NO-LOCK
  876. WHERE tScreenGUI.Firma = ipcFirma
  877. AND tScreenGUI.ViewName = cProgramm
  878. AND tScreenGUI.FieldName = tLabels.cFieldName
  879. AND tScreenGUI.Sprcd = ipiabSprcd
  880. NO-ERROR.
  881. IF NOT AVAILABLE tScreenGUI THEN DO:
  882. FIND FIRST bScreenGUI NO-LOCK USE-INDEX ScreenGUI-k2
  883. WHERE bScreenGUI.Firma = ipcFirma
  884. AND bScreenGUI.Sprcd = ipiabSprcd
  885. AND bScreenGUI.FieldName = tLabels.cFieldName
  886. NO-ERROR.
  887. IF AVAILABLE bScreenGUI THEN DO:
  888. CREATE tScreenGUI.
  889. BUFFER-COPY bScreenGUI
  890. EXCEPT ViewName
  891. TO tScreenGUI
  892. ASSIGN tScreenGUI.ViewName = cProgramm
  893. tScreenGUI.Label_Text = tLabels.cLabel_1
  894. tScreenGUI.Column_Text = tLabels.cColumn_1.
  895. END.
  896. ELSE DO:
  897. CREATE tScreenGUI.
  898. ASSIGN tScreenGUI.Firma = ipcFirma
  899. tScreenGUI.ViewName = cProgramm
  900. tScreenGUI.FieldName = tLabels.cFieldName
  901. tScreenGUI.Sprcd = ipiabSprcd
  902. tScreenGUI.Label_Text = tLabels.cLabel_1
  903. tScreenGUI.Column_Text = tLabels.cColumn_1.
  904. END.
  905. END.
  906. ASSIGN cLabel = tScreenGUI.Label_Text.
  907. tLabels.cLabel_1 = cLabel.
  908. FIND FIRST tScreenGUI NO-LOCK
  909. WHERE tScreenGUI.Firma = ipcFirma
  910. AND tScreenGUI.ViewName = cProgramm
  911. AND tScreenGUI.FieldName = tLabels.cFieldName
  912. AND tScreenGUI.Sprcd = ipizuSprcd
  913. NO-ERROR.
  914. IF NOT AVAILABLE tScreenGUI THEN DO:
  915. FIND FIRST bScreenGUI NO-LOCK USE-INDEX ScreenGUI-k2
  916. WHERE bScreenGUI.Firma = ipcFirma
  917. AND bScreenGUI.Sprcd = ipizuSprcd
  918. AND bScreenGUI.FieldName = tLabels.cFieldName
  919. NO-ERROR.
  920. IF AVAILABLE bScreenGUI THEN DO:
  921. CREATE tScreenGUI.
  922. BUFFER-COPY bScreenGUI
  923. EXCEPT ViewName
  924. TO tScreenGUI
  925. ASSIGN tScreenGUI.ViewName = cProgramm
  926. tScreenGUI.Label_Text = tLabels.cLabel_1
  927. tScreenGUI.Column_Text = tLabels.cColumn_1.
  928. END.
  929. ELSE DO:
  930. CREATE tScreenGUI.
  931. ASSIGN tScreenGUI.Firma = ipcFirma
  932. tScreenGUI.ViewName = cProgramm
  933. tScreenGUI.FieldName = tLabels.cFieldName
  934. tScreenGUI.Sprcd = ipizuSprcd
  935. tScreenGUI.Label_Text = tLabels.cLabel_1
  936. tScreenGUI.Column_Text = tLabels.cColumn_1.
  937. END.
  938. END.
  939. ASSIGN cLabel = tScreenGUI.Label_Text
  940. cSideLabel = tScreenGUI.Column_Text
  941. tLabels.cLabel_2 = cLabel
  942. tLabels.cColumn_2 = cSideLabel.
  943. END.
  944. END.
  945. hQuery:QUERY-OPEN().
  946. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  947. END.
  948. /* _UIB-CODE-BLOCK-END */
  949. &ANALYZE-RESUME
  950. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TRANSLATEFOLDER wTranslate
  951. PROCEDURE TRANSLATEFOLDER :
  952. /*------------------------------------------------------------------------------
  953. Purpose:
  954. Parameters: <none>
  955. Notes:
  956. ------------------------------------------------------------------------------*/
  957. DEF INPUT PARAMETER ipcFirma AS CHAR NO-UNDO.
  958. DEF INPUT PARAMETER ipcViewName AS CHAR NO-UNDO.
  959. DEF INPUT PARAMETER ipcLabels AS CHAR NO-UNDO.
  960. DEF INPUT PARAMETER ipiabSprcd AS INT NO-UNDO.
  961. DEF INPUT PARAMETER ipizuSprcd AS INT NO-UNDO.
  962. DEF VAR cFieldName AS CHAR NO-UNDO.
  963. DEF VAR cLabel AS CHAR NO-UNDO.
  964. DEF VAR cSideLabel AS CHAR NO-UNDO.
  965. DEF VAR ii AS INT NO-UNDO.
  966. DEF BUFFER bScreenGUI FOR ScreenGUI.
  967. EMPTY TEMP-TABLE tLabels.
  968. EMPTY TEMP-TABLE tScreenGUI.
  969. ASSIGN cFirma = ipcFirma
  970. iabSprcd = ipiabSprcd
  971. izuSprcd = ipizuSprcd.
  972. ASSIGN F_Titel = ''
  973. F_Titel_Trans = ''
  974. F_Label = ''
  975. F_Column = ''.
  976. DO WITH FRAME {&FRAME-NAME}:
  977. F_Titel :BGCOLOR = 12.
  978. F_Titel_Trans:BGCOLOR = 12.
  979. PAUSE 0.5 NO-MESSAGE.
  980. END.
  981. DO WITH FRAME {&FRAME-NAME}:
  982. DISPLAY F_Titel F_Titel_Trans F_Label F_Column.
  983. IF F_Titel = '' THEN ASSIGN F_Titel :READ-ONLY = TRUE
  984. F_Titel_Trans:READ-ONLY = TRUE.
  985. ELSE ASSIGN F_Titel :READ-ONLY = FALSE
  986. F_Titel_Trans:READ-ONLY = FALSE.
  987. F_Titel :BGCOLOR = 15.
  988. F_Titel_Trans:BGCOLOR = 15.
  989. END.
  990. FOR EACH ScreenGUI NO-LOCK
  991. WHERE ScreenGUI.Firma = ipcFirma
  992. AND ScreenGUI.Sprcd = ipiabSprcd
  993. AND ScreenGUI.ViewName = ipcViewName:
  994. CREATE tScreenGUI.
  995. BUFFER-COPY ScreenGUI TO tScreenGUI.
  996. END.
  997. IF ipizuSprcd <> ipiabSprcd THEN DO:
  998. FOR EACH ScreenGUI NO-LOCK
  999. WHERE ScreenGUI.Firma = ipcFirma
  1000. AND ScreenGUI.Sprcd = ipizuSprcd
  1001. AND ScreenGUI.ViewName = ipcViewName:
  1002. CREATE tScreenGUI.
  1003. BUFFER-COPY ScreenGUI TO tScreenGUI.
  1004. END.
  1005. END.
  1006. DO ii = 1 TO NUM-ENTRIES(ipcLabels, '|') :
  1007. cLabel = ENTRY(ii, ipcLabels, '|').
  1008. cFieldName = STRING(ii,'999999').
  1009. cSideLabel = ''.
  1010. CREATE tLabels.
  1011. ASSIGN tLabels.cViewName = ipcViewName
  1012. tLabels.iabSprcd = ipiabSprcd
  1013. tLabels.izuSprcd = ipizuSprcd
  1014. tLabels.cFieldName = cFieldName
  1015. tLabels.cLabel_1 = cLabel
  1016. tLabels.cColumn_1 = cSideLabel.
  1017. FIND FIRST tScreenGUI NO-LOCK
  1018. WHERE tScreenGUI.Firma = ipcFirma
  1019. AND tScreenGUI.ViewName = ipcViewName
  1020. AND tScreenGUI.FieldName = cFieldName
  1021. AND tScreenGUI.Sprcd = ipiabSprcd NO-ERROR.
  1022. IF NOT AVAILABLE tScreenGUI THEN DO:
  1023. CREATE tScreenGUI.
  1024. ASSIGN tScreenGUI.Firma = ipcFirma
  1025. tScreenGUI.ViewName = ipcViewName
  1026. tScreenGUI.FieldName = cFieldName
  1027. tScreenGUI.Sprcd = ipiabSprcd
  1028. tScreenGUI.Label_Text = cLabel
  1029. tScreenGUI.Column_Text = cSideLabel.
  1030. END.
  1031. ASSIGN cLabel = tScreenGUI.Label_Text.
  1032. tLabels.cLabel_1 = cLabel.
  1033. FIND FIRST tScreenGUI NO-LOCK
  1034. WHERE tScreenGUI.Firma = ipcFirma
  1035. AND tScreenGUI.ViewName = ipcViewName
  1036. AND tScreenGUI.FieldName = cFieldName
  1037. AND tScreenGUI.Sprcd = ipizuSprcd NO-ERROR.
  1038. IF NOT AVAILABLE tScreenGUI THEN DO:
  1039. CREATE tScreenGUI.
  1040. ASSIGN tScreenGUI.Firma = ipcFirma
  1041. tScreenGUI.ViewName = ipcViewName
  1042. tScreenGUI.FieldName = cFieldName
  1043. tScreenGUI.Sprcd = ipizuSprcd
  1044. tScreenGUI.Label_Text = cLabel
  1045. tScreenGUI.Column_Text = cSideLabel.
  1046. END.
  1047. ASSIGN cLabel = tScreenGUI.Label_Text
  1048. cSideLabel = tScreenGUI.Column_Text
  1049. tLabels.cLabel_2 = cLabel.
  1050. END.
  1051. hQuery:QUERY-OPEN().
  1052. APPLY 'ENTRY' TO BROWSE {&BROWSE-NAME}.
  1053. END PROCEDURE.
  1054. /* _UIB-CODE-BLOCK-END */
  1055. &ANALYZE-RESUME
  1056. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject wTranslate
  1057. PROCEDURE viewObject :
  1058. /*------------------------------------------------------------------------------
  1059. Purpose: Super Override
  1060. Parameters:
  1061. Notes:
  1062. ------------------------------------------------------------------------------*/
  1063. RUN SUPER.
  1064. RUN ENTRY_CURSOR.
  1065. END PROCEDURE.
  1066. /* _UIB-CODE-BLOCK-END */
  1067. &ANALYZE-RESUME
  1068. /* ************************ Function Implementations ***************** */
  1069. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getProgname wTranslate
  1070. FUNCTION getProgname RETURNS CHARACTER
  1071. ( /* parameter-definitions */ ) :
  1072. /*------------------------------------------------------------------------------
  1073. Purpose:
  1074. Notes:
  1075. ------------------------------------------------------------------------------*/
  1076. RETURN Progname.
  1077. END FUNCTION.
  1078. /* _UIB-CODE-BLOCK-END */
  1079. &ANALYZE-RESUME