Ao executar um programa para extrair dados em excel, ao final exibe um bloco de notas. Onde eu comento no programa para não exibir esswe bloco de notas.
Segue o código: &ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI ADM1 &ANALYZE-RESUME &Scoped-define WINDOW-NAME w-relat &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS w-relat /******************************************************************************** ** Copyright DATASUL S.A. (1997) ** Todos os Direitos Reservados. ** ** Este fonte e de propriedade exclusiva da DATASUL, sua reproducao ** parcial ou total por qualquer meio, so podera ser feita mediante ** autorizacao expressa. *******************************************************************************/ {include/i-prgvrs.i escp001 2.06.00.000} /* Create an unnamed pool to store all the widgets created by this procedure. This is a good default which assures that this procedure's triggers and internal procedures will execute in this procedure's storage, and that proper cleanup will occur on deletion of the procedure. */ CREATE WIDGET-POOL. /* *************************** Definitions ************************** */ /* Preprocessadores do Template de Relat¢rio */ /* Obs: Retirar o valor do preprocessador para as p ginas que nÆo existirem */ &GLOBAL-DEFINE PGSEL f-pg-sel &GLOBAL-DEFINE PGCLA &GLOBAL-DEFINE PGPAR &GLOBAL-DEFINE PGDIG &GLOBAL-DEFINE PGIMP f-pg-imp /* Parameters Definitions --- */ /* Temporary Table Definitions --- */ define temp-table tt-param field destino as integer field arquivo as char field usuario as char field data-exec as date field hora-exec as integer field classifica as INTEGER FIELD data-ini AS DATE FIELD data-fim AS DATE FIELD ctrab-ini AS CHARACTER FIELD ctrab-fim AS CHARACTER FIELD It-ini AS CHARACTER FIELD It-fim AS CHARACTER FIELD ordem-ini AS integer FIELD ordem-fim AS integer. define temp-table tt-digita no-undo field ordem as integer format ">>>>9" field exemplo as character format "x(30)" index id ordem. define buffer b-tt-digita for tt-digita. /* Transfer Definitions */ def var raw-param as raw no-undo. def temp-table tt-raw-digita field raw-digita as raw. /* Local Variable Definitions --- */ def var l-ok as logical no-undo. def var c-arq-digita as char no-undo. def var c-terminal as char no-undo. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK /* ******************** Preprocessor Definitions ******************** */ &Scoped-define PROCEDURE-TYPE w-relat &Scoped-define DB-AWARE no /* Name of designated FRAME-NAME and/or first browse and/or first query */ &Scoped-define FRAME-NAME f-pg-imp /* Standard List Definitions */ &Scoped-Define ENABLED-OBJECTS RECT-7 RECT-9 rs-destino bt-arquivo ~ bt-config-impr c-arquivo rs-execucao &Scoped-Define DISPLAYED-OBJECTS rs-destino c-arquivo rs-execucao /* Custom List Definitions */ /* List-1,List-2,List-3,List-4,List-5,List-6 */ /* _UIB-PREPROCESSOR-BLOCK-END */ &ANALYZE-RESUME /* *********************** Control Definitions ********************** */ /* Define the widget handle for the window */ DEFINE VAR w-relat AS WIDGET-HANDLE NO-UNDO. /* Definitions of the field level widgets */ DEFINE BUTTON bt-arquivo IMAGE-UP FILE "image\im-sea":U IMAGE-INSENSITIVE FILE "image\ii-sea":U LABEL "" SIZE 4 BY 1. DEFINE BUTTON bt-config-impr IMAGE-UP FILE "image\im-cfprt":U LABEL "" SIZE 4 BY 1. DEFINE VARIABLE c-arquivo AS CHARACTER VIEW-AS EDITOR MAX-CHARS 256 SIZE 40 BY .88 BGCOLOR 15 NO-UNDO. DEFINE VARIABLE text-destino AS CHARACTER FORMAT "X(256)":U INITIAL " Destino" VIEW-AS TEXT SIZE 8.57 BY .63 NO-UNDO. DEFINE VARIABLE text-modo AS CHARACTER FORMAT "X(256)":U INITIAL "Execu?Æo" VIEW-AS TEXT SIZE 10.86 BY .63 NO-UNDO. DEFINE VARIABLE rs-destino AS INTEGER INITIAL 2 VIEW-AS RADIO-SET HORIZONTAL RADIO-BUTTONS "Impressora", 1, "Arquivo", 2, "Terminal", 3 SIZE 44 BY 1.08 NO-UNDO. DEFINE VARIABLE rs-execucao AS INTEGER INITIAL 1 VIEW-AS RADIO-SET HORIZONTAL RADIO-BUTTONS "On-Line", 1, "Batch", 2 SIZE 27.72 BY .92 NO-UNDO. DEFINE RECTANGLE RECT-7 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 46.29 BY 2.92. DEFINE RECTANGLE RECT-9 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 46.29 BY 1.71. DEFINE RECTANGLE RECT-10 EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL SIZE 30 BY 2. DEFINE VARIABLE data-ini AS date FORMAT "99/99/9999":U INITIAL today LABEL "Período" VIEW-AS FILL-IN SIZE 10 BY 1 NO-UNDO. DEFINE VARIABLE data-fim AS date FORMAT "99/99/9999":U INITIAL today VIEW-AS FILL-IN SIZE 10 BY 1 NO-UNDO. DEFINE VARIABLE ctrab-ini AS char FORMAT "x(12)":U INITIAL "" LABEL "Centro Trab" VIEW-AS FILL-IN SIZE 12 BY 1 NO-UNDO. DEFINE VARIABLE ctrab-fim AS char FORMAT "x(12)":U INITIAL "ZZZZZZZZZZZZ" VIEW-AS FILL-IN SIZE 12 BY 1 NO-UNDO. DEFINE VARIABLE it-ini AS char FORMAT "x(16)":U INITIAL "" LABEL "Item" VIEW-AS FILL-IN SIZE 16 BY 1 NO-UNDO. DEFINE VARIABLE it-fim AS char FORMAT "x(16)":U INITIAL "ZZZZZZZZZZZZZZZZ" VIEW-AS FILL-IN SIZE 16 BY 1 NO-UNDO. DEFINE VARIABLE ordem-ini AS inte FORMAT ">>>,>>>,>>9":U INITIAL 0 LABEL "Ordem Prod" VIEW-AS FILL-IN SIZE 10 BY 1 NO-UNDO. DEFINE VARIABLE ordem-fim AS inte FORMAT ">>>,>>>,>>9":U INITIAL "999999999" VIEW-AS FILL-IN SIZE 10 BY 1 NO-UNDO. DEFINE IMAGE IMAGE-11 FILENAME "image\im-fir":U SIZE 3 BY 1. DEFINE IMAGE IMAGE-12 FILENAME "image\im-las":U SIZE 3 BY 1. DEFINE IMAGE IMAGE-21 FILENAME "image\im-fir":U SIZE 3 BY 1. DEFINE IMAGE IMAGE-22 FILENAME "image\im-las":U SIZE 3 BY 1. DEFINE IMAGE IMAGE-31 FILENAME "image\im-fir":U SIZE 3 BY 1. DEFINE IMAGE IMAGE-32 FILENAME "image\im-las":U SIZE 3 BY 1. DEFINE IMAGE IMAGE-41 FILENAME "image\im-fir":U SIZE 3 BY 1. DEFINE IMAGE IMAGE-42 FILENAME "image\im-las":U SIZE 3 BY 1. DEFINE BUTTON bt-ajuda LABEL "Ajuda" SIZE 10 BY 1. DEFINE BUTTON bt-cancelar AUTO-END-KEY LABEL "Fechar" SIZE 10 BY 1. DEFINE BUTTON bt-executar LABEL "Executar" SIZE 10 BY 1. DEFINE IMAGE im-pg-imp FILENAME "image\im-fldup":U SIZE 15.72 BY 1.21. DEFINE IMAGE im-pg-sel FILENAME "image\im-fldup":U SIZE 15.72 BY 1.21. DEFINE RECTANGLE RECT-1 EDGE-PIXELS 2 GRAPHIC-EDGE SIZE 79 BY 1.42 BGCOLOR 7 . DEFINE RECTANGLE RECT-6 EDGE-PIXELS 0 SIZE 78.72 BY .13 BGCOLOR 7 . DEFINE RECTANGLE rt-folder EDGE-PIXELS 1 GRAPHIC-EDGE NO-FILL SIZE 79 BY 11.38 FGCOLOR 0 . DEFINE RECTANGLE rt-folder-left EDGE-PIXELS 0 SIZE .43 BY 11.21 BGCOLOR 15 . DEFINE RECTANGLE rt-folder-right EDGE-PIXELS 0 SIZE .43 BY 11.17 BGCOLOR 7 . DEFINE RECTANGLE rt-folder-top EDGE-PIXELS 0 SIZE 78.72 BY .13 BGCOLOR 15 . /* ************************ Frame Definitions *********************** */ DEFINE FRAME f-relat bt-executar AT ROW 14.54 COL 3 HELP "Dispara a execu?Æo do relat¢rio" bt-cancelar AT ROW 14.54 COL 14 HELP "Fechar" bt-ajuda AT ROW 14.54 COL 70 HELP "Ajuda" rt-folder-left AT ROW 2.54 COL 2.14 rt-folder-top AT ROW 2.54 COL 2.14 RECT-1 AT ROW 14.29 COL 2 rt-folder-right AT ROW 2.67 COL 80.43 rt-folder AT ROW 2.5 COL 2 RECT-6 AT ROW 13.75 COL 2.14 im-pg-imp AT ROW 1.5 COL 17.72 im-pg-sel AT ROW 1.5 COL 2.14 WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY SIDE-LABELS NO-UNDERLINE THREE-D AT COL 1 ROW 1 SIZE 81 BY 15 DEFAULT-BUTTON bt-executar. DEFINE FRAME f-pg-imp rs-destino AT ROW 2.38 COL 3.29 HELP "Destino de ImpressÆo do Relat¢rio" NO-LABEL bt-arquivo AT ROW 3.58 COL 43.29 HELP "Escolha do nome do arquivo" bt-config-impr AT ROW 3.67 COL 43.29 HELP "Configura?Æo da impressora" c-arquivo AT ROW 3.71 COL 3.29 HELP "Nome do arquivo de destino do relat¢rio" NO-LABEL rs-execucao AT ROW 5.75 COL 3 HELP "Modo de Execu?Æo" NO-LABEL text-destino AT ROW 1.63 COL 3.86 NO-LABEL text-modo AT ROW 5 COL 1.29 COLON-ALIGNED NO-LABEL RECT-7 AT ROW 2 COL 2 RECT-9 AT ROW 5.29 COL 2.14 WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY SIDE-LABELS NO-UNDERLINE THREE-D AT COL 3 ROW 3 SIZE 73.72 BY 10. DEFINE FRAME f-pg-sel data-ini AT ROW 2.25 COL 12 COLON-ALIGNED data-fim AT ROW 2.25 COL 34 COLON-ALIGNED no-label ctrab-ini AT ROW 3.25 COL 12 COLON-ALIGNED ctrab-fim AT ROW 3.25 COL 34 COLON-ALIGNED no-label ordem-ini AT ROW 4.25 COL 12 COLON-ALIGNED ordem-fim AT ROW 4.25 COL 34 COLON-ALIGNED no-label it-ini AT ROW 5.25 COL 12 COLON-ALIGNED it-fim AT ROW 5.25 COL 34 COLON-ALIGNED no-label image-11 AT ROW 2.25 COL 28 COLON-ALIGNED image-12 AT ROW 2.25 COL 31 COLON-ALIGNED image-21 AT ROW 3.25 COL 28 COLON-ALIGNED image-22 AT ROW 3.25 COL 31 COLON-ALIGNED image-31 AT ROW 4.25 COL 28 COLON-ALIGNED image-32 AT ROW 4.25 COL 31 COLON-ALIGNED image-41 AT ROW 5.25 COL 28 COLON-ALIGNED image-42 AT ROW 5.25 COL 31 COLON-ALIGNED WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY SIDE-LABELS NO-UNDERLINE THREE-D AT COL 3 ROW 2.85 SIZE 76.86 BY 10.62 FONT 1. /* *********************** Procedure Settings ************************ */ &ANALYZE-SUSPEND _PROCEDURE-SETTINGS /* Settings for THIS-PROCEDURE Type: w-relat Allow: Basic,Browse,DB-Fields,Window,Query Add Fields to: Neither Other Settings: COMPILE */ &ANALYZE-RESUME _END-PROCEDURE-SETTINGS /* ************************* Create Window ************************** */ &ANALYZE-SUSPEND _CREATE-WINDOW IF SESSIONISPLAY-TYPE = "GUI":U THEN CREATE WINDOW w-relat ASSIGN HIDDEN = YES TITLE = "" HEIGHT = 15.58 WIDTH = 81.14 MAX-HEIGHT = 30.25 MAX-WIDTH = 194.86 VIRTUAL-HEIGHT = 30.25 VIRTUAL-WIDTH = 194.86 RESIZE = yes SCROLL-BARS = no STATUS-AREA = yes BGCOLOR = ? FGCOLOR = ? KEEP-FRAME-Z-ORDER = yes THREE-D = yes MESSAGE-AREA = no SENSITIVE = yes. ELSE {&WINDOW-NAME} = CURRENT-WINDOW. /* END WINDOW DEFINITION */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB w-relat /* ************************* Included-Libraries *********************** */ {src/adm/method/containr.i} {include/w-relat.i} {utp/ut-glob.i} /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* *********** Runtime Attributes and AppBuilder Settings *********** */ &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES /* SETTINGS FOR WINDOW w-relat VISIBLE,,RUN-PERSISTENT */ /* SETTINGS FOR FRAME f-pg-imp FRAME-NAME */ /* SETTINGS FOR FILL-IN text-destino IN FRAME f-pg-imp NO-DISPLAY NO-ENABLE ALIGN-L */ ASSIGN text-destinoRIVATE-DATA IN FRAME f-pg-imp = "Destino". /* SETTINGS FOR FILL-IN text-modo IN FRAME f-pg-imp NO-DISPLAY NO-ENABLE */ ASSIGN text-modoRIVATE-DATA IN FRAME f-pg-imp = "Execu?Æo". /* SETTINGS FOR FRAME f-pg-sel */ /* SETTINGS FOR FRAME f-relat */ /* SETTINGS FOR RECTANGLE RECT-1 IN FRAME f-relat NO-ENABLE */ /* SETTINGS FOR RECTANGLE RECT-6 IN FRAME f-relat NO-ENABLE */ /* SETTINGS FOR RECTANGLE rt-folder IN FRAME f-relat NO-ENABLE */ /* SETTINGS FOR RECTANGLE rt-folder-left IN FRAME f-relat NO-ENABLE */ /* SETTINGS FOR RECTANGLE rt-folder-right IN FRAME f-relat NO-ENABLE */ /* SETTINGS FOR RECTANGLE rt-folder-top IN FRAME f-relat NO-ENABLE */ IF SESSIONISPLAY-TYPE = "GUI":U AND VALID-HANDLE(w-relat) THEN w-relat:HIDDEN = no. /* _RUN-TIME-ATTRIBUTES-END */ &ANALYZE-RESUME /* Setting information for Queries and Browse Widgets fields */ &ANALYZE-SUSPEND _QUERY-BLOCK FRAME f-pg-imp /* Query rebuild information for FRAME f-pg-imp _Query is NOT OPENED */ /* FRAME f-pg-imp */ &ANALYZE-RESUME &ANALYZE-SUSPEND _QUERY-BLOCK FRAME f-pg-sel /* Query rebuild information for FRAME f-pg-sel _Query is NOT OPENED */ /* FRAME f-pg-sel */ &ANALYZE-RESUME /* ************************ Control Triggers ************************ */ &Scoped-define SELF-NAME w-relat &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL w-relat w-relat ON END-ERROR OF w-relat /* Relat¢rio de Concilia?Æo de Embarques */ OR ENDKEY OF {&WINDOW-NAME} ANYWHERE DO: /* This case occurs when the user presses the "Esc" key. In a persistently run window, just ignore this. If we did not, the application would exit. */ RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL w-relat w-relat ON WINDOW-CLOSE OF w-relat /* Relat¢rio de Concilia?Æo de Embarques */ DO: /* This event will close the window and terminate the procedure. */ APPLY "CLOSE":U TO THIS-PROCEDURE. RETURN NO-APPLY. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define FRAME-NAME f-relat &Scoped-define SELF-NAME bt-ajuda &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL bt-ajuda w-relat ON CHOOSE OF bt-ajuda IN FRAME f-relat /* Ajuda */ DO: {include/ajuda.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define FRAME-NAME f-pg-imp &Scoped-define SELF-NAME bt-arquivo &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL bt-arquivo w-relat ON CHOOSE OF bt-arquivo IN FRAME f-pg-imp DO: {include/i-rparq.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define FRAME-NAME f-relat &Scoped-define SELF-NAME bt-cancelar &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL bt-cancelar w-relat ON CHOOSE OF bt-cancelar IN FRAME f-relat /* Fechar */ DO: apply "close" to this-procedure. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define FRAME-NAME f-pg-imp &Scoped-define SELF-NAME bt-config-impr &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL bt-config-impr w-relat ON CHOOSE OF bt-config-impr IN FRAME f-pg-imp DO: {include/i-rpimp.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define FRAME-NAME f-relat &Scoped-define SELF-NAME bt-executar &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL bt-executar w-relat ON CHOOSE OF bt-executar IN FRAME f-relat /* Executar */ DO: do on error undo, return no-apply: run pi-executar. end. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME im-pg-imp &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL im-pg-imp w-relat ON MOUSE-SELECT-CLICK OF im-pg-imp IN FRAME f-relat DO: run pi-troca-pagina. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME im-pg-sel &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL im-pg-sel w-relat ON MOUSE-SELECT-CLICK OF im-pg-sel IN FRAME f-relat DO: run pi-troca-pagina. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define FRAME-NAME f-pg-imp &Scoped-define SELF-NAME rs-destino &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL rs-destino w-relat ON VALUE-CHANGED OF rs-destino IN FRAME f-pg-imp DO: do with frame f-pg-imp: case self:screen-value: when "1" then do: assign c-arquivo:sensitive = no bt-arquivo:visible = no bt-config-impr:visible = yes. end. when "2" then do: assign c-arquivo:sensitive = yes bt-arquivo:visible = yes bt-config-impr:visible = no. end. when "3" then do: assign c-arquivo:sensitive = no bt-arquivo:visible = no bt-config-impr:visible = no. end. end case. end. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &Scoped-define SELF-NAME rs-execucao &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL rs-execucao w-relat ON VALUE-CHANGED OF rs-execucao IN FRAME f-pg-imp DO: {include/i-rprse.i} END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &UNDEFINE SELF-NAME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK w-relat /* *************************** Main Block *************************** */ /* Set CURRENT-WINDOW: this will parent dialog-boxes and frames. */ ASSIGN CURRENT-WINDOW = {&WINDOW-NAME} THIS-PROCEDURE:CURRENT-WINDOW = {&WINDOW-NAME}. {utp/ut9000.i "ESCP001" "2.06.00.000"} /* inicializa?äes do template de relat¢rio */ {include/i-rpini.i} /* The CLOSE event can be used from inside or outside the procedure to */ /* terminate it. */ ON CLOSE OF THIS-PROCEDURE RUN disable_UI. {include/i-rplbl.i} /* Best default for GUI applications is... */ PAUSE 0 BEFORE-HIDE. /* Now enable the interface and wait for the exit condition. */ /* (NOTE: handle ERROR and END-KEY so cleanup code will always fire. */ MAIN-BLOCK: DO ON ERROR UNDO MAIN-BLOCK, LEAVE MAIN-BLOCK ON END-KEY UNDO MAIN-BLOCK, LEAVE MAIN-BLOCK: RUN enable_UI. /*ASSIGN bt-arquivo-entrada:HIDDEN IN FRAME f-pg-sel = YES.*/ {include/i-rpmbl.i} IF NOT THIS-PROCEDUREERSISTENT THEN WAIT-FOR CLOSE OF THIS-PROCEDURE. END. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME /* ********************** Internal Procedures *********************** */ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects w-relat _ADM-CREATE-OBJECTS PROCEDURE adm-create-objects : /*------------------------------------------------------------------------------ Purpose: Create handles for all SmartObjects used in this procedure. After SmartObjects are initialized, then SmartLinks are added. Parameters: <none> ------------------------------------------------------------------------------*/ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available w-relat _ADM-ROW-AVAILABLE PROCEDURE adm-row-available : /*------------------------------------------------------------------------------ Purpose: Dispatched to this procedure when the Record- Source has a new row available. This procedure tries to get the new row (or foriegn keys) from the Record-Source and process it. Parameters: <none> ------------------------------------------------------------------------------*/ /* Define variables needed by this internal procedure. */ {src/adm/template/row-head.i} /* Process the newly available records (i.e. display fields, open queries, and/or pass records on to any RECORD-TARGETS). */ {src/adm/template/row-end.i} END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI w-relat _DEFAULT-DISABLE PROCEDURE disable_UI : /*------------------------------------------------------------------------------ Purpose: DISABLE the User Interface Parameters: <none> Notes: Here we clean-up the user-interface by deleting dynamic widgets we have created and/or hide frames. This procedure is usually called when we are ready to "clean-up" after running. ------------------------------------------------------------------------------*/ /* Delete the WINDOW we created */ IF SESSIONISPLAY-TYPE = "GUI":U AND VALID-HANDLE(w-relat) THEN DELETE WIDGET w-relat. IF THIS-PROCEDUREERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI w-relat _DEFAULT-ENABLE PROCEDURE enable_UI : /*------------------------------------------------------------------------------ Purpose: ENABLE the User Interface Parameters: <none> Notes: Here we display/view/enable the widgets in the user-interface. In addition, OPEN all queries associated with each FRAME and BROWSE. These statements here are based on the "Other Settings" section of the widget Property Sheets. ------------------------------------------------------------------------------*/ ENABLE im-pg-imp im-pg-sel bt-executar bt-cancelar bt-ajuda WITH FRAME f-relat IN WINDOW w-relat. {&OPEN-BROWSERS-IN-QUERY-f-relat} DISPLAY data-ini data-fim ctrab-ini ctrab-fim ordem-ini ordem-fim it-ini it-fim WITH FRAME f-pg-sel IN WINDOW w-relat. ENABLE data-ini data-fim ctrab-ini ctrab-fim ordem-ini ordem-fim it-ini it-fim image-11 image-12 image-21 image-22 image-31 image-32 image-41 image-42 WITH FRAME f-pg-sel IN WINDOW w-relat. {&OPEN-BROWSERS-IN-QUERY-f-pg-sel} DISPLAY rs-destino c-arquivo rs-execucao WITH FRAME f-pg-imp IN WINDOW w-relat. ENABLE RECT-7 RECT-9 rs-destino bt-arquivo bt-config-impr c-arquivo rs-execucao WITH FRAME f-pg-imp IN WINDOW w-relat. {&OPEN-BROWSERS-IN-QUERY-f-pg-imp} VIEW w-relat. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-exit w-relat PROCEDURE local-exit : /* ----------------------------------------------------------- Purpose: Starts an "exit" by APPLYing CLOSE event, which starts "destroy". Parameters: <none> Notes: If activated, should APPLY CLOSE, *not* dispatch adm-exit. -------------------------------------------------------------*/ APPLY "CLOSE":U TO THIS-PROCEDURE. RETURN. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE pi-executar w-relat PROCEDURE pi-executar : /*------------------------------------------------------------------------------ Purpose: Parameters: <none> Notes: ------------------------------------------------------------------------------*/ define var r-tt-digita as rowid no-undo. do on error undo, return error on stop undo, return error: {include/i-rpexa.i} /* if input FRAME f-pg-imp rs-destino = 2 and */ /* input FRAME f-pg-imp rs-execucao = 1 then do: */ /* run utp/ut-vlarq.p (input input FRAME f-pg-imp c-arquivo). */ /* */ /* if return-value = "NOK":U then do: */ /* run utp/ut-msgs.p (input "show", input 73, input ""). */ /* */ /* apply "MOUSE-SELECT-CLICK":U to im-pg-imp in FRAME f-relat. */ /* apply "ENTRY":U to c-arquivo in FRAME f-pg-imp. */ /* return error. */ /* end. */ /* end. */ /* Coloque aqui as valida?äes das outras p ginas, lembrando que elas devem apresentar uma mensagem de erro cadastrada, posicionar na p gina com problemas e colocar o focus no campo com problemas */ /* Aqui sÆo gravados os campos da temp-table que ser passada como par?metro para o programa RP.P */ create tt-param. assign tt-param.usuario = c-seg-usuario tt-param.destino = input FRAME f-pg-imp rs-destino tt-param.data-exec = today tt-param.hora-exec = time tt-param.data-ini = input frame f-pg-sel data-ini tt-param.data-fim = input frame f-pg-sel data-fim tt-param.ctrab-ini = input frame f-pg-sel ctrab-ini tt-param.ctrab-fim = input frame f-pg-sel ctrab-fim tt-param.ordem-ini = input frame f-pg-sel ordem-ini tt-param.ordem-fim = input frame f-pg-sel ordem-fim tt-param.it-ini = input frame f-pg-sel it-ini tt-param.it-fim = input frame f-pg-sel it-fim. /* if tt-param.destino = 1 */ /* then assign tt-param.arquivo = "". */ /* else if tt-param.destino = 2 */ /* then assign tt-param.arquivo = input FRAME f-pg-imp c-arquivo. */ /* else assign tt-param.arquivo = session:temp-directory + c-programa-mg97 + ".tmp". */ /* Coloque aqui a l¢gica de grava?Æo dos demais campos que devem ser passados como par?metros para o programa RP.P, atrav?s da temp-table tt-param */ /* Executar do programa RP.P que ir criar o relat¢rio */ {include/i-rpexb.i} SESSION:SET-WAIT-STATE("general":U). {include/i-rprun.i esp/escp001rp.p} {include/i-rpexc.i} SESSION:SET-WAIT-STATE("":U). {include/i-rptrm.i} end. END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE pi-troca-pagina w-relat PROCEDURE pi-troca-pagina : /*------------------------------------------------------------------------------ Purpose: Gerencia a Troca de P gina (folder) Parameters: <none> Notes: ------------------------------------------------------------------------------*/ {include/i-rptrp.i} END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records w-relat _ADM-SEND-RECORDS PROCEDURE send-records : /*------------------------------------------------------------------------------ Purpose: Send record ROWID's for all tables used by this file. Parameters: see template/snd-head.i ------------------------------------------------------------------------------*/ /* SEND-RECORDS does nothing because there are no External Tables specified for this w-relat, and there are no tables specified in any contained Browse, Query, or Frame. */ END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed w-relat PROCEDURE state-changed : /* ----------------------------------------------------------- Purpose: Parameters: <none> Notes: -------------------------------------------------------------*/ DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO. DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO. run pi-trata-state (p-issuer-hdl, p-state). END PROCEDURE. /* _UIB-CODE-BLOCK-END */ &ANALYZE-RESUME
então, se está saindo o seu excel no bloco de notas é porque vc está fazendo put na saida padrão do relatorio, que é o bloco de notas, crie um stream-io pra vc e faça o seu output to e put para a stream que vc criou, dai não vai pro bloco de notas.