Introdução:
Esta publicação do blog está prestes a exibir o formulário Adobe em formato PDF por meio do serviço Gateway.
Nesta publicação do blog, você pode ver as etapas sobre como visualizar o formulário Adobe como PDF por meio do serviço Gateway.
Exigência:
Visualize o formato PDF do formulário Adobe usando o serviço Gateway. Cada vez que você executa o URL do sistema Gateway, você precisa visualizar o formulário Adobe no formato PDF.
Etapas necessárias:
Etapa 1: você precisa criar um projeto ODATA.
- Ir para a transação SEGUIR e clique no botão Criar para criar um projeto.
- Crie um projeto como ZPPM_PDF_AAR e detalhes do pacote conforme mostrado na captura de tela a seguir.
- Expanda o projeto que criamos agora, então você precisa criar o tipo de entidade para definir as propriedades.
- Expanda o modelo de dados, clique com o botão direito abaixo nos tipos de entidade e clique em Criar conforme mostrado abaixo.
- Insira o nome da entidade conforme necessário e clique em OK.
- A seguinte tela aparecerá então. Aqui precisamos marcar a caixa de seleção Tipo de mídia como na imagem a seguir.
Observação: Não se esqueça de verificar o Tipo de Mídia para o Tipo de Entidade, caso contrário não obteremos a imagem na saída do serviço.
- Para definir as Propriedades, expanda o tipo de entidade e clique duas vezes em Propriedades e, a seguir, clique no botão Adicionar linha para adicionar as propriedades conforme mostrado na captura de tela a seguir.
- Em seguida, defina as propriedades conforme necessário. Para o formulário Adobe AAR, defini as seguintes propriedades e marquei a caixa Chave para os campos Chave, conforme mostrado na captura de tela a seguir.
- Depois de concluir as etapas acima, clique em Gerar artefatos de tempo de execução conforme abaixo.
- Isso nos ajudará a criar classes para definir o código personalizado. Ele irá para a próxima tela conforme mostrado abaixo e clique no botão OK.
- Para definir o código, acesse Runtime Artifacts do projeto e clique duas vezes em DPC_EXT conforme mostrado abaixo.
Etapa 2: implemente o código para baixar o módulo Adobe
Redefinir Definir o método que marca o tipo Mime e GET_STREAM
- Agora precisamos redefinir o método DEFINE na classe MPC_EXT conforme abaixo.
- Nesta classe podemos definir o tipo de mídia. Conforme requisito, precisamos de PDF, então defini-o como pdf .
- Você precisa manter a seguinte parte do código no método Define.
MÉTODO definir.
DADOS:
lo_entity TIPO REF PARA /iwbep/if_mgw_odata_entity_typ,
lo_property TIPO REF PARA /iwbep/if_mgw_odata_property.
super->definir().
lo_entity = modelo->get_entity_type( iv_entity_name = ‘pdf’ ).
SE lo_entity ESTIVER VINCULADO.
lo_property = lo_entity->get_property( iv_property_name = ‘mime_type’ ).
lo_property->set_as_content_type().
FIM.
MÉTODO FINAL.
Na classe DPC_EXT:
- Redefina o método Get stream e como em DPC_EXT conforme abaixo.
- Obtenha streaming útil principalmente para fazer upload ou download de arquivos.
- Mantenha o código a seguir no método GET_STREAM.
MÉTODO /iwbep/if_mgw_appl_srv_runtime~get_stream.
**– Divulgações de dados
DADOS: lv_functionname TIPO nome da função,
ls_outputparams TIPO sfpoutputparams,
ls_docparams TIPO sfpdocparams,
ls_formoutput TIPO fpformoutput,
ls_stream TIPO ty_s_media_resource,
lv_pia TIPO char32,
lv_proj TIPO char32.
**– Constantes
CONSTANTES: lc_pia TIPO char32 VALOR ‘PIAGuid’,
lc_proj TIPO char32 VALOR ‘ProjGuid’,
lc_name TIPO fpname VALOR ‘ZPPM_AAR_FORM’,
lc_us TIPO land1 VALOR ‘EUA’.
***__ Leia os principais fatos.
LOOP EM it_key_tab INTO DATA(ls_data) ##INTO_OK.
CASE nome-dados_ls.
QUANDO lc_pia.
lv_pia = ls_data-valor.
QUANDO lc_proj.
lv_proj = ls_data-valor.
JANELA.
INTERRUPTOR FINAL.
**–Chama o nome do módulo de função do módulo Adobe
TENTAR.
FUNÇÃO DE CHAMADA ‘FP_FUNCTION_MODULE_NAME’
EXPORTAR
i_nome = lc_nome
IMPORTAR
e_nome_função = lv_nome_função.
CATCH cx_root ##NO_HANDLER ##CATCH_ALL.
**–Trate de exceções com Try – catch
DIGITAR.
**–Abertura de emprego
ls_outputparams-nodialog = abap_true.
ls_outputparams-preview = abap_true.
ls_outputparams-getpdf = abap_true.
CHAMADA DE FUNÇÃO ‘FP_JOB_OPEN’
MUDAR
ou seja,_outputparams = ls_outputparams
EXCEÇÕES ##FM_SUBRC_OK
cancelar = 1
erro_de uso = 2
erro_do_sistema = 3
erro_interno = 4
OUTROS = 5.
ls_docparams-meu = sy-meu.
ls_docparams-país = lc_us.
**– Função para obter o Formulário
CHAME A FUNÇÃO lv_functionname
EXPORTAR
/1bcdwb/docparams=ls_docparams
iv_proj_guid = lv_proj «‘005056B056C91ED89DA0FA3E3E1BE0DC’
iv_pia_guid = lv_pia «‘0A14860E3D8A1EE98691CCF06AF99B66’
IMPORTAR
/1bcdwb/formoutput = ls_formoutput
EXCEÇÕES ##FM_SUBRC_OK
erro_de uso = 1
erro_do_sistema = 2
erro_interno = 3
OUTROS = 4.
**–Encerramento dos trabal
FONTE