Documento de API
Produto: | Datasul |
Ocorrência: | Documentação para ajuste do programa |
Nome Físico | bcp\bc9026.p |
Considerações Gerais
Objetivo
Apresenta as principais modificações efetuadas no programa de geração de etiquetas a fim de viabilizar a atualização de programas específicos.
Funcionamento
O programa BC9026 foi modificado com o propósito de permitir que as subtelas operem de maneira persistente, a fim de evitar o bloqueio de outras telas.
A passagem de parâmetros do programa BC9026A foi modificada, e parte da lógica associada aos botões BT-Incluir-DC, BT-Incluir-IT,
BT-Incluir-OP, BT-Incluir-RF, BT-Modificar-DC, BT-Modificar-IT, BT-Modificar-OP e BT-Modificar-RF foi removida. As lógicas removidas foram centralizadas
na procedure denominada PIAtualizaReg.
Observação: As procedures incorporadas no programa BC9026, nomeadamente PIAtualizaChaveReg, PIAtualizaReg, PIBloqWindow e PILibWindow, são acionadas pelo BC9026A.
ON CHOOSE OF bt-incluir-dc IN FRAME fPage3 /* Incluir */ DO: ASSIGN i-num-seq-item = 0 c-it-codigo = "" c-lote = "" c-cod-refer = "" c-cod-embalagem = "" de-qtd-item = 0 de-qtd-item-embalagem = 0 de-qtd-peso-item = 0 de-qtd-etiqueta = 0. ASSIGN {&WINDOW-NAME}:SENSITIVE = NO. IF br-dc-tela:NUM-SELECTED-ROWS > 0 THEN DO: IF AVAIL tt-browse-tela THEN DO: GET CURRENT br-dc-tela. ASSIGN i-num-seq-item = tt-browse-tela.num-seq c-it-codigo = tt-browse-tela.it-codigo c-lote = tt-browse-tela.lote c-cod-refer = tt-browse-tela.cod-refer c-cod-embalagem = tt-browse-tela.cod-embalagem. RUN bcp/bc9026a.w PERSISTENT SET h-bc9026a ( INPUT THIS-PROCEDURE, INPUT 4, INPUT dc-estab:SCREEN-VALUE, INPUT dc-local:SCREEN-VALUE, INPUT tt-browse-tela.id-docto, INPUT dc-numero:SCREEN-VALUE, INPUT i-num-seq-item, INPUT c-it-codigo, INPUT c-lote, INPUT c-cod-refer, INPUT c-cod-embalagem, INPUT de-qtd-item, INPUT de-qtd-peso-item, INPUT de-qtd-etiqueta, INPUT de-qtd-item-embalagem, INPUT 1). RUN dispatch IN h-bc9026a('initialize'). END. END. ELSE DO: RUN bcp/bc9026a.w PERSISTENT SET h-bc9026a ( INPUT THIS-PROCEDURE, INPUT 2, INPUT dc-estab:SCREEN-VALUE, INPUT dc-local:SCREEN-VALUE, INPUT DECIMAL(dc-id-docto:SCREEN-VALUE), INPUT dc-numero:SCREEN-VALUE, INPUT i-num-seq-item, INPUT c-it-codigo, INPUT c-lote, INPUT c-cod-refer, INPUT c-cod-embalagem, INPUT de-qtd-item, INPUT de-qtd-peso-item, INPUT de-qtd-etiqueta, INPUT de-qtd-item-embalagem, INPUT 2). RUN dispatch IN h-bc9026a('initialize'). END. END. |
ON CHOOSE OF bt-incluir-it IN FRAME fPage2 /* Incluir */ DO: ASSIGN i-num-seq-item = 0 c-it-codigo = it-item:SCREEN-VALUE c-lote = it-lote:SCREEN-VALUE c-cod-refer = it-referencia:SCREEN-VALUE c-cod-embalagem = "" de-qtd-item = 0 de-qtd-item-embalagem = 0 de-qtd-peso-item = 0 de-qtd-etiqueta = 0 dt-validadeLote = DATE(it-dt-validade-lote:SCREEN-VALUE). RUN bcp/bc9026a.w PERSISTENT SET h-bc9026a ( INPUT THIS-PROCEDURE, INPUT 1, INPUT it-estab:SCREEN-VALUE, INPUT it-local:SCREEN-VALUE, INPUT 0, INPUT 0, INPUT i-num-seq-item, INPUT c-it-codigo, INPUT c-lote, INPUT c-cod-refer, INPUT c-cod-embalagem, INPUT de-qtd-item, INPUT de-qtd-peso-item, INPUT de-qtd-etiqueta, INPUT de-qtd-item-embalagem, INPUT 3). RUN dispatch IN h-bc9026a('initialize'). END.
|
ON CHOOSE OF bt-incluir-op IN FRAME fPage1 /* Incluir */ DO: ASSIGN i-num-seq-item = 0 c-it-codigo = c-item-aux c-lote = op-lote:SCREEN-VALUE c-cod-refer = op-referencia:SCREEN-VALUE c-cod-embalagem = "" de-qtd-item = 0 de-qtd-peso-item = 0 de-qtd-etiqueta = 0. RUN bcp/bc9026a.w PERSISTENT SET h-bc9026a ( INPUT THIS-PROCEDURE, INPUT 1, INPUT c-estab-aux, INPUT op-local:SCREEN-VALUE, INPUT 0, INPUT 0, INPUT i-num-seq-item, INPUT c-it-codigo, INPUT c-lote, INPUT c-cod-refer, INPUT c-cod-embalagem, INPUT de-qtd-item, INPUT de-qtd-peso-item, INPUT de-qtd-etiqueta, INPUT de-qtd-item-embalagem, INPUT 4). RUN dispatch IN h-bc9026a('initialize'). END.
|
ON CHOOSE OF bt-incluir-rf IN FRAME fPage4 /* Incluir */ DO: IF br-rf-tela:NUM-SELECTED-ROWS > 0 THEN DO: IF AVAIL tt-browse-tela THEN DO: GET CURRENT br-rf-tela. ASSIGN i-num-seq-item = tt-browse-tela.num-seq c-it-codigo = tt-browse-tela.it-codigo c-lote = tt-browse-tela.lote c-cod-refer = tt-browse-tela.cod-refer c-cod-embalagem = tt-browse-tela.cod-embalagem. ASSIGN {&WINDOW-NAME}:SENSITIVE = NO. RUN bcp/bc9026a.w PERSISTENT SET h-bc9026a ( INPUT THIS-PROCEDURE, INPUT 4, INPUT rf-estab, INPUT rf-local, INPUT tt-browse-tela.id-docto, INPUT rf-numero:SCREEN-VALUE IN FRAME fPage4, INPUT i-num-seq-item, INPUT c-it-codigo, INPUT c-lote, INPUT c-cod-refer, INPUT c-cod-embalagem, INPUT de-qtd-item, INPUT de-qtd-peso-item, INPUT de-qtd-etiqueta, INPUT de-qtd-item-embalagem, INPUT 5). RUN dispatch IN h-bc9026a('initialize'). END. END. ELSE DO: ASSIGN i-num-seq-item = 0 c-it-codigo = "" c-lote = "" c-cod-refer = "" c-cod-embalagem = "" de-qtd-item = 0 de-qtd-peso-item = 0 de-qtd-etiqueta = 0. RUN bcp/bc9026a.w PERSISTENT SET h-bc9026a ( INPUT THIS-PROCEDURE, INPUT 2, INPUT rf-estab, INPUT rf-local, INPUT 0, INPUT rf-numero:SCREEN-VALUE IN FRAME fPage4, INPUT i-num-seq-item, INPUT c-it-codigo, INPUT c-lote, INPUT c-cod-refer, INPUT c-cod-embalagem, INPUT de-qtd-item, INPUT de-qtd-peso-item, INPUT de-qtd-etiqueta, INPUT de-qtd-item-embalagem, INPUT 6). RUN dispatch IN h-bc9026a('initialize'). END. APPLY "VALUE-CHANGED" TO br-rf-tela IN FRAME fPage4. END.
|
ON CHOOSE OF bt-modificar-dc IN FRAME fPage3 /* Modificar */ DO: IF br-dc-tela:NUM-SELECTED-ROWS > 0 THEN DO: IF AVAIL tt-browse-tela THEN DO: GET CURRENT br-dc-tela. ASSIGN i-num-seq-item = tt-browse-tela.num-seq c-it-codigo = tt-browse-tela.it-codigo c-lote = tt-browse-tela.lote c-cod-refer = tt-browse-tela.cod-refer c-cod-embalagem = tt-browse-tela.cod-embalagem de-qtd-item = tt-browse-tela.qtd-item de-qtd-item-embalagem = tt-browse-tela.qtd-item-embalagem de-qtd-peso-item = tt-browse-tela.qtd-peso-item de-qtd-etiqueta = tt-browse-tela.qtd-etiqueta. RUN bcp/bc9026a.w PERSISTENT SET h-bc9026a ( INPUT THIS-PROCEDURE, INPUT 3, INPUT dc-estab:SCREEN-VALUE, INPUT dc-local:SCREEN-VALUE, INPUT tt-browse-tela.id-docto, INPUT dc-numero:SCREEN-VALUE, INPUT i-num-seq-item, INPUT c-it-codigo, INPUT c-lote, INPUT c-cod-refer, INPUT c-cod-embalagem, INPUT de-qtd-item, INPUT de-qtd-peso-item, INPUT de-qtd-etiqueta, INPUT de-qtd-item-embalagem, INPUT 7). RUN dispatch IN h-bc9026a('initialize'). END. END. APPLY "VALUE-CHANGED" TO br-dc-tela IN FRAME fPage3. END. |
ON CHOOSE OF bt-modificar-it IN FRAME fPage2 /* Modificar */ DO: IF br-it-tela:NUM-SELECTED-ROWS > 0 THEN DO: IF AVAIL tt-browse-tela THEN DO: GET CURRENT br-it-tela. ASSIGN i-num-seq-item = tt-browse-tela.num-seq c-it-codigo = tt-browse-tela.it-codigo c-lote = tt-browse-tela.lote c-cod-refer = tt-browse-tela.cod-refer c-cod-embalagem = tt-browse-tela.cod-embalagem de-qtd-item = tt-browse-tela.qtd-item de-qtd-item-embalagem = tt-browse-tela.qtd-item-embalagem de-qtd-peso-item = tt-browse-tela.qtd-peso-item de-qtd-etiqueta = tt-browse-tela.qtd-etiqueta. RUN bcp/bc9026a.w PERSISTENT SET h-bc9026a ( INPUT THIS-PROCEDURE, INPUT 3, INPUT tt-browse-tela.cod-estabel, INPUT tt-browse-tela.cod-local, INPUT tt-browse-tela.id-docto, INPUT 0, INPUT i-num-seq-item, INPUT c-it-codigo, INPUT c-lote, INPUT c-cod-refer, INPUT c-cod-embalagem, INPUT de-qtd-item, INPUT de-qtd-peso-item, INPUT de-qtd-etiqueta, INPUT de-qtd-item-embalagem, INPUT 7). RUN dispatch IN h-bc9026a('initialize'). END. END. APPLY "VALUE-CHANGED" TO br-it-tela IN FRAME fPage2. END.
|
ON CHOOSE OF bt-modificar-op IN FRAME fPage1 /* Modificar */ DO: IF br-op-tela:NUM-SELECTED-ROWS > 0 THEN DO: IF AVAIL tt-browse-tela THEN DO: GET CURRENT br-op-tela. ASSIGN i-num-seq-item = tt-browse-tela.num-seq c-it-codigo = c-item-aux c-lote = op-lote:SCREEN-VALUE c-cod-refer = op-referencia:SCREEN-VALUE c-cod-embalagem = tt-browse-tela.cod-embalagem de-qtd-item = tt-browse-tela.qtd-item de-qtd-peso-item = tt-browse-tela.qtd-peso-item de-qtd-etiqueta = tt-browse-tela.qtd-etiqueta. RUN bcp/bc9026a.w PERSISTENT SET h-bc9026a ( INPUT THIS-PROCEDURE, INPUT 3, INPUT c-estab-aux, INPUT op-local:SCREEN-VALUE, INPUT tt-browse-tela.id-docto, INPUT 0, INPUT i-num-seq-item, INPUT c-it-codigo, INPUT c-lote, INPUT c-cod-refer, INPUT c-cod-embalagem, INPUT de-qtd-item, INPUT de-qtd-peso-item, INPUT de-qtd-etiqueta, INPUT de-qtd-item-embalagem, INPUT 8). RUN dispatch IN h-bc9026a('initialize'). END. END. APPLY "VALUE-CHANGED" TO br-op-tela IN FRAME fPage1. END.
|
ON CHOOSE OF bt-modificar-rf IN FRAME fPage4 /* Modificar */ DO: IF br-rf-tela:NUM-SELECTED-ROWS > 0 THEN DO: IF AVAIL tt-browse-tela THEN DO: GET CURRENT br-rf-tela. ASSIGN i-num-seq-item = tt-browse-tela.num-seq c-it-codigo = tt-browse-tela.it-codigo c-lote = tt-browse-tela.lote c-cod-refer = tt-browse-tela.cod-refer c-cod-embalagem = tt-browse-tela.cod-embalagem de-qtd-item = tt-browse-tela.qtd-item de-qtd-peso-item = tt-browse-tela.qtd-peso-item de-qtd-etiqueta = tt-browse-tela.qtd-etiqueta. RUN bcp/bc9026a.w PERSISTENT SET h-bc9026a ( INPUT THIS-PROCEDURE, INPUT 3, INPUT rf-estab, INPUT rf-local, INPUT tt-browse-tela.id-docto, INPUT rf-numero:SCREEN-VALUE IN FRAME fPage4, INPUT i-num-seq-item, INPUT c-it-codigo, INPUT c-lote, INPUT c-cod-refer, INPUT c-cod-embalagem, INPUT de-qtd-item, INPUT de-qtd-peso-item, INPUT de-qtd-etiqueta, INPUT de-qtd-item-embalagem, INPUT 9). RUN dispatch IN h-bc9026a('initialize'). END. END. APPLY "VALUE-CHANGED" TO br-rf-tela IN FRAME fPage4. END.
|
A procedure PIAtualizaChaveReg recebe os parâmetros retornados pelo programa BC9026A.
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE piAtualizaChaveReg wWindow PROCEDURE piAtualizaChaveReg : /*------------------------------------------------------------------------------ Purpose: Atualiza registros Parameters: <none> Notes: ------------------------------------------------------------------------------*/ DEFINE INPUT PARAM p-i-num-seq-item LIKE wm-docto-itens.num-seq-item NO-UNDO. DEFINE INPUT PARAM p-c-it-codigo LIKE wm-item.cod-item NO-UNDO. DEFINE INPUT PARAM p-c-lote LIKE wm-docto-itens.cod-lote NO-UNDO. DEFINE INPUT PARAM p-c-cod-refer LIKE wm-docto-itens.cod-refer NO-UNDO. DEFINE INPUT PARAM p-c-cod-embalagem LIKE wm-embalagem.cod-embalagem NO-UNDO. DEFINE INPUT PARAM p-de-qtd-item LIKE wm-docto-itens.qtd-item NO-UNDO. DEFINE INPUT PARAM p-de-qtd-peso-item LIKE wm-docto-itens.qtd-peso NO-UNDO. DEFINE INPUT PARAM p-de-qtd-etiqueta LIKE wm-docto-itens.qtd-item NO-UNDO. DEFINE INPUT PARAM p-de-qtd-item-embalagem LIKE wm-docto-itens.qtd-item NO-UNDO. DEFINE INPUT PARAM p-i-tipo-geracao AS INTEGER NO-UNDO. ASSIGN i-num-seq-item = p-i-num-seq-item c-it-codigo = p-c-it-codigo c-lote = p-c-lote c-cod-refer = p-c-cod-refer c-cod-embalagem = p-c-cod-embalagem de-qtd-item = p-de-qtd-item de-qtd-peso-item = p-de-qtd-peso-item de-qtd-etiqueta = p-de-qtd-etiqueta de-qtd-item-embalagem = p-de-qtd-item-embalagem i-tipo-geracao = p-i-tipo-geracao. RETURN "OK":U. END PROCEDURE. |
A procedure PIAtualizaReg incorpora uma parte da lógica que foi removida dos botões BT-Incluir-DC, BT-Incluir-IT, BT-Incluir-OP, BT-Incluir-RF, BT-Modificar-DC,
BT-Modificar-IT, BT-Modificar-OP e BT-Modificar-RF.
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE piAtualizaReg wWindow PROCEDURE piAtualizaReg : /*------------------------------------------------------------------------------ Purpose: Atualiza registros Parameters: <none> Notes: ------------------------------------------------------------------------------*/ IF c-it-codigo <> "" THEN DO: CASE i-tipo-geracao: WHEN 1 THEN DO: ASSIGN bt-modificar-dc:SENSITIVE IN FRAME fPage3 = YES bt-eliminar-dc:SENSITIVE IN FRAME fPage3 = YES. FIND FIRST tt-embalagem WHERE tt-embalagem.NumSeqItem = i-num-seq-item AND tt-embalagem.CodItem = c-it-codigo AND tt-embalagem.CodLote = c-lote AND tt-embalagem.CodEmbalagem = c-cod-embalagem NO-LOCK NO-ERROR. IF NOT AVAIL tt-embalagem THEN FOR FIRST tt-embalagem WHERE tt-embalagem.NumSeqItem = i-num-seq-item AND tt-embalagem.CodItem = c-it-codigo AND tt-embalagem.CodLote = c-lote NO-LOCK: ASSIGN dt-validadeLote = tt-embalagem.DtValidadeLote. END. CREATE tt-browse-tela. ASSIGN tt-browse-tela.cod-estabel = dc-estab:SCREEN-VALUE tt-browse-tela.id-docto = DECIMAL(dc-id-docto:SCREEN-VALUE) tt-browse-tela.cod-local = dc-local:SCREEN-VALUE tt-browse-tela.num-seq = i-num-seq-item tt-browse-tela.cod-embalagem = c-cod-embalagem tt-browse-tela.cod-refer = c-cod-refer tt-browse-tela.it-codigo = c-it-codigo tt-browse-tela.lote = c-lote tt-browse-tela.qtd-item = de-qtd-item tt-browse-tela.qtd-item-embalagem = de-qtd-item-embalagem tt-browse-tela.qtd-etiqueta = de-qtd-etiqueta tt-browse-tela.cod-usuario = c-seg-usuario tt-browse-tela.qtd-peso-item = de-qtd-peso-item tt-browse-tela.dt-validade-lote = IF AVAIL tt-embalagem THEN tt-embalagem.DtValidadeLote ELSE 01/01/0001 tt-browse-tela.logPai = IF AVAIL tt-embalagem THEN tt-embalagem.logPai ELSE NO tt-browse-tela.ControlaEtiqueta = IF AVAIL tt-embalagem THEN tt-embalagem.ControlaEtiqueta ELSE NO tt-browse-tela.layout-etiqueta = IF AVAIL tt-embalagem THEN tt-embalagem.CodLayoutEmbalagem ELSE ? tt-browse-tela.dt-validade-lote = IF AVAIL tt-embalagem THEN tt-embalagem.DtValidadeLote ELSE IF dt-validadeLote <> ? THEN dt-validadeLote ELSE TODAY tt-browse-tela.cod-ean = IF AVAIL tt-embalagem THEN STRING(tt-embalagem.CodBarrasItem) ELSE "" tt-browse-tela.cod-dun = IF AVAIL tt-embalagem THEN STRING(tt-embalagem.codbarrasembalagem) ELSE "". FOR EACH tt-browse-tela WHERE tt-browse-tela.logpai = YES: ASSIGN l-cont = NO. FOR EACH bftt-browse-tela WHERE bftt-browse-tela.it-codigo = tt-browse-tela.it-codigo AND bftt-browse-tela.cod-refer = tt-browse-tela.cod-refer AND bftt-browse-tela.lote = tt-browse-tela.lote AND bftt-browse-tela.logpai = NO. ASSIGN l-cont = YES. IF tt-browse-tela.ControlaEtiqueta = YES AND bftt-browse-tela.ControlaEtiqueta = YES THEN ASSIGN tt-browse-tela.tipo-etiqueta = 2 bftt-browse-tela.tipo-etiqueta = 1 tt-browse-tela.desc-tipo-etiqueta = "Agupadora" bftt-browse-tela.desc-tipo-etiqueta = "NÆo Agrupadora". IF tt-browse-tela.ControlaEtiqueta = YES AND bftt-browse-tela.ControlaEtiqueta = NO THEN ASSIGN tt-browse-tela.tipo-etiqueta = 3 tt-browse-tela.desc-tipo-etiqueta = "Agupadora Pr¢pria" bftt-browse-tela.desc-tipo-etiqueta = "NÆo Controlada". END. IF l-cont = NO THEN ASSIGN tt-browse-tela.tipo-etiqueta = 3 tt-browse-tela.desc-tipo-etiqueta = "Agupadora Pr¢pria". END. {&OPEN-QUERY-br-dc-tela} APPLY "VALUE-CHANGED" TO br-dc-tela IN FRAME fPage3. END. WHEN 2 THEN DO: ASSIGN bt-modificar-dc:SENSITIVE IN FRAME fPage3 = YES bt-eliminar-dc:SENSITIVE IN FRAME fPage3 = YES. FIND FIRST tt-embalagem WHERE tt-embalagem.NumSeqItem = i-num-seq-item AND tt-embalagem.CodItem = c-it-codigo AND tt-embalagem.CodLote = c-lote AND tt-embalagem.CodEmbalagem = c-cod-embalagem NO-LOCK NO-ERROR. IF NOT AVAIL tt-embalagem THEN FOR FIRST tt-embalagem WHERE tt-embalagem.NumSeqItem = i-num-seq-item AND tt-embalagem.CodItem = c-it-codigo AND tt-embalagem.CodLote = c-lote NO-LOCK: ASSIGN dt-validadeLote = tt-embalagem.DtValidadeLote. END. CREATE tt-browse-tela. ASSIGN tt-browse-tela.cod-estabel = dc-estab:SCREEN-VALUE tt-browse-tela.id-docto = DECIMAL(dc-id-docto:SCREEN-VALUE) tt-browse-tela.cod-local = dc-local:SCREEN-VALUE tt-browse-tela.num-seq = i-num-seq-item tt-browse-tela.cod-embalagem = c-cod-embalagem tt-browse-tela.cod-refer = c-cod-refer tt-browse-tela.it-codigo = c-it-codigo tt-browse-tela.lote = c-lote tt-browse-tela.qtd-item = de-qtd-item tt-browse-tela.qtd-item-embalagem = de-qtd-item-embalagem tt-browse-tela.qtd-etiqueta = de-qtd-etiqueta tt-browse-tela.cod-usuario = c-seg-usuario tt-browse-tela.qtd-peso-item = de-qtd-peso-item tt-browse-tela.dt-validade-lote = IF AVAIL tt-embalagem THEN tt-embalagem.DtValidadeLote ELSE IF dt-validadeLote <> ? THEN dt-validadeLote ELSE TODAY tt-browse-tela.logPai = IF AVAIL tt-embalagem THEN tt-embalagem.logPai ELSE NO tt-browse-tela.ControlaEtiqueta = IF AVAIL tt-embalagem THEN tt-embalagem.ControlaEtiqueta ELSE NO tt-browse-tela.layout-etiqueta = IF AVAIL tt-embalagem THEN tt-embalagem.CodLayoutEmbalagem ELSE ? tt-browse-tela.dt-validade-lote = IF AVAIL tt-embalagem THEN tt-embalagem.DtValidadeLote ELSE IF c-lote = "" THEN ? ELSE TODAY tt-browse-tela.cod-ean = IF AVAIL tt-embalagem THEN STRING(tt-embalagem.CodBarrasItem) ELSE "" tt-browse-tela.cod-dun = IF AVAIL tt-embalagem THEN STRING(tt-embalagem.codbarrasembalagem) ELSE "". FOR EACH tt-browse-tela WHERE tt-browse-tela.logpai = YES: ASSIGN l-cont = NO. FOR EACH bftt-browse-tela WHERE bftt-browse-tela.it-codigo = tt-browse-tela.it-codigo AND bftt-browse-tela.cod-refer = tt-browse-tela.cod-refer AND bftt-browse-tela.lote = tt-browse-tela.lote AND bftt-browse-tela.logpai = NO. ASSIGN l-cont = YES. IF tt-browse-tela.ControlaEtiqueta = YES AND bftt-browse-tela.ControlaEtiqueta = YES THEN ASSIGN tt-browse-tela.tipo-etiqueta = 2 bftt-browse-tela.tipo-etiqueta = 1 tt-browse-tela.desc-tipo-etiqueta = "Agupadora" bftt-browse-tela.desc-tipo-etiqueta = "NÆo Agrupadora". IF tt-browse-tela.ControlaEtiqueta = YES AND bftt-browse-tela.ControlaEtiqueta = NO THEN ASSIGN tt-browse-tela.tipo-etiqueta = 3 tt-browse-tela.desc-tipo-etiqueta = "Agupadora Pr¢pria" bftt-browse-tela.desc-tipo-etiqueta = "NÆo Controlada". END. IF l-cont = NO THEN ASSIGN tt-browse-tela.tipo-etiqueta = 3 tt-browse-tela.desc-tipo-etiqueta = "Agupadora Pr¢pria". END. {&OPEN-QUERY-br-dc-tela} APPLY "VALUE-CHANGED" TO br-dc-tela IN FRAME fPage3. END. WHEN 3 THEN DO: ASSIGN bt-modificar-it:SENSITIVE IN FRAME fPage2 = YES bt-eliminar-it:SENSITIVE IN FRAME fPage2 = YES. FIND FIRST tt-embalagem WHERE tt-embalagem.CodItem = c-it-codigo AND tt-embalagem.CodEmbalagem = c-cod-embalagem NO-LOCK NO-ERROR. CREATE tt-browse-tela. ASSIGN tt-browse-tela.cod-estabel = it-estab:SCREEN-VALUE tt-browse-tela.cod-local = it-local:SCREEN-VALUE tt-browse-tela.num-seq = i-num-seq-item tt-browse-tela.cod-embalagem = c-cod-embalagem tt-browse-tela.cod-refer = c-cod-refer tt-browse-tela.it-codigo = c-it-codigo tt-browse-tela.lote = c-lote tt-browse-tela.qtd-item = de-qtd-item tt-browse-tela.qtd-item-embalagem = de-qtd-item-embalagem tt-browse-tela.qtd-etiqueta = de-qtd-etiqueta tt-browse-tela.dt-validade-lote = dt-validadeLote tt-browse-tela.cod-usuario = c-seg-usuario tt-browse-tela.qtd-peso-item = de-qtd-peso-item tt-browse-tela.logPai = IF AVAIL tt-embalagem THEN tt-embalagem.logPai ELSE NO tt-browse-tela.ControlaEtiqueta = IF AVAIL tt-embalagem THEN tt-embalagem.ControlaEtiqueta ELSE NO tt-browse-tela.layout-etiqueta = IF AVAIL tt-embalagem THEN tt-embalagem.CodLayoutEmbalagem ELSE ? tt-browse-tela.cod-ean = IF AVAIL tt-embalagem THEN STRING(tt-embalagem.CodBarrasItem) ELSE "" tt-browse-tela.cod-dun = IF AVAIL tt-embalagem THEN STRING(tt-embalagem.codbarrasembalagem) ELSE "". FOR EACH tt-browse-tela WHERE tt-browse-tela.logpai = YES: ASSIGN l-cont = NO. FOR EACH bftt-browse-tela WHERE bftt-browse-tela.it-codigo = tt-browse-tela.it-codigo AND bftt-browse-tela.cod-refer = tt-browse-tela.cod-refer AND bftt-browse-tela.lote = tt-browse-tela.lote AND bftt-browse-tela.logpai = NO. ASSIGN l-cont = YES. IF tt-browse-tela.ControlaEtiqueta = YES AND bftt-browse-tela.ControlaEtiqueta = YES THEN ASSIGN tt-browse-tela.tipo-etiqueta = 2 bftt-browse-tela.tipo-etiqueta = 1 tt-browse-tela.desc-tipo-etiqueta = "Agupadora":U bftt-browse-tela.desc-tipo-etiqueta = "NÆo Agrupadora":U. IF tt-browse-tela.ControlaEtiqueta = YES AND bftt-browse-tela.ControlaEtiqueta = NO THEN ASSIGN tt-browse-tela.tipo-etiqueta = 3 tt-browse-tela.desc-tipo-etiqueta = "Agupadora Pr¢pria":U bftt-browse-tela.desc-tipo-etiqueta = "NÆo Controlada":U. END. IF l-cont = NO THEN ASSIGN tt-browse-tela.tipo-etiqueta = 3 tt-browse-tela.desc-tipo-etiqueta = "Agupadora Pr¢pria":U. END. {&OPEN-QUERY-br-it-tela} APPLY "VALUE-CHANGED" TO br-it-tela IN FRAME fPage2. END. WHEN 4 THEN DO: ASSIGN bt-modificar-op:SENSITIVE IN FRAME fPage1 = YES bt-eliminar-op:SENSITIVE IN FRAME fPage1 = YES. FIND FIRST tt-embalagem WHERE tt-embalagem.CodEmbalagem = c-cod-embalagem NO-LOCK NO-ERROR. CREATE tt-browse-tela. ASSIGN tt-browse-tela.cod-estabel = c-estab-aux tt-browse-tela.cod-local = op-local:SCREEN-VALUE tt-browse-tela.num-seq = i-num-seq-item tt-browse-tela.cod-embalagem = c-cod-embalagem tt-browse-tela.cod-refer = c-cod-refer tt-browse-tela.it-codigo = c-it-codigo tt-browse-tela.lote = c-lote tt-browse-tela.qtd-item = de-qtd-item tt-browse-tela.qtd-item-embalagem = de-qtd-item-embalagem tt-browse-tela.qtd-etiqueta = de-qtd-etiqueta tt-browse-tela.dt-validade-lote = DATE(op-dt-validade-lote:SCREEN-VALUE) tt-browse-tela.cod-usuario = c-seg-usuario tt-browse-tela.qtd-peso-item = de-qtd-peso-item tt-browse-tela.nr-ord-produ = INTEGER(op-ordem:SCREEN-VALUE) tt-browse-tela.dt-validade-lote = DATE(op-dt-validade-lote:SCREEN-VALUE) tt-browse-tela.logPai = IF AVAIL tt-embalagem THEN tt-embalagem.logPai ELSE NO tt-browse-tela.ControlaEtiqueta = IF AVAIL tt-embalagem THEN tt-embalagem.ControlaEtiqueta ELSE NO tt-browse-tela.layout-etiqueta = IF AVAIL tt-embalagem THEN tt-embalagem.CodLayoutEmbalagem ELSE ? tt-browse-tela.cod-ean = IF AVAIL tt-embalagem THEN STRING(tt-embalagem.CodBarrasItem) ELSE "" tt-browse-tela.cod-dun = IF AVAIL tt-embalagem THEN STRING(tt-embalagem.codbarrasembalagem) ELSE "". FOR EACH tt-browse-tela WHERE tt-browse-tela.logpai = YES: ASSIGN l-cont = NO. FOR EACH bftt-browse-tela WHERE bftt-browse-tela.it-codigo = tt-browse-tela.it-codigo AND bftt-browse-tela.cod-refer = tt-browse-tela.cod-refer AND bftt-browse-tela.lote = tt-browse-tela.lote AND bftt-browse-tela.logpai = NO: ASSIGN l-cont = YES. IF tt-browse-tela.ControlaEtiqueta = YES AND bftt-browse-tela.ControlaEtiqueta = YES THEN ASSIGN tt-browse-tela.tipo-etiqueta = 2 bftt-browse-tela.tipo-etiqueta = 1 tt-browse-tela.desc-tipo-etiqueta = "Agupadora":U bftt-browse-tela.desc-tipo-etiqueta = "NÆo Agrupadora":U. IF tt-browse-tela.ControlaEtiqueta = YES AND bftt-browse-tela.ControlaEtiqueta = NO THEN ASSIGN tt-browse-tela.tipo-etiqueta = 3 tt-browse-tela.desc-tipo-etiqueta = "Agupadora Pr¢pria":U bftt-browse-tela.desc-tipo-etiqueta = "NÆo Controlada":U. END. IF l-cont = NO THEN ASSIGN tt-browse-tela.tipo-etiqueta = 3 tt-browse-tela.desc-tipo-etiqueta = "Agupadora Pr¢pria":U. END. {&OPEN-QUERY-br-op-tela} APPLY "VALUE-CHANGED" TO br-op-tela IN FRAME fPage1. END. WHEN 5 THEN DO: ASSIGN bt-modificar-rf:SENSITIVE IN FRAME fPage4 = YES bt-eliminar-rf:SENSITIVE IN FRAME fPage4 = YES. FIND FIRST tt-embalagem WHERE tt-embalagem.NumSeqItem = i-num-seq-item AND tt-embalagem.CodItem = c-it-codigo AND tt-embalagem.CodLote = c-lote AND tt-embalagem.CodEmbalagem = c-cod-embalagem NO-LOCK NO-ERROR. IF NOT AVAIL tt-embalagem THEN FOR FIRST tt-embalagem WHERE tt-embalagem.NumSeqItem = i-num-seq-item AND tt-embalagem.CodItem = c-it-codigo AND tt-embalagem.CodLote = c-lote NO-LOCK: ASSIGN dt-validadeLote = tt-embalagem.DtValidadeLote. END. CREATE tt-browse-tela. ASSIGN tt-browse-tela.cod-estabel = rf-estab tt-browse-tela.cod-local = rf-local tt-browse-tela.num-seq = i-num-seq-item tt-browse-tela.cod-embalagem = c-cod-embalagem tt-browse-tela.cod-refer = c-cod-refer tt-browse-tela.it-codigo = c-it-codigo tt-browse-tela.lote = c-lote tt-browse-tela.qtd-item = de-qtd-item tt-browse-tela.qtd-item-embalagem = de-qtd-item-embalagem tt-browse-tela.qtd-etiqueta = de-qtd-etiqueta tt-browse-tela.cod-usuario = c-seg-usuario tt-browse-tela.qtd-peso-item = de-qtd-peso-item tt-browse-tela.dt-validade-lote = IF AVAIL tt-embalagem THEN tt-embalagem.DtValidadeLote ELSE IF dt-validadeLote <> ? THEN dt-validadeLote ELSE TODAY tt-browse-tela.logPai = IF AVAIL tt-embalagem THEN tt-embalagem.logPai ELSE NO tt-browse-tela.ControlaEtiqueta = IF AVAIL tt-embalagem THEN tt-embalagem.ControlaEtiqueta ELSE NO tt-browse-tela.layout-etiqueta = IF AVAIL tt-embalagem THEN tt-embalagem.CodLayoutEmbalagem ELSE ? tt-browse-tela.cod-ean = IF AVAIL tt-embalagem THEN STRING(tt-embalagem.CodBarrasItem) ELSE "" tt-browse-tela.cod-dun = IF AVAIL tt-embalagem THEN STRING(tt-embalagem.codbarrasembalagem) ELSE "". FOR EACH tt-browse-tela WHERE tt-browse-tela.logpai = YES: ASSIGN l-cont = NO. FOR EACH bftt-browse-tela WHERE bftt-browse-tela.it-codigo = tt-browse-tela.it-codigo AND bftt-browse-tela.cod-refer = tt-browse-tela.cod-refer AND bftt-browse-tela.lote = tt-browse-tela.lote AND bftt-browse-tela.logpai = NO: ASSIGN l-cont = YES. IF tt-browse-tela.ControlaEtiqueta = YES AND bftt-browse-tela.ControlaEtiqueta = YES THEN ASSIGN tt-browse-tela.tipo-etiqueta = 2 bftt-browse-tela.tipo-etiqueta = 1 tt-browse-tela.desc-tipo-etiqueta = "Agupadora":U bftt-browse-tela.desc-tipo-etiqueta = "NÆo Agrupadora":U. IF tt-browse-tela.ControlaEtiqueta = YES AND bftt-browse-tela.ControlaEtiqueta = NO THEN ASSIGN tt-browse-tela.tipo-etiqueta = 3 tt-browse-tela.desc-tipo-etiqueta = "Agupadora Pr¢pria":U bftt-browse-tela.desc-tipo-etiqueta = "NÆo Controlada":U. END. IF l-cont = NO THEN ASSIGN tt-browse-tela.tipo-etiqueta = 3 tt-browse-tela.desc-tipo-etiqueta = "Agupadora Pr¢pria":U. END. {&OPEN-QUERY-br-rf-tela} END. WHEN 6 THEN DO: ASSIGN bt-modificar-rf:SENSITIVE IN FRAME fPage4 = YES bt-eliminar-rf:SENSITIVE IN FRAME fPage4 = YES. FIND FIRST tt-embalagem WHERE tt-embalagem.NumSeqItem = i-num-seq-item AND tt-embalagem.CodItem = c-it-codigo AND tt-embalagem.CodLote = c-lote AND tt-embalagem.CodEmbalagem = c-cod-embalagem NO-LOCK NO-ERROR. IF NOT AVAIL tt-embalagem THEN FOR FIRST tt-embalagem WHERE tt-embalagem.NumSeqItem = i-num-seq-item AND tt-embalagem.CodItem = c-it-codigo AND tt-embalagem.CodLote = c-lote NO-LOCK: ASSIGN dt-validadeLote = tt-embalagem.DtValidadeLote. END. CREATE tt-browse-tela. ASSIGN tt-browse-tela.cod-estabel = rf-estab tt-browse-tela.cod-local = rf-local tt-browse-tela.num-seq = i-num-seq-item tt-browse-tela.cod-embalagem = c-cod-embalagem tt-browse-tela.cod-refer = c-cod-refer tt-browse-tela.it-codigo = c-it-codigo tt-browse-tela.lote = c-lote tt-browse-tela.qtd-item = de-qtd-item tt-browse-tela.qtd-item-embalagem = de-qtd-item-embalagem tt-browse-tela.qtd-etiqueta = de-qtd-etiqueta tt-browse-tela.cod-usuario = c-seg-usuario tt-browse-tela.qtd-peso-item = de-qtd-peso-item tt-browse-tela.dt-validade-lote = IF AVAIL tt-embalagem THEN tt-embalagem.DtValidadeLote ELSE IF dt-validadeLote <> ? THEN dt-validadeLote ELSE TODAY tt-browse-tela.logPai = IF AVAIL tt-embalagem THEN tt-embalagem.logPai ELSE NO tt-browse-tela.ControlaEtiqueta = IF AVAIL tt-embalagem THEN tt-embalagem.ControlaEtiqueta ELSE NO tt-browse-tela.layout-etiqueta = IF AVAIL tt-embalagem THEN tt-embalagem.CodLayoutEmbalagem ELSE ? tt-browse-tela.cod-ean = IF AVAIL tt-embalagem THEN STRING(tt-embalagem.CodBarrasItem) ELSE "" tt-browse-tela.cod-dun = IF AVAIL tt-embalagem THEN STRING(tt-embalagem.codbarrasembalagem) ELSE "". FOR EACH tt-browse-tela WHERE tt-browse-tela.logpai = YES: ASSIGN l-cont = NO. FOR EACH bftt-browse-tela WHERE bftt-browse-tela.it-codigo = tt-browse-tela.it-codigo AND bftt-browse-tela.cod-refer = tt-browse-tela.cod-refer AND bftt-browse-tela.lote = tt-browse-tela.lote AND bftt-browse-tela.logpai = NO: ASSIGN l-cont = YES. IF tt-browse-tela.ControlaEtiqueta = YES AND bftt-browse-tela.ControlaEtiqueta = YES THEN ASSIGN tt-browse-tela.tipo-etiqueta = 2 bftt-browse-tela.tipo-etiqueta = 1 tt-browse-tela.desc-tipo-etiqueta = "Agupadora":U bftt-browse-tela.desc-tipo-etiqueta = "NÆo Agrupadora":U. IF tt-browse-tela.ControlaEtiqueta = YES AND bftt-browse-tela.ControlaEtiqueta = NO THEN ASSIGN tt-browse-tela.tipo-etiqueta = 3 tt-browse-tela.desc-tipo-etiqueta = "Agupadora Pr¢pria":U bftt-browse-tela.desc-tipo-etiqueta = "NÆo Controlada":U. END. IF l-cont = NO THEN ASSIGN tt-browse-tela.tipo-etiqueta = 3 tt-browse-tela.desc-tipo-etiqueta = "Agupadora Pr¢pria":U. END. {&OPEN-QUERY-br-rf-tela} END. WHEN 7 THEN DO: ASSIGN tt-browse-tela.num-seq = i-num-seq-item tt-browse-tela.cod-embalagem = c-cod-embalagem tt-browse-tela.cod-refer = c-cod-refer tt-browse-tela.it-codigo = c-it-codigo tt-browse-tela.lote = c-lote tt-browse-tela.qtd-item = de-qtd-item tt-browse-tela.qtd-item-embalagem = de-qtd-item-embalagem tt-browse-tela.qtd-etiqueta = de-qtd-etiqueta tt-browse-tela.cod-usuario = c-seg-usuario tt-browse-tela.qtd-peso-item = de-qtd-peso-item. {&OPEN-QUERY-br-dc-tela} END. WHEN 8 THEN DO: ASSIGN bt-modificar-op:SENSITIVE IN FRAME fPage1 = YES bt-eliminar-op:SENSITIVE IN FRAME fPage1 = YES. ASSIGN tt-browse-tela.num-seq = i-num-seq-item tt-browse-tela.cod-embalagem = c-cod-embalagem tt-browse-tela.cod-refer = c-cod-refer tt-browse-tela.it-codigo = c-it-codigo tt-browse-tela.lote = c-lote tt-browse-tela.qtd-item = de-qtd-item tt-browse-tela.qtd-item-embalagem = de-qtd-item-embalagem tt-browse-tela.qtd-etiqueta = de-qtd-etiqueta tt-browse-tela.cod-usuario = c-seg-usuario tt-browse-tela.qtd-peso-item = de-qtd-peso-item. {&OPEN-QUERY-br-op-tela} END. WHEN 9 THEN DO: ASSIGN tt-browse-tela.cod-embalagem = c-cod-embalagem tt-browse-tela.qtd-item = de-qtd-item tt-browse-tela.qtd-item-embalagem = de-qtd-item-embalagem tt-browse-tela.qtd-etiqueta = de-qtd-etiqueta tt-browse-tela.cod-usuario = c-seg-usuario tt-browse-tela.qtd-peso-item = de-qtd-peso-item. {&OPEN-QUERY-br-rf-tela} END. END CASE. END. END PROCEDURE.
|
A procedure PIBloqWindow é encarregada da função de bloqueio do programa BC9026.
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE piBloqWindow wWindow PROCEDURE piBloqWindow : /*------------------------------------------------------------------------------ Notes: Bloqueia Tela ------------------------------------------------------------------------------*/ {&WINDOW-NAME}:SENSITIVE = NO. RETURN "OK":U. END PROCEDURE.
|
A procedure PILibWindow é responsável pela ação de liberar o programa BC9026.
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE piLibWindow wWindow PROCEDURE piLibWindow : /*------------------------------------------------------------------------------ Notes: Libera Tela ------------------------------------------------------------------------------*/ {&WINDOW-NAME}:SENSITIVE = YES. RETURN "OK":U. END PROCEDURE.
|