Integração SAP Procedimentos para Customizações Módulo: Integrações SAP R/3 Versão 2.1 ____________________________________________________________________________________________________________________________ © Copyright 1991. Synchro Sistemas de Informação Ltda. Procedimento para Customizações • 1-1 Nenhuma parte deste material deve ser duplicado. Todos os direitos reservados. Conteúdo PROCEDIMENTO PARA CUSTOMIZAÇÕES ............................................................................................................ 3 INTRODUÇÃO .................................................................................................................................................................... 3 PROCEDIMENTOS .............................................................................................................................................................. 4 CRIAÇÃO DE PROGRAMA CUSTOMIZADO .......................................................................................................................... 4 CRIAÇÃO DE FUNÇÃO CUSTOMIZADA ............................................................................................................................... 4 UTILIZAÇÃO DO PROGRAMA CUSTOMIZADO ..................................................................................................................... 7 CUSTOMIZAÇÕES NO CÓDIGO ............................................................................................................................................ 7 CUSTOMIZÃO DE OUTROS OBEJTOS .................................................................................................................................. 8 UTILIZAÇÃO DE CAMPO CUSTOMIZADO (FLEXFIELD)........................................................................................................ 8 BOAS PRÁTICAS ................................................................................................................................................................ 8 _________________________________________________________________________________________________ 1-2 • Procedimento para Customizações © Copyright 1991. Synchro Sistemas de Informação Ltda. Nenhuma parte deste material deve ser duplicado. Todos os direitos reservados. Procedimento para Customizações Introdução Todos os extratores da Integração SAP X Synchro são compostos de no mínimo um Programa e uma Função. Dentro do Programa ou da função pode ser feita referência a outros programas ou funções. Os objetos originais SYNCHRO NUNCA devem ser alterados. Caso o Cliente julgue necessária uma customização, devem ser seguidos os procedimentos relacionados nesse documento. Isso se faz necessário para que em situações de atualização da Integração SAP no cliente, as customizações não sejam perdidas, causando o retrabalho de reposição das customizações. ____________________________________________________________________________________________________________________________ Procedimento para © Copyright 1991. Synchro Sistemas de Informação Ltda. Customizações • 1-3 Nenhuma parte deste material deve ser duplicado. Todos os direitos reservados. Procedimentos Criação de Programa Customizado 1. Fazer uma cópia do programa original, colocando o código do Cliente como sufixo. Ex: YPMMMARA YPMMMARA_KRO 2. Se algum outro programa utiliza o programa que foi customizado, deve-se seguir o mesmo procedimento adotado no programa customizado (item acima). Criação de Função Customizada A customização de uma Função é um pouco diferenciada. Isso se deve a uma particularidade do SAP, que trabalha com Grupos de Funções e Módulos de Funções. Os Módulos de Funções são as funções propriamente ditas e elas sempre pertencem a grupos denominados Grupos de Funções. Se for criada uma nova função, dentro de um grupo já existente (produto) e depois esse grupo é sobreposto por uma atualização, essa função será sobreposta, pois não está prevista no grupo de funções do produto. Em razão dessa característica, antes da primeira customização de uma função no cliente, deverá ser criado o grupo de funções customizado. Nesse grupo constarão todas as funções customizadas desse cliente. Para a primeira customização e criação do grupo de função deverá ser seguido o seguinte procedimento: 1. Na transação SE38 deve ser selecionado o Grupo de Função SAPLYGF_YPCA (produto): _________________________________________________________________________________________________ 1-4 • Procedimento para Customizações © Copyright 1991. Synchro Sistemas de Informação Ltda. Nenhuma parte deste material deve ser duplicado. Todos os direitos reservados. 2. Deve ser realizada a cópia desse grupo através do botão Copiar. 3. Para a cópia, deverá ser informado o nome do Grupo de Funções Customizado e sua descrição. O nome em qualquer cliente será YSYNCUSTOM e a descrição “Grupo de Funções para Customização”. Dessa forma qualquer profissional que atender ao cliente saberá onde estão as funções customizadas. 4. A partir do Grupo de Função, poderão ser criadas as funções customizadas. Inicialmente, todas as Funções estarão selecionadas, portanto você deverá selecionar apenas as que serão customizadas no momento: 5. Para cada função, a ser customizada, será solicitado o nome para o objeto. O nome deverá ser o nome original + Sigla do cliente. O grupo deverá ser alterado de YGF_YPCA(produto) para YSYNCUSTOM. ____________________________________________________________________________________________________________________________ Procedimento para © Copyright 1991. Synchro Sistemas de Informação Ltda. Customizações • 1-5 Nenhuma parte deste material deve ser duplicado. Todos os direitos reservados. 6. A partir da Função criada, os comentários existentes dentro da função, devem ser atualizados informando a data da customização, a sigla do profissional e do que se trata a customização. 7. No programa customizado, deve ser alterada a chamada da função original para a customizada. Quando for realizada uma customização para um cliente que já possui o Grupo de Função customizado, deve ser seguido o seguinte procedimento: Para a primeira customização e criação do grupo de função deverá ser seguido o seguinte procedimento: 1. Copiar a Função a ser customizada. Será solicitado o nome para o objeto e o grupo. O nome deverá ser o nome original + Sigla do cliente. O grupo deverá ser alterado de YGF_YPCA(produto) para YSYNCUSTOM. (verifique se o grupo de funções foi criado com um nome diferente de YSYNCUSTOM, sugerido nesse manual) 2. A partir da Função criada, os comentários existentes dentro da função, devem ser atualizados informando a data da customização, a sigla do profissional e do que se trata a customização. 3. No programa customizado, deve ser alterada a chamada da função original para a customizada. Observações: A cópia completa do grupo de funções e da função a ser customizada não garante a compilação correta do objeto. Normalmente, as variáveis, tabelas, forms, funções, utilizadas pela Função, se encontram nas includes do grupo de Funções, mas algumas situações fogem a essa regra. Pode existir uma função, que faça referencia a algo de outra função. Conforme exemplificado abaixo, as funções podem ter referência entre si: Grupo de Funções Declarações: Tabela1 FORM X Função Y Função 1 Função 2 Função 3 Função 1 Declarações: Tabela1 FORM A Chamada ao FORM A Chamada ao FORM X Função 2 Declarações: Tabela1 FORM B Chamada ao FORM B Chamada ao FORM A _________________________________________________________________________________________________ 1-6 • Procedimento para Customizações © Copyright 1991. Synchro Sistemas de Informação Ltda. Nenhuma parte deste material deve ser duplicado. Todos os direitos reservados. No caso, de apenas a função 2 ser customizada, a copia será apenas dela e isso causará erros de compilação, pois ela utiliza o FORM, que pertence a Função1. Essa situação deve ser adaptada a customização. Então, de acordo com o exemplo citado acima, podemos fazer isso de duas formas: • Incluir o FORM A na própria função2, onde o FORM A seria um FORM local. • Incluir em uma das includes do Grupo de Função o FORM A. Dessa forma, a referencia a Função1 não seria mais necessária. Esse opção é a mais recomendada, pois no futuro pode surgir a necessidade de customização de outras funções que se enquadrem nessa situação e compartilhem do mesmo Form. Outro problema que pode ocorrer no momento da compilação/verificação de erros é quanto a função VIEWPROC_INTERFACE, que contem algumas variáveis utilizadas por includes do grupo de função. Essa função fica no grupo SVIM, portanto quando copiamos o grupo YGF_YPCA, essa função não é copiada. As variáveis de includes no novo grupo de Funções YSYNCUSTOM ficarão sem declaração. Para resolver o problema, entre na função VIEWPROC_INTERFACE (SE37) e faça uma cópia da mesma. O nome deverá ser o nome original + Sigla do cliente. O grupo deverá ser alterado de SVIM para YSYNCUSTOM. Esse procedimento resolverá os problemas de compilação/verificação de erros e o grupo de Funções YSYNCUSTOM poderá ser ativado. Utilização do programa Customizado Para que na execução da ZSYNCARGA seja utilizado o Programa customizado para o Cliente, deve-se parametrizar essa alteração através da transação ZSYNPARAM. Nessa transação será visualizada toda a estrutura criada dinamicamente na execução da ZSYNCARGA. Na coluna “Programa Original”, procure pelo Nome do Programa do Produto que foi customizado e utilizando-se da coluna “Programa Customizado”, insira no nome do programa customizado. Customizações no código 1. Documentar no código customizado: • Inicio e fim das alterações; ____________________________________________________________________________________________________________________________ Procedimento para © Copyright 1991. Synchro Sistemas de Informação Ltda. Customizações • 1-7 Nenhuma parte deste material deve ser duplicado. Todos os direitos reservados. 2. • Data da alteração; • Nome de quem fez e a Empresa para qual trabalha; • Descrição e motivo da alteração; • Manter as linhas originais comentadas. Exemplo de comentário: !" # !$ !% & ! Código alterado A Synchro sempre irá disponibilizar as correções/alterações da Integração em novas versões ou em versões em andamento com o código original, onde o Cliente ficará responsável em gerenciar suas customizações. Customização de Outros Objetos Normalmente as customizações necessárias são realizadas em Programas e Funções, mas pode ser necessária customização de algum outro objeto envolvido na Integração SAP, como por exemplo, seguimentos de IDOC, tabelas internas e estruturas. Nesses casos deverão ser seguidos os procedimentos já descritos. Deverão ser criados novos objetos que tenham o nome formado pelo nome original do objeto, mais a sigla do cliente. Nesses novos objetos devem ser realizadas as customizações como o acréscimo de campos, por exemplo. Nos casos de criação de novos seguimentos de IDOC, as mesmas devem ser configuradas no sistema destino (BC / XI), para que a nova estrutura seja respeitada. Utilização de campo customizado (FlexField) Em determinadas situações, onde há a necessidade de integrar informação não previstas pelo produto, na estrutura de um IDOC, como por exemplo um novo atributo ou complemento de alguma informação, a integração SAP oferece a flexibilidade de utilização de campos de Produto, criados especificamente para customização (FlexField). O cliente poderá utilizar os campos FLEXFIELD_01, FLEXFIELD_02, FLEXFIELD_03, FLEXFIELD_04 e FLEXFIELD_05 para integrar com o Synchro qualquer tipo de informação sem que haja a necessidade de criação de um novo IDOC customizado. Esses campos para customização estão previstos em seguimentos já existentes no IDOC. No caso da necessidade de novos seguimentos, deverá ser seguido o procedimento descrito em “Customização de outros Objetos”. Boas Práticas Ao fazer qualquer alteração e customização: _________________________________________________________________________________________________ 1-8 • Procedimento para Customizações © Copyright 1991. Synchro Sistemas de Informação Ltda. Nenhuma parte deste material deve ser duplicado. Todos os direitos reservados. 1. Fazer verificação ampliada dos programas/funções para que seja garantido que não há nenhum erro de sintaxe dentro do Objeto e incompatibilidade com outros objetos; 2. Modularizar blocos de código (form / perform); 3. Verificar retorno de consultas antes de fazer “for all entries” com “sy-subrc”; 4. Comentar todas as estruturas condicionais (if, case, etc...); 5. Evitar usar instruções “join”, dar preferência a “for all entries”; 6. Evitar fazer consulta a banco de dados dentro de estruturas de repetição (loop, while, etc...), procura fazer consultas antes de entrar nas estruturas e ler tabelas internas dentro das estruturas de repetição. ____________________________________________________________________________________________________________________________ Procedimento para © Copyright 1991. Synchro Sistemas de Informação Ltda. Customizações • 1-9 Nenhuma parte deste material deve ser duplicado. Todos os direitos reservados.