OpenEdge Nerd Quiz 2023
 

Consultingwerk Blog

OpenEdge Nerd Quiz 2023

by Kristina Rümmler | Sep 25, 2023

During PUG Challenge, held from September 20 – September 22, 2023 in Egmond aan Zee, we have conducted the OpenEdge Nerd Quiz 2023.

We thank all participants in this year's OpenEdge Nerd Quiz and hope everyone had an enjoyable experience.

You all rose to the challenge and displayed exceptional knowledge. Now, let's proudly announce the winners

 

The prize for 1st place goes to Onno de Haan (VanMeijel) & Carl Verbiest (CCE)

The prize for 2nd place goes to Philippe Moriceau (UPM)

The prize for 3rd place goes to Peter Strachan (Loxam)

 

Congratulations to the winners, and we look forward to welcoming a large and enthusiastic participation again next year at PUG Challenge 2024 in Prague.

 

Certainly, you're all eager to know the answers to the quiz questions. We'll proceed to reveal the solutions to each of the questions now:

 

1. In Object-Oriented ABL, which keyword is used to create an instance of a class?

Answer: NEW

 

2. What is the purpose of an 'abstract class' in Object-Oriented ABL?

Answer: It cannot be instantiated and serves as a blueprint for other classes.

 

3. What is a 'static method' in Object-Oriented ABL?

Answer: A method that is not associated with any specific instance of a class.

 

4. What is the purpose of the 'super' keyword in Object-Oriented ABL?

Answer: It calls a method in the parent class.

 

5. How to define an alias for a buffer in a QUERY statement?

Answer: Define a buffer

 

6. In OpenEdge ABL, what is the purpose of the 'NO-UNDO' attribute?

Answer: It prevents the undo of variable changes within a transaction.

 

7. What was the code name for Progress version 7.4A which later became 8.0A?

Answer: Roadrunner

 

8. OpenEdge released a mobile UI builder for the 11.2 release. What was the internal code name for that project?

Answer: Project Star Trek

 

9. Which programming language heavily influenced the syntax and design of Progress 4GL?

Answer: Pascal & FORTRAN

 

10. Which company acquired Progress Software Corporation, the developer of Progress 4GL, in 2021?

Answer: None of the above

 

11. How to pass all arguments from an include to a nested include?

Answer: {*}

 

12. What’s the error message number of ** Customer record not on file?

Answer: ** Customer record not on file. (138)

 

13. What’s the number of buffers supported in a dynamic query?

Answer: 200

 

14. What’s the number for buffers supported in a REPOSITION-TO-ROWID statement?
Answer: 18

 

15. Which is the first 64 bit only OpenEdge release?

Answer: 32 bit is still supported

 

16. When using the DEFINED() function in an &IF … &THEN line, a check is typically made for <> 0. Different preprocessor defines have different values. For instance, &GLOBAL-DEFINE returns 1. What does the DEFINED statement return if a value was passes as an include parameter?

Answer: 1


17. Given the following code is on its own line: ERROR-STATUS:ERROR = FALSE NO-ERROR. The error status flag is indeed set to FALSE. Why?

Answer: A value of FALSE is assigned to the attribute value.

 

18. Which filetypes can make it into a Progress procedure library?

Answer: Any filetype

 

19. Which filetypes can the AVM read from a Progress procedure library?

Answer: Only .r

 

20. Can you deploy a OpenEdge application via NPM?

Answer: No

 

21. Which platforms can OpenEdge GUI for .NET run?

Answer: Windows (until 12.8)

 

22. In the previous question the correct answer was a) Windows (until 12.8). <br/> Why until 12.8?

Answer: Starting from 12.8 .Net Core on Linux can be used

 

23. How do you write output from OpenEdge to the console on a Linux system running _progres?

Answer: OUTPUT THROUGH cat –u

 

24. Which of these statements in ABL are always not case-sensitive?

Answer: OOABL property values

 

25. In PASOE, which statement is true about webhandlers in the 12.2 LTS release?

Answer: The URL pattern can contain regex

 

26. What is the maximum supported logging level on PASOE?

Answer: 5

 

27. Which statement is true about events and classes?

Answer: A procedure can subscribe to a structured event: eg oClassReference:Event:Subscribe(“internal-procedure”) .

 

28. Imagine a PASOE instance with 1 agent, how many requests can it process in parallel? The following property values are set <br/> psc.as.executor.maxthreads with a value of 300 <br/> maxConnectionsPerAgent in openedge.properties with a value of 200 <br/> maxRequests with a value of 128 <br/> maxABLSessionsPerAgent with a value of 300 <br/> What is the maximum number of concurrent requests that the instance can process?

Answer: 200

 

29. What is the advantage of Factory pattern Design?

Answer: Promotes loose-coupling

 

30. Lock modes are prioritized tokens in a queue that indicate what action is being taken in the transaction process. How many Lock modes are there?

Answer: 6 - NO-LOCK (NL), INTENT SHARE (IS), INTENT EXCLUSIVE (IX), SHARED (S), SHARED WITH INTENT EXCLUSIVE (SIX) and EXCLUSIVE (X)

 

31. What command-line utility can you use to create a PAS for an OpenEdge instance?

Answer: PASMAN

 

32. Can you add an index to an existing database table online?

Answer: Yes as inactive

 

33. What is the result of the following code and why? <br/> DEF TEMP-TABLE tCustomer NO-UNDO <br/> FIELD CustCode AS CHAR INIT 'A' <br/> INDEX iCustCode IS PRIMARY UNIQUE CustCode. <br/> <br/> CREATE tCustomer. <br/> ASSIGN tCustomer.CustCode = 'A'. <br/> <br/> MESSAGE <br/>     'CAN-FIND: ' CAN-FIND(FIRST tCustomer) <br/>     VIEW-AS ALERT-BOX INFO BUTTONS OK.

Answer: Can-find returns false as the Temp Table's index is only updated when the value of the indexed field actually changes in the storage

 

34. In Progress V6 what was the name of the block used for validating user input?

Answer: EDITING

 

Looking forward to seeing you next year in Prague at the PUG Challenge 2024!