{include/i-rpvar.i} PROCEDURE pi_before_output: DEFINE INPUT PARAMETER pImpressora AS CHARACTER NO-UNDO. DEFINE INPUT PARAMETER pLayout AS CHARACTER NO-UNDO. DEFINE INPUT PARAMETER pUsuario AS CHARACTER NO-UNDO. DEFINE INPUT-OUTPUT PARAMETER pArqControl AS CHARACTER NO-UNDO. DEFINE INPUT-OUTPUT PARAMETER pNumLinPag AS INTEGER NO-UNDO. DEFINE INPUT-OUTPUT PARAMETER pPagCaracConver AS CHARACTER NO-UNDO. /* pega o nome do relatorio */ DEFINE VARIABLE cProg AS CHARACTER NO-UNDO INITIAL "". DEFINE VARIABLE hProg AS HANDLE NO-UNDO. ASSIGN hProg = THIS-PROCEDURE:INSTANTIATING-PROCEDURE. IF VALID-HANDLE(hProg) THEN ASSIGN cProg = REPLACE(hProg:FILE-NAME, "~\", "/") cProg = ENTRY(NUM-ENTRIES(cProg, "/"), cProg, "/") cProg = ENTRY(1, cProg, "."). IF cProg = ? THEN ASSIGN cProg = "". ASSIGN pArqControl = "c:\fndlm\upc\" + cProg + "_" + pUsuario + "_" + pImpressora + ".txt". LOG-MANAGER:WRITE-MESSAGE("impressora " + pImpressora , "DEBUG"). LOG-MANAGER:WRITE-MESSAGE("layout " + pLayout , "DEBUG"). LOG-MANAGER:WRITE-MESSAGE("usuario " + pUsuario , "DEBUG"). LOG-MANAGER:WRITE-MESSAGE("arq-control " + pArqControl , "DEBUG"). LOG-MANAGER:WRITE-MESSAGE("num_lin_pag " + String(pNumLinPag) , "DEBUG"). LOG-MANAGER:WRITE-MESSAGE("cod_pag_carac_conver " + pPagCaracConver , "DEBUG"). END PROCEDURE. PROCEDURE pi_after_output: DEFINE INPUT-OUTPUT PARAMETER table FOR tt-configur_layout_impres_inicio. FOR EACH tt-configur_layout_impres_inicio: LOG-MANAGER:WRITE-MESSAGE("tt-configur_layout_impres_inicio.num_ord_funcao_imprsor " + String(tt-configur_layout_impres_inicio.num_ord_funcao_imprsor) , "DEBUG"). LOG-MANAGER:WRITE-MESSAGE("tt-configur_layout_impres_inicio.cod_funcao_imprsor " + tt-configur_layout_impres_inicio.cod_funcao_imprsor , "DEBUG"). LOG-MANAGER:WRITE-MESSAGE("tt-configur_layout_impres_inicio.cod_opc_funcao_imprsor " + tt-configur_layout_impres_inicio.cod_opc_funcao_imprsor , "DEBUG"). LOG-MANAGER:WRITE-MESSAGE("tt-configur_layout_impres_inicio.num_carac_configur " + String(tt-configur_layout_impres_inicio.num_carac_configur) , "DEBUG"). END. END PROCEDURE. PROCEDURE pi_before_close: DEFINE INPUT-OUTPUT PARAMETER table FOR tt-configur_layout_impres_fim. FOR EACH tt-configur_layout_impres_fim: LOG-MANAGER:WRITE-MESSAGE("tt-configur_layout_impres_fim.num_ord_funcao_imprsor " + string(tt-configur_layout_impres_fim.num_ord_funcao_imprsor) , "DEBUG"). LOG-MANAGER:WRITE-MESSAGE("tt-configur_layout_impres_fim.cod_funcao_imprsor " + tt-configur_layout_impres_fim.cod_funcao_imprsor , "DEBUG"). LOG-MANAGER:WRITE-MESSAGE("tt-configur_layout_impres_fim.cod_opc_funcao_imprsor " + tt-configur_layout_impres_fim.cod_opc_funcao_imprsor , "DEBUG"). LOG-MANAGER:WRITE-MESSAGE("tt-configur_layout_impres_fim.num_carac_configur " + string(tt-configur_layout_impres_fim.num_carac_configur) , "DEBUG"). END. END PROCEDURE. PROCEDURE pi_after_close: DEFINE INPUT PARAMETER pArqControl AS CHARACTER NO-UNDO. DEFINE VARIABLE cImp AS CHARACTER NO-UNDO. ASSIGN cImp = substr(pArqControl, R-INDEX(pArqControl,"\") + 1, R-INDEX(pArqControl,'.') - r-index(pArqControl,"\") - 1). LOG-MANAGER:WRITE-MESSAGE("arq-control " + pArqControl , "DEBUG"). LOG-MANAGER:WRITE-MESSAGE("nom_impressora " + ENTRY(3,cImp,"_") , "DEBUG"). FIND FIRST impressora WHERE impressora.nom_impressora = ENTRY(3,cImp,"_") NO-LOCK NO-ERROR. IF AVAILABLE impressora THEN DO: LOG-MANAGER:WRITE-MESSAGE("nom_impressora " + impressora.nom_impressora + " | cod_usuario" + ENTRY(2,cImp,"_") , "DEBUG"). FIND FIRST imprsor_usuar WHERE imprsor_usuar.nom_impressora = impressora.nom_impressora AND imprsor_usuar.cod_usuario = ENTRY(2,cImp,"_") NO-LOCK NO-ERROR. IF AVAILABLE imprsor_usuar THEN DO: IF OPSYS = "unix" THEN OS-COMMAND SILENT NO-WAIT "lp -d " + imprsor_usuar.nom_disposit_so + " " + pArqControl. ELSE DO : DEFINE VARIABLE cCmd AS CHARACTER NO-UNDO. ASSIGN cCmd = "print /D:" + imprsor_usuar.nom_disposit_so + " " + pArqControl. LOG-MANAGER:WRITE-MESSAGE("cCmd " + cCmd , "DEBUG"). OS-COMMAND SILENT NO-WAIT VALUE(cCmd). END. END. END. END PROCEDURE. PROCEDURE pi_before_output_ems5: DEFINE INPUT PARAMETER pProgName AS CHARACTER NO-UNDO. DEFINE INPUT PARAMETER pImpressora AS CHARACTER NO-UNDO. DEFINE INPUT PARAMETER pLayout AS CHARACTER NO-UNDO. DEFINE INPUT PARAMETER pUsuario AS CHARACTER NO-UNDO. DEFINE INPUT-OUTPUT PARAMETER pArqControl AS CHARACTER NO-UNDO. DEFINE INPUT-OUTPUT PARAMETER pNumLinPag AS INTEGER NO-UNDO. DEFINE INPUT-OUTPUT PARAMETER pPagCaracConver AS CHARACTER NO-UNDO. ASSIGN pArqControl = "c:\fndlm\upc\" + pProgName + "_" + pUsuario + "_" + pImpressora + ".txt". LOG-MANAGER:WRITE-MESSAGE("programa " + pProgName , "DEBUG"). LOG-MANAGER:WRITE-MESSAGE("impressora " + pImpressora , "DEBUG"). LOG-MANAGER:WRITE-MESSAGE("layout " + pLayout , "DEBUG"). LOG-MANAGER:WRITE-MESSAGE("usuario " + pUsuario , "DEBUG"). LOG-MANAGER:WRITE-MESSAGE("arq-control " + pArqControl , "DEBUG"). LOG-MANAGER:WRITE-MESSAGE("num_lin_pag " + String(pNumLinPag) , "DEBUG"). LOG-MANAGER:WRITE-MESSAGE("cod_pag_carac_conver " + pPagCaracConver , "DEBUG"). END PROCEDURE. PROCEDURE pi_after_output_ems5: DEFINE INPUT PARAMETER pProgName AS CHARACTER NO-UNDO. DEFINE INPUT-OUTPUT PARAMETER table FOR tt-configur_layout_impres_inicio. DEFINE VARIABLE i-cont AS INTEGER NO-UNDO. DEFINE VARIABLE cLin AS CHARACTER NO-UNDO. LOG-MANAGER:WRITE-MESSAGE("programa " + pProgName , "DEBUG"). FOR EACH tt-configur_layout_impres_inicio BY tt-configur_layout_impres_inicio.num_ord_funcao_imprsor: LOG-MANAGER:WRITE-MESSAGE("tt-configur_layout_impres_inicio.num_ord_funcao_imprsor " + String(tt-configur_layout_impres_inicio.num_ord_funcao_imprsor) , "DEBUG"). LOG-MANAGER:WRITE-MESSAGE("tt-configur_layout_impres_inicio.cod_funcao_imprsor " + tt-configur_layout_impres_inicio.cod_funcao_imprsor , "DEBUG"). LOG-MANAGER:WRITE-MESSAGE("tt-configur_layout_impres_inicio.cod_opc_funcao_imprsor " + tt-configur_layout_impres_inicio.cod_opc_funcao_imprsor , "DEBUG"). ASSIGN cLin = "". DO i-cont = 1 TO EXTENT(tt-configur_layout_impres_inicio.num_carac_configur): CASE tt-configur_layout_impres_inicio.num_carac_configur[i-cont]: WHEN ? THEN LEAVE. WHEN 0 THEN ASSIGN cLin = cLin + "null,". OTHERWISE ASSIGN cLin = cLin + string(tt-configur_layout_impres_inicio.num_carac_configur[i-cont]) + ",". END CASE. END. LOG-MANAGER:WRITE-MESSAGE("tt-configur_layout_impres_inicio.num_carac_configur - " + cLin, "DEBUG"). END. END PROCEDURE. PROCEDURE pi_before_close_ems5: DEFINE INPUT PARAMETER pProgName AS CHARACTER NO-UNDO. DEFINE INPUT-OUTPUT PARAMETER table FOR tt-configur_layout_impres_fim. LOG-MANAGER:WRITE-MESSAGE("programa " + pProgName , "DEBUG"). FOR EACH tt-configur_layout_impres_fim: LOG-MANAGER:WRITE-MESSAGE("tt-configur_layout_impres_fim.num_ord_funcao_imprsor " + string(tt-configur_layout_impres_fim.num_ord_funcao_imprsor) , "DEBUG"). LOG-MANAGER:WRITE-MESSAGE("tt-configur_layout_impres_fim.cod_funcao_imprsor " + tt-configur_layout_impres_fim.cod_funcao_imprsor , "DEBUG"). LOG-MANAGER:WRITE-MESSAGE("tt-configur_layout_impres_fim.cod_opc_funcao_imprsor " + tt-configur_layout_impres_fim.cod_opc_funcao_imprsor , "DEBUG"). LOG-MANAGER:WRITE-MESSAGE("tt-configur_layout_impres_fim.num_carac_configur " + string(tt-configur_layout_impres_fim.num_carac_configur[1]) , "DEBUG"). END. END PROCEDURE. PROCEDURE pi_after_close_ems5: DEFINE INPUT PARAMETER pProgName AS CHARACTER NO-UNDO. DEFINE INPUT PARAMETER pArqControl AS CHARACTER NO-UNDO. LOG-MANAGER:WRITE-MESSAGE("programa " + pProgName , "DEBUG"). LOG-MANAGER:WRITE-MESSAGE("arq-control " + pArqControl , "DEBUG"). END PROCEDURE. /* fim */