cancel
Showing results for 
Search instead for 
Did you mean: 

Criação de máscara usando form já existente

Former Member
0 Kudos

Boa tarde.

Pessoal,

Saberiam me dizer se é possível criar num mesmo form duas máscaras para impressão? Explico:

No cliente que estou hoje a máscara do DANFE está na impressora. Então ela vai apenas com os dados da nota e a impressora se encarrega de colocar a máscara do DANFE, bem como o bar code.

Agora há uma necessidade de criar a nota em PDF, ou seja, o form precisa estar criado no SAP, mas essa solução ainda não será usada para substituir o que eles tem hoje, sendo assim teremos que ter as 2 opções funcionando paralelamente. Consigo associar para o mesmo form NF55 a máscara do DANFE sem interferir no que eles tem hoje?

Sei que pela transação J1BJ eu associo o programa de impressão com o FORM, mas não sei se consigo fazer essa "diferenciação" apenas com o programa.

Desde já, obrigado!

Willy

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Oi Williy

Você pode tratar no programa mas pra ser bem sincero... NÃO faça isso! Porque já não resolvem de uma vez o "mico" que criaram? Desculpe a sinceridade!

Se puder explicar o motivo pra fazerem desta forma... derrepente vejo por outros olhos!

Abraço

Eduardo Chagas

Former Member
0 Kudos

Olá Eduardo.

Pelo pouco que sei, existia na época um contrato global com a fornecedora dessas impressoras que previa tais criações de máscaras e modificações sem precisar de um custo adicional. Mas o maior problema da empresa eh que ela tem unidades em alguns lugares em que o link para conexão é muito ruim (como se fosse uma conexão discada.. rs). Após vários testes, optou-se por deixar a máscara pronta na impressora, com a inteligência de Logo e Máscara e apenas mandar os dados da NF-e. Como o volume de notas eh alto, esta foi a única opção viável na época.


E num futuro eles querem implementar uma melhor solução, mas como se trata de uma empresa Global, envolve custos de link, contrato com a fornecedora, uma equipe de desenvolvimento aqui do Brasil e também tempo, decidiram que vão usar essa nossa solução como um teste para depois analisar a relação custo x benefício dessa alteração.


Quanto a solução, acredito que infelizmente vou ter que mexer no programa atual mesmo... Algo como ler o form quando for selecionado a opção de gerar o PDF..


Obrigado!


Att.;

Willy

eduardohartmann
Contributor
0 Kudos

Olá Willy,

Veja se fica adequado criar uma lógica no FORM smart_sub_printing para pegar o formulário desejado (smartform / sapscript).

Perceba que o nome do formulário/smartform é recuperado da TNAPR (caso de smartform):


FORM smart_sub_printing.

   DATA: tax_types LIKE j_1baj OCCURS 30 WITH HEADER LINE.

   CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
     EXPORTING
       formname           = tnapr-sform
     IMPORTING
       fm_name            = fm_name
     EXCEPTIONS
       no_form            = 1
       no_function_module = 2.

Depois é o fm_name recuperado é chamado no FORM call_smartform:


FORM call_smartform


CALL FUNCTION fm_name
       EXPORTING
         control_parameters = control_parameters
         output_options     = output_options
         user_settings      = ''
         nota_fiscal        = w_danfe
         dt_saida_entr      = lv_data_saida
         hr_saida           = lv_hora_saida
       EXCEPTIONS
         formatting_error   = 1
         internal_error     = 2
         send_error         = 3
         user_canceled      = 4
         OTHERS             = 5.


Ou seja, se você definir smartforms diferentes no smart_sub_printing, entendo que você atingiria o objetivo desejado.

Veja também que na própria tabela TNAPR existem 5 campos para definir smartform (ainda que em tela eu não consegui encontrar uma tela que faça a atualização):

Isso resolve sua necessidade?

Abraço,

Eduardo Hartmann

Former Member
0 Kudos

Olá Eduardo.

Acredito que isso resolva sim meu problema. Vou ver com o ABAP pra usarmos esse form para diferenciar quando usa um e quando usa outro. Qualquer coisa posto novamente.

Obrigado!

Att.;

Willy

Answers (0)