113
1 Sumário 1. Comandos GeneXus ................................................................................................................................... 7 1.1. Assign Atributo .................................................................................................................................. 7 1.2. Assign Variável .................................................................................................................................. 7 1.3. Call ..................................................................................................................................................... 8 1.4. Change Page ....................................................................................................................................... 8 1.5. Commit ............................................................................................................................................... 8 1.6. Confirm .............................................................................................................................................. 9 1.7. Delete.................................................................................................................................................. 9 1.8. Do ‘Nome Subrotina’ ....................................................................................................................... 10 1.9. Do While .......................................................................................................................................... 10 1.10. Eject .............................................................................................................................................. 10 1.11. Error_Handler ............................................................................................................................... 10 1.12. Exit ............................................................................................................................................... 11 1.13. Footer............................................................................................................................................ 11 1.14. For Each ....................................................................................................................................... 11 CLÁUSULA ORDER .............................................................................................................................. 12 CLÁUSULA WHERE.............................................................................................................................. 12 CLÁUSULA DEFINED BY .................................................................................................................... 13 1.15. For Each Line ............................................................................................................................... 13 1.16. For Each Selected line .................................................................................................................. 13 1.17. Graph ............................................................................................................................................ 13 1.18. Header .......................................................................................................................................... 14 1.19. If ................................................................................................................................................... 15 1.20. Line Number................................................................................................................................. 15 1.21. Load .............................................................................................................................................. 15 1.22. Margin Botton .............................................................................................................................. 15 1.23. Margin Top ................................................................................................................................... 16 1.24. Message ........................................................................................................................................ 16 1.25. New Record .................................................................................................................................. 16 1.26. NoSkip .......................................................................................................................................... 17 1.27. Page Length .................................................................................................................................. 17 1.28. Print If Detail ................................................................................................................................ 17 1.29. PrinterCommand........................................................................................................................... 17 1.30. Refresh.......................................................................................................................................... 18 1.31. Return ........................................................................................................................................... 18 1.32. RollBack ....................................................................................................................................... 18 1.33. Submit .......................................................................................................................................... 18 1.34. Subroutine .................................................................................................................................... 19 1.35. Xfor Each ..................................................................................................................................... 19 1.36. Xfor First ...................................................................................................................................... 19 1.37. Xnew ............................................................................................................................................ 19 2. Regras dos Objetos GeneXus ................................................................................................................... 20 2.1. ACCEPT ........................................................................................................................................... 20 2.2. ADD ................................................................................................................................................. 21 2.3. ALLOWNULLS ............................................................................................................................... 21 2.4. <ASSIGN> ....................................................................................................................................... 21 2.5. CALL................................................................................................................................................ 21 2.6. COLOR ............................................................................................................................................ 22 2.7. DEFAULT ........................................................................................................................................ 22 2.8. DEFAULT MODE ........................................................................................................................... 23 2.9. EQUAL ............................................................................................................................................ 23 2.10. ERROR ......................................................................................................................................... 23 2.11. ERROR_HANDLER .................................................................................................................... 24

apostila Genexus

  • Upload
    fgezonis

  • View
    7.259

  • Download
    66

Embed Size (px)

Citation preview

Page 1: apostila Genexus

1

Sumário

1. Comandos GeneXus ................................................................................................................................... 7 1.1. Assign Atributo .................................................................................................................................. 7 1.2. Assign Variável .................................................................................................................................. 7 1.3. Call ..................................................................................................................................................... 8 1.4. Change Page ....................................................................................................................................... 8 1.5. Commit ............................................................................................................................................... 8 1.6. Confirm .............................................................................................................................................. 9 1.7. Delete .................................................................................................................................................. 9 1.8. Do ‘Nome Subrotina’ ....................................................................................................................... 10 1.9. Do While .......................................................................................................................................... 10 1.10. Eject .............................................................................................................................................. 10 1.11. Error_Handler ............................................................................................................................... 10 1.12. Exit ............................................................................................................................................... 11 1.13. Footer............................................................................................................................................ 11 1.14. For Each ....................................................................................................................................... 11

CLÁUSULA ORDER .............................................................................................................................. 12 CLÁUSULA WHERE.............................................................................................................................. 12 CLÁUSULA DEFINED BY .................................................................................................................... 13

1.15. For Each Line ............................................................................................................................... 13 1.16. For Each Selected line .................................................................................................................. 13 1.17. Graph ............................................................................................................................................ 13 1.18. Header .......................................................................................................................................... 14 1.19. If ................................................................................................................................................... 15 1.20. Line Number ................................................................................................................................. 15 1.21. Load .............................................................................................................................................. 15 1.22. Margin Botton .............................................................................................................................. 15 1.23. Margin Top ................................................................................................................................... 16 1.24. Message ........................................................................................................................................ 16 1.25. New Record .................................................................................................................................. 16 1.26. NoSkip .......................................................................................................................................... 17 1.27. Page Length .................................................................................................................................. 17 1.28. Print If Detail ................................................................................................................................ 17 1.29. PrinterCommand ........................................................................................................................... 17 1.30. Refresh .......................................................................................................................................... 18 1.31. Return ........................................................................................................................................... 18 1.32. RollBack ....................................................................................................................................... 18 1.33. Submit .......................................................................................................................................... 18 1.34. Subroutine .................................................................................................................................... 19 1.35. Xfor Each ..................................................................................................................................... 19 1.36. Xfor First ...................................................................................................................................... 19 1.37. Xnew ............................................................................................................................................ 19

2. Regras dos Objetos GeneXus ................................................................................................................... 20 2.1. ACCEPT ........................................................................................................................................... 20 2.2. ADD ................................................................................................................................................. 21 2.3. ALLOWNULLS ............................................................................................................................... 21 2.4. <ASSIGN> ....................................................................................................................................... 21 2.5. CALL................................................................................................................................................ 21 2.6. COLOR ............................................................................................................................................ 22 2.7. DEFAULT ........................................................................................................................................ 22 2.8. DEFAULT MODE ........................................................................................................................... 23 2.9. EQUAL ............................................................................................................................................ 23 2.10. ERROR ......................................................................................................................................... 23 2.11. ERROR_HANDLER .................................................................................................................... 24

Page 2: apostila Genexus

2

2.12. .............................................................................................................................................................. 24 2.13. HIDDEN ....................................................................................................................................... 24 2.14. MSG ............................................................................................................................................. 25 2.15. NOACCEPT ................................................................................................................................. 25 2.16. NOCHECK ................................................................................................................................... 25 2.17. NOCONFIRM .............................................................................................................................. 25 2.18. NOREAD ..................................................................................................................................... 26 2.19. NOPROMPT ................................................................................................................................ 26 2.20. ORDER ........................................................................................................................................ 26 2.21. PARM ........................................................................................................................................... 26 2.22. PRINTER ..................................................................................................................................... 27 2.23. PROMPT ...................................................................................................................................... 27 2.24. REFCALL .................................................................................................................................... 27 2.25. REFMSG ...................................................................................................................................... 27 2.26. SEARCH ...................................................................................................................................... 28 2.27. SERIAL ........................................................................................................................................ 28 2.28. SUBMIT ....................................................................................................................................... 28 2.29. SUBTRACT ................................................................................................................................. 28 2.30. WORKFILE_LINES .................................................................................................................... 29 2.31. XORDER ...................................................................................................................................... 29

3. Funções Disponíveis no GeneXus ............................................................................................................ 30 3.1. DAY ................................................................................................................................................. 30 3.2. MONTH ........................................................................................................................................... 30 3.3. YEAR ............................................................................................................................................... 31 3.4. TODAY ............................................................................................................................................ 31 3.5. NOW( ) ............................................................................................................................................. 31 3.6. HOUR, MINUTE, SECONDS ......................................................................................................... 31 3.7. DOW ................................................................................................................................................ 32 3.8. CDOW .............................................................................................................................................. 32 3.9. CMONTH ......................................................................................................................................... 32 3.10. CTOD ........................................................................................................................................... 32 3.11. CTOT............................................................................................................................................ 33 3.12. DTOC ........................................................................................................................................... 34 3.13. TTOC............................................................................................................................................ 34 3.14. YMDTOD .................................................................................................................................... 35 3.15. YmdHmstoT ................................................................................................................................. 35 3.16. ADDMTH .................................................................................................................................... 35 3.17. ADDYR ........................................................................................................................................ 36 3.18. AGE .............................................................................................................................................. 36 3.19. EOM ............................................................................................................................................. 36 3.20. TDIFF ........................................................................................................................................... 36 3.21. TADD ........................................................................................................................................... 37 3.22. ASK .............................................................................................................................................. 37 3.23. UDF .............................................................................................................................................. 37 3.24. UDP .............................................................................................................................................. 37 3.25. ROWS .......................................................................................................................................... 38 3.26. COLS ............................................................................................................................................ 38 3.27. TIME ............................................................................................................................................ 38 3.28. SYSTIME ..................................................................................................................................... 39 3.29. SYSDATE .................................................................................................................................... 39 3.30. USERCLS .................................................................................................................................... 39 3.31. USERID ........................................................................................................................................ 39 3.32. WRKST ........................................................................................................................................ 39 3.33. STR ............................................................................................................................................... 40 3.34. SUBSTR ....................................................................................................................................... 40 3.35. CONCAT ...................................................................................................................................... 40

Page 3: apostila Genexus

3

3.36. SPACE .......................................................................................................................................... 41 3.37. LEN .............................................................................................................................................. 41 3.38. TRIM ............................................................................................................................................ 41 3.39. LTRIM .......................................................................................................................................... 41 3.40. RTRIM ......................................................................................................................................... 42 3.41. UPPER .......................................................................................................................................... 42 3.42. LOWER ........................................................................................................................................ 42 3.43. INT ............................................................................................................................................... 42 3.44. ROUND ........................................................................................................................................ 43 3.45. TRUNC ........................................................................................................................................ 43 3.46. VAL .............................................................................................................................................. 43 3.47. COLOR ........................................................................................................................................ 43 3.48. RGB .............................................................................................................................................. 43 3.49. NULL ........................................................................................................................................... 44 3.50. NULLVALUE .............................................................................................................................. 44 3.51. LOADBITMAP ............................................................................................................................ 44 3.52. OLD .............................................................................................................................................. 45 3.53. PREVIOUS .................................................................................................................................. 45 3.54. AFTER ......................................................................................................................................... 45 3.55. LEVEL ......................................................................................................................................... 46 3.56. INSERT/UPDATE/DELETE ....................................................................................................... 46

4. Operadores Disponíveis no GeneXus ....................................................................................................... 47 5. Variáveis Internas do GeneXus ................................................................................................................ 48

5.1. TODAY ............................................................................................................................................ 48 5.2. TIME ................................................................................................................................................ 48 5.3. PAGE................................................................................................................................................ 48 5.4. LINE ................................................................................................................................................. 48 5.5. OUTPUT .......................................................................................................................................... 48 5.6. PGMDESC ....................................................................................................................................... 49 5.7. PGMNAME ...................................................................................................................................... 49 5.8. MODE .............................................................................................................................................. 49

6. Propriedades do GeneXus ........................................................................................................................ 50 6.1. VISIBLE ........................................................................................................................................... 50 6.2. TOLLTIP .......................................................................................................................................... 50 6.3. CAPTION ......................................................................................................................................... 51 6.4. ENABLE .......................................................................................................................................... 51 6.5. ACTIVEPAGE ................................................................................................................................. 51 6.6. PAGECOUNT .................................................................................................................................. 52 6.7. BACKCOLOR, FORECOLOR ........................................................................................................ 52 6.8. TOP, LEFT ....................................................................................................................................... 52 6.9. FILLSTYLE ..................................................................................................................................... 53 6.10. FILLCOLOR ................................................................................................................................ 53 6.11. DEFAULT .................................................................................................................................... 53 6.12. BITMAP ....................................................................................................................................... 54 6.13. BACKSTYLE............................................................................................................................... 54 6.14. FONTNAME ................................................................................................................................ 54 6.15. FONTITALIC, FONTUNDERLINE, FONTBOLD, FONTSTRIKETHRU ............................... 55 6.16. FONTSIZE ................................................................................................................................... 55 6.17. WIDTH, HEIGHT ........................................................................................................................ 55 6.18. TITLE ........................................................................................................................................... 56 6.19. WINDOWSTATE ........................................................................................................................ 56 6.20. LINESELECTOR ......................................................................................................................... 56 6.21. REDRAW ..................................................................................................................................... 57 6.22. TITLEFORECOLOR, TITLEBACKCOLOR .............................................................................. 57 6.23. TAG .............................................................................................................................................. 57 6.24. BORDERSTYLE ......................................................................................................................... 58

Page 4: apostila Genexus

4

7. Eventos de Controle ................................................................................................................................. 58 7.1. DBCLICK ........................................................................................................................................ 58 7.2. CLICK .............................................................................................................................................. 58 7.3. ISVALID .......................................................................................................................................... 59 7.4. RIGHTBUTTON .............................................................................................................................. 59

8. Métodos .................................................................................................................................................... 60 8.1. SETFOCUS ...................................................................................................................................... 60 8.2. REPAINT ......................................................................................................................................... 60 8.3. CLEAR, ADDITEM ......................................................................................................................... 60 8.4. REMOVEITEM ............................................................................................................................... 61 8.5. LOAD ............................................................................................................................................... 61 8.6. SORT ................................................................................................................................................ 62 8.7. PRINTFORM ................................................................................................................................... 62 8.8. REFRESH ........................................................................................................................................ 62

9. Propriedades do Modelo Principal ........................................................................................................... 63 9.1. PREFERÊNCIAS ............................................................................................................................. 63

MAXIMUN NUMERIC LENGHT .......................................................................................................... 63 FUNCTIONS............................................................................................................................................ 64 TIME FORMAT ....................................................................................................................................... 64

9.2. GERADORES .................................................................................................................................. 65 9.3. MODEL FORMS ............................................................................................................................. 65 9.4. PROMPTS ........................................................................................................................................ 66

10. Propriedades das Transações ................................................................................................................ 67 10.1. TRANSACTION INTEGRITY – INTEGRIDADE TRANSACIONAL .................................. 67

COMMIT ON EXIT ................................................................................................................................. 67 CONFIRM TRANSACTION ................................................................................................................... 68

10.2. USER INTERFACE – INTERFACE COM USUÁRIO .............................................................. 69 CONFIRMATION ................................................................................................................................... 69 WINDOWS INTERFACE ....................................................................................................................... 69

• MenuBar ....................................................................................................................................... 69 • Border Style .................................................................................................................................. 69 • Maximize Button .......................................................................................................................... 70 • Minimize Button ........................................................................................................................... 70 • Form Icon ..................................................................................................................................... 70 • Control Box .................................................................................................................................. 70 • Modal Dialog ................................................................................................................................ 71

CHARACTER INTERFACE – INTERFACE DE CARACTERES ........................................................ 71 • Generate as a Popup Window ....................................................................................................... 71 • Automatic Border – Color ............................................................................................................ 72 • Automatic Border – Display Attribute.......................................................................................... 72 • Automatic Border – Characters .................................................................................................... 73

10.3. AS/400 SPECIFIC – ESPECIFICAÇÕES AS/400 ...................................................................... 73 COMMITMENT ...................................................................................................................................... 73 KEY ASSIGNMENT ............................................................................................................................... 74

• Exit Key ........................................................................................................................................ 74 • Prompt Key ................................................................................................................................... 74 • Refresh Key .................................................................................................................................. 74 • Insert Mode ................................................................................................................................... 74 • Previous Record ............................................................................................................................ 75 • Next Record .................................................................................................................................. 75 • Retrieve ........................................................................................................................................ 75 • Menu ............................................................................................................................................. 75 • Update Mode ................................................................................................................................ 76 • Cancel ........................................................................................................................................... 76 • Delete Mode ................................................................................................................................. 76

Page 5: apostila Genexus

5

• Select ............................................................................................................................................ 76 • First Record .................................................................................................................................. 77 • Display Mode ............................................................................................................................... 77 • More Keys .................................................................................................................................... 77

11. Propriedades das Work Panels ............................................................................................................. 78 11.1. LOADING .................................................................................................................................... 78

LOAD RECORDS ................................................................................................................................... 78 LOAD AT STARTUP .............................................................................................................................. 78 ALLOW USER TO CANCEL WHILE LOADING ................................................................................ 79 AUTOMATIC REFRESH ........................................................................................................................ 79 REFRESH TIMEOUT (Foxpro for Windows e Visual Basic) ................................................................. 79

11.2. WINDOWS INTERFACE ........................................................................................................... 80 MENUBAR .............................................................................................................................................. 80 BORDER STYLE .................................................................................................................................... 80 MAXIMIZE BUTTON ............................................................................................................................ 80 MINIMIZE BUTTON .............................................................................................................................. 81 FORM ICON ............................................................................................................................................ 81 CONTROL BOX ...................................................................................................................................... 81 MODAL DIALOG ................................................................................................................................... 81

11.3. CHARACTER INTERFACE ....................................................................................................... 82 GENERATE AS A POPUP WINDOW ................................................................................................... 82 AUTOMATIC BORDER ......................................................................................................................... 83

• Automatic Border – Color ............................................................................................................ 83 • Automatic Border – Display Attribute.......................................................................................... 83 • Automatic Border – Characters .................................................................................................... 83

11.4. AS/400 SPECIFIC – ESPECIFICAÇÕES AS/400 ...................................................................... 84 KEY ASSIGNMENT ............................................................................................................................... 84

• Exit Key ........................................................................................................................................ 84 • Refresh Key .................................................................................................................................. 84 • Cancel ........................................................................................................................................... 85 • More keys ..................................................................................................................................... 85

12. Propriedades dos Relatórios ................................................................................................................. 86 12.1. OPTIONS ..................................................................................................................................... 86

REPORT OUTPUT .................................................................................................................................. 86 PROMPT FOR CONFIRMATION .......................................................................................................... 86 ALLOW USER TO CANCEL PROCESSING ........................................................................................ 86 FOOTER ON LAST PAGE ..................................................................................................................... 87

12.2. AS/400 SPECIFIC - ESPECIFICAÇÕES AS/400 ....................................................................... 87 KEY ASSIGNMENT ............................................................................................................................... 87

• Exit Key ........................................................................................................................................ 87 • Refresh Key .................................................................................................................................. 87 • Cancel ........................................................................................................................................... 87 • More keys ..................................................................................................................................... 88

13. Propriedades dos Procedimentos .......................................................................................................... 89 13.1. OPTIONS ..................................................................................................................................... 89

REPORT OUTPUT .................................................................................................................................. 89 PROMPT FOR CONFIRMATION .......................................................................................................... 89 ALLOW USER TO CANCEL PROCESSING ........................................................................................ 89 FOOTER ON LAST PAGE ..................................................................................................................... 90

13.2. TRANSACTION INTEGRITY – INTEGRIDADE TRANSACIONAL ..................................... 90 COMMIT ON EXIT ................................................................................................................................. 90

13.3. AS/400 SPECIFIC – ESPECIFICAÇÕES AS/400 ...................................................................... 92 COMMITMENT ...................................................................................................................................... 92 KEY ASSIGNMENT ............................................................................................................................... 92

• Exit Key ........................................................................................................................................ 92

Page 6: apostila Genexus

6

• Refresh Key .................................................................................................................................. 92 • Cancel ........................................................................................................................................... 92 • More keys ..................................................................................................................................... 93

14. Propriedades das Web Panels ............................................................................................................... 94 14.1. FOOTER ...................................................................................................................................... 94

FOOTER IMAGE .................................................................................................................................... 94 WEBMASTER’S MAIL ADDRESS ....................................................................................................... 94

15. Propriedades do Modelo – Visual Basic ............................................................................................... 95 15.1. GENERAL ................................................................................................................................... 95

VISUAL BASIC VERSION .................................................................................................................... 95 GRID VERSION ...................................................................................................................................... 95 TARGET SYSTEM INTERFACE ........................................................................................................... 95 GENERATE MDI APPLICATION ......................................................................................................... 96 ALLOW COLUMN RESIZING .............................................................................................................. 97 SKIP READ-ONLY COLUMNS ............................................................................................................. 97 CONFIRM ................................................................................................................................................ 97 AUTOSKIP .............................................................................................................................................. 98 LOCK TYPE ............................................................................................................................................ 98 PSEUDO CONVERSATIONAL DIALOG ............................................................................................. 99 LOCAL DATABASE FILE ................................................................................................................... 100 MAIL FUNCTIONS .............................................................................................................................. 100 GRAPHIC FUNCTIONS ....................................................................................................................... 100 EXCEL OLE FUNCTIONS ................................................................................................................... 101 COMMOM DIALOG FUNCTIONS ..................................................................................................... 101

15.2. RIGHT BUTTON ....................................................................................................................... 103 CALCULATOR ON SECUNDARY NUMERIC FIELDS ................................................................... 103 CALENDAR ON DATE FIELDS ......................................................................................................... 103

15.3. PRINTING ................................................................................................................................. 103 LAN PRINTER ...................................................................................................................................... 104 SHOW PRINTER DIALOG ON REPORTS ......................................................................................... 104 PRINT METHOD .................................................................................................................................. 105

15.4. FORMAT ................................................................................................................................... 105 FIELD EXIT........................................................................................................................................... 105 ESC KEY ACTION ............................................................................................................................... 106 DECIMAL SEPARATOR ...................................................................................................................... 106 DATE FORMAT .................................................................................................................................... 106 DATE FORMAT IN CTOD FUNCTION (VISUAL BASIC) ............................................................... 107 TIME FORMAT ..................................................................................................................................... 107 FIRST YEAR OF 20th CENTURY ........................................................................................................ 108

15.5. WEB INFORMATION .............................................................................................................. 108 PROTOCOL SPECIFICATION ............................................................................................................. 108

15.6. TYPE CHECKING .................................................................................................................... 109 CHECK TYPE ERRORS ....................................................................................................................... 109 FUNCTIONS.......................................................................................................................................... 112

15.7. KEY CONFIGURATION .......................................................................................................... 112 FIRST RECORD .................................................................................................................................... 112 LAST RECORD ..................................................................................................................................... 112 NEXT RECORD .................................................................................................................................... 112 PREVIOUS RECORD ........................................................................................................................... 112 REFRESH KEY ..................................................................................................................................... 112 PROMPT KEY ....................................................................................................................................... 112

15.8. ............................................................................................................................................................ 113 15.9. OTHER ....................................................................................................................................... 113

MAXIMUN WORKFILE LINES .......................................................................................................... 113

Page 7: apostila Genexus

7

1. Comandos GeneXus

1.1. Assign Atributo (Procedure) <Att> = <Exp> Associa o valor de uma expressão para um atributo (Este comando atualiza o banco de dados). A expressão associada a <Exp> pode ser: • um Atributo • uma Variável • uma Constante • uma Função • uma Expressão Aritmética (Data e tipo Numérico somente)

A atualização precisa ser feita dentro de um grupo FOR EACH – ENDFOR. Várias tabelas podem ser associadas a um grupo FOR EACH – ENDFOR, por exemplo: • Tabela Base • Tabelas que podem ser acessadas pela Tabela Base (Tabelas Estendidas).

Qualquer atributo dessas tabelas poderá ser atualizado.

1.2. Assign Variável (Transação, Procedure, Relatório, Work Panel) &<Var> = <Exp> Associa o valor de uma expressão para uma variável.

Algumas vezes é necessário definir cálculos locais dentro de um objeto. GENEXUS torna isso possível via VARIÁVEIS LOCAIS. Essas variáveis existem somente no ambiente do objeto correspondente e em nenhum outro lugar.

A expressão associada a <Exp> pode ser: • Um Atributo

Page 8: apostila Genexus

8

• Uma Variável • Uma Constante • Uma Função (permitido quando uma associação é utilizada) • Uma Expressão Aritmética (Data e tipo Numérico somente)

1.3. Call (Transação, Procedure, Relatório, Work Panel) CALL([‘]Pgmname[‘],[parm1,parm2,...] Este comando é usado para chamar uma rotina externa ou um objeto GENEXUS. Parâmetros podem ser atributos, variáveis ou valores constantes. Todos os parâmetros servem para entrada e saída, assim valores podem ser retornados em qualquer dos parâmetros. Se o programa que você estiver chamando já existir, não será necessário escrever o nome entre apóstrofos. GENEXUS irá checar se o programa realmente existe. O Nome do programa que será chamado pode ser uma variável ou um atributo.

1.4. Change Page (Procedure, Relatório) CP <nlines> Causa um salto de página quando faltarem menos linhas que <nlines> na página que está sendo impressa. Esse comando é equivalente a: EJECT if Pagelenght – Currentline for menor que <nlines>.

1.5. Commit (Procedure, Relatório, Work Panel) Commit Força um COMMIT quando incluído em um programa. GENEXUS irá ativar o controle de Commitment para todas as Procedures e Transações, se nenhum dos dois comandos NOCOMMITMENT ou NOENDTRN tiverem sido especificados, será gerado um COMMIT no final da execução da Procedure ou Transação.

Page 9: apostila Genexus

9

1.6. Confirm (Transação, Work Panel) Confirm(‘msg’ | &<Var> [,Y | N]) Mostra uma mensagem e aguarda até o usuário informar ‘Sim ou ‘Não. Mostra o texto/variável (‘msg’ /&<var>, respectivamente) em uma janela (ou linha de mensagem, dependendo do ambiente de trabalho) e aguarda uma resposta do usuário que pode ser ‘Sim’ ou ‘Não’. Em ambiente AS/400 os valores possíveis são F12=Cancel ou Reject e Enter=Accept ou Confirm. Para saber se o operador confirmou ou rejeitou a mensagem, a função CONFIRMED( ) é usada.

1.7. Delete (Procedure) Delete Exclui o registro da Tabela Base associado ao grupo onde o comando DELETE foi especificado. Regras:

• Um comando DELETE pode somente ser usado em um FOR EACH- ENDFOR.

• A Exclusão é executada exatamente no momento em que o comando DELETE é encontrado.

• A integridade referencial não é automaticamente checada quando o comando DELETE é especificado.

NOTA: • Se o comando DELETE é especificado em um grupo que contenha

grupos aninhados, os dados do grupo corrente podem ser usados dentro dos grupos aninhados, embora eles não serão fisicamente deletados.

• Recomendação: primeiro exclua os níveis internos antes dos externos. Isto evita qualquer possível cancelamento ou travamento do registro.

Page 10: apostila Genexus

10

1.8. Do ‘Nome Subrotina’ (Transação, Procedure, Relatório, Work Panel e Web Panels) DO ‘RoutineName’ Permite você chamar uma subrotina (definida usando o comando “Sub”). Não é permitida a passagem de parâmetros; TODAS as variáveis do mesmo programa também podem ser utilizados pela subrotina.

1.9. Do While (Transação, Procedure, Relatório, Work Panel e Web Panels) Do while <Cond> Enddo Serão executados todos os comandos entre o DO WHILE e o ENDDO enquanto a condição <Cond> for verdadeira. Para forçar a saída do grupo do DO WHILE pode ser usado o comando EXIT.

1.10. Eject (Procedure, Relatório) Eject Este comando força um salto de página no programa gerado, quando a saída selecionada está associada a impressora, ou limpa a tela quando a saída está associada a tela.

1.11. Error_Handler (Transação, Procedure, Relatório, Work Panel) Implementado para tratamento de erros para Client/Server. A regra/comando error_handler provê uma maneira dinâmica para executar ações específicas quando um erro no database é relatado em tempo de execução do programa. Quando usado como regra, a sintaxe é: Error_handler(‘subname’). Quando usado como comando, a sintaxe é: Error_handler([‘subname’]), onde, subname é o nome de uma subrotina.

Page 11: apostila Genexus

11

1.12. Exit (Transação, Procedure, Relatório, Work Panel) Exit O comando Exit permite abandonar um grupo For Each, Xfor Each ou Do While. O próximo comando a ser executado após um exit é o próximo comando após o comando EndFor, XendFor ou EndDo correspondente ao grupo que contém o comando Exit. NOTA: O comando Exit não é valido dentro de um FOR EACH LINE.

1.13. Footer (Procedure, Relatório) Footer End Define as linhas de rodapé a serem impressas no final de cada página. Os comandos entre a cláusula FOOTER e a cláusula END são executadas quando chega-se ao final da página. FOOTERS podem também ser definidos com um FOR EACH dentro, da mesma forma como HEADERS pode. Se existirem linhas de impressão entre o FOOTER e o END, elas irão ser impressas dentro da margem inferior (parâmetro MB). Se as linhas de FOOTER não couberem dentro da área da margem inferior a impressão irá continuar na próxima página.

1.14. For Each (Procedure, Relatório, Work Panel) For each [order <Att1> <Att2> ...] [Where <Condition> ] [Defined by <Att1> <Att2> ...] Endfor Define um grupo de atributos genéricos por operações, o comando For Each é usado para definir acesso ao Banco de Dados. Não existem referências explícitas para tabelas em um FOR EACH. Você somente precisa mencionar QUAIS os Atributos que você precisa, e o Genexus

Page 12: apostila Genexus

12

resolve o problema de COMO encontrá-los. A maneira COMO GENEXUS vai efetuar a navegação pode ser vista no relatório de Especificação. Para forçar uma saída de um grupo FOR EACH você pode usar o comando EXIT. Existem dois tipos de tabelas associadas a um grupo FOR EACH:

• Uma TABELA BASE. • Tabelas que podem ser alcançadas pela Tabela Base, conhecidas como

Tabelas Estendidas. Se existirem atributos que não façam parte da Tabela Base nem das Tabelas Estendidas irá aparecer uma mensagem de erro no relatório de

Especificação e o programa não será gerado.

CLÁUSULA ORDER

ORDER < Lista de Atributos > A ordem para acessar a Tabela Base de um for Each pode ser especificada por uma lista ordenada de atributos, informados logo após o comando FOR EACH. NOTA: A cláusula ordem é bastante usada para definir quebras (Break) em grupos For Each aninhados. Uma quebra é definida sempre que nós temos a mesma tabela base em dois grupos For Each, os atributos da Quebra estão definidos pelo conjunto de atributos especificados na cláusula Ordem.

CLÁUSULA WHERE

WHERE <Condição> A cláusula WHERE pode ser especificada para estabelecer uma condição para o grupo For Each – EndFor. Regras:

• Vários comandos WHERE podem ser especificados após um FOR EACH. Neste caso, as condições WHERE funcionarão como se elas estivessem separadas por um operador “.AND.”.

• Um comando WHERE pode, somente, ser especificado imediatamente após um FOR EACH ou após outro comando WHERE.

Page 13: apostila Genexus

13

CLÁUSULA DEFINED BY

DEFINED BY < Lista de Atributos > Este comando permite definir a Tabela Base de um grupo FOR EACH -

ENDFOR. Geralmente quando se está definido Procedures/Reports/Work Panels,

os atributos dentro do FOR EACH determinam a Tabela Base. Algumas vezes, os atributos dentro do grupo não determinam exatamente a Tabela Base (ex.: mais de uma tabela pode ser encontrada como Tabela Base). Assim é necessário declarar um grupo para determinar qual a Tabela Base que tem mais prioridade, informando uma Lista de Atributos na cláusula DEFINED BY.

1.15. For Each Line (Work Panel) For each line EndFor Força o processamento de todas as linhas (carregadas) no subfile em uma Work panel. Esse comando pode ser usado, por exemplo, para marcar todas as linhas que satisfaçam uma certa condição. FOR EACH LINE tem as seguintes restrições:

• Ele somente irá processar os registros que foram carregados no subfile. Se você quiser processar todos os registros do Subfile, a regra LOAD ALL precisa ser usada.

• Ele processa todas as linhas, tenham elas sido modificadas ou não.

1.16. For Each Selected line (Work Panel) For each select line EndFor Esse comando funciona de forma similar ao for each lline, porém somente serão consideradas as linhas marcadas (selecionadas).

1.17. Graph (Work Panel) graph([‘<GraphName>’,][<List>]);

Page 14: apostila Genexus

14

Permite gerar um gráfico a partir das informações contidas no Subfile. Isto pode somente ser utilizada por programas gerados para Foxpro for Windows ou Visual Basic. Quando gerado no Foxpro for Windows, o programa MS-GRAPH (Incluído no Foxpro for Windows) é executado sempre que esse comando for localizado. • conteúdo do subfile é usado como o dado para o gráfico e o usuário pode

escolher qual o tipo de gráfico que será usado. É possível alterar os valores, imprimir o gráfico e vê-lo em 3D, etc. Este comando irá armazenar todas as definições do gráfico (portanto o Graph Wizard não precisa ser usado todas as vezes).

Onde: • <GraphName> corresponde ao caminho e nome para o arquivo que

contém o gráfico. Se o arquivo correspondente ao gráfico não existir, o Graph

Wizard será chamado. Uma vez que o gráfico é definido você precisará salvá-lo com o mesmo nome usado em <GraphName>. Se você quiser modificar a definição do gráfico você precisa dar um duplo clique sobre a janela do gráfico.

• <List> é uma lista com os atributos e variáveis do Subfile que devem ser incluíds no gráfico. O eixo X pode receber qualquer type variável (caractere, data ou numérico) e todas as outras variáveis precisam ser numéricas (eixo Y).

1.18. Header (Procedure, Relatório) Header End Define o cabeçalho a ser impresso no topo de cada página. O primeiro grupo no Layout padrão das Procedures/Reports é o grupo HEADER. Os dados dentro desse grupo são impressos no início de cada página do relatório. Você pode também definir um cabeçalho para cada “FOR EACH” definido no Layout.

Page 15: apostila Genexus

15

1.19. If (Transação, Procedure, Relatório, Work Panel) If <Cond> [Else] Endif Executam um bloco de comando se a condição for avaliada como verdadeira.

1.20. Line Number (Procedure, Relatório) Lineno <Lineno> Especifica o número da linha onde o dado será impresso.

1.21. Load (Work Panel) Load Este comando força a carga de uma nova linha dentro do subfile. Ela é bastante usada quando o Work Panel não tem uma tabela Base, e consequentemente a carga precisa ser feita “na mão” ou quando precisamos fazer filtros com atributos de várias tabelas.

1.22. Margin Botton (Procedure, Relatório) MB <nlines> Configura o número de linhas em branco no final de uma página. Se margin Botton não for especificado, 6 linhas serão assumidas (<nlines> = 6).

Page 16: apostila Genexus

16

1.23. Margin Top (Procedure, Relatório) MT <nlines> Define o número de linhas em branco no topo da página.

1.24. Message (Transação, Procedure, Relatório, Work Panel) Msg(‘msg’ | &<var> [,nowait] [,status]) Usado para mostrar mensagens de aviso. Pode mostrar um literal ou uma variável contendo uma mensagem. Nowait: Armazena a mensagem em uma variável interna e continua o processamento. O usuário não irá ver mensagem até que o processamento do programa se encerre. Isto garante uma melhor performance com menos telas de I/O requeridas. Status: A mensagem é mostrada no momento em que é originada. Ela é usada principalmente para dar ao usuário informações sobre status de processamento. Nenhuma Opção Especificada: Exibe a mensagem e aguarda pelo pressionamento do <ENTER>.

1.25. New Record (Procedure) New [When Duplicate] EndNew O comando NEW insere um registro na Tabela Base determinada pelo atributo no grupo NEW-ENDNEW. Chaves duplicadas são checadas. Se a chave já existir, todos os comandos entre o WHEN DUPLICATE e o ENDNEW serão executados. Caso você deseje fazer alguma alteração nesse registro já existente, um grupo FOR EACH – ENDFOR precisa ser especificado dentro do WHEN DUPLICATE.

Page 17: apostila Genexus

17

1.26. NoSkip (Procedure, Relatório) NoSkip Inibe salto de linhas de impressão consecutivas. Este comando precisa ser colocado imediatamente após o print block.

1.27. Page Length (Procedure, Relatório) PL <nlines> Configura o tamanho da página para Reports/Procedures. O número de linhas que serão impressos é o número especificado por <nlines>, menos a margem inferior (valor default é 6).

1.28. Print If Detail (Procedure, Relatório) Print if Detail Evita a impressão do registro se não existirem registros no Subfile. Este comando precisa ser especificado sempre que você quiser inibir o processamento de um FOR EACH caso não haja registros de detalhe para ele. Ele pode ser colocado em qualquer lugar dentro de um grupo.

1.29. PrinterCommand (Procedure, Relatório) PrnCmd <\Onn | String> Manda seqüências de controle para a impressora. <\Onn | String> é um string caracter contendo caracteres ou um código ASCII de 3 dígitos precedido por uma “\” onde no mínimo um espaço separa o PRNCMD and <\Onn | String>. Os parâmetros dependem de cada impressora e podem ser encontrado no Manual da Impressora.

Page 18: apostila Genexus

18

1.30. Refresh (Work Panel) Refresh [Keep] Atualiza as informações mostradas no subfile. Opção KEEP: Este parâmetro indica que quando o comando Refresh for executado, o Subfile será posicionado sobre o registro que estava em foco anteriormente.

1.31. Return (Transação, Procedure, Relatório, Work Panel) Return Encerra o programa e retorna a execução ao programa que o chamou.

1.32. RollBack (Transação, Procedure, Relatório, Work Panel) RollBack O comando ROLLBACK invalida um conjunto de alterações do banco de dados em uma LWU (Logical work Unit). Considerações: O comando ROLLBACK é ignorado pelos ambientes que não usam Integridade Transacional.

1.33. Submit (Transação, Procedure, Relatório, Work Panel) SUBMIT(‘Usr-pgm’,’SubmitParms’[<Parm1> <Parm2> ...]) Processa certas tarefas da aplicação em modo batch. Os ambientes que não permitem a execução de tarefas batch (como o DOS) consideram o SUBMIT como se fosse um comando CALL e ignoram os parâmetros específicos do SUBMIT.

Page 19: apostila Genexus

19

1.34. Subroutine (Transação, Procedure, Relatório, Work Panel) Sub ‘RoutineName’ EndSub Permite que sejam definidas rotinas que serão disparadas quando um comando DO for executado. Todas as variáveis do mesmo programa fonte pode também ser usadas dentro da subrotina.

1.35. Xfor Each (Procedure, Relatório, Work Panel) Xfor each ‘<FileName>’ [INDEX ‘<Indexname>’] Where <Condition> Xendfor Define um loop interativo para um arquivo externo (File View), usando índice especificado (se existir) e filtra dados de acordo com a condição declarada na opção WHERE.

1.36. Xfor First (Procedure, Relatório, Work Panel) Xfor first ‘<FileName>’ [INDEX ‘<IndexName>’] Where <Condition> Xendfor Este comando é similar ao comando XFOR EACH, porém ele não fica em loop. Ele retorna o primeiro registro (se existir um registro) de um arquivo externo utilizando o índice especificado e filtrando dados de acordo com a condição declarada na opção WHERE.

1.37. Xnew (Procedure) Xnew ‘<FileName>’ Xendnew

Page 20: apostila Genexus

20

O comando XNEW insere um registro em um File View (arquivo externo).

2. Regras dos Objetos GeneXus

2.1. ACCEPT (Transações) Accept(&variável, Atributo); Esta Regra permite aceitação de uma Variável em Tela. A ordem da entrada do valor para a Variável em um Nível, dependerá da posição das Variáveis e dos Atributos na Tela.

Page 21: apostila Genexus

21

2.2. ADD (Transações) Add( Atributo1, Atributo2) if Condição; Esta regra adiciona o valor de Atributo1 ao Atributo2, se a Condição for avaliada como verdadeira. Esta Adição leva em conta as operações de Inserção, Atualização e Remoção. Exemplo: Add( Qtdcompra, Qtdestq); Se o atributo Qtdcompra for atualizado, o Atributo Qtdestq também o será, pelo valor diferencial da atualização.

2.3. ALLOWNULLS (Transações) Allownulls( Atrib1, Atrib2, ..., AtribN ) Esta regra é usada para permitir valores NULOS para atributos nos quais são feitos verificação da integridade referencial.

2.4. <ASSIGN> (Transações, Relatório/Procedimentos) Atributo | &Variável = Expressão IF Condição; Esta regra é usada para assinalar o valor de uma expressão a um dado atributo. Em contraste com Fórmulas, o valor é atribuído ao Atributo ou à variável somente quando a Transação estiver sendo processada.

2.5. CALL (Transações, Procedimentos, Relatórios, Work Panels) CALL(‘Prog_usuário’,Par1,...,Parn) IF Condição; Desvia a execução temporariamente para outro programa. O Prog_usuário, que pode ser: um nome de programa, atributo ou variável, será chamado sempre que a “Condição” for avaliada como Verdadeira. Exemplo:

Page 22: apostila Genexus

22

&Pgm = ‘WProg’ Call(&Pgm, &V1,&V2);

2.6. COLOR (Transações, Work Panels) Color( <gxcolor> ); //Permite a definição das cores default para tela. Color(<gxcolor>,[<attri>|<var>)(if <cond>]; //Define cores para atributos ou variáveis. Onde: <GxColor> = ‘ ‘ ‘<Displaycolor>[‘,<AcceptColor>]’ ‘ ‘ <DisplayColor> = <ColorPair> <AcceptColor> = <ColorPair> <ColorPair> = <ColorSet> [‘/’ <ColorSet>] <ColorSet> = <Color> [ <DsAttri> ] <Color> = ‘WHT’ | ‘BLK’ | ‘RED’ | ‘GRN’ | ‘BRW’ | ‘MGN’ ‘BLU’ | ‘CYN’ | ‘YLW’ | ‘RI’ | ‘X’ <DspAttri> = ‘+’ | ‘*’ Cada <ColorPair> define a cor de frente e a cor de fundo. Abreviaturas de Cores: ‘WHT’ = branco

‘BLK’ = preto ‘RED’ = vermelho ‘GRN’ = verde ‘BRW’ = marrom ‘MGN’ = magenta

‘BLU’ = azul ‘CYN’ = cinza ‘YLW’ = amarelo ‘RI’ = imagem reversa ‘X’ = escondido

Um asterisco (‘*’) em <DspAttri> representa um elemento BLINKING e um sinal mais (‘+’), em HIGHLIGHTS. Ex.: color(‘RED+’, Saldo) if saldo < 0; Color(‘WHT’, Saldo) if saldo > = 0;

2.7. DEFAULT (Transações, Procedimentos/Relatórios, Work Panels)

Page 23: apostila Genexus

23

Default( Atributo, xxx); Onde xxx pode ser: Atributo, Constante ou Função. Esta Regra assinala o valor de xxx ao Atributo no momento da Inserção, e permite que o usuário mude esse valor. Exemplo: Default(Peddat, today( ) ); Esta regra não é válida para um Atributo que faça parte de uma Chave.

2.8. DEFAULT MODE (Transações) Default_mode(Ação, Atributo); É usada para forçar um modo específico em um Nível de Transação. Ação: Pode ser uma das seguintes: INSERT, UPDATE ou DELETE. Atributo: É usado para indicar o Nível. Se não for especificado nenhum Atributo, será assumido o primeiro Nível.

2.9. EQUAL (Transações) Equal( Atributo, xxx); Onde xxx pode ser: Atributo, Constante ou Função. Esta Regra assinala o valor de xxx ao Atributo no momento da Inserção. Esse valor não pode ser mudado pelo usuário.

2.10. ERROR (Transações) Error(‘Texto de Mensagem’) IF Condiçaõ;

Page 24: apostila Genexus

24

Esta Regra faz com que a “string” definida em ‘Texto de Mensagem’ seja apresentada na Janela de Erro da Transação, se a condição for avaliada como verdade. Todo processamento subsequente, inclusive outras regras, não serão executadas. Portanto, se muitas regras estiverem associadas a uma única condição, a regra Error deverá ser a última, para que as outras possam ser executadas.

2.11. ERROR_HANDLER (Transação, Procedure, Relatório, Work Panel) Implementado para tratamento de erros para Client/Server. A regra/comando error_handler provê uma maneira dinâmica para executar ações específicas quando um erro no database é relatado em tempo de execução do programa. Quando usado como regra, a sintaxe é: Error_handler(‘subname’); Quando usado como comando, a sintaxe é: Error_handler([‘subname’]) Onde: Subname é o nome de uma subrotina.

2.12.

2.13. HIDDEN (Work Panels) Hidden(<Parm1>,<Parm2>,...,<Parmn>); Esta regra é usada para incluir atributos ou variáveis específicas no Subfile, que eventualmente não aparecem na tela. Ela é bastante utilizada quando precisa-se de um código no Subfile, mas não se quer que ele apareça na tela.

Page 25: apostila Genexus

25

2.14. MSG (Transações) Msg(‘Texto de Mensagem’) IF Condição; Esta regra é usada para enviar mensagens de aviso para o operador. A “string” definida em ‘Texto de Mensagem’ será apresentada na Janela de erro da Transação se a for avaliada como verdade.

2.15. NOACCEPT (Transações, Work Panels) Noaccept( Atributo | &Variável) IF Condição; GeneXus avalia quais Atributos são entrada de dados, e quais Atributos são saída de dados. Todavia, pode haver ocasiões em que não se deseja que o usuário introduza dados, dependendo de uma condição. Esta regra faz com que a Transação não aceite a digitação de dados para o Atributo ou variável associado.

2.16. NOCHECK (Transações) Nocheck( Atributo1, Atributo2, ..., Atributon); A regra Nocheck é usada para inibir a checagem de integridade referencial.

2.17. NOCONFIRM (Transações) Noconfirm(Atributo); A regra Noconfirm é usada para evitar a confirmação no Nível. Quando se passa de um Nível para o seguinte, uma mensagem é apresentada, pedindo a confirmação dos dados. Para se evitar o pedido de confirmação, usa-se esta regra. Atributo: É usado para indicar o nível. Se não for especificado nenhum atributo, será assumido o primeiro nível.

Page 26: apostila Genexus

26

2.18. NOREAD (Procedimentos/Relatórios, Work Panels) Noread(<Att1>,<Att2>,...,<Attn>); Essa regra permite inibir a leitura de uma tabela que é navegada e mostrada no diagrama de navegação quando especificado.

2.19. NOPROMPT (Transações) Noprompt( Atrib1, Atrib2, ..., AtribN) Atrib1, Atrib2, AtribN são identificadores da chave da tabela. Essa regra é usada para evitar o “Prompt” (‘Visualizar’) quando se entra com um valor para a Chave Estrangeira que não existe na Tabela.

2.20. ORDER (Work Panels) Order(<Att1>,<Att2>,...,<Attn>); Estabelece a ordem de leitura da tabela base da Work Panel. Se essa regra é omitida, a chave primária da tabela base será usada.

2.21. PARM (Transações, Procedimentos/Relatórios, Work Panels) Parm( Par1, Par2, ..., Parn); Recebe os programas enviados por outro programa. Obs.:

• Transações que possuem a regra PARM( ) não aparecem no Menu.

Page 27: apostila Genexus

27

• Quando um Objeto é chamado de outro programa, os parâmetros recebidos pela regra PARM( ) são considerados como uma regra Equal.

2.22. PRINTER (Procedimentos/Relatórios) Printer(‘<PrinterFile>’); Seleciona o arquivo de impressão a ser usado pelo AS/400 ou o nome da impressora, definido por uma variável de ambientes DOS, na geração Xbase.

2.23. PROMPT (Transações) Prompt(‘Programa’, Atrib1, Atrib2, ... , AtribN); Chama o programa definido, ao invés do programa default criado pelo GeneXus, quando seleciona-se ‘Visualizar’.

2.24. REFCALL (Transações) Reffcall(‘Nome_prog’, Atrib1, ... , AtribN); Esta regra é usada para chamar um Programa quando a integridade referencial tenta ser quebrada.

2.25. REFMSG (Transações) Refmsg(‘Texto’, Atrib1, ..., AtribN)

Page 28: apostila Genexus

28

Esta regra é usada para mudar as mensagens geradas por GeneXus quando verificando as Integridades Referenciais em tempo de Inserção ou Atualização. Exemplo: Refmsg(‘O CLIENTE NÃO ESTA CADASTRADO’, Clicod);

2.26. SEARCH (Work Panels) Search(<Cond>); Seleciona um posicionamento condicional para o subfile. A diferença dessa regra para uma condition é que ela não filtra os dados do subfile, ela somente posiciona o ponteiro.

2.27. SERIAL (Transações) Serial( Atributo1, Atributo2, Passo); Esta regra faz com que o Atributo1 seja incrementado para o valor contido em Atributo2 mais o valor do Passo, toda vez que um novo registro for adicionado à Tabela onde Atributo1 esteja. Se Atributo1 não faz parte do Identificador, o usuário deverá digitar um valor que não existe, para que Atributo1 assuma o modo INSERÇÃO, e receba o próximo valor serializado.

2.28. SUBMIT (Transações) SUBMIT(‘Usr-pgm’,’SubmitParms’[,<Parm1>,<Parm2>,...])[IF <Cond>]; Processa relatórios e procedimentos em modo batch, desde que esses não tenham interações com o usuário.

2.29. SUBTRACT (Transações) Subtract( Atributo1, Atributo2) if condição;

Page 29: apostila Genexus

29

Esta regra Subtrai o valor de Atributo1 do Atributo2, se a Condição for avaliada como verdadeira. Esta Subtração leva em conta as operações de Inserção, Atualização e Remoção. Exemplo: Subtract( Qtd, Qtdestq);

2.30. WORKFILE_LINES (Work Panels) Workfile_lines(<NoLines>); Estabelece o tamanho máximo para o subfile. Os Subfiles em um ambiente PC são carregadas em um arquivo temporário. O tamanho máximo para o subfile no AS/400 é de 9.999 linhas, contudo, não existem restrições quando PC ou LAN’s são usados. Esta liberdade pode causar problemas, por exemplo, se você está trabalhando com uma Work Panel ou Transação que carrega 300.000 registros da tabela base e o usuário vai para o fim do arquivo (Ctrl-End). Neste caso um arquivo temporário contendo 300.000 registros será gerado.

2.31. XORDER (Work Panels) Essa regra é utilizada em Work Panels que utilizam arquivos externos. Ela indica qual é o arquivo base do subfile, e qual índice será usado para carregá-lo (caso não seja indicado, a ordem física será usada).

Page 30: apostila Genexus

30

3. Funções Disponíveis no GeneXus

3.1. DAY (Transações, Procedimentos/Relatórios, Work Panels) Day(<Date>) Tipo retornado: N(2) Retorna o dia de uma data informada. Se <Date> for uma data nula, o valor 0 será retornado.

3.2. MONTH (Transações, Procedimentos/Relatórios, Work Panels) Month(<Date>) Tipo retornado: N(2) Retorna o número do mês de uma data informada. Um valor nulo (0) será retornado se a <Date> não for uma data nula.

Page 31: apostila Genexus

31

3.3. YEAR (Transações, Procedimentos/Relatórios, Work Panels) Year(<Date>) Tipo retornado: N(4) Retorna o ano de uma data informada. Se <Date> não for uma data válida, um valor nulo será retornado.

3.4. TODAY (Transações, Procedimentos/Relatórios, Work Panels) Today( ) Tipo retornado: Date Retorna a data do sistema operacional.

3.5. NOW( ) (Transações, Procedimentos, Relatórios, Work Panels, Web Panels) Now( ) Tipo retornado: Datetime Retorna a data e a hora corrente.

3.6. HOUR, MINUTE, SECONDS (Transações, Procedimentos, Relatórios, Work Panels, Web Panels) Hour( <Date Time> ) / Minute(<DateTime>) / Seconds(<Date Time>); Tipo retornado: Numérico Retorna um valor numérico representando as horas/minutos/segundos respectivamente, no formato da hora informado do datetime.

Page 32: apostila Genexus

32

3.7. DOW (Transações, Procedimentos/Relatórios, Work Panels) Dow(<Date>) Tipo retornado: N(1) Retorna um número entre 1 e 7. Este número está associado ao dia da semana (Domingo=1). Se a data contida em <Date> for nula, o valor retornado será 0.

3.8. CDOW (Transações, Procedimentos/Relatórios, Work Panels) Cdow(<Date>[‘<Language>’]) Tipo retornado: C(9) Retorna o nome do dia da semana de uma determinada data na linguagem selecionada. Espaços serão retornados se o valor de <Date> for inválido. <Language> deve ser uma das seguintes (caso não seja informada, será utilizada a linguagem selecionada no ‘Model Properties’): spa – Espanhol eng – Inglês por – Português ita - Italiano

3.9. CMONTH (Transações, Procedimentos/Relatórios, Work Panels) Cmonth(<Date>[ , ‘<Language>’]) Tipo retornado: C(9) Retorna o nome do mês da data informada na linguagem selecionada. Se nenhuma linguagem for selecionada, será utilizada a que estiver definida em ‘Model Properties’.

3.10. CTOD (Transações, Procedimentos/Relatórios, Work Panels) Ctod(‘nn/nn/yy’)

Page 33: apostila Genexus

33

Converte uma String em Data. A string de caracteres pode ser ‘mm/dd/yy’ ou ‘dd/mm/yy’ dependendo da linguagem corrente, onde: mm representa o mês com dois dígitos; dd representa o dia com 2 dígitos; yy representa a ano com 2 dígitos. Em ambiente Micro, o valor default depende da linguagem selecionada: Inglês ‘mm/dd/yy’ Português/Espanhol ‘dd/mm/yy’

3.11. CTOT (Transações, Procedimentos, Relatórios, Work Panels e Web Panels) CtoT(‘nn/nn/yy hh[:mm[:ss]][AM|PM]’) Tipo retornado: C(9) Converte uma String em DateTime. A primeira parte dos parâmetros representa a data e a segunda parte a hora. nn/nn/yy tem o formato M/D/A ou o especificado na preferência ‘Date format in CTOD function’. Se AM|PM é especificado, hh pode variar de 0-12. Caso contrário, irá variar entre 0-23. {00:00:00AM} é equivalente a {12:00:00AM}, Meia-noite {00:00:00PM} é equivalente a {12:00:00PM}, Meio-dia {00:00:00} a {11:59:59} é equivalente a {12:00:00AM} a {11:59:59AM} {12:00:00} a {23:59:59} é equivalente a {12:00:00PM} a {11:59:59PM} 24:00:00 não é uma hora válida.

Notas: • A data e a hora da string de parâmetros devem ser separados por

pelo menos um branco. • Se qualquer parte da string (data e hora) for omitido, é assumido

nulo. • Se qualquer parte da string não é válida, o DateTime resultante será

nulo. • Se não for especificdo nem AM nem PM, o formato 24-horas é

assumido.

Page 34: apostila Genexus

34

3.12. DTOC (Transações, Procedimentos/Relatórios, Work Panels) Dtoc(<Date>) Retorna a String associada a data especificada.

3.13. TTOC (Transações, Procedimentos, Relatórios, Work Panels e Web Panels) TtoC( <DateTime>[ ,M[ ,N]]) Tipo retornado: Caractere Retorna caractere associado ao DateTime, com o formato especificado por M e N. Os valores possíveis para M e N são os mesmos usados na definição do tipo DateTime. Valores possíveis para M:

0 Data não é pedida nem mostrada 8 Data é mostrada em 8 dígitos (99/99/99) 9 Data é mostrada em 10 dígitos (99/99/9999)

Valores possíveis para N: 2 Somente a parte das horas é mostrado no formato 24 horas

5 Hora e minuto são mostrados separados pelo símbolo separador de horas. O formato 24 horas é utilizado.

8 Hora completa é mostrada (incluindo segundos). O formato 24 horas é usado.

É possível também setar valor nulo (0) para N. Neste caso, somente a parte da data é obtido. Exemplos: TtoC( DT, 8, 0) TtoC( DT, 10, 0) TtoC( DT, 0, 0) NÃO é válido. Notas:

• No caso de M e/ou N serem omitidos, seus valores default são os parâmetros utilizados para definição do DateTime (primeiro parâmetro).

• No caso da combinação M/N não ser válida, os valores assumidos são: M=10 e N=8.

Page 35: apostila Genexus

35

• O formato da string retornada é o mesmo da função CtoT, ou seja, a data depende da preferência ‘Date format in CtoD function’ e a hora é sempre no formato 24 horas.

3.14. YMDTOD (Transações, Procedimentos/Relatórios, Work Panels) Ymdtod(<NExp1>,<NExp2>,<NExp3>) Retorna a data onde <NExp1> é o ano, <NExp2> é o mês e <NExp3> é o dia. <NExp1>, <NExp2> e <NExp3> devem ser expressões numéricas.

3.15. YmdHmstoT (Transações, Procedimentos, Relatórios, Work Panels e Web Panels) YmdHmstoT( <NExp1>, <NExp2>, <NExp3> [ , <NExp4> [ ,<NExp5> [ ,<NExp6>]]]) Tipo retornado: Date Time Retorna um Date Time associado a data e hora especificados no parâmetro. Parâmetros omitidos assumem o valor zero. Todos os parâmetros são expressões numéricas. NExp1 – representa o ano. Este valor não se ajusta ao que for indicado na preferência ‘First year of 20th century’.

NExp2 – representa o mês. NExp3 – representa o dia. NExp4 – representa a hora. Hora deve ser especificado no formato 24-

horas. NExp5 – representa os minutos. NExp6 – representa os segundos. Nota: Se somente um dos componentes (dat ou hora) é válido, somente

este será considerado. Por exemplo: YMDHMStoT(1990, 31, 2, 12, 10, 15) irá retornar um datetime válido com a parte da data nula. A hora será 12:10:15.

3.16. ADDMTH (Transações, Procedimentos/Relatórios, Work Panels) Addmth(<Date>,<NExpression>)

Page 36: apostila Genexus

36

Retorna a data referente a adição de <NExpression> meses para <Date>. Um valor nulo é retornado se <Date> for uma data inválida.

3.17. ADDYR (Transações, Procedimentos/Relatórios, Work Panels) Addyr(<Date>,<NExpression>) Retorna a data correspondente a <Date> mais <NExpression> anos.

3.18. AGE (Transações, Procedimentos/Relatórios, Work Panels) Age(<DExpression1>[ ,<DExpression2>]) Retorna a quantidade de anos entre <DExpression1> e <DExpression2>. Se <DExpression2> não for especificada, a função Today( ) é assumida.

3.19. EOM (Transações, Procedimentos/Relatórios, Work Panels) Eom(<Date>) Retorna o número do último dia correspondente ao mês referente a data informada.

3.20. TDIFF (Transações, Procedimentos, Relatórios, Work Panels e Web Panels) TDiff( <DateTimeExpr1>, <DateTimeExpr2>) Tipo retornado: Numérico. Retorna os segundos da diferença entre dois DateTime recebidos como parâmetros (DateTimeExpr1 – DateTimeExpr2) Se DateTimeExpr2 for maior que DateTimeExpr1, um valor negativo será retornado.

Page 37: apostila Genexus

37

3.21. TADD (Transações, Procedimentos, Relatórios, Work Panels e Web Panels) TAdd( <DateTimeExpr>, <SecondsExpr> ) Tipo retornado: DateTime Soma os segundos informados em <SecondsExpr>) ao datetime <DateTimeEspr>.

3.22. ASK (Transações, Procedimentos/Relatórios, Work Panels) Ask(‘msg text’) Pede ao usuário para que informe o valor de um Atributo ou variável antes de entrar no objeto. ‘msg text’ é a mensagem que será mostrada quando for solicitado o valor. Exemplo: &CliIni = ask(‘Cliente Inicial: ‘); &CliFin = ask(‘Cliente Final: ‘);

3.23. UDF (Transações, Procedimentos/Relatórios, Work Panels) Udf(‘Usr-Pgm’, Par1, .., Parn) Chama uma rotina que não usa tabelas e retorna um resultado. Programas que NÃO USAM TABELAS podem ser referenciados usando a função UDF. Quando você escreve o código para ‘UsrPgm’, deve incluir um parâmetro a mais no final da lista de parâmetros, que deverá conter o valor retornado para a função. Os outros parâmetros não poderão retornar nenhum valor. Exemplo: TotalPoints = UDF(‘PCalPts’, PilotNbr)

3.24. UDP (Transações, Procedimentos/Relatórios, Work Panels) Udp(‘Usr-pgm’, Paar1, ..., Parn)

Page 38: apostila Genexus

38

A função UDP chama um programa que pode USAR TABELAS e retorna um valor. Quando o código para o programa ‘UsrPgm’ for escrito, deverá ser incluído no final da lista de parâmetros, um parâmetro o qual conterá o valor que será retornado pela função. Note que a função UDP fecha as tabelas antes da chamada ser feita, e abre-as novamente após retornar. Se ‘Usr-Pgm’ não usa tabelas, a função UDF é recomendada para que ganhe performance.

3.25. ROWS (Procedimentos/Relatórios, Work Panels) Rows(&Array( )) Retorna o número de linhas definidas para um vetor.

3.26. COLS (Procedimentos/Relatórios, Work Panels) Cols(&Array( )) Retorna o número de colunas de um vetor bidimensional.

3.27. TIME (Transações, Procedimentos/Relatórios, Work Panels) Time( ) Retorna a hora no formato ‘hh:mm:ss’. No AS/400, esta função retorna a hora inicial do JOB. No ambiente Micro/LAN, retorna a HORA DO SISTEMA, assim Time( ) e SYSTIME( ) são equivalentes.

Page 39: apostila Genexus

39

3.28. SYSTIME (Transações, Procedimentos/Relatórios, Work Panels) Systime( ) Retorna a hora do sistema no formato ‘hh:mm:ss’.

3.29. SYSDATE (Transações, Procedimentos/Relatórios, Work Panels) Sysdate( ) Retorna a data do sistema.

3.30. USERCLS (Transações, Procedimentos/Relatórios, Work Panels) Usercls( ) Retorna a classe do Usuário definida no User Profile. Esta regra é válida somente no AS/400.

3.31. USERID (Transações, Procedimentos/Relatórios, Work Panels) Userid( ) No ambiente AS/400, esta função retorna a identificação do usuário definida no User Profile. No ambiente Micro/Lan esta função retorna o conteúdo da variável de ambiente do DOS chamada LOGNAME. Para habilitar o uso dessa função, essa variável deverá ser criada para todas as estações. Em um ambiente Client/Server esta função retorna a identificação do usuário conectado ao servidor.

3.32. WRKST (Transações, Procedimentos/Relatórios, Work Panels) Wrkst( )

Page 40: apostila Genexus

40

Retorna a identificação da Estação de Trabalho correspondente. Em ambiente Micro/Lan retorna o conteúdo da variável de ambiente do DOS, PSTATION. Para habilitar o uso dessa função, você precisa setar esta variável de ambiente.

3.33. STR (Transações, Procedimentos/Relatórios, Work Panels) Str(N1 [ ,N2 [ ,N3]]) Converte o valor da expressão numérica em <N1> para uma string caracter, alinhado pela direita, <N2> é o tamanho total de <N1> (incluindo o sinal e o ponto decimal), e <N3> é o número de decimais. Se você especificar menos decimais do que a expressão numérica <N1> possui, o valor será arredondado. Notas:

• Zeros não significativos serão truncados. • O valor Default para N2 = 10 • O valor Default para N3 = 0

3.34. SUBSTR (Transações, Procedimentos/Relatórios, Work Panels) Substr(S1,N1,N2) Retorna a substring de um dado informado. Retorna a substring de S1 começando na Posição N1, com um tamanho de N2 caracteres.

3.35. CONCAT (Transações, Procedimentos/Relatórios, Work Panels) Concat( S1, S2 [ ,S3]) Concatena duas strings incluindo um separador se informado.

Page 41: apostila Genexus

41

Retorna a string resultante da concatenação de S1 e S2 e o separador S3. Os brancos das strings S1 e S2 são truncados. Se S3 não for especificado, não serão inseridos separadores.

3.36. SPACE (Transações, Procedimentos/Relatórios, Work Panels) Space(<Att | Var | Const>) Retorna uma string caracter com a quantidade informada de espaços em branco. No AS/400, o atributo ou variável que recebe a função, será completamente preenchido com espaços, independente do valor informado para o argumento.

3.37. LEN (Transações, Procedimentos/Relatórios, Work Panels) Len(S1) Retorna o número de caracteres de uma expressão.

3.38. TRIM (Transações, Procedimentos/Relatórios, Work Panels) Trim(<Str>) Remove todos os brancos a esquerda e a direita da expressão caracter <Str> informada.

3.39. LTRIM (Transações, Procedimentos/Relatórios, Work Panels) LTrim (<Str>)

Page 42: apostila Genexus

42

Remove todos os brancos a esquerda da expressão caracter <Str>. Esta função é especialmente útil para remover os brancos que são inseridos quando você utiliza a função Str( ) para converter um valor numérico para uma string caracter.

3.40. RTRIM (Transações, Procedimentos/Relatórios, Work Panels) Rtrim(<Str>) Remove os brancos a direita de uma string caracter informada.

3.41. UPPER (Transações, Procedimentos/Relatórios, Work Panels) Upper(<Str>) Retorna a correspondente maiúscula da string <Str>. Cada letra minúscula (a - z) é convertida em letra maiúscula (A - Z) no resultado da função, todos os outros caracteres permanecem inalterados.

3.42. LOWER (Transações, Procedimentos/Relatórios, Work Panels) Lower( <Str>) Converte todas as letras maiúsculas (A – Z) da expressão caracter <Str> para letras minúsculas (a – z). Todos os outros caracteres da expressão permanecerão inalterados.

3.43. INT (Transações, Procedimentos/Relatórios, Work Panels) Int( <Exp>) Esta função retorna a parte inteira da expressão <Exp>.

Page 43: apostila Genexus

43

3.44. ROUND (Transações, Procedimentos/Relatórios, Work Panels) Round(<NExp1>,<NCte>) Arredonda o valor de <NExp1> para <NCte> casas decimais.

3.45. TRUNC (Transações, Procedimentos/Relatórios, Work Panels) Trunc(<NExp1>,<NCte>) Trunca o valor de <NExp1> para <NCte> decimais.

3.46. VAL (Transações, Procedimentos/Relatórios, Work Panels) Val(<CExpression>) Esta função converte um número de uma expressão caracter para um valor do tipo numérico. Ela processa os números em uma expressão caracter da esquerda para a direita até que um caracter não numérico é encontrado.

3.47. COLOR (Procedimentos/Relatórios, Work Panels) Color(<GXColor>); Color(<GXColor>,[<Att1>|&<Var>]) [IF <Cond>]; Permite o uso de cores para os atributos, variáveis e tela. (Idem a regra COLOR).

3.48. RGB (Procedimentos/Relatórios, Work Panels) RGB( <Red>,<Grn>,<Blu>)

Page 44: apostila Genexus

44

Retorna um número representando um valor de cor RGB, dados os 3 seguintes parâmetros:

• Red : Número na faixa de 0 até 255, inclusive, que representa o componente vermelho da cor.

• Green : Número na faixa de 0 até 255, inclusive, que representa o componente verde da cor.

• Blue : Número na faixa de 0 até 255, inclusive, que representa o componente azul da cor.

Um valor de cor RGB especifica a intensidade relativa de vermelho, verde e azul para gerar uma determinada cor.

3.49. NULL (Transações, Procedimentos/Relatórios, Work Panels) Null(<Att | Var>) Retorna um valor Boleano ‘true’ se o valor do atributo ou variável for nulo. O valor nulo para campos do tipo Numérico é zero, e para campos tipo Caracter e Data é uma string em branco.

3.50. NULLVALUE (Transações, Procedimentos/Relatórios, Work Panels) Nullvalue(<Att | Var>) Retorna um valor nulo do mesmo tipo da definição do Atributo/Variável.

3.51. LOADBITMAP (Transações, Procedimentos/Relatórios, Work Panels) LoadBitmap(< ’FileName’|Att|Var>) Incorpora Bitmaps no design do Form. A função LoaBitmap é usada para definir qual bitmap será associada a uma variável.

Page 45: apostila Genexus

45

3.52. OLD (Transações) Old(<Att>) Retorna o último valor armazenado de um dado atributo <Att>

3.53. PREVIOUS (Transações) Previous( ) Previous(<Att>) Retorna o valor de <Att> usado na última inserção da transação do programa corrente. O valor não é armazenado e ele é perdido assim que o usuário deixa a Transação. Se o atributo <Att> não for especificado, o atributo que está sendo assinalado é assumido.

3.54. AFTER (Transações) After(<Event>) Retorna Verdadeiro ou Falso dependendo de que estágio a transação se encontre. Retorna Verdadeiro se um evento especificado está acontecendo naquele momento na transação. Este evento pode ser disparado porque a execução de uma Transação passou por um certo Nível, um certo atributo foi informado, ocorreu uma Ação em uma Transação ou toda a transação foi finalizada. GeneXus automaticamente realiza onde e como uma regra precisa ser executada. Entretanto, o usuário pode forçar que o GeneXus execute uma determinada regra depois que um dos eventos seja mencionado. <Event> pode ser: Insert Update Delete Confirm

Page 46: apostila Genexus

46

Trn <Att> Level(<Att>) Nota: Quando for incluída a regra After em uma regra condicional, a regra será executada SOMENTE imediatamente após o evento After ocorrer e em nenhum outro lugar.

3.55. LEVEL (Transações) Level(<Att>) Retorna Verdadeiro se a execução da Transação está no Nível de um dado Atributo. GeneXus automaticamente realiza onde e quando uma regra precisa ser executada. Contudo o usuário pode forçar GeneXus a executar uma dada regra a um Nível especificado da transação.

3.56. INSERT/UPDATE/DELETE (Transações) Insert Update Delete Retorna Verdadeiro quando a transação está em modo de, respectivamente, Inserção/Alteração/Deleção, caso contrário retorna Falso.

Page 47: apostila Genexus

47

4. Operadores Disponíveis no GeneXus

• Operadores aritméticos ....................: +, -, *, /, ^ • Operadores lógicos .............................: .AND. .OR. .NOT. • Operadores relacionais ......................: (, ), =, <, >, <>, >=, <=, LIKE

Page 48: apostila Genexus

48

5. Variáveis Internas do GeneXus

5.1. TODAY (Transações, Procedimentos/Relatórios, Work Panels) Contém a data do sistema. Formato: DD/MM/AAAA

5.2. TIME (Transações, Procedimentos/Relatórios, Work Panels) Contém a hora do sistema. Formato: HH:MM:SS

5.3. PAGE (Procedimentos/Relatórios) Formato : N(4) Contém a página corrente do Relatório.

5.4. LINE (Procedimentos/Relatórios) A variável &Line contém a linha corrente do Relatório, ou Procedimento, no momento da execução. Nota: Tome cuidado para não alterar o valor de &Line, porque senão GeneXus perderá o controle de ejeção.

5.5. OUTPUT (Procedimentos/Relatórios) A variável de saída contém o código do dispositivo de saída corrente. Pode ser : ‘SRC’ ou ‘PRN’

Page 49: apostila Genexus

49

5.6. PGMDESC (Transações, Procedimentos, Relatórios, Work Panels E Web Panels) Esta variável contém a descrição do programa ativo. Esta descrição é a informada na opção Information. Tipo é Caracter(30).

5.7. PGMNAME (Transações, Procedimentos, Relatórios, Work Panels e Web Panels) Esta variável contém o nome do programa ativo. O nome é o especificado na opção Information. Tipo é caracter(30). Exemplo: call(‘Pprocess’, &Pgmname, Parm1, ...); Suponha que tenhamos a procedure (‘Pprocess’) que é chamado por vários programas. Esta procedure processa as informações conforme o programa chamador. Se é chamado por vários, nós podemos incluir o nome do programa na lista de parâmetros para identificar quem está chamando o procedimento.

5.8. MODE (Transações)

Formato : C(3) Permite determinar o modo válido pelo qual a Transação poderá

trabalhar. Valores válidos: ‘INS´ para inserir

‘ UPD’ para atualizar ´DEL´ para deletar Nota: O conteúdo de &Mode deve ser letras maiúsculas. Funciona somente se recebido como parâmetro. Apesar de não estar disponível na lista de variáveis do GeneXus, ao você defini-la, independente das características que informar, o formato acima sempre prevalecerá.

Page 50: apostila Genexus

50

6. Propriedades do GeneXus

Importante: estas propriedades somente são válidas para Visual Basic e Visual Foxpro, os demais geradores vão ignorá-las.

6.1. VISIBLE (Tipos de controle: Todos) Determina qual controle é visível ou escondido. Valores: 0: Falso -> o controle não será visível no form. 1: Verdadeiro -> o controle será visível no form. NOTA: Uma vez que o controle foi assinalado “invisível” (Controle.Visible=0) ele permanece dessa maneira até que você o torne visível novamente (Controle.Visible=1). Exemplo: bitmap.Visible = 0 if RoupaCat = 2; Bitmap.Visible = 1 if RoupaCat <>2; Para mostrar a foto da roupa dependendo da categoria, deveríamos fazer as regras acima.

6.2. TOLLTIP (Tipos de controle: Button, Edit, Check Box) Atribui um tip à um controle quando o mouse estiver posicionado sobre o mesmo. Uma string deve ser informada. Exemplo: Assinalando um tip ao botão cujo nome é TESTE. Event start Teste.tooltiptext=’ informações para teste’ EndEvent

Page 51: apostila Genexus

51

6.3. CAPTION (Tipos de controle: Button, Frame, Text, Radio Button) Forms: Determina o texto a ser mostrado como título na barra de títulos do form. Quando o form é minimizado, o texto é mostrado abaixo do ícone do Form. Outros controles: Determina o texto a ser mostrado no controle. Exemplo: Form.Caption = ´My Form – Update’ if update; Form.Caption = ´My Form – Delete’ if delete; Form.Caption = ´My Form – Insert’ if insert; Neste exemplo, o título do form muda dependendo do modo corrente (ins., del. ou alt.).

6.4. ENABLE (Tipos de controle: Button, Edit, Check Box, Radio Button, Combo Box, Subfile, Frame, Text)

Determina se o controle pode responder aos eventos de usuário. Valores: 1: (Verdadeiro) Permite o objeto responder aos eventos. 2: (Falso) Impede o objeto de responder aos eventos. Exemplos: 1) EvtBtn.Enabled = 0 if update;

Este botão é DESABILITADO se estiver em modo Update. 2) Att2.Enabled = 0 if .not. Null(Att1); Atributo Att2 não pode ser editado se atributo Att1 não for nulo.

3) subfile.Enabled = 0 if update; O subfile não pode ser acessado se estiver em modo Update (Dados no subfile não podem ser modificados).

6.5. ACTIVEPAGE (Tipos de controle: Tab) É usada para indicar qual é a página ativa de um tab control. Esta será “visível” para o usuário. Exemplo: MyTab.ActivePage = 1 // a primeira página é ativada

Page 52: apostila Genexus

52

MyTab.ActivePage = Mytab.Activepage + 1 // move para a próxima página.

NOTA: esta propriedade não é implementada no gerador Visual Basic 4.0

6.6. PAGECOUNT (Tipos de controle: Tab) É usada para obter o número de páginas de um tab control. É normalmente usada junto com a propriedade ActivePage. Exemplo: IF MyTab.ActivePage < MyTab.PageCount MyTab.ActivePage = MyTab.ActivePage + 1 ELSE Btn_Next.Caption = “Finish” ENDIF NOTA: esta propriedade não é implementada no gerador Visual Basic 4.0

6.7. BACKCOLOR, FORECOLOR (Tipos de controle: Todos) Determina as cores de fundo e frente respectivamente de um controle. Um valor numérico representando um ‘RGB color value’ deve ser assinalado. Exemplo: Para que a cor de fundo de um controle de edição seja verde, devemos fazer: EditCrtl.Backcolor = RGB(0,255,0) Exemplo: Para que a cor de frente de um controle de edição seja azul, devemos fazer: EditCrtl.Forecolor = RGB(0,0,255)

6.8. TOP, LEFT (Tipos de controle: Todos) Determina a distância interna (em pixels) entre o canto superior/esquerdo do controle e o canto superior/esquerdo de quem contém (Frame ou Screen). Exemplo: Form.Top = 500; Form.Left = 600;

Page 53: apostila Genexus

53

Neste exemplo o form do objeto será mostrado 500 pixels abaixo do topo da página e 600 pixels à esquerda na execução.

6.9. FILLSTYLE (Tipos de controle: Retângulo) Determina a ‘sombra’ utilizada para preenchimento do retângulo. Valores:

0 Solid 1 Transparente 2 Linha Horizontal 3 Linha Vertical 4 Upward Diagonal 5 Downward Diagonal 6 Cruzado 7 Cruzado em Diagonal

Exemplo: textframe.FillStyle = 2; Neste exemplo o retângulo cujo nome nome é “textframe” será exibido

assim:

6.10. FILLCOLOR (Tipos de controle: Retângulo) Determina a cor usada para preenchimento do retângulo. Um valor numérico representado um ‘RGB color value’ deve ser assinalado. O ‘Fill check box’ no diálogo de propriedades do controle retângulo também deve ser assinalado. Exemplo: textframe.FillColor = rgb(255,255,0);

6.11. DEFAULT (Tipos de controle: Botão)

TEXTO

Page 54: apostila Genexus

54

É utilizado para especificar qual é o botão de comando default. Valores: 0: Falso 1: Verdadeiro Somente um botão de comando no form pode ser default. Quando um botão de comando é setado como verdadeiro, automaticamente todos os demais botões no form serão setados como Falso.

6.12. BITMAP (Tipos de controle: Botão e Bitmap)

É usada para mostrar o bitmap assinalado no path. Exemplos: 1) EventBtn.Bitmap = loadbitmap(‘c:\mypath\mypict.bmp’) 2) &bmp = ‘c:\mypath\mypict.bmp’; EventBtn.Bitmap = loadbitmap(&bmp);

Nestes exemplo o bitmap gravado em c:\mypath\mypict.bmp será mostrado sobre o botão “EventBtn”.

6.13. BACKSTYLE (Tipos de controle: Texto) Determina se um rótulo ou fundo de um objeto é transparente ou opaco. Valores: 0: Transparente – cor de fundo e qualquer gráfico são visíveis atrás do controle. 1: Opaco (Default) – a cor de fundo do controle preenche o controle e oculta qualquer cor ou gráfico atrás dele.

6.14. FONTNAME (Tipos de controle: Button, Edit, Check box, Radio Button, Combo Box, Dynamic Combo Box, Subfile, Column) Determina a fonte usada para mostrar o texto num controle. Você deve assinalar uma expressão tipo string especificando o fontname a ser usado. Exemplo: EvtBtn.fontName = ‘Times New Roman’ Onde EvtBtn é o nome do controle de um botão.

Page 55: apostila Genexus

55

Em geral, você deve mudar FontName antes de setar o tamanho e estilo dos atributos com as propriedades FontSize, FontBold, FontItalic, FontStrikethru e FontUnderline.

6.15. FONTITALIC, FONTUNDERLINE, FONTBOLD, FONTSTRIKETHRU

(Tipos de controle: Button, Edit, Check Box, Radio Button, combo Box, Dynamic Combo Box, Subfile, Column) Determina o estilo da fonte nos seguintes formatos: FontItalic, FontUnderline, FontBold, FontStrikethru. Valores: 1: (Verdadeiro) Ativa a formatação no estilo escolhido. 2: (Falso) Desativa a formatação no estilo escolhido. Exemplo: subcol1.FontItalic = 1 (onde subcoll é o nome de uma coluna

do subfile)

6.16. FONTSIZE (Tipos de controle: Button, Edit, Check Box, Radio Button, Combo Box, Dynamic Combo Box, Subfile, Column) Determina o tamanho da fonte a ser usado para mostrar o texto no controle. Exemplo: EvtBtn.fontSize = 20 Onde EvtBtn é o nome de um controle botão e 20 é o tamanho utilizado para a font default (ou para a fonte setada na propriedade FontName).

6.17. WIDTH, HEIGHT (Tipos de controle: Button, Edit, Check Box, Radio Button, Combo Box, Dynamic Combo Box, Subfile, Frame, Text) Determina a largura e altura respectivamente do controle. Um valor numérico deve ser assinalado. NOTA: A unidade de escala para medir largura e altura em Visual Basic é TWIPS (aproximadamente 1/15 pixel) que é a unidade padrão do VB.

Page 56: apostila Genexus

56

Em versões futuras deste gerador, a unidade de escala será pixels. A unidade de escala para medir largura e altura em Visual FoxPro é pixels. Exemplo: foto.Width = 200 (foto é um controle tipo bitmap) Foto.Height = 200 A dimensão deste controle tipo bitmap será 200 x 200 unidades.

6.18. TITLE (Tipos de controle: Column) Determina o título das colunas do subfile em tempo de execução. Uma string de caracteres deve ser informada. Exemplo: subfcol1.Title = ‘Descrição’;

6.19. WINDOWSTATE (Tipos de controle: Frame) Determina o estado visual de um form em tempo de execução. Valores: 0: Normal. 1: Minimizado (diminui para um ícone). 2: Maximizado (aumenta para o estado máximo). Exemplo: Form.WindowState = 2; Neste exemplo o form será maximizado (embora o usuário possa manualmente mudar o tamanho do form durante a execução)

6.20. LINESELECTOR (Tipos de controle: Subfile) Esta propriedade indica se o subfile possui a borda esquerda. Valores: 0: Falso. O subfile NÃO terá a borda esquerda. 1: Verdadeiro. O subfile terá a borda esquerda.

Page 57: apostila Genexus

57

6.21. REDRAW (Tipos de controle: Subfile) Esta propriedade indica se o subfile será redesenhado. Valores: 1: Verdadeiro. O subfile será redesenhado. 2: Falso. O subfile não será redesenhado. Exemplo: subfile.Redraw = 0; subfale.FontName = ‘Small Fonts’; subfcol1.Title = ‘Name’; subfcol2.Title = ‘Address’; subfcol2.FontItalic = 1; subfile.Redraw = 1; Neste exemplo, todas as alterações no subfile são executadas antes (nome das colunas, fontes, etc) e então o subfile é redesenhado. Isto é feito somente para melhorar performance.

6.22. TITLEFORECOLOR, TITLEBACKCOLOR (Tipos de controle: Column) Determina a cor de frente e de fundo respectivamente, do título de uma coluna do subfile. Um valor numérico representando uma ‘RGB color value’ deve ser informado. Exemplo: subfcol1.TitleForeColor = rgb(0 ,255 ,0 ); Isto mudará a cor de frente do título da coluna para verde. Exemplo: subfcol1.TitleBackColor = rgb(0 ,255 ,0); Isto mudará a cor de fundo do título da coluna para verde.

6.23. TAG (Tipos de controle: Todos)

Esta propriedade é usada para assinalar uma string de identificação ao controle (sem afetar nenhuma das outras propriedades setadas). Esta propriedade é muito útil quando você precisa checar a identificação do controle. Uma string de caracteres deve ser informada.

Page 58: apostila Genexus

58

Exemplo: CrtlName.tag = “associated text”

6.24. BORDERSTYLE (Tipos de controle: Subfile) Determina o estilo de borda de um subfile. Valores: 0: None (Sem borda) 1: Fixed Single (borda simples e sem alteração de tamanho). 2: Sizable (Este é o valor default). 3: Fixed Double (Borda 3D e sem alteração de tamanho). Exemplo: subfile.BorderStyle = 0; Neste exemplo o subfile não terá borda.

7. Eventos de Controle

7.1. DBCLICK (Tipos de controle: Bitmap, Text, Edit) Ocorre quando o usuário pressiona o botão esquerdo do mouse duas vezes sobre um mesmo controle. Para um Form, o evento DblClick ocorre quando o usuário dá um duplo clique sobre um controle desabilitado ou uma área em branco do Form. Para um controle, isto ocorre quando o usuário dá um duplo clique sobre um controle com o botão esquerdo do mouse. Exemplo: Event foto.DblClick Call(wShowcli, CliCode) Endevent Neste exemplo quando o usuário clicar duplamente sobre o bitmap que contém a foto do cliente, uma Work panel, que mostra as informações do cliente, é chamada.

7.2. CLICK (Tipos de controle: Bitmap, Column, Text, Radio Button, Check Box, Dynamic Combo Box, Combo Box, Edit)

Page 59: apostila Genexus

59

Ocorre quando o usuário clica o botão esquerdo do mouse sobre o controle. Exemplo: Event text.Click Msg(‘Explained text: .............’) Endevent Neste exemplo uma mensagem será exibida quando o usuário clicar sobre o controle tipo texto chamado “text”.

7.3. ISVALID (Tipos de controle: Radio Button, Check Box, Dynamic Combo Box, Combo Box, Edit) Ocorre quando a entrada do campo é válida. Exemplo: Event CliCode.IsValid Call(TclientInfo,CliCode) EndEvent Neste exemplo quando o usuário informar o código do cliente, outra transação para digitar as informações da cliente é chamada se o código do cliente digitado for válido.

7.4. RIGHTBUTTON (Tipos de controle: Edit) Ocorre quando o botão da direita do mouse é pressionado sobre o controle. Exemplo: Event CliCode.RightButton Msg(‘Enter client code, value range: 1-100’) Endevent Neste exemplo o botão direito é usado para mostrar um texto explicativo.

Page 60: apostila Genexus

60

8. Métodos

Importante: MÉTODOS somente funcionam em Visual Basic e Visual Foxpro, os demais geradores irão ignorá-los, com exceção do Método SetFocus que foi implementado em todos os geradores.

8.1. SETFOCUS (Tipos de controle: Edit, Check Box, Radio Button, Combo Box, Dynamic Combo Box, Button, Subfile, Frame) Direciona a entrada de dados a um controle específico. Exemplo: Event ‘GetClient’ Call( PgetCli, CliCode, CliName) SupCod.Setfocus() EndEvent Suponha que tenhamos um botão no Form que chama um procedimento para obter o nome do cliente indicado no código e nós queremos direcionar a entrada de dados (posicionar o cursor) no atributo SupCode depois do call. Isto pode ser feito usando o método setfocus com o atributo SupCode dentro do evento associado ao botão, como mostrado acima.

8.2. REPAINT (Tipos de controle: Edit, Check Box, Radio Button, Combo Box, Dynamic Combo Box, Text, Retângulo) Este método muda as propriedades do controle. Exemplo: Este método é usado para ‘repintar’ o controle se qualquer das suas propriedades foi modificada, por exemplo cor, fonte, tamanho, etc, e você quer mostrar as mudanças. PoNbr.FontBold = 1 PoNbr.Repaint( )

8.3. CLEAR, ADDITEM (Tipos de controle: Combo Box e Dynamic Combo Box)

Page 61: apostila Genexus

61

Clear: Apaga todos os itens de um Combo Box ou Dynamic Combo Box. AddItem: Adiciona um novo ítem no fim de um Combo Box ou Dynamic Combo Box. Sintaxe: controle.additem(código, descrição[ ,índice])

‘índice é opcional e representa a posição onde o item é inserido. Se nenhum índice é especificado o ítem é adicionado no fim.

Exemplo: Vamos apagar o conteúdo de um Combo Box antes de adicionar novos itens da tabela e carregá-lo com todos os países do continente Americano, o primeiro item será ‘All’ . &Var.clear( ) &Var.additem(0, ‘All’) for each Where continentCod = ‘AME’ &Var.additem(CountryCod,CountryName) EndFor

8.4. REMOVEITEM (Tipos de controle: Combo Box e Dynamic Combo Box) Apaga o item, cujo código é indicado pelo ‘código’, de um combo Box ou Dynamic Combo Box. Sintaxe: control.removeitem(code) Remove o primeiro ‘code’ que for encontrado.

8.5. LOAD (Tipos de controle: Subfile) Carrega uma nova linha ao subfile de Work Panels e Web Panels. Este método é o mesmo que o comando Load. Deve ser utilizado dentro do evento Load como no exemplo: Event Load For each InvCode &InvCode = InvCode &InvDat = InvDate &Type = “INV”

Page 62: apostila Genexus

62

..... sfl_1.Load( ) Endfor EndEvent Este método é muito útil quando você tem mais de um subfile no form (esta feature será liberada em versões futuras). Neste caso você especifica para qual subfile a linha deve ser carregada. sfl_1.Load( ) or sfl_2.Load( )

8.6. SORT (Tipos de controle: Subfile) Ordena o subfile pelo atributo especificado. Exemplo: sfl_1.Sort(PrdName) Onde: PrdName é um atributo do subfile. O subfile será ordenado então por PrdName, sem a criação de um índice temporário, se não existir nenhum índice ordenado pelo atributo escolhido (esta é a diferença entre o método SORT e a regra ORDER)

8.7. PRINTFORM (Tipos de controle: Frame) Imprime a janela da Work Panel ou transação na impressora default. Exemplo: Event ‘Print’ Form.printform( ) EndEvent Este evento pode ser associado a um botão e imprime a janela corrente. NOTA: Este método não está implementado em Visual Foxpro.

8.8. REFRESH (Tipos de controle: Frame e Subfile) Atualiza os valores no subfile ou form.

Page 63: apostila Genexus

63

Este método é muito útil se você tem mais de um subfile no form (esta feature será liberada em versões futuras). Neste caso você pode especificar qual subfile você quer realizar o refresh: Sfl_1.Refresh( ) or sfl_2.Refresh( ) Também pode ser utilizado para atualizar valores de qualquer atributo.

9. Propriedades do Modelo Principal

9.1. PREFERÊNCIAS

Estas preferências são definidas para a Base de Conhecimento, em outras palavras, são válidas para todos os modelos. Modo de uso: Posicione o cursor sobre a propriedade que você deseja editar, e selecione a opção desejada no Combo Box no topo da tela. No canto superior esquerdo do editor de propriedades, há 3 botões usados para salvar ou cancelar as modificações e assinalar o valor default. NOTA: Sempre use o botão para assinalar o valor default, não tecle o caractere ‘*’.

MAXIMUN NUMERIC LENGHT

Por default, GeneXus controla a maioria das suas limitações, tornando o trabalho em diferentes plataformas viável à partir de uma única definição, mas é possível mudar estes controles. Esta preferência é usada para especificar o tamanho máximo de um campo numérico. Valores: O valor default desta preferência é 18, mas pode ser alterado para qualquer valor entre 4 e 30. NOTA:

• Valores maiores que 18 somente são suportados pelo gerador RPG.

Page 64: apostila Genexus

64

• Atributos e variáveis não são verificados quando este valor é modificado para um valor menor que 18, assim, é recomendável verificar se o novo valor é correto.

FUNCTIONS

Esta preferência é usada quando você deseja utilizar funções que não

são explicitamente suportadas pelo GeneXus. Esta preferência somente é válida quando os objetos são salvados. (Essa preferência nos modelos de prototipação e produção será validada na especificação). Assim, você poderá salvar um objeto que utilize uma função não standard se esta preferência no modelo de design estiver setada como “Allow standard functions only”. Valores:

• Allows standard functions only on saving: (Permite somente funções standard) Somente funções standard suportadas pelo GeneXus podem ser utilizadas.

• Allows non-standard functionsnon saving: (Permite funções não-standard) Funções são documentadas pelo GeneXus podem ser utilizadas.

Valor default: Allows standard functions only on saving.

TIME FORMAT

Controla o formato no qual a parte das horas dos atributos tipo Date Time são pedidos e mostrados (tanto na tela quanto na impressão). Também controla o tamanho dos atributos/variáveis do tipo Date Time. Esta preferência é definida na Base de Conhecimento (design) mas, cada modelo pode ter um valor diferente para a mesma. Valores:

• Language dependent: depende da linguagem selecionada de acordo com a tabela seguinte:

Linguagem Formato da Hora Inglês 12 horas Espanhol 24 horas Português 24 horas

Page 65: apostila Genexus

65

Italiano 24 horas • Valor default: depende da linguagem. NOTA: Se o uso do formato 12 Horas é especificado ou inferido, de

acordo com a linguagem selecionada, os campos terão 3 caracteres a mais (tela ou impressora) correspondendo às strings ‘AM’ ou ‘PM’.

9.2. GERADORES

Neste diálogo você pode definir todos os tipos de geradores que você usará nos modelos para gerar seus programas.

Escolha o botão New Type para adicionar um tipo novo, você deve definir um nome para o novo tipo de gerador. Todos os tipos de geradores definidos aqui irão aparecer na lista de geradores possíveis (Generators Tab) em cada modelo da Base de Conhecimento. Então em cada modelo você assinalará um gerador em particular (ex.: Visual Basic, RPG, etc.).

Há 2 tipos de geradores pré-definidos: Default (usado como default na geração dos programas) e Reorg (usado para reorganização das base de dados) cujos nomes não podem ser mudados.

Tecle o botão Delete Type para apagar o tipo de gerador selecionado. Se o tipo de gerador selecionado estiver sendo usado em qualquer modelo você não será capaz de apagá-lo (uma mensagem de erro será mostrada).

9.3. MODEL FORMS

Você pode definir mais de uma tela para projetos que utilizem forms (Transação/Work Panels). Na especificação você pode escolher um dos forms definidos, dependendo do modelo. Cada modelo tem uma lista de Form Classes válidas.

A lista do lado esquerdo inclui todas as forms classes existentes na Base de Conhecimento, com os botões de Add e Remove você pode selecionar quais forms irá utilizar no modelo corrente.

Há duas forms classes pré-definidas: G – Gráfica e T – Texto. Estas não podem ser apagadas ou renomeadas. A lista do lado direito é específica para cada modelo.

Page 66: apostila Genexus

66

9.4. PROMPTS

Aqui você pode setar as opções de prompts para o modelo principal (Design), as opções especificadas aqui podem ser utilizadas nos outros modelos. Se você selecionar botão Default Settings, nenhum efeito especial será usado. Selecionando o botão Design Model Settings, você poderá especificar um efeito par aos prompts no modelo corrente.

• Button Prompt: O atributo aparecerá com uma seta para cima ao lado do mesmo.

• Colored Prompt: O atributo aparecerá com uma cor diferente. Se você escolher esta opção, a cor especificada aqui terá preferência sobre qualquer cor especificada para este atributo em qualquer form.

Outros Modelos

Você pode setar a opção de prompt. Aqui você indicará como os atributos para os quais GeneXus gera prompts, deverão aparecer nos Forms. A opção especificada aqui somente terá validade para os atributos definidos como EDIT. Se você selecionar Design Model Settings, o que foi setado no modelo de design será utilizado no modelo corrente.

• Button Prompt: O atributo aparecerá com uma seta para cima ao lado do mesmo.

• Colored Prompt: O atributo aparecerá com uma cor diferente. Se você escolher esta opção, a cor especificada aqui terá preferência sobre qualquer cor especificada para este atributo em qualquer form.

Page 67: apostila Genexus

67

10. Propriedades das Transações

10.1. TRANSACTION INTEGRITY – INTEGRIDADE TRANSACIONAL

COMMIT ON EXIT

Programas gerados pelo GeneXus executam commits no fim de cada transação (referenciando-se ao conceito database transaction, não ao objeto GeneXus). Este commit automático é incluído em todos os programas que atualizam base de dados. Não é incluído em Reports, Work Panels, Web Panels e procedimentos que não atualizam base de dados. Esta propriedade é usada para controlar ou não se o commmit automático é realizado. Esta propriedade faz sentido em Transações e Procedures que alteram a bse de dados e são chamados por outros programas. Neste caso, o programa chamador (ou programa chamador do chamador) é responsável pelo commit ou rollback da LW (Logical Work Unit). Valores:

• YES – o programa gerado executa um commit no fim da LWU. • NO – o programa gerado não executa um commit no fim da LWU. O valor default depende do gerador selecionado.

Exemplo: Você pode encontrar a situação de ter que dividir uma transação em duas. Um exemplo típico é descrito no exemplo que segue. Muitos dados devem ser digitados na Transação de cadastramento de funcionário, assim necessitamos dividir a mesma em duas: dados do empregado e dados da função. Para ter as duas transações funcionando em conjunto, nós colocamos no final da primeira transação, um CALL para a segunda TRN. TRN: Funcionário TRN: Função ................................ ............................... ................................ ............................... CALL Tfunção ............................... ................................ ................................ Commit

Page 68: apostila Genexus

68

Commit on Exit = YES Commit on Exit = NO O que mostra o exemplo acima é que uma vez dado entrada nos dados na primeira transação, nós iremos imediatamente dar entrada nos dados da segunda TRN. Mas nós queremos unificar as duas TRNs para que formem uma única LWU (Unidade Lógica de Trabalho), para fazer isso é necessário: • A primeira transação deve ter uma CALL chamando a segunda, antes que o

commit seja executado. • Remover o COMMIT da segunda TRN usando a propriedade – Commit on

Exit = NO – para que o COMMMIT da primeira TRN faça o COMMMIT em ambas como um todo após o retorno do CALL.

NOTA: - É válido somente em transações que não tenham a propriedade do

AS/400 – Commitment = Disabled – neste caso a propriedade será ignorada.

- Também será ignorada se o controle da integridade transacional for desabilitada nas propriedades do modelo – Transactional Integrity = NO. Esta propriedade somente aparecerá se o gerador que você estiver usando permitir este tipo de controle. (Foxpro for Windows não mostrará esta opção).

CONFIRM TRANSACTION

Força a confirmação da transação permitindo COMMIT ou ROLLBACK. Valores:

• YES – Força uma confirmação a nível de LWU (Unidade Lógica de Trabalho) ou transação. Neste caso, o usuário pode confirmar (COMMIT) ou não (ROLLBACK) as alterações feitas na base de dados durante a LWU.

• NO – Nenhuma confirmação da LWU é pedida e automaticamente é executado o comando COMMIT.

O valor default depende do gerador. NOTA:

• É válido somente em transações que não possuam nem a propriedade “Commit on Exit = YES” nem “Commitment = Disabled”. No caso de qualquer uma delas existir, a propriedade “Confirm Transactions = YES” será ignorada.

Page 69: apostila Genexus

69

• Também será ignorada se o controle da integridade transacional for desabilitado nas propriedades do modelo – “Transactional Integrity = NO”.

10.2. USER INTERFACE – INTERFACE COM USUÁRIO

CONFIRMATION

Indica se o usuário deseja ou não que a confirmação seja pedida ao passar de um nível para outro. Ao passar de um nível para o próximo, uma mensagem é mostrada e o usuário deve confirmar a entrada de dados. Valores:

• Always prompt: mostrará uma mensagem e pedirá confirmação das alterações em todos os níveis.

• Never prompt: nenhuma confirmação é pedida em nenhum nível da transação.

• Do not prompt on first level: pedirá confirmação em todos os níveis da transação, com exceção do primeiro nível.

O valor default depende do gerador selecionado. NOTA: A regra Noconfirm(<Atributo>) permite a você indicar um nível

específico que não deve ser pedido confirmação.

WINDOWS INTERFACE

• MenuBar

Esta propriedade é usada para associar um menubar a um objeto. Em outras palavras, o objeto usará o menubar indicado nesta propriedade. O Combo mostrará todos os menubars existentes.

Se um objeto não tiver um menubar associado, então um menubar default será utilizado.

Esta propriedade é válida somente para Transações e Work Panels.

• Border Style

Esta propriedade especifica o tipo da borda do form. Válida somente para os geradores: Visual Basic e Visual Foxpro.

Page 70: apostila Genexus

70

Valores: - Sizeable: este é o tipo normal de borda, que é: 3D e você pode mudar

o tamanho da janela com o mouse. - None: a janela não terá borda nem título. - Fixed Single: a janela terá borda simples e seu tamanho não poderá

ser mudado. - Fixed Dialog: a janela terá borda 3D e seu tamanho não poderá ser

mudado. O valor default é Sizeable.

• Maximize Button

Especifica se o form deve ter um botão de maximização. Válido somente para geradores: Visual Basic e Visual Foxpro.

Valores: - YES: o form terá botão de maximização - NO: o form não terá botão de maximização O valor default é YES.

• Minimize Button

Especifica se o form deve ter um botão de minimização. Válido somente para geradores: Visual Basic e Visual Foxpro.

Valores: - YES: o form terá botão de minimização - NO: o form não terá botão de minimização O valor default é YES.

• Form Icon

Esta propriedade é utilizada para especificar um nome para o ícone do form. Válido somente para geradores: Visual Basic e Visual Foxpro. Valores: Não possui nenhum valor pré-definido, você deve informar o nome do ícone.

• Control Box

Esta propriedade é usada para especificar se o menu no canto superior esquerdo da janela será ativado com um click do mouse.

Page 71: apostila Genexus

71

Valores: - YES: o menu será ativado com um click do mouse. - NO: o menu não será ativado com um click do mouse. O valor default é YES.

• Modal Dialog

Esta propriedade é usada para indicar se o objeto utiliza diálogo Modal ou não. Diálogo Modal significa que o programa chamador ficará inativo até que o objeto chamado seja fechado. Ao contrário, o diálogo Não-Modal ambos os objetos ficam ativos ao mesmo tempo, quer dizer, você pode trabalhar com ambos simultaneamente. Diálogo Não-Modal é sempre melhor que diálogo modal, mas nem sempre é possível utilizá-lo. Em particular, quando são passados parâmetros e o objeto chamado retorna valores ao objeto chamador, então o diálogo Modal deve ser usado. Os prompts são um exemplo típico desse tipo de diálogo, onde a transação espera valores retornados pelo prompt. Valores:

- YES, if parameters specified: Se o objeto tem parâmetros então o diálogo Modal será usado, se não houver parâmetros então o diálogo Não-modal será usado.

- YES: Diálogo Modal é utilizado. - NO: Diálogo Não-Modal é utilizado. O valor default é: YES, if parameters specified.

CHARACTER INTERFACE – INTERFACE DE CARACTERES

• Generate as a Popup Window

Esta propriedade é usada para indicar que o form deve ser carregado como uma janela de Poupup (sobrepor a janela anterior ao invés de substituí-la). Neste caso, parte das duas janelas podem ser vistas simultaneamente. Valores:

- NO: A janela é mostrada totalmente como poup-up. - YES, automatic border: O form será gerado como janela popup e a

borda será desenhada de forma automática.

Page 72: apostila Genexus

72

- YES, user defined border: O form será gerado como janela popup e a borda pode ser desenhada pelo usuário no form. Este valor só é válido para geradores de interface gráfica.

O valor default depende do gerador selecionado. NOTA: Quando a tela é definida como popup, há algumas limitações de

linhas e colunas que devem ser respeitados. Se a tela desenhada ultrapassa esses limites, uma mensagem é dada dentro do relatório de navegação na especificação.

IMPORTANTE: Esta propriedade não é válida para geração em ambiente windows.

• Automatic Border – Color

Esta propriedade é usada para controlar a cor da borda da janela dos objetos definidos como janelas popup no AS/400.

Valores: - Default to color rule: Segue a cor da regra color se a mesma existir.

Caso contrário, VERDE é utilizado. - Verde - Branco - Vermelho - Amarelo - Azul - Cinza, esta é a cor no GeneXus. No AS/400 é convertido para

Turquesa. - Magenta, esta é a cor no GeneXus. No AS/400 é convertido para Pink

(rosa). O valor default é: Default to color rule.

• Automatic Border – Display Attribute

Esta propriedade é usada para definir como deve ser mostrado o atributo dos objetos definidos como janelas popup no AS/400.

Valores: - Default to color rule: Segue a cor da regra color se a mesma existir. - Reverse Image: Imagem reversa - High: Mostrar mais forte (negrito) - Blinking: Piscando - No display: Não mostrar. O default é: Default to color rule.

Page 73: apostila Genexus

73

• Automatic Border – Characters

Esta propriedade é usada para definir os caracteres a serem usados para cada um dos cantos e lados da janela do objeto definido como janela popup no AS/400. Deve ter exatamente 8 caracteres. Cada caracter é usado para desenhar (em ordem):

Caracter Desenha 1 topo-esquerdo-canto 2 topo-borda 3 toopo-direito-canto 4 esquerda-borda 5 direita-borda 6 Botão-esquerdo-canto 7 Botão-borda 8 Bptão-dirieito-canto Estes caracteres são enviados diretamente à palavra chave

WDWBORDER da DDS language para telas. Para obter informações adicionais sobre esta palavra chave, procure no manual de referência da DDS. Não há valor default para esta preferência. Isto é, se nenhum valor for especificado na preferência, os atributos de tela dependerão dos valores default do AS/400. NOTA: Não use o caracter ‘ (apóstrofo) nesta propriedade.

10.3. AS/400 SPECIFIC – ESPECIFICAÇÕES AS/400

COMMITMENT

Habilita e desabilita o controle da integridade transacional nos

programas gerados. Valores: - Enabled: O programa é gerado COM os controles de integridade

transacional. - Disabled: O programa é gerado SEM os controles de integridade

transacional. O valor default depende do gerador selecionado.

Page 74: apostila Genexus

74

NOTA: Esta opção é ignorada para Client Server (geradores DB/2 e Oracle). Esses DBMs não permitem a desativação da integridade transacional.

KEY ASSIGNMENT

• Exit Key

Esta propriedade é usada para alterar a chave de função relacionada ao Exit. Valores: Qualquer número de chave de função válida. O valor default é 3.

• Prompt Key

Esta propriedade é usada para alterar a chave de função relacionada ao Prompt. Esta propriedade aplica-se somente ao objeto. Esta função pode inclusive ser desabilitada assinalando-se à mesma o valor ‘0’. Se for desabilitada, o programa não responde às prompts key e os programas de prompt não serão gerados.

Valores: Qualquer número de chave de função válida. O valor default é 4. NOTA: Apesar de aceitar 1 como valor válido, o gerador ignora-o.

• Refresh Key

Esta propriedade é usada para alterar a chave de função relacionada ao Refresh.

Valores: Qualquer número de chave de função válida. O valor default é 5.

• Insert Mode

Esta propriedade é usada para alterar a chave de função relacionada ao Insert Mode. Esta propriedade aplica-se somente ao objeto. Esta função pode inclusive ser desabilitada assinalando-se à mesma o valor default ‘0’, neste caso, não será possível alterar para Modo de Inserção na transação. O código para inserção de registros é gerado.

Page 75: apostila Genexus

75

Valores: Qualquer número de chave de função válida. O valor default é 6.

• Previous Record

Esta propriedade é usada para alterar a chave de função relacionada ao Previous Record. Esta propriedade aplica-se somente ao objeto. Esta função pode inclusive ser desabilitada assinalando-se à mesma o valor default ‘0’, neste caso, não será possível mover-se ao registro anterior e o código correspondente não é gerado.

Valores: Qualquer número de chave de função válida. O valor default é 7.

• Next Record

Esta propriedade é usada para alterar a chave de função relacionada ao Next Record. Esta propriedade aplica-se somente ao objeto. Esta função pode inclusive ser desabilitada assinalando-se à mesma o valor default ‘0’, neste caso, não será possível mover-se ao próximo registro e o código correspondente não é gerado.

Valores: Qualquer número de chave de função válida. O valor default é 8.

• Retrieve

Esta propriedade é usada para alterar a chave de função relacionada ao Retrieve. Esta propriedade aplica-se somente ao objeto. Retrieve não pode ser desabilitada porque aplica-se somente em Menus.

Valores: Qualquer número de chave de função válida. O valor default é 9.

• Menu

Esta propriedade é usada para alterar a chave de função relacionada ao acesso ao Menu Bar. Esta propriedade aplica-se somente ao objeto. Esta função pode inclusive ser desabilitada assinalando-se à mesma o valor default ‘0’, neste caso, não será possível acessar o menu bar e o código correspondente não é gerado.

Valores: Qualquer número de chave de função válida.

Page 76: apostila Genexus

76

O valor default é 10.

• Update Mode

Esta propriedade é usada para alterar a chave de função relacionada ao Modo de Update. Esta propriedade aplica-se somente ao objeto. Esta função pode inclusive ser desabilitada assinalando-se à mesma o valor default ‘O’, neste caso, não será possível alterar para Update na transação e o código de alteração é gerado.

Valores: Qualquer número de chave de função válida. O valor default é 11.

• Cancel

Esta propriedade é usada para alterar a chave de função relacionada ao Cancel.

Valores: Qualquer número de chave de função válida. O valor default é 12.

• Delete Mode

Esta propriedade é usada para alterar a chave de função relacionada ao Modo Delete. Esta propriedade aplica-se somente ao objeto. Esta função pode inclusive ser desabilitada assinalando-se à mesma o valor ‘0’, neste caso, não será possível alterar o modo para Deleção na transação e o código de alteração é gerado.

Valores: Qualquer número de chave de função válida. O valor default é 13.

• Select

Esta propriedade é usada para alterar a chave de função relacionada ao Select. Esta propriedade aplica-se somente ao objeto. Esta função pode inclusive ser desabilitada assinalando-se à mesma o valor default ‘0’, neste caso, o programa não responderá à chave de autoprompt e o código de Autoprompt não é gerado.

Valores: Qualquer número de chave de função válida. O valor default é 16.

Page 77: apostila Genexus

77

• First Record

Esta propriedade é usada para alterar a chave de função relacionada ao First Record. Esta propriedade aplica-se somente ao objeto. Esta função pode inclusive ser desabilitada assinalando-se à mesma o valor default ‘0’, neste caso, não será possível acessar o primeiro registro e o código correspondente não é gerado.

Valores: Qualquer número de chave de função válida. O valor default é 19.

• Display Mode

Esta propriedade é usada para alterar a chave de função relacionada ao Modo de Display. Esta propriedade aplica-se somente ao objeto. Esta função pode inclusive ser desabilitada assinalando-se à mesma o valor default ‘0’, neste caso, não será possível alterar para modo de Display na transação e o código correspondente é gerado.

Valores: Qualquer número de chave de função válida. O valor default é 14.

• More Keys

Esta propriedade é usada para alterar a chave de função relacionada ao More Keys.

Valores: Qualquer número de chave de função válida. O valor default é 24.

Page 78: apostila Genexus

78

11. Propriedades das Work Panels

Propriedades permitem definir funções gerais para o objeto. Propriedades das Work Panel incluem duas principais características: funções enquanto estiver fazendo a carga e como será a interface.

11.1. LOADING

LOAD RECORDS

Indica como os registros são carregados no subfile. Normalmente, o subfile é carregado mediante uma requisição explícita. Inicialmente, somente a primeira tela é carregada e, conforme o usuário avança, então outras telas são carregadas. Isto é feito para ganhar performance. Mas em alguns casos, nós poderemos necessitar carregar o subfile inteiro de uma vez. Para fazer isto, devemos setar a propriedade Load Records como ‘Load All Records’. Esta propriedade indica que o subfile será carregado por inteiro de uma única vez. Valores:

- Load on request – carrega os registros na tela de subfile cada vez que dados são requeridos.

- Load all records – carrega todos os registros no subfile no Evento Load.

O valor default depende do gerador selecionado.

LOAD AT STARTUP

Indica se o subfile é carregado logo no início ou após pedir a parte fixa do form. Quando a Work Panel tem um subfile, o subfile é carregado pela primeira vez imediatamente após a tela ser carregada. Esta propriedade indica que nós não desejamos que o subfile seja carregado logo no início, ao invés disso, nós queremos que a parte fixa da tela seja pedida antes (normalmente usadas nas conditions) e então carregar o subfile. Valores:

- YES – o subfile é carregado imediatamente após a carga da tela. - NO – o subfile é carregado após pedir a parte fixa da tela.

Page 79: apostila Genexus

79

O valor default depende do gerador selecionado. RESTRIÇÕES: Quando não há Tabela Base associada à Work Panel, essa

propriedade não tem efeito, e o subfile é carregado após pedir a parte fixa ser pedida.

ALLOW USER TO CANCEL WHILE LOADING

Permite ou inibe o usuário de cancelar a execução do programa enquanto estiver sendo feita a carga do subfile. Se esta propriedade for setada como YES, a Work Panel poderá ser cancelada com ESC. Valores:

- YES – o programa pode ser cancelado pressionando ESC enquanto estiver sendo feita a carga do subfile.

- NO – o programa não pode ser cancelado enquanto estiver sendo feita a carga do subfile.

O valor default depende do gerador selecionado.

AUTOMATIC REFRESH

Esta propriedade é muito utilizada quando o subfile é composto somente por variáveis e você deseja executar um refresh cada vez que houver uma mudança na parte fixa da Work Panel. Valores:

- Only when variables in conditions change: a work panel trabalha da forma tradicioanl.

- When any variable change: o refresh é executado cada vez que qualquer variável da parte fixa da tela é modificado.

O valor default depende do gerador selecionado.

REFRESH TIMEOUT (Foxpro for Windows e Visual Basic )

Esta propriedade é usada para executar um refresh do subfile sem que o usuário execute nenhuma opção durante certo período de tempo. Este intervalo de tempo deve ser especificado em segundos. Valores: Não há valores pré-definidos. Um valor em segundos deve ser especificado. Se 0 ou default são especificados nenhum timeout será gerado.

Page 80: apostila Genexus

80

11.2. WINDOWS INTERFACE

MENUBAR

Esta propriedade é usada para associar um menubar a um objeto. Em outras palavras, o objeto usará o menubar indicado nesta propriedade. O combo mostrará todos os menubars existentes. Se um objeto não tiver um menubar associado então um menubar default será utilizado. Esta propriedade somente é válida para transações e work panels.

BORDER STYLE

Esta propriedade especifica o tipo da borda do form. Válida somente para os geradores: Visual Basic e Visual Foxpro. Valores:

- Sizeable: este é o tipo normal de borda, que é 3D e você pode mudar o tamanho da janela com o mouse.

- None: a janela não terá borda nem título. - Fixed Single: a janela terá borda simples e seu tamanho não poderá

ser mudado. - Fixed Dialog: a janela terá borda 3D e seu tamanho não poderá ser

mudado. O valor default é Sizeable.

MAXIMIZE BUTTON

Especifica se o form deve ter um botão de maximização. Válido somente para geradores: Visual Basic e Visual Foxpro. Valores:

- YES: o form terá botão de maximização - NO: o form não terá botão de maximização O valor default é YES.

Page 81: apostila Genexus

81

MINIMIZE BUTTON

Especifica se o form deve ter um botão de minimização. Válido somente para geradores: Visual Basic e Visual Foxpro. Valores:

- YES: o form terá botão de minimização - NO: o form não terá botão de minimização O valor default é YES.

FORM ICON

Esta propriedade é utilizada para especificar um nome para o ícone do form. Válido somente para geradores: Visual Basic e Visual Foxpro. Valores: Não possui nenhum valor pré-definido, você deve informar o nome do ícone.

CONTROL BOX

Esta propriedade é usada para especificar se o menu no canto superior esquerdo da janela será ativado com um click do mouse. Valores:

- YES: o menu será ativado com um click do mouse. - NO: o menu não será ativado com um click do mouse. O valor default é YES.

MODAL DIALOG

Esta propriedade é usada para indicar se o objeto utiliza diálogo Modal ou não. Diálogo Modal significa que o programa chamador ficará inativo até que o objeto chamado seja fechado. Ao contrário, com diálogo Não-Modal ambos os objetos ficam ativos ao mesmo tempo, quer dizer, você pode trabalhar com ambos simultaneamente.

Page 82: apostila Genexus

82

Diálogo Não-Modal é sempre melhor que o diálogo modal, mas nem sempre é possível utilizá-lo. Em particular, quando são passados parâmetros e o objeto chamado retorna valores ao objeto chamador, então o diálogo Modal deve ser usado. Os Prompts são um exemplo típico desse tipo de diálogo, onde a transação espera valores retornados pelo prompt. Valores:

- YES, if parameters specified: se o objeto tem parâmetros então o diálogo Modal será usado, se não houver parâmetros então o diálogo Não-Modal será usado.

- YES: Diálogo Modal é utilizado. - NO: Diálogo Não-Modal é utilizado. O valor default é: YES, if parameters specified.

11.3. CHARACTER INTERFACE

GENERATE AS A POPUP WINDOW

Esta propriedade é usada para indicar que o form deve ser carregado como uma janela de Popup (sobrepor a janela anterior ao invés de substituí-la). Neste caso, parte das duas janelas podem ser vistas simultaneamente. Valores:

- NO: a janela é mostrada totalmente como popup. - YES, automatic border: o form será gerado como janela popup e a

borda será desenhada de forma automática. - YES, user defined border: o form será gerado como janela popup e a

borda pode ser desenhada pelo usuário no form. Este valor só é válido para geradores de interface gráfica.

O valor default depende do gerador selecionado. NOTA: Quando a tela é definida como popup, há algumas limitações de

linhas e colunas que devem ser respeitados. Se a tela desenhada ultrapassa esses limites, uma mensagem é dada dentro do relatório de navegação na especificação.

IMPORTANTE: Esta propriedade não é válida para geração em ambiente windows.

Page 83: apostila Genexus

83

AUTOMATIC BORDER

• Automatic Border – Color

Esta propriedade é usada para controlar a cor da borda da janela dos objetos definidos como janelas popup no AS/400.

Valores: - Default to color rule: Segue a cor da regra color se a mesma existir.

Caso contrário, VERDE é utilizado. - Verde - Branco - Vermelho - Amarelo - Azul - Cinza, esta é a cor no GeneXus. No AS/400 é convertido para

Turquesa. - Magenta, esta é a cor no GeneXus. No AS/400 é convertido para Pink

(rosa). O valor default é: Default to color rule.

• Automatic Border – Display Attribute

Esta propriedade é usada para definir como deve ser mostrado o atributo dos objetos definidos como janelas popup no AS/400.

Valores: - Default to color rule: Segue a cor da regra color se a mesma existir. - Reverse Image: Imagem reversa - High: Mostrar mais forte (negrito) - Blinking: Piscando - No display: Não mostrar. O default é: Default to color rule.

• Automatic Border – Characters

Esta propriedade é usada para definir os caracteres a serem usados para cada um dos cantos e lados da janela do objeto definido como janela popup no AS/400. Deve ter exatamente 8 caracteres. Cada caracter é usado para desenhar (em ordem):

Caracter Desenha

Page 84: apostila Genexus

84

1 topo-esquerdo-canto 2 topo-borda 3 topo-direito-canto 4 esquerda-borda 5 direita-borda 6 Botão-esquerdo-canto 7 Botão-borda 8 Botão-direito-canto Esses caracteres são enviados diretamente à palavra chave

WDWBORDER da DDS language para telas. Para obter informações adicionais sobre esta palavra chave, procure no manual de referência da DDS. Não há valor default para esta preferência. Isto é, se nenhum valor for especificado na preferência, os atributos de tela dependerão dos valores default do AS/400. NOTA: Não use o caracter ‘ (apóstrofo) nesta propriedade.

11.4. AS/400 SPECIFIC – ESPECIFICAÇÕES AS/400

KEY ASSIGNMENT

• Exit Key

Esta propriedade é usada para alterar a chave de função relacionada ao Exit.

Valores: Qualquer número de chave de função válida. O valor default é 3.

• Refresh Key

Esta propriedade é usada para alterar a chave de função relacionada ao Refresh.

Valores: Qualquer número de chave de função válida. O valor default é 5.

Page 85: apostila Genexus

85

• Cancel

Esta propriedade é usada para alterar a chave de função relacionada ao Cancel.

Valores: Qualquer número de chave de função válida. O valor default é 12.

• More keys

Esta propriedade é usada para alterar a chave de função relacionada à opção More Keys.

Valores: Qualquer número de chave de função válida. O valor default é 24.

Page 86: apostila Genexus

86

12. Propriedades dos Relatórios

12.1. OPTIONS

REPORT OUTPUT

Especifica a saída a ser utilizada para Report/Procedure. Valores:

- Ask User: O usuário será questionado para onde deseja enviar a saída em tempo de execução.

- Only to Screen: A saída é enviada direto para tela. - Only to Printer: A saída é enviada direto para impressora. O valor default depende da gerador selecionado.

PROMPT FOR CONFIRMATION

É usado para evitar a confirmação usual que ocorre após as funções ASK (para pedir dados) de Report/Procedures. Valores:

- YES – Ao usuário é pedido confirmação após entrada de dados. - NO – Evita confirmação. O valor default depende do gerador selecionado.

ALLOW USER TO CANCEL PROCESSING

Indica se o programa pode ser cancelado pela tecla ESC. Num relatório que imprime nota e é chamado de uma transação, é muito apropriado setar esta propriedade como NO, para ter certeza que a nota será sempre impressa. Valores:

- YES – é possível cancelar o programa. - NO – não é possível cancelar o programa. O valor default depende do gerador selecionado.

Page 87: apostila Genexus

87

FOOTER ON LAST PAGE

Esta propriedade é usada para indicar se os rodapés definidos pelo usuário devem ou não ser impressos na última página de um relatório.

Valores: - YES – O rodapé será impresso em todas as páginas, inclusive na

última. - NO – O rodapé não é impresso na última página. O valor default depende do gerador selecionado.

12.2. AS/400 SPECIFIC - ESPECIFICAÇÕES AS/400

KEY ASSIGNMENT

• Exit Key

Esta propriedade é usada para alterar a chave de função relacionada ao Exit.

Valores: Qualquer número de chave de função válida. O valor default é 3.

• Refresh Key

Esta propriedade é usada para alterar a chave de função relacionada ao Refresh.

Valores: Qualquer número de chave de função válida. O valor default é 5.

• Cancel

Esta propriedade é usada para alterar a chave de função relacionada ao Cancel.

Valores: Qualquer número de chave de função válida. O valor default é 12.

Page 88: apostila Genexus

88

• More keys

Esta propriedade é usada para alterar a chave de função relacionada à opção More Keys.

Valores: Qualquer número de chave de função válida. O valor default é 24.

Page 89: apostila Genexus

89

13. Propriedades dos Procedimentos

13.1. OPTIONS

REPORT OUTPUT

Especifica a saída utilizada para Report/Procedure. Valores:

- Ask User: O usuário será questionado para onde deseja enviar a saída em tempo de execução.

- Only to Screen: A saída é enviada direto para tela. - Only to Printer: A saída é enviada direto para impressora. O valor default depende do gerador selecionado.

PROMPT FOR CONFIRMATION

É usado para evitar a confirmação usual que ocorre após as funções ASK (para pedir dados) de Report/Procedures. Valores:

- YES – Ao usuário é pedido confirmação após entrada de dados. - NO – Evita confirmação. O valor default depende do gerador selecionado.

ALLOW USER TO CANCEL PROCESSING

Indica se o programa pode ser cancelado pela tecla ESC. Num relatório que imprime nota e é chamado de uma transação, é muito apropriado setar esta propriedade como NO, para ter certeza que a nota será sempre impressa. Valores:

- YES – é possível cancelar o programa. - NO – não é possível cancelar o programa. O valor default depende do gerador selecionado.

Page 90: apostila Genexus

90

FOOTER ON LAST PAGE

Esta propriedade é usada para indicar se os rodapés definidos pelo usuário devem ou não ser impressos na última página de um relatório.

Valores: - YES – O rodapé será impresso em todas as páginas, inclusive na

última. - NO – O rodapé não é impresso na última página. O valor default depende do gerador selecionado.

13.2. TRANSACTION INTEGRITY – INTEGRIDADE TRANSACIONAL

COMMIT ON EXIT

Programas gerados pelo GeneXus executam commits no fim da cada transação (referenciando-se ao conceito de database transaction, não ao objeto GeneXus). Este commit automático é incluído em todos os programas que atualizam base de dados. Não é incluído em Reports, Work Panels, Web Panels e procedimentos que não atualizam a base de dados. Esta propriedade é usada para controlar ou não se o commit automático é realizado. Esta propriedade faz sentido em Transações e Procedures que alteram a base de dados e são chamados por outros programas. Neste caso, o programa chamador (ou o programa chamador do chamador) é responsável pelo commit ou rollback da LWU (Logical Work Unit). Valores:

- YES – o programa gerado executa um commit no fim da LWU. - NO – o programa gerado não executa um commit no fim da LWU. O valor default depende do gerador selecionado. Exemplo: Você pode encontrar a situação de ter que dividir em duas. Um

exemplo típico é descrito no exemplo que segue: muitos dados devem ser digitados na transação de cadastramento de funcionário, assim necessitamos dividir a mesma em duas: dados do empregado e dados da função. Para ter as

Page 91: apostila Genexus

91

duas transações funcionando em conjunto, nós colocamos no final da primeira transação, um CALL para a segunda TRN.

TRN: Funcionário TRN: Função ......................... ......................... ......................... ......................... CALL Tfuncao ......................... ......................... ......................... Commit Commit on Exit = YES Commit on Exit = NO O que mostra o exemplo acima é que uma vez dado entrada nos dados na

primeira transação, nós iremos imediatamente dar entrada nos dados da segunda TRN. Mas nós queremos unificar as duas TRNs para que formem uma única LWU (Unidade Lógica de Trabalho), para fazer isso é necessário:

- A primeira transação deve ter um CALL chamando a segunda, antes que o commit seja executado.

- Remover o COMMIT da segunda TRN usando a propriedade – Commit on Exit = NO – para que o COMMIT da primeira TRN faça o COMMIT em ambas como um todo após o retorno do CALL.

NOTA: - É válido somente em transações que não tenham a propriedade do

AS/400 – Commitment = Disabled – neste caso a propriedade será ignorada.

- Também será ignorada se o controle da integridade transacional for desabilitado nas propriedades do modelo – Transactional Integrity = NO. Esta propriedade somente aparecerá se o gerador que você estiver usando permitir este tipo de controle. (Foxpro for Windows não mostrará esta opção).

Page 92: apostila Genexus

92

13.3. AS/400 SPECIFIC – ESPECIFICAÇÕES AS/400

COMMITMENT

Inibe ou desabilita o controle da integridade transacional nos programas gerados. Valores:

- Enabled – o programa é gerado com controle de integridade transacional.

- Disabled – o programa é gerado sem os controles de integridade transacional.

O valor default depende do gerador selecionado. NOTA: Esta opção é ignorada para Client Server (geradores DB/2 e

Oracle) porque este DBMs não permitem a desativação da integridade Transacional.

KEY ASSIGNMENT

• Exit Key

Esta propriedade é usada para alterar a chave de função relacionada ao Exit.

Valores: Qualquer número de chave de função válida. O valor default é 3.

• Refresh Key

Esta propriedade é usada para alterar a chave de função relacionada ao Refresh.

Valores: Qualquer número de chave de função válida. O valor default é 5.

• Cancel

Esta propriedade é usada para alterar a chave de função relacionada ao Cancel.

Valores: Qualquer número de chave de função válida.

Page 93: apostila Genexus

93

O valor default é 12.

• More keys

Esta propriedade é usada para alterar a chave de função relacionada à opção More Keys.

Valores: Qualquer número de chave de função válida. O valor default é 24.

Page 94: apostila Genexus

94

14. Propriedades das Web Panels

14.1. FOOTER

FOOTER IMAGE

(Ainda não implementado)

WEBMASTER’S MAIL ADDRESS

Ainda não implementado)

Page 95: apostila Genexus

95

15. Propriedades do Modelo – Visual Basic

15.1. GENERAL

VISUAL BASIC VERSION

Use esta opção para setar a versão do gerador Visual Basic que será utilizado. Valores:

- Visual Basic 4.0 (16 bits) - Visual Basic 4.0 (32 bits) - Visual Basic 5.0 O valor default é Visual Basic 5.0.

GRID VERSION

O gerador Visual Basic utiliza DataGrid Sheridan (incluindo no produto Data Widgets) para implementar o grid dos subfiles (NOTA: você deve instalar Sheridan’s Data Widgets para ser capaz de executar corretamente suas aplicações Visual Basic).

Esta preferência é usada para especificar a versão do produto que você está usando.

Valores: - Sheridan DataGrid 2.0c - Sheridan DataGrid 3.0 - O valor default é: Sheridan DataGrid 2.0c

TARGET SYSTEM INTERFACE

Indica qual a versão de sistema no usuário final (destino). É utilizada para evitar problemas com a edição que acontece quando geramos Visual Basic 4.0 e executamos sob Windows 3.x. Valores:

- Windows 95 – a interface do sistema destino será Windows95

Page 96: apostila Genexus

96

- Windows 3.x – a interface do sistema destino será Windows3.1 ou Windows3.11

O valor default é Windows95. Caso 1: Se você está desenvolvendo uma aplicação numa máquina

executando abaixo do Windows 3.11, e a interface do sistema destino é Windows 95, para evitar problemas com os controles de edição você deve fazer o seguinte:

1. Desenvolver a aplicação (durante a fase de protótipo) com esta preferência setada para “Windows 3.x”, para poder prototipá-la.

2. Uma vez que a fase de protótipo tenha terminado, mude esta preferência “Windows 95” e gere todos os programas novamente, então você pode distribuir sua aplicação para seus clientes.

Caso 2: Se você está desenvolvendo uma aplicação numa máquina executando abaixo do Windows 95, e a interface do sistema destino é Windows 3.11, sete esta preferência “Windows 3.x”, e teste a aplicação como se estivesse no ambiente do cliente.

Caso 3: Se você está desenvolvendo uma aplicação numa máquina executando abaixo do Windows 95, e a interface do sistema destino é Windows 95, você não terá nenhum problema.

Caso 4: Se você está desenvolvendo uma aplicação numa máquina executando abaixo do Windows 3.11, e a interface do sistema destino é Windows 3.11, você não terá nenhum problema.

GENERATE MDI APPLICATION

Esta preferência é usada para indicar qual tipo de interface de documento terão as aplicações geradas: SDI (Single Document Interface – Interface de documentação simples) ou MDI (Multiple Document Interface – Interface de documentação múltipla). Com SDI toda transação ou Work Panel será uma janela independente (esta é a interface utilizada pela Microsoft Exchange). No caso do MDI, todo objeto é considerado “child window” da janela principal (esta é a interface utilizada pela Microsoft Word). Valores:

- YES – Aplicação MDI será gerada - NO – Aplicação SDI será gerada O valor default é YES.

Page 97: apostila Genexus

97

NOTA: Se o valor dessa preferência é setada como NO (SDI), e mais tarde é modificada para YES (MDI) você deve forçar a geração de todos os programas.

ALLOW COLUMN RESIZING

Com esta opção você pode permitir ao usuário mudar o tamanho das colunas do subfile em tempo de execução. Valores:

- YES – o usuário será capaz de modificar o tamanho das colunas do subfile a qualquer momento.

- NO – o tamanho das colunas do subfile do programa gerado será especificado no desenho do mesmo e o usuário não será capaz de mudá-los em tempo de execução.

O valor default é YES.

SKIP READ-ONLY COLUMNS

Esta preferência é usada para setar o comportamento da ‘Tab Key’ em subfiles ao gerar código Visual Basic. Valores:

- YES – a Tab Key pula variáveis e atributos read-only. - NO – a Tab Key passa por todos os campos, independente de serem

“read-only” ou não. O valor default é YES. NOTA: Esta preferência não afeta o comportamento do mouse, porque o

mouse pode ser posicionado em qualquer campo.

CONFIRM

Esta propriedade, baseada na sua escolha, vai estabelecer se você deseja confirmar as seguintes ações

- Insert, Delete e Update executadas a nível de Transação. - Confirm each action: o usuário será questionado sobre

confirmação após ter finalizado a entrada de dados nas ações de

Page 98: apostila Genexus

98

Inserção e Alteração ou selecionando o modo de deleção em algum nível da transação.

- Do not confirm each action: o usuário NÃO será questionado sobre confirmação após ter finalizado a entrada de dados nas ações de Inserção e Alteração ou selecionando o modo de deleção em algum nível da transação.

- Entrada de parâmetros em Reports e Procedures

- Confirm each action: após a entrada de parâmetros nas Reports/Procedures, o usuário será questionado sobre a confirmação dos mesmos.

- Do not confirm each action: após a entrada de parâmetros nas Reports/Procedures, o usuário NÃO será questionado sobre a confirmação dos mesmos.

O valor default é Confirm each action. NOTA; Você pode sobrescrever esta propriedade num objeto em

particular alterando a propriedade Confirm para o objeto selecionado.

AUTOSKIP

Salto automático para o próximo campo quando o corrente é preenchido. Por exemplo: quando o quarto dígito de um campo de 4 dígitos é digitado, é feito um salto automático para o próximo campo. Opções:

- YES – Salto automático para o próximo campo quando o corrente é preenchido.

- NO – Uma tecla de entrada deve ser pressionada para mover o cursor para o próximo campo, quando o corrente é preenchido.

O valor default é NO.

LOCK TYPE

Esta preferência controla o tipo de ‘lock’ que será executado pelo Visual Basic no Access. Valores:

- Pessimistic: o lock é executado quando o registro é lido.

Page 99: apostila Genexus

99

- Optimistic: o lock não é executado quando o registro é lido e sim controla se ele foi modificado ou não por outro usuário na hora de regravá-lo.

O valor default é Pessimistic. NOTA: Você deve levar em consideração que o Access loca páginas e não

registros.

PSEUDO CONVERSATIONAL DIALOG

Com esta opção, você pode escolher se a aplicação gerada terá Diálogo Conversacional ou Diálogo Pseudo Conversacional para implementar o controle de concorrência. Com o diálogo pseudo-conversacional nós tendemos a reduzir o tempo de lock de registro ao mínimo, o que quer dizer que somente serão locados os registros durante o process-time. Isto incrementa a concorrência na base de dados. O conceito básico é ler sem locar, permitindo ao usuário fazer alterações e então, em tempo de processamento, verificar se nenhum outro usuário já alterou o mesmo registro. Se isto ocorrer, uma mensagem de erro é mostrada e o usuário de refazer a operação. Valores:

- Use conversational dialog: implementa diálogo conversacional. - Check updated tables only: implementa diálogo pseudo-

conversacional. Neste caso, o controle é executado a nível de tabela. Se a tabela é modificada dentro de um nível, todos os atributos daquela tabela que estão envolvidos na transação são controlados. O problema dessa implementação aparece quando há usuários que baseiam suas decisões em tabelas não alteradas na transação.

- Check all acessed tables: implementa diálogo pseudo-conversacional. Neste caso, o controle é executado sobre todas as tabelas dos atributos envolvidos na transação. Este parece ser o nível de controle mais indicado, pois situações incontroláveis não existirão.

O valor default é: Check updated tables only. NOTA: Dependendo da linguagem e plataforma que você está gerando, o

diálogo Pseudo conversacional é implementado para todas as operações

Page 100: apostila Genexus

100

executadas na Transação (Cobol e RPG para AS/400) ou somente no nível da transação (nos casos dos Xbase ou Visual Basic).

LOCAL DATABASE FILE

Especifica o nome da base de dados local quando gerando Visual Basic. Valores: O nome default é GX_DATA.MDB, mas você é capaz de

assinalar o nome que desejar.

MAIL FUNCTIONS

Você deve setar esta preferência para YES para ser capaz de usar as

mail functions. Valores: - YES: o desenvolvedor será capaz de executar GeneXus mail functions - NO: o desenvolvedor NÃO será capaz de executar GeneXus mail

functions. O valor default é NO. NOTA: você necessitará ter corretamente instalado todos os

componentes para enviar mensagens via MAPI (Microsoft Messaging API) e também ter instalado não somente o Mail (Microsoft Mail e/ou compatível) mas também o arquivo VBX para utilizar a interface (MSMAPI.VBX).

GRAPHIC FUNCTIONS

O gerador GeneXus Visual Basic prevê uma série de funções para customizar seus gráficos: GXMKGR, GXKILLGRAPH, GXSETGRAPHPROPERTY, GXGETGRAPHPROPERTY. Você deve setar esta preferência para YES para ser capaz de usar estas funções gráficas e comandos gráficos do GeneXus. Valores:

- YES: Você será capaz de chamar as funções gráficas usando o comando CALL do GeneXus e o comando GeneXus graph.

- NO: Você NÃO será capaz de chamar as funções gráficas usando o comando CALL do GeneXus e o comando GeneXus graph.

Page 101: apostila Genexus

101

O valor default é NO.

EXCEL OLE FUNCTIONS

Você pode usar OLE para estabelecer a comunicação entre uma aplicação gerada pelo GeneXus e Excel. Para ser capaz de fazer isso, algumas funções standard devem ser avaliadas. Você deve setar esta preferência para YES para ser capaz de usar Excel do GeneXus para Visual Basic. Valores:

- YES: o desenvolvedor será capaz de executar as funções Excel do GeneXus.

- NO: o desenvolvedor NÃO será capaz de executar as funções Excel do GeneXus.

O valor default é NO.

COMMOM DIALOG FUNCTIONS

‘Common Dialogs’ são uma série de diálogos usados por diferentes aplicações e válidas no Windows. Um exemplo de Common Dialogs são: abrir um arquivo, escolher uma cor, escolher uma fonte, etc... Você deve setar esta preferência para YES para ser capaz de usar o GeneXus Common Dialogs. Valores:

- YES: o desenvolvedor será capaz de chamar o GeneXus Common Dialogs com o comando CALL.

- NO: o desenvolvedor NÃO será capaz de chamar o GeneXus Common Dialogs com o comando CALL.

O valor default é NO. A sintaxe para usar estas rotinas é a seguinte: Select Color Dialog Call(“GxSelColor”,&selected,&default)

&selected = Cor de output selecionada (Long) &Default = Cor default (Long)

Select Directory Dialog Call(“GxSelDir”,&selected,&defaultpath,&caption)

&selected = Diretório de saída selecionado (String)

Page 102: apostila Genexus

102

&defaultpath = Diretório default de entrada (String) &caption = Edit Box Caption (String)

File Open Dialog Call(“GxSelFile”,&selected,&initialpath,&extensions,&caption,&buttoncaption, &buttontype)

&selected = Nome do arquivo de saída selecionado (String) &initialpath = Caminho default (String) &extensions = default de extensão (String) &caption = Título do Box (String) &buttoncaption = Nome do botão de seleção (String) &buttontype = Flag para habilitar o botão no Diálogo (inteiro)

Save as Dialog Call(“GxNewFile”,&selected,&initialpath,&defaultname,&extensions,&caption)

&selected = Nome do arquivo de saída selecionado (String) &initialpath = Input Caminho default para procura (String) &defaultname = Input Default nome de arquivo (String) &extensions = default de extensão (String) &caption = Título do Box (String)

Select Font Dialog Call(“GxSelFont”,&SelectedFont,&SelectedSize,&SelectedStyle) &SelectedFont = Nome da fonte de saída selecionado (String)

&SelectedSize = Tamanho da fonte selecionada (String) &SelectedStyle = Nome da fonte de saída selecionado (String)

Select Picture File Dialog Call(“GxSelPict”,&selected,&initialpath,&extensions,&caption,&buttoncaption)

&selected = Arquivo Selecionado (String) &initialpath = Input Caminho default para procura (String) &extensions = default de extensão (String) &caption = Título do Box (String) &buttoncaption = Nome botão selecionado (String)

Printer Dialog Call(“GxSelPrn”,&selected)

&selected = Nome da Impressora Selecionada (String) Copy File

Page 103: apostila Genexus

103

Call(“GxXopyFile”,&Source,&Target) &Source = Nome do arquivo de entrada (String)

&Target = Nome do arquivo de destino (String) Calculator Call(“GxCalculate”,&Result) &Result = valor numérico de entrada/saída (Numérico)

15.2. RIGHT BUTTON

CALCULATOR ON SECUNDARY NUMERIC FIELDS

Para os campos numéricos que não tem associado um prompt, uma

calculadora será chamada quando for clicado o botão direito do mouse sobre o mesmo.

Valores: - YES: Você será capaz de chamar a calculadora clicando o botão

direito do mouse sobre o campo numérico. - NO: Você NÃO terá a facilidade de chamar a calculadora clicando o

botão direito do mouse sobre o campo numérico. O valor default é YES.

CALENDAR ON DATE FIELDS

Se você clicar o botão direito do mouse sobre um campo tipo DATE, um calendário será mostrado permitindo a você selecionar uma data. Valores:

- YES: Você será capaz de chamar um calendário ao clicar o botão direito do mouse sobre um campo tipo DATE.

- NO: Você NÃO terá facilidade de chamar um calendário ao clicar o botão direito do mouse sobre um campo tipo DATE.

O valor default é YES.

15.3. PRINTING

Page 104: apostila Genexus

104

LAN PRINTER

Essa propriedade permite você definir a impressora default para onde os relatórios serão enviados. Se nenhuma Impressora de Rede é especificada, então a default (LTP1) é assumida. Quando o relatório é impresso, os seguintes passos são efetuados:

1. Se Printer Property é definida para um objeto em particular, então o relatório é enviado à impressora indicada no objeto.

2. Se Printer Property não é definida, GeneXus procura pela impressora de rede indicada no Model Property e imprime o relatório na impressora indicada.

3. Se nenhuma propriedade de impressora de rede é encontrada então LPT1 é usada.

Diferentes strings devem ser definidos dependendo da linguagem e do tipo de rede:

Para FoxPro e DBASE os seguintes devem ser definidos: Sintaxe para Microsoft Networks: \\<server>\<printer> Onde <server> é o nome do servidor <printer> é o nome da impressora Exemplo: \\ARTECH\\PRXX Sintaxe para Novell networks: \\<spooler> Para maiores informações sobre o comando SET PRINTER TO, procure

nos manuais de referência do FoxPro ou DbaseIV. Exemplo: \\SPOOLER \N \Q=WORD4039 Para Clipper: Sintaxe para LAN Printer: <printer port> Exemplo: LPT2.

SHOW PRINTER DIALOG ON REPORTS

Permite você especificar se deseja mostrar o <Printer Dialog> antes de imprimir seu relatório ou você deseja enviá-lo diretamente à impressora. Valores:

- YES – o diálogo da impressora será mostrado antes dos relatórios serem enviados à impressora.

- NO – o relatório será enviado diretamente à impressora. Nenhum <diálogo de impressora> será mostrado.

Page 105: apostila Genexus

105

O valor defualt é YES.

PRINT METHOD

Essa preferência é usada para selecionar o método de impressão que o gerador Visual Basic deve utilizar. Você pode escolher impressão nativa Visual Basic ou Report Viewer GeneXus.

Valores: - VB Native Printing: relatórios são impressos usando Visual Basic

Native printing. - Report Viewer: relatórios são impressos usando GeneXus Report

Viewer. O valor default é: VB Native Printing. NOTA: se você utilizar GeneXus Report Viewer você deve ter instalado

um driver de impressora na máquina onde o programa será executado, de outro jeito Report Viewer não funcionará corretamente.

15.4. FORMAT

FIELD EXIT

Essa preferência controla a tecla que é capaz de mover o cursor entre os campos do programa gerado. Isto afeta exclusivamente o tipo de controle Edit (não afeta Radio Buttons, Combo Boxes, etc) Valores:

- Tab, Shift-Tab: o movimento de avanço é feito com a tecla Tab e a combinação das teclas Shift-Tab faz o movimento de volta.

- Enter, Down Arrow, Up Arrow, Tab, Shift-Tab: as teclas Enter, Seta para baixo e Tab serão interpretadas como ‘movimento’ para o próximo campo e a Seta para Cima e Shift-tab serão interpretadas como ‘movimento’ para o campo anterior.

- +, Down Arrow, Up Arrow, Tab, Shift Tab: as teclas +, Enter, Seta para baixo e Tab serão interpretadas como 'movimento' para o

Page 106: apostila Genexus

106

próximo campo e a Seta para Cima e Shift-Tab serão interpretadas como 'movimento' para o campo anterior.

O valor default é: Tab, Shift-Tab.

ESC KEY ACTION

Essa preferência somente afeta transações com múltiplos níveis e permite você estabelecer como você deseja que a tecla ESC funcione. Valores:

- Exit Form: você abortará o programa que está executando ao pressionar a tecla ESC.

- Change Level: a tecla ESC vai alternar o nível ao ser pressionada. O valor default é: Exit Form.

DECIMAL SEPARATOR

Esta opção permite ao usuário configurar o separador decimal que deseja usar. O valor default corresponde à linguagem do modelo do Design Model.

- Inglês: assume “.” Ponto. - Espanhol: assume “,” Vírgula. - Português: assume “,” Vírgula. - Italiano: assume “,” Vírgula.

DATE FORMAT

Essa opção permite você especificar o formato no qual os atributos do tipo DATA devem ser pedidos/mostrados nos programas gerados. Valores:

- Language Dependent: o formato do tipo date dependerá da linguagem selecionada no modelo corrente. Os formatos assumidos para cada linguagem são: Inglês.......: “mm/dd/yy” Português: “dd/mm/yy” Espanhol..: “dd/mm/yy” Italiano....: “dd/mm/yy”

Page 107: apostila Genexus

107

Mm/dd/yy: mês/dia/ano dd/mm/yy: dia/mês/ano O valor default é: Language Dependent.

DATE FORMAT IN CTOD FUNCTION (VISUAL BASIC)

Essa opção permite você especificar o formato no qual a função CTOD interpretará os parâmetros. Valores:

- Language Dependent: o formato do tipo date dependerá da linguagem selecionada no modelo corrente. Os formatos assumidos para cada linguagem são: Inglês.......: “mm/dd/yy” Português: “dd/mm/yy” Espanhol..: “dd/mm/yy” Italiano....: “dd/mm/yy” Mm/dd/yy: mês/dia/ano dd/mm/yy: dia/mês/ano O valor default é: Language Dependent.

TIME FORMAT

Controla o formato no qual a parte das horas dos atributos tipo datetime são pedidos e mostrados (tanto na tela como na impressão). Também controla o tamanho dos atributos/variáveis tipo datetime. Essa preferência é aplicada à Base de Conhecimento, mas cada modelo pode ter um valor diferente para essa preferência. Valores:

- Language Dependent: Depende da linguagem selecionada de acordo com a seguinte tabela: Linguagem Formato Hora Inglês 12 horas Espanhol 24 horas Português 24 horas Italiano 24 horas

Page 108: apostila Genexus

108

O valor default é: language Dependent. NOTA: Se o uso do formato 12 horas é especificado ou inferido, dependendo da linguagem selecionada, os campos terão 3 caracteres a mais (tela ou impressora) correspondente às strings ‘AM’ ou ‘PM’.

FIRST YEAR OF 20th CENTURY

Informe a partir de qual ano que deve ser considerado como século 20. Todo ano (parte de um campo date) menor que o informado nesta preferência, será considerado século 21 (2000...). O valor default é: 40.

15.5. WEB INFORMATION

PROTOCOL SPECIFICATION

Esta preferência se aplica à geração automática de links entre as Web Panels. Esses links são gerados quando um comando CALL entre duas Web Panels é detectado. O objetivo é identificar qual o protocolo default a ser usado quando os links são construídos. Um link tem a seguinte estrutura: <A HREF=”protocol:program[?parameters]”>Text</A> Valores:

- Secure (HTTPS): força a geração do protocolo HTTPS. HTTPS indica que o protocolo a ser usado é Secure Hypertext Transfer Protocol.

- Unsecure (HTTP): força a geração do protocolo HTTP. HTTP indica que o protocolo a ser usado é Hypertext Transfer Protocol.

- Do Not Specify: nenhum protocolo é especificado, o protocolo ‘atual’ é usado.

O valor default é: Unsecure (HTTP). Em geral, nós recomendamos o uso do ‘Do Not Specify’ para obter um

código gerado mais versátil (pode ser executado com qualquer protocolo).

Page 109: apostila Genexus

109

Entretanto, há alguns browsers (normalmente versões antigas) que não suportam links sem protocolo especificado. Por esta razão, e se você deseja suportar tantos browsers quanto possível, nós recomendamos não utilizar ´Do not specify’ nesta preferência.

NOTA: se o protocolo HTTPS é usado, você deve ter Secure Web Server.

15.6. TYPE CHECKING

CHECK TYPE ERRORS

Type Controls são usados para checar se expressões, condições, fórmulas e regras são válidas. Você pode definir se quer que sejam mostrados mensagens de erro e advertência quando o Type Control é carregado. Mesmo que o tipo de controlador não dependa da plataforma em que se está gerando uma aplicação, o tipo de mensagem que é mostrada depende da plataforma. Em particular, quando uma geração PC é executada (o mesmo se aplica para protótipo ou Produção) as mensagens são Warnings que permitem que você prossiga na geração dos programas. Entretanto, o AS/400 mostra mensagens de erro e não permite a geração dos programas. Valores:

- YES: Se por algum motivo você deseja que o mesmo critério que é utilizado pelo gerador AS/400 seja utilizado para ambientes Xbases (PC), você deve selecionar YES para esta propriedade.

- NO: Se você selecionar NO, o tipo de controle para Xbase é executado na especificação.

O valor default é: YES. Tipos de controle em expressões: Todas as expressões GeneXus serão analisadas para testar sua

compatibilidade em cálculos ou funções. Por exemplo: &no Numérico(10) &char Caracter(10) &data Date Você pode definir a seguinte expressão em Program

Source/Layout/Events/Rules: &no = &data + month(&char)

Page 110: apostila Genexus

110

A expressão acima tem dois problemas: A função month( ) requer um parâmetro tipo Date. Uma expressão de igualdade obriga que ambos os lados da igualdade

sejam do mesmo tipo. Assim o diagrama de navegação irá mostrar todos os Warnings (ou erros

dependendo da plataforma) indicando que a expressão não é correta: - Type mismatch in expression <Invalid Expression> <at line X> (Tipos

não são compatíveis) onde <Invalid Expression> é parte da expressão onde o erro foi detectado e <at line X> indica a linha da procedure ou report onde o erro foi encontrado.

- Type mismatch in Assignment <Invalid Assignment> <at line X> (Tipos não são compatíveis na igualdade) onde <Invalid Assignment> mostra uma assinalação inválida. Ex.: &no=&data + month(&char)

Do exemplo acima as mensagens mostradas serão as seguintes: vamos supor que o erro aconteceu na linha 15 de um relatório: - Type mismatch in expression month(&char) at line 15. - Type mismatch in assignment &no=&data + month(&char) at line 15 Tipos de controle em Conditions:

Condições nas Procedures, Reports e Work Panels são controladas bem como as cláusulas WHERE, IF ou DO WHILE. Por exemplo: IF str(&no,10) > CTOD(&data) ..... ENDIF As mensagens ou erros nas conditions serão os seguintes:

- Type mismatch in conditional expression <condition> onde <condition> indica qual a condição incorreta.

- Type mismatch in expression CTOD(&data). - Type mismatch in conditional expression str(&no,10) > CTOD(&data). Tipos de controle em Fórmulas:

Há basicamente dois tipos de fórmulas: - EXPRESSIONS: Expressões serão analisadas para controlar se as

assinalações são corretas e se as condições são corretas. (Esses casos já forma mostrados em Expressions e Conditions).

Page 111: apostila Genexus

111

- AGGREGATE-SELECT: Há seis tipos de fórmulas Aggregate-Select (max, min, find, set, sum, count). Elas são compostas dos seguintes parâmetros: Fórmula = formula(Atributo,Condition,Default,Return) O atributo “Return” é usado quando fórmulas MAX( ) e MIN( ) são utilizadas.

Os seguintes casos são controlados: - Fórmula e Atributo devem ser do mesmo tipo (Exceto para as

fórmulas MAX( ) e MIN( )); - Fórmula e Default devem ser do mesmo tipo; - Fórmula e Return devem ser do mesmo tipo; - A validade da condição também é controlada. No caso de haver parâmetros com erro é mostrado: - Type mismatch in formula <Formula> in <TypeOfParameter>

parameter onde <formula> é o atributo formula e <TypeOfParameter> indica o parâmetro inválido. Exemplo: Formula = Numérico(10) AttrNo = Numérico(10) AttrData = Date 8 AttrFirst = Caracter(10) AttrReturn = Date 8 A fórmula mostrada abaixo dará as seguintes mensagens: Formula = max(AttrFirst,str(AttrNo,10)>CTOD(AttrData),’90’, AttrReturn) Type mismatch in formula in default parameter Type mismatch in formula in return parameter. A mensagem correspondente à condição na fórmula é: Type mismatch in condition str(AttrNo,10) <> CTOD(AttrData) in fórmula Formula.

Tipos de controle nas Regras das Transações: A maioria das regras das transações são transformadas em assinalações e a consistência dos tipos de dados também deve ser controlado. As regras Default, Equal, Add, Subtract, etc também são controladas. As regras condicionais também tem sua consistência checada, ex.> Error, Msg, etc.

Page 112: apostila Genexus

112

Em ambos os casos as mensagens mostradas são as mesmas mostradas acima.

FUNCTIONS

Permite o uso de funções específicas, que não são suportadas por todos os geradores. Se funções específicas não são explicitamente suportados pelo GeneXus (ex.: TRIM, LEFT, etc, porque são válidos no AS/400) e elas são utilizadas, um erro será mostrado. Valores:

- Allows non-standard functions when specyfing: inibe o controle da sintaxe mencionada acima na especificação.

- Error on non-standard functions when specyfing: o controle da sintaxe mencionada acima é feita na especificação.

O valor default é: Error on non-standard functions when specyfing.

15.7. KEY CONFIGURATION

FIRST RECORD

LAST RECORD

NEXT RECORD

PREVIOUS RECORD

REFRESH KEY

Permite você selecionar qual tecla será utilizada como tecla de Refresh. O valor default é F5.

PROMPT KEY

Permite você selecionar qual tecla será utilizada como Prompt das Transações.

Page 113: apostila Genexus

113

O valor default é F4. Você deve evitar assinalar a mesma tecla de função para duas ações diferentes porque isso não é controlado pelo gerador.

15.8.

15.9. OTHER

MAXIMUN WORKFILE LINES

Os subfiles em ambiente PC são carregados em arquivos temporários. O

tamanho máximo de um subfile na AS/400 é 9.999 linhas, mas em ambiente PC ou rede não há restrições. Esta liberdade pode causar problemas, por exemplo: se você está trabalhando com uma Work Panel ou Transação que carrega 300.000 registros e o usuário vai para o final do mesmo (Ctrl-End), neste caso o arquivo temporário carregará 300.000 registros.

Se nenhuma das condições acima é satisfeita então 9.999 linhas são assumidas como limite do subfile.

Quando o limite é ultrapassado, a seguinte mensagem é mostrada: Number of lines exceeded xxxx E você pode continuar trabalhando, mas nenhum outro registro será

carregado. Valores: qualquer valor numérico positivo.