CTE CT-e não autorizado. Código de status 239, motivo: Rejeição: Cabeçalho - Versão do arquivo XML não suportado

Boa tarde a todos,
Já configuramos os cenários do CT-e para a versão 2.00, mas temos algumas notas com o seguinte erro:
CT-e não autorizado. Código de status 239, motivo: Rejeição: Cabeçalho - Versão do arquivo XML não su
mesmo reiniciando o processo, o status se mantem com o 239,
alguém teria alguma solução para processar estes CT-e novamente?
desde ja agradeço.
Alexandre.

Alexandre,
Estou com o mesmo problema, o erro corre na validação do CTe de entrada quando ele foi emitido na versão 1.04.
Realizei um teste passando a chave do CTe alterando o parametro versão para 2.0 e a consulta retornou com sucesso. Estou pensando em fazer um mapping forçando a versão para 2.0.

Similar Messages

  • Error 70  - Código do status 225: Rejeição: Falha no Schema XML da Nfe.

    Bom dia grupo!
    Nós estamos atualmente recebendo a seguinte mensagem de erro da SEFAZ relacionado aos batches que nós enviamos: Error status 70 "Error from the authorities" and Código do status (Status Code) 225: Rejeição: Falha no Schema XML da Nfe.
    Nossa configuração é 46C com muitos OSS notes aplicados (veja abaixo)
    Nós estamos realmente parados neste momento e não temos nem ideia de onde começar.
    Atenciosamente,
    Marc de Ruijter
    OSS notes for NF-e phase 2
    989115      Nota Fiscal Electronica (NF-e) - Overview Note
    852302      Implementation Overview ISS 2004 - Legal Change MP135/LC116
    759965      New Condition Formulas for MP-135 and ISS 2004
    747607      Basic Customizing for MP135 and ISS legal change Brazil
    980214      DDIC changes: PIS / Cofins Tax Law and Tax Situation
    981123      PIS / Cofins Tax Law and Tax Situation
    981687      NFe: For Services in Muncipio Sao Paulo
    934846      Syntax error: TYPE-POOL 'SXRT' is unknown
    979881      Message S 000 in NF writer when mandatory fields not filled
    980213      Nota Fiscal Electronica (NF-e) of SEFAZ - Phase 2
    1037070      NF-e of SEFAZ - Phase 2, Enhancement 01
    1014600      No output found for the Nota Fiscal
    1052575      NF-e of SEFAZ - Phase 2 / DDIC changes after shipment
    1043688      NF-e of SEFAZ - Phase 2, Enhancement 02
    1062468      NF-e: Multiple volume structure for XML file
    1062251      NF-e: Extension of BADI Interface FILL_HAEDER
    1070261      NF-e of SEFAZ - Phase 2, Enhancement 03
    1094041      NF-e of SEFAZ - Phase 2, Enhancement 04
    1000130      Public System for Digital Bookkeeping (SPED) - Overview Note
    1008306      SD: Manual changes of CFOP for services when ISS tax applies
    998194      Missing ISS Tax Situation in the Nota Fiscal
    1047606      SD/Brazil: Using of error log during Nota Fiscal creation
    120449      SD-Brazil Exchange variance error in Nota Fiscal
    92383      LSA:BR:SD: Tax laws in return nota fiscal
    689157      Nota Fiscal Split and number of Packages
    987882      ISS Tax Law (field J_1BTAXLW3) not copied from sales order
    989965      CFOP redermination in the delivery document not working
    909835      Message 8B 679 raised during the delivery process
    337554      SD: No. of packages in Nota Fiscal
    533046      Repair order inconsistent to object list
    920330      Error when changing the tax codes in a sales order
    998195      PIS/COFINS/ISS Tax Law and Tax Situation in SD
    104606      EDI/IDoc: Mapping IDoc types to ANSI X12
    1094041      NF-e of SEFAZ - Phase 2, Enhancement 04
    1105588      J_1BLFZF: Runtime error OBJECTS_OBJREF_NOT_ASSIGNED
         OSS notes for XML ver 1.1 and NF-e phase 3
    1065334      NF-e: Extension of BADI Interface FILL_ITEM with tax table
    1068615      NF-e: Extension of BADI Interface with SD document flow
    1079826      NF-e: BAdI Interface Enhancement for NF Messages
    1069919      NF-e: Partner in Block E should always be main partner
    1090279      NF-e monitor: automatic refresh upon user actions
    1093252      NF-e: ICMS tax situation in XML File and DANFE
    1113127      NFe: New XML Layout - Version 1.10
    1114348      NF-e - xNFe integration - backend
    1122294      Send/resend NF-e: fill VBFA for BAdI item method
    1124075      NF-e: Serie not taken from Contingency NF-Type
    1144194      NF-e: Cancellation/Skipping Reason
         Bug Fix notes for NF-e BAPI.
    1049946      NF-e: Adaption of Nota Fiscal Bapis
    1147934      NFe: Random number should not be generated for incoming NFes
    1150733      NFe: Randon number and check digit not cleared
    1154995      NF-e: NF BAPI - enhancement for NF-e processing
    1158622      NF-e: NF BAPI - no input of random number possible
         Bug Fix notes for Contingency process
    1158612      NF-e: Wrong partner in Block-E for Entrada
    1240212      NF-e: One time Vendor data not transferred to XML file
    1255450      NF-e: Jurisdiction code for one time vendor / customer
    1257030      NF-e: Country Name for one time vendor / customer
    1069018      Cancellation of incoming NFe shows error J1B_NFE 003
    1070077      NF-e: Protocol number and document status for Denied NF-e
    1145148      NFe: Cancellation for Contingency NFes
    1152263      NF-e monitor: wrong action status '7' for C-NF-e
    1146914      NFe: Synchronous call to messaging system from backend
    1149356      NFe: Dump when NFe is cancelled with MIGO
    1152081      NFe: Dump when NFe is cancelled with VL09
    1153533      NFe: Dump when NFe in contingency is cancelled with VL09
    1156116      NF-e: Contingency by stock transfers
    1160107      NF-e: Cancellation of contingency NF-e with DOCSTA = 1 or 2
    1161347      NF-e: Cancellation of Contingency NF-e - correction
    1238648      NF-e monitor: req. action '3' (send) wrong for swtch. NF-e
    1165953      NF-e: Numbering Gaps
    1244326      NF-e: Numbering gaps - Status update in table J_1BNFENUMGAP
    1245425      NF-e monitor: required process step - contingency
    1252567      NF-e: Resend of NF-e - rejected or with validation error
    1266344      NF-e: Action Indicator for NF-e with validation error
    1254565      NF-e: Synchronization of RFC call between ERP and xNFe
    1053626      MIRO: wrong document reference in nota fiscal
    1073259      NF-e: Transfers - Outgoing NF-e No. not taken by Incoming
    1153874      NF-e: GR for future delivery takes wrong NF-e number
    1174946      NF-e: Serie not considered for duplicate NF-e number in MIRO
         Miscellaneous bug fix notes
    1175538      NF-e: Reference between NF and NF-e
    1244881      NF-e: Mixed scenario in MIRO shows error 8B219
    1257422      MIRO: Error 8B 219 by posting of reference invoices
    1150843      NFe: Text for cancel reason not transferred to XML file
         Bug Fix Notes Group 2
    1059699      NF-e: Reference between NF and NF-e
    1139062      NF-e incoming: Posted via J1B1N -> Wrong Document Status
    1144199      NF-e: SD Billing and Contingency
    1145089      NF-e: Cancellation despite rejected cancel request
    1149787      NF-e: Wrong status-code text in NF-e history
    1151112      NF-e: cancellation-reason text gets lost (pre req of 1150172)
    1150172      NF-e monitor: selection leads to dump
    1068379      Creation of Billing document issues an error 8B 145 (pre req of 1145089)
    1152842      NF-e: cancellation reason does not work
    1154700      NF-e: Random number & check digit not stored in active table
    1073145      PIS / COFINS Tax Laws for Transfers (pre req for 1155231)
    1082527      Missing PIS / COFINS Tax Laws for Transfers (pre req for 1155231)
    997868      VL02N: CFOP, tax laws not copied from delivery (error 8B148) u2013 (pre req of 1155231)
    1155231      PIS/COFINS tax law in NF/NF-e by split valuated material
    1155424      NF-e monitor: Menu -> "Check MS Connection" does not work
    1159177      NF-e: FUNC J_1B_NFE_SET_STATUS_IN_BACKEND set as Rem.Enabl
    1161951      NF-e monitor: "Resend" functionality.
    1162232      NF-e: switch to contingency not possible after MSS Update
    1162512      NF-e: cancellation reason not initial at first-time call.
    1162629      NF-e: creation date gets deleted from NF-e data-base table
    1164283      NF-e: SCS '5' - upon authr.to cancel system does not cancel
    1165155      NF-e Monitor: BACK (F3) leads to cancellation
    1165360      NF-e Monitor: new selection parameter - creation user
    1168394      NF-e: Reference document not taken from Nota Fiscal header
    1168798      NF-e: User decision for used NF-Type for Material Movements
    1171383      NF Writer: Copy NF-e that was switched to contingency.
    799445      Nota Fiscal creation: Consideration of local dates (pre req of 1171383)
    1104003      NF-Writer: Serie not taken from Reference NF (pre req of 1171383)
    1156037      NF-e: NF-Writer allow reference with different NF-types (pre req of 1171383)
    1175759      NF-e: central contingency per business place - correction
    1239598      NF-e: Random number and check digits are lost in NF writer.
    1163888      NF-e: Random Number includes spaces (pre req of 1239598)
    1245425      NF-e monitor: required process step u2013 contingency. u2013 applied in bug fix notes no need to apply.
    1246700      NF-e: Wrong reference for NF entradas.
    1257688      NF-e: Update termination with error J1B_NFE 021
    1258021      NF-e: Dump by creation of NF header text for XML file
    1258974      NF-e: Monitor report aborts with DBIF_RSQL_INVALID_RSQL
    1265172      NF-e - Decouple RFC from DB Update
    1285851      NF-e: Cancellation of none authorized documents
    1288925      NF-e: References between NF-e and non NF-e
    1272677      NF-e: Cancellation for Material Document with serial number (pre req for 1288925)
    1247602      NF-e: Cancellation of material documents with serial numbers
    1163104      NF-e: Cancel Material documents with initial cancel reason
    1293944      NF-e: Cancellation of material documents with batch classes.
    1267128      NF-e: Cancellation goods movement with MVT 844 not possible (pre req for 1293944)
    1300000      NF-e: Decouple - Contingency
    1314856      NF-e: Decouple - Contingency in J1BNFE and VF01 & VF04
    1321837      F-e: Cancel of material documents not possible
    1092028      NF-e: Protocol number in NF-header overwritten (pre req for 1265172)
    1114283      NF-e: cancellation - document status cleared in J_1BNFDOC (pre req for 1265172)
    1234053      Local time / local date in NF header and NF-e XML (pre req for 1265172)
    1288994      NF-e: Decupling note 1265172 causes error for incoming NF-e (pre req for 1300000)
    1297042      NF-e: NF-e number missed in access key after decoupling (pre req for 1300000)
    1087535      RFFOBR_A,U:Doc.no should be filled with 9 digits in DME file Applied OSS note 1087535 to the object Z_RFFORIY1 which was copied from RFFORIY1
    1097455      NFE: Bank files should accommodate Doc. Numbers with 9 digits
    304961      Wrong boleto check digit with carteira data (pre req of 1097455) - Not relevant
    336117      Include due date factor in Boleto barcode for A/R (pre req of 1097455) - Not relevant
    705726       ITAU: Boleto has negative interest value (pre req of 1097455) - Not relevant
    846297      Func Mod - BOLETO_DATA not printing correct nosso numero (pre req of 1097455) - Not relevant
    852782       BOLETO_DATA - Corrections of note 846297 for Bredesco only (pre req of 1097455) - Not relevant
    1227478      Dump in payment run (F110) when XBLNR is empty
    1138278      NFe: Field PREDBC not filled in XML interface structure (pre req of 1149585)
    1149585       NFe: CST field required in XML file for taxes not in NFe
    1053855      VL02N raises error 8B 053 "Branch not foundu201D
    1165696      RFEBBU00: Error in batch input due to changes in Nota Fiscal
    1180402      NF-e: BADI methods FILL_HEADER and FILL_ITEM
    1180672      NF-e: Gap numbering check doesnu2019t consider the series
    1225338      RFEBBU00: Additional changes to the note 1165696
    1241922      NF-e: Report J_1BNFECHECKNUMBERRANGES xNFe adaption
    1244326      NF-e: Numbering gaps - Status update in table J_1BNFENUMGAP (Applied using other Kintana)
    1270813      NF-e: Year not included in the XML file
    1247264      NF-e: Error in RFC to /XNFE/NFE_CREATE after note 1241922 (pre req for 1274200)
    1274200      NF-e: Numbering gaps report sends SERIE with spaces
    1276185      NF-e: Numbering gaps report sends SERIE with spaces
    1294917      NF-e: Gap numbering check - several corrections
    1324538      Missing address for OT Customer in J_1B_NFE_CREATE_TXT_FILE
    1331432      NF-e: Numbering gaps report detects gaps for initial series
    1332167      NF-e: Rep. J_1BNFECHECKNUMBERRANGES aborts with error DC 006
    1092341      RFFOBR_A,RFFOBR_D: Performance problem while rebate calcula
    1237089      RFEBBU10:While uploading ITAU Bank returnfile- Error(F5 170)
    1051314      Check Digit missing from Boleto number (pre req for 1306966)
    1306966      J_1BBR30:XREF3 is not updated correctly with Boletofrom bank
    1005924      RFFOBR_A-The DME file does not include Rebate for ITAU (pre req for 1287633)
    1287633      RFFOBR_A: Discount amount not calculated correctly
    1234054      NF-e: function J_1B_NFE_MS_REQUESTS_DATA is not RFC enabled
    1297534      NFe cancellation problems in GRC
    1243964      NF-e: Adaption of xNFe interface of function NFE/NFE_SKIP
    1165746      NF-e: Cancel - Error log not updated
    1327465      The program /xnfe/update_erp_status is not updating R/3
    1326691      BAdI for controlling the RFC call of external systems
    1333136      Prevent simultaneous click on buttons in NF-e monitor
    1333742      NF-e got the status 218
    1354192      Validation rules: correction for fields TPLACA and T_UF1
    1373175      Lock object for /XNFE/NFE_CREATE to prevent double transm
    1376500      BAPIRET2 to provide the detailed information to ERP
    1267455      Not possible to create different DOCREF per item using BAPI (pre req for 1373321)
    1373321      BAPI_J_1B_NF_CREATEFROMDATA: DOCREF from Header go to item
    1328583      NF-Writer posting of NF/NFe when mandatory fields not filled
    1338166      NF-e: Random number and check digit lost after note 1328583
    1259918      NF-e: RFC calls for request for cancellation or skip
    1152140      NF-e: backend allows inconsistent new SCS (pre-req for 1298283)
    1162852      NF-e: Inbound errors missed in error log of Monitor Report (pre-req for 1298283)
    1163056      NF-e: Problems with printing via BADI method CALL_RSNAST00 (pre-req for 1298283)
    1276438      NF-e: Parallel Phase not identified in messaging system (pre-req for 1298283)
    1296515      NF-e: J1BNFE reset rejected NF-e after skipping request (pre-req for 1298283)
    1297823      NF-e: Cancelled NF-e shows wrong action indicator (pre-req for 1298283)
    1298283      NF-e: Skip for NF-e with validation error
    1362969      NF-e: check cancellation for billing documents
    1368159      NF-e: cancellation of invoices via original application only
    1370933      NF-e: Accept Rejection to Cancel - wrong status in monitor
    1376324      NF-e: Skip for NF-e with validation error
    1140579      NFe: Field length conflicts from backend interface to XML
    1357713      NF-e: Cancel of incoming NF-es does not update active table.
    1173018      NF-e: Field control for Random Number and Check Digit (pre-req for 1366320)
    1321517      NF-e: MIRO Credit Memos for NF-e shows error 8B 020 (pre-req for 1366320)
    1366320      NF-e MIRO:Save is allowed without mandatory fields filled for NFe
    1375066      NF-e: J_1BNFECHECKNUMBERRANGES ends too early, wrong subrc
    1375894      NF-e: J1BNFE authority check for company code
    1377879      NF-e: Report J_BNFECALLRFC aborts with message A098
    1379062      NF-e: posting GR after cancellation leads to wrong NF-e
    1357777      Cancel billing document without Nota Fiscal cancellation
    1380861      NF-e Resend(proc.stat.07) with Signature error impossible
    1362025      Error while sending Bacen Code EX with 0 on begining
    1249819      NF-e: Field MODFRETE filled incorrectly

    Bom dia Marc de Ruijter,
    Não dá para ler sua thread, mas imagino que seu validador esteja desligado.
    No GRC vá em SPRO --> SAP GRC Nota Fiscal Electronica --> Configure System Response for Each Tax Number (CNPJ)
    Para ligar/desligar o Validador basta clicar no check box na coluna Validation.
    Observação: Para correto funcionamento do GRC deve-se sempre utilizar o validador ligado.
    Após isto refaça seu teste, é provável que você receba um erro de validação para a NF-e. Veja em GRC Web monitor -> NFe Detailed View -> Validation History.
    Atenciosamente,
    Fernando Da Ró

  • Código de Status 109

    Boa Tarde,
    Estamos com a situação de um rejeição de 9 Nfe que estão retornando o código de status 109 - Serviço Paralisado sem Previsão da SEFAZ-MT.
    Como podemos alterar esse código de status, para que o nota fiscal possa ser reenviado para a Sefaz?
    Já validei o XML no site da SEFAZ e ele está OK, assim como não existem caracteres estranhos na mensagem.
    Desde já agradeço a ajuda.
    Edgar Oliveira.
    Edited by: Suporte SAP Rexam Procwork on Jul 20, 2009 7:33 PM

    Peguei uma nota para exemplo e segue o histórico do que aconteceu:
    No dia 18/07/2009 as 10:28 foi enviada pela J1BNFE para o GRC. GRC enviou para SEFAZ e retornou o Status 109.
    Fizemos o procedimento de resetar e enviar novamente várias vezes inclusive hoje mesmo. Volta sempre com o mesmo Status.
    No GRC, consultando o histórico das notas só tenho como envio e recebimento no dia 18/07/2009. Os lotes das notas foram enviados somente no dia 18/07/2009.
    O que eu acredito que está acontecendo é que o PI não está reenviando estas notas para a SEFAZ. Esta pegando o status que se encontra no GRC e atualiza no R3.
    Abaixo o link com o histórico de uma das notas:
    Histórico J1BNFE: http://img149.imageshack.us/img149/6527/nfstatus109.jpg
    Status GRC:
    http://img79.imageshack.us/img79/8497/nfstatus109grc.jpg
    http://img174.imageshack.us/img174/2851/nfstatus109grc1.jpg
    Att,
    Edgar Oliveira.

  • CTe em Ambiente de Homologação

    Olá Pessoal,
    Estamos fazendo as configurações do CTe Outbound, e nos deparamos com o erro 646.
    Ele diz que temos que mandar: CT-E EMITIDO EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL para alguns campos.
    Na NFe tinha essa questão também, mas lá fizemos no método FILL_HEADER da badi.
    Para o CTe não estou encontrando um lugar apropriado, a não ser por ENHANCEMENT. Os campos de parceiros não estão disponíveis para alteração no método do CTe 2.00.
    Pergunta: Alguém tem um lugar melhor para eu colocar esse literal Fixo ( Lembrando que tenho que colocar no EMITENTE, RECEBEDOR, etc, etc )
    Obrigada!
    []s

    Oi
    Creio que vc consegue "habilitando" este campo na BADI fazendo um append Z na estrutura do cabeçalho no método FILL_CTE_200.
    Abraço
    Eduardo Chagas

  • Inserção de mais moedas - 8KEM

    Boa tarde
    Poderiam me dar um help?
    Estou num projeto de alteração de moeda e queremos inserir mais moedas na transação 8KEM mas o match code só mostra 2 opções:
    10 u2013 moeda da empresa
    30 u2013 moeda do grupo de empresas
    Procuramos nas configurações e não achamos nenhum lugar onde poderiamos inserir mais moedas.
    Existe a possibilidade de trabalhar com outras moedas que não a 10 e a 30?
    Obrigado pela ajuda
    Abraço
    Arcturus

    Relacionado à NFe
    3.1. NF-e versão 2.0 (pode ser que a SAP gere notas de correção/implementação para tratar este ponto);
    +*Sim, a SAP estara disponibilizando o Sp15 que irá finalizar o processo de comunicacao com o SEFAZ em ambos os formatos, o antigo e o novo, e ja existem algumas notas que devem ser aplicadas para que os novos parametros já sejam enviados ao GRC, inclusive deve ser aplicado o Sp14 , o SP 15 esta previsto para 27 desse mes*+
    3.2. Tratativas dos Ajustes SINIEF 03/2010 (Indicação do CRT - Código de Regime Tributário na NF-e, talvez no DANFE) - prazo: 01/10/2010 e 09/2010 (Obrigatoriedade de envio e recebimento dos Arquivos XML; Emissão NF-e em situação de contingência; Carta de Correção Eletrônica).;
    +*Entendam o seguinte, o envio nao é obrigatorio, vc pode enviar ou DISPONIBILIZAR o xml, entende-se que disponibilizar é caso o cliente solicite vc envie para ele atraves de e-mail ou qualquer midia digital para que ele apresente ou armazene para futuras fiscalizacoes. A SAP possui o processo de B2B que envia o XML via e-mail e recebe tbem via e-mail armazenando em tabelas proprias*+
    3.3. Capa de Lote Eletrônica para o Estado do Amazonas (Protocolo ICMS 90/2010).
    +*Por enquanto isso é uma aprticularidade do Amazonas, provavelmente a SAP nao tera uma solucao para isso no momento ou talves nem exista, vc tera que fazer uma solucao propria por enquanto+*

  • SPED PisCofins - Registro 0200 - Descrição do material e NCM em branco

    Olá Pessoal,
    Na geração do arquivo pela J1BPIS, no registro 0200, campo 03 (descrição do item) e 08 (Código NCM) está ocorrendo que o mesmo é preenchido até certo ponto do arquivo, depois aparecem uns 50 registros com estes campos em branco e na sequência voltar a preencher os dados.
    Pecebi que a variável (uv_maktx) que deveria ter o dados é do tipo j_1bnflin-maktx, verifiquei na tabela de itens e as descrições estão todas lá.
    Alguém já passou por esta situação? Será que seria melhor usar a Badi FILL_REGISTER_0200 para preencher os mesmos ou teria alguma nota disponível.
    Estamos no enahncement 14.
    Obrigado,
    Ariel
    Edited by: ArielRCosta on Feb 16, 2012 8:07 PM
    Edited by: ArielRCosta on Feb 16, 2012 8:36 PM
    Edited by: ArielRCosta on Feb 16, 2012 8:43 PM

    Edson, boa tarde!
    Estou nesse exato momento testando esse problema. Abri um chamado na SAP e eles já estão cientes.
    Te mantendo informado.
    João Henrique

  • SPED Contábil / Fiscal e NF-e. Quais pontos a SAP atenderá?

    Senhores,
    Eu tenho uma lista do que mais ou menos seremos obrigados a ver no futuro, diante das obrigações que o governo está solicitando. Gostaria de saber sobre quais pontos abaixo a SAP tem planos de atender:
    1. Relacionados ao SPED Contábil:  
    1.1. e-LALUR;
    2. Relacionados ao SPED Fiscal:  
    2.1. Inserção de dados de CIAP no SAP para fins de SPED Fiscal (geração do bloco G);
    2.2. Geração do bloco G no arquivo EFD - O prazo para iniciarmos a geração deste bloco segundo o governo é Janeiro de 2011;
    2.3. Geração de créditos para PIS e COFINS, muito semelhante a que ocorre no CIAP ICMS;
    2.4. Geração de arquivo EFD PIS / COFINS. O prazo para iniciarmos a geração deste arquivo segundo o governo é Janeiro de 2011.
    2.5. Entrega dos arquivos digitais da Declaração Crédito Acumulado do ICMS em atendimento a Portaria 83/2009.
    3. Relacionados à NF-e:  
    3.1. NF-e versão 2.0 (pode ser que a SAP gere notas de correção/implementação para tratar este ponto);
    3.2. Tratativas dos Ajustes SINIEF 03/2010 (Indicação do CRT - Código de Regime Tributário na NF-e, talvez no DANFE) - prazo: 01/10/2010 e 09/2010 (Obrigatoriedade de envio e recebimento dos Arquivos XML; Emissão NF-e em situação de contingência; Carta de Correção Eletrônica).;
    3.3. Capa de Lote Eletrônica para o Estado do Amazonas (Protocolo ICMS 90/2010).
    No aguardo,
    Daniel

    Relacionado à NFe
    3.1. NF-e versão 2.0 (pode ser que a SAP gere notas de correção/implementação para tratar este ponto);
    +*Sim, a SAP estara disponibilizando o Sp15 que irá finalizar o processo de comunicacao com o SEFAZ em ambos os formatos, o antigo e o novo, e ja existem algumas notas que devem ser aplicadas para que os novos parametros já sejam enviados ao GRC, inclusive deve ser aplicado o Sp14 , o SP 15 esta previsto para 27 desse mes*+
    3.2. Tratativas dos Ajustes SINIEF 03/2010 (Indicação do CRT - Código de Regime Tributário na NF-e, talvez no DANFE) - prazo: 01/10/2010 e 09/2010 (Obrigatoriedade de envio e recebimento dos Arquivos XML; Emissão NF-e em situação de contingência; Carta de Correção Eletrônica).;
    +*Entendam o seguinte, o envio nao é obrigatorio, vc pode enviar ou DISPONIBILIZAR o xml, entende-se que disponibilizar é caso o cliente solicite vc envie para ele atraves de e-mail ou qualquer midia digital para que ele apresente ou armazene para futuras fiscalizacoes. A SAP possui o processo de B2B que envia o XML via e-mail e recebe tbem via e-mail armazenando em tabelas proprias*+
    3.3. Capa de Lote Eletrônica para o Estado do Amazonas (Protocolo ICMS 90/2010).
    +*Por enquanto isso é uma aprticularidade do Amazonas, provavelmente a SAP nao tera uma solucao para isso no momento ou talves nem exista, vc tera que fazer uma solucao propria por enquanto+*

  • Inutilização de Nota com erro de validação no GRC

    Bom dia,
    Estou com um problema na inutilização de notas com erro de validação no GRC!
    Quando a nota é rejeitada pela GRC, fica da seguinte maneira:
    Etata obrigatória do processo : 8 (Erro validação interna sistema de mensagem.Envie novamente!)
    status de comunicação do sistema : 0 (Enviada ao sistema de menssagem (XI,...))
    status do sistema de mensagens : V (Mensagem Recebida: Erro de Validação Interna)
    Sem utilizar o botão Reset NFe, clico no botão Request Cancelation e realizo os procedimento de cancelamento.
    Verifico pela tabela /XNFE/NFE_HIST que gerou um registro com a chave de acesso, type 3 (Inutilização) e status 6 (Enviado ao Processamento da Nota Fiscal Eletrônica).
    Consulto no SEFAZ e verifico que essa nota já esta inutilizada porém na J1BNFE a nota continua processando.
    Alguem sabe como resolver este problema?
    Obrigado,
    Leandro Von Zubem.

    Bom dia.
    Tenho uma NF-e que está em situação parecida e agradeço suas colaborações.
    Estamos na ECC 5.0 SP 19.
    Esta NF-e foi rejeitada pela SEFAZ (NF-e writer e o erro estava no ano da data de emissão = 2008)
    e o usuário não percebendo tentou re-enviar várias vezes.
    Por fim, mesmo Rejeitada foi solicitado o Estorno (Skip) e os status da NF-e ficaram como abaixo:
       SAP ECC 5.0 SP19
          Status Ação :          Em processamento
          Status do documento NF-e:     2 Rejeitado
          Status de comunicação do sistema: 3 Rejeitado/a & autorização solicitada para ignorar
          Status do sistema de mensagens:     C Mensagem recebida: pedido de inutilização
          NF-e Código de Status :     228
       Log
              Novo stat.comun.sistema "Rejeitar estorno/ignorar usuário aceitos" não permitido p/status
                         comun.sist.anterior "Rejeitado/a & autorização solicitada para ignorar
              Nº mensagem J1B_NFE007
       GRC
          Status Code:               228     Rejeição: Data de Emissão muito atrasada
    Seguindo as orientações já mencionadas aplicamos em Desenv as Notas 1376901, 1376324 e 1298283 e
    simulamos a situação. Mas a NF-e também permanece "em processamento".
    A Nota 1141636 não foi possível aplicar porque exige para Basis o SP 700 e estamos no SP 640.
    Esta atualização seria muito mais demorada.
    Pergunto: existe alguma forma de ajustarmos os status para finalizar esta NF-e? (Rejeitar ou Aprovar/Rejeitar).
    Agradeço a toda colaboração.
    Abraços a todos e ótimas festas.
    Luis Appel

  • Dúvida no Preenchimento dos campos PREFNO / CHECOD em NFS-e de SP

    Olá Pessoal,
    Estou a procura de informações sobre a solução para nota fiscal eletronica de serviços da prefeitura de São Paulo, pesquisando no forum pouco encontrei sobre a nota 981687 - NFe: For Services in Muncipio Sao Paulo.
    A SAP disponibilizou os dois campos PREFNO / CHECOD para o numero da nota fiscal e código de verificação gerados pela prefeitura (uma vez que o SAP deve gerar o número da RPS), além de um report para geração do arquivo TXT e envio manual.
    Minha dúvida é a seguinte:
    1) Após enviar o arquivo para a prefeitura, são convertias as RPS em Notas Fiscais Eletronicas. Como armazenar as informações nos campos standards mencionados ? Existe um outro report que le o arquivo de retorno da prefeitura ?
    Outra dúvida está na procura de uma sugestão, onde o RPS pode ter até 12 posições e o NFNUM do SAP apenas 6. Vcs estão utilizando outro campo Z para compor o numero maior ? Ou como esta fazendo quando o RPS atingir 999.999 ? Pensei en usar o NFENUM, mas teria o mesmo problema quando atingir o limite de 9 posições (999.999.999).
    Muito obrigado pela atenção e ajuda.

    A_cristovao ,
    Vamos ver se posso lhe ajudar em algo:
    1) Após enviar o arquivo para a prefeitura, são convertias as RPS em Notas Fiscais Eletronicas. Como armazenar as informações nos campos standards mencionados ? Existe um outro report que le o arquivo de retorno da prefeitura ?
    Resposta: Em alguns projetos que passei, consultei os abaps e sempre foi desenvolvido um programa Z para ler este arquivo e fazer um BDC na J1B2N, porem sua categoria de nota não dever ser eletrônica, aqueles dois campos flag no cabeçalho NF eletronica e NF servico, apenas o último(serviço) marcado para o BDC entrar e conseguir mapear o campo com o NFSe e cod verificador.
    2) Outra dúvida está na procura de uma sugestão, onde o RPS pode ter até 12 posições e o NFNUM do SAP apenas 6. Vcs estão utilizando outro campo Z para compor o numero maior ? Ou como esta fazendo quando o RPS atingir 999.999 ? Pensei en usar o NFENUM, mas teria o mesmo problema quando atingir o limite de 9 posições (999.999.999).
    Resposta: Esse estamos usando o NFNUM mesmo, não chegamos a nos preocupar com isso devido ser um volume baixo de NFS, talvez um chamado no componente XX-CSC-BR-NFE lhe ajude. 
    Abraço,
    Bruno Lima

  • Nota Fiscal Manual i9(n4) com referencia a i8(e1) - rejetada  - 269

    Bom dia,
    Estou com um problema, quando emito um nota fiscal manual modelo eletrônico antigo ( n4 ) com referencia a uma eletrônica antiga ( e1 ), o sejaz rejeita a NFe com código de status 269 - Rejeição: CNPJ Emitente da NF Complementar difere do CNPJ da NF.
    O problema é que neste caso não é uma nota complementar, e sim uma nota de devolução. É o caso de problema de configuração?
    Obrigado.

    Certifique-se que o que nas configurações da sua cateroria de nf-e de devolução (presumo que seja I9) o tipo de documento definido seja a opção "6 Devolução" e não "2 Complementar".
    abraç

  • ATUALIZAÇÃO DE STATUS NF-E EMITIDA E ENVIADA A LEGADO P/ COMUNICAÇÃO SEFAZ

    Senhores (as);
       Estou desenvolvendo uma NF-e que será gerada no SAP (J1B1N), depois será enviada a um sistema legado que fará o envio a SEFAZ. Para tal, na J_1B_NFE_XML_OUT, coloquei uma codificação que gera um arquivo .xml e salva num diretório, onde o legado busca este arquivo e envia a Sefaz e trata as contigências, cancelamentos, imprime o DANFE, etc. coloquei também uma chamada a essa RFC no form Call_Xi. Ocorre que no monitor J1BNFE, quando seleciono a nota e clico em enviar aparece a mensagem:
    "Mensagem incompleta (Falta nível de gravidade, área, número ou exceção)"
        E quando eu tento carregar o retorno na J_1B_NFE_XML_IN e forçar nela status de enviado, retorna "Não permite status seguinte 'Não Enviado' para doc. 'Autorizada'".
        Gostaria de saber se alguém sabe como atualizar os status do Monitor (J1BNFE) neste caso;  e se tem como, somente alimentando a J_1B_NFE_XML_IN, atualizar os status ? Gostaria de que quando enviar no Monitor o status ficasse em 'enviado', 'Autorizado', etc, de acordo com a fase do processo, pois o legado consegue carregar a J_1B_NFE_XML_IN com o retorno da SEFAZ....
    Desde já agradeço....

    Exmo Sr:. Da Rós;
       Segue abaixo respostas:
    Bom dia José Aguilar,
    porém o meu problema com a atualização dos status persiste
    Pergunta: Agora quando a NF-e é emitida e transferida para o sistema mensagerio você obtem um SCSSTAT = 0 na J1BNFE?
    Resposta: Não. Esta é exatamente a causa de todas as minhas perguntas neste fórum.
    ...temos para auxiliar os amigos do fórum no entendimento correto da questão, pois se trata de cenário único (envolve 3 sistemas) e com particularidades específicas, como servidor Unix, cliente Retail, sem PI nem GRC, etc.
    Para o ERP este passo de saída não faz tanta distinção ser o GRC ou não, ele irá chamar a /XNFE/NFE_CREATE para o GRC ou a J_1BNFE_XML_OUT para mensageria de terceiros.
    Próximos passos:
    - Qual o resultado do debug? O que descobriu?
    Resposta: No Debug descobri a solução para o meu problema antigo, as mensagens do log; porém não conseguí ainda achar exatamente  o ponto onde acontece o flag do campo SCSSTAT, o mesmo passa por diversas estruturas, variáveis e ti's, tentei forçar o valor no campo porém quando passa por outras consistências e funções volta a zerar o conteúdo. Agora estou debugando o grupo de funções j_1b_nfe e a j1b1, pois a verdade é que preciso flegar este campo no momento da criação da nf-e, pois os usuários terão acesso ao j1bnfe só para verificar status, pois o volume de notas é muito grande e devem já ser criadas com a determinação do número e o envio para o programa que repassará o arquivo ao Synchro.
    - Os status mudaram?
    Resposta: Não.
    Atenciosamente, Fernando Da Rós
    Agradeço pela compreensão, disposição, educação e grande paciência com que o senhor vem reportando meus questionamentos.
    Grato.
    José Aguilar.

  • Entrada da NFe no ERP e arquivamento do XML.

    Prezados, bom dia.
    Tenho algumas dúvidas que gostaria de dividir com vcs. Alguém saberia responder?
    Processo de Entrada de Nfe no ERP (manual)
    1.) Quando da entrada de dados da DANFE no ERP (MIGOMIRO), este envia alguma informação pro GRC? Em que momento é validada a DANFE?
    2.) Se sim, em que formato são armazenados os dados da NFe no GRC?
    Recebimento do arquivo XML do fornecedor
    1.) Há alguma consistência entre o XML (recebido do fornecedor) armazenado no GRC e os dados inseridos no ERP (com base na DANFE recebida)?
    2.) De quem é a obrigatoriedade em armazenar o XML? Fornecedor, empresa que recebe, SEFAZ, Receita Federal, etc? As informações armazenadas são as mesmas? Por qual período os dados devem permanecer guardados?
    Obrigado por qualquer ajudar.
    Hyalen.

    Obrigado David e Henrique. As respostas ajudaram bastante.
    Formatei a discussão em Perguntas e Respostas para facilitar o entendimento.
    1- Pergunta:
    Quando da entrada de dados da DANFE no ERP, este envia alguma informação pro GRC? Em que momento é validada a DANFE?
    Resposta:
    Atualmente, quando você entra com as informações da DANFE através do MIRO/MIGO nenhuma informação é enviada ao SAP GRC NFe, logo nenhuma validação destas informações é realizada junto a SEFAZ.
    2- Pergunta:
    Uma parte do processo de NFe é dar entrada da mercadoria no ERP. O que acontece se eu digitar as informações de recebimento, em relação ao XML armazenado, errada no ERP? Há alguma consistência entre o XML armazenado no GRC e os dados inseridos no ERP?
    Resposta:
    Quando você receber o XML de um emissor de NF-e através do cenário de B2B do SAP GRC NFe, esta nota será consultada pelo SAP GRC NFe junto ao site da SEFAZ e será armazenada no SAP GRC NFe (dentro do repositório do SPRO), mas nenhuma informação desta NFe (XML recebido) será consistida com as informações inseridas no ERP (baseada na DANFE recebida).
    3- Pergunta:
    Em que formato são armazenados os dados da NFe no GRC? Melhor dizendo, o GRC decompõe o XML que chega do fornecedor e armazena os dados em tabelas ou grava como XML mesmo?
    Resposta:
    O GRC armazena o XML sem decomposição alguma e em dois momentos, quando da solicitação do protocolo e após validação do XML pela SEFAZ. No segundo caso o XML será armazenado com o Código de Autorização de Uso.
    4- Pergunta:
    De quem é a obrigatoriedade em armazenar o XML? Fornecedor, empresa que recebe, SEFAZ, Receita Federal, etc? As informações armazenadas são as mesmas? Por qual período os dados devem permanecer guardados?
    Resposta:
    Estas informações foram extraídas Portal da Nota Fiscal Eletrônica - Perguntas Frequentes NF-e
    A regra geral é que o emitente e o destinatário deverão manter em arquivo digital as NF-es pelo prazo estabelecido na legislação tributária para a guarda dos documentos fiscais, devendo ser apresentadas à administração tributária, quando solicitado. Assim, o emitente deve armazenar apenas o arquivo digital.
    No caso da empresa destinatária das mercadorias e da NF-e, e que seja emitente de NF-e , ela também não precisará guardar o DANFE, mas apenas o arquivo digital recebido.
    Caso o destinatário não seja contribuinte credenciado para a emissão de NF-e, o destinatário deverá manter em arquivo o DANFE relativo a NF-e da operação pelo prazo decadencial estabelecido pela legislação, devendo ser apresentado à administração tributária, quando solicitado.
    Reforçamos que o destinatário sempre deverá verificar a validade e autenticidade da NF-e e a existência de Autorização de Uso da NF-e, tenha ele recebido o arquivo digital da NF-e ou o DANFE acompanhando a mercadoria. Hoje os processos são separados.
    1- DANFE -> transporte de mercadoria -> entrada manual MIRO/MIGO.
    2- XML -> interface B2B -> armazenamento no GRC.
    A funcionalidade de entrada automática dos dados da NFE no ERP (sem necessidade de digitar nada, dados lidos do XML) está prevista pro próximo release do NFE.
    Quanto ao requisito legal (armazenar o XML e verificar status da NF-e quando da chegada do XML), a solução já atende. Mas vc continua tendo q fazer a MIRO/MIGO e checar na SEFAZ o status da NF-e quando da chegada do DANFe (pois no meio tempo entre a chegada do XML e da DANFe, a NF-e pode ter sido cancelada pelo emissor). No próximo release, esses passos manuais serão totalmente automatizados, sendo integrados com o processo do XML.

  • NFe de 3o foi pro GRC e não volta status

    Bom dia pessoal!
    Estou dando um help num cliente que usa um sistema externo para enviar ao SAP todas as NFs (de terceiros, de entrada própria, eletrônica ou não). Como esse sistema cria NFs e também recebe NFs de terceiros, toda a numeração chega pronta no SAP - assim, as categorias de NF usadas estão configuradas para aceitar numeração externa.
    Com isso, o pessoal se perdeu nas configurações - no SAP é fácil, se é de terceiros, é informado o número da NF, senão, o campo é fechado - e acabou usando uma categoria de NF de entrada própria para registrar uma NF de terceiros, o que gerou o cenário-problema:
    1 - a NF-e foi pra SEFAZ (não poderia ter ido);
    2 - a NF-e foi com a chave de acesso da NF-e do terceiro (deveria ser composta com o CNPJ do emissor da NF de entrada);
    3 - o lote não recebe retorno da SEFAZ (é do RS) - penso que pode ser por causa do emissor ou da chave de acesso com outro CNPJ. Temos então:
    -> Lote com status = 04 (Solicitação enviada) / código de status = 104 (Lote processado).
    -> No monitor do ERP a NF fica aguardando, não consigo cancelar nem dar reset.
    O que eu tentei:
    -> Alterar os status do lote para reprocessar (set /XNFE/BATSTA-PROCESS = X). Reprocessou e continuou do mesmo jeito;
    -> Alterar status da NF-e na /XNFE/NFE_HIST - nada adiantou;
    -> Mais algumas alterações de status lá e cá, nenhuma surtiu efeito, daí voltei para o estado inicial;
    -> segui uma dica para outro problema ("Nota fiscal cancelada no SAP e autoriza na SEFAZ" [ onde o Fernando orientou como alterar os status para habilitar um Status Query...... Esse quebrou as pernas em dois lugares...... o status query funcionou, mas com a NF-e do TERCEIRO!!! e voltou autorizada!!!
    tá, já voltei os status pro que estava antes, voltando ao ponto anterior... sim, podem rir :P
    O que não tentei (queria evitar):
    -> Chavear a NF para contingência e cancelá-la.
    Enfim, tirando a opção de contingência, alguém tem ideia de como fazer essa bendita NF ter algum status de erro para poder solicitar o cancelamento, ou algo do gênero, que me permita estornar o processo?
    Obrigado!!
    Eduardo

    Bom dia Eduardo,
    Que encrenca heim...rsss
    Seguinte, no GRC pode ignorar esta nota, matar, o que quiser como você mesmo disse ela não deveria estar ali, e tentar fazê-la retornar ao ERP para pedir cancelamento só irá piorar as coisas.
    Se entendi bem, é uma nota externa "registrada" no ERP, então está com o FORM vazio. Você terá que reverter os status manualmente no ERP, pegue uma nota "equivalente" e sincronize os status.
    Para evitar nova transmissão de NF-es externas (sem formulário) aplique as SAP Notes 1396498, 1368159 e 1518476.
    Atenciosamente, Fernando Da Rós
    Ops, li novamente e acho que o erro foi ter registrado com a categoria com formulário, né? Isto também teria que ser revertido manualmente.
    Edited by: Fernando Ros on Oct 28, 2010 12:18 PM

  • When clic in the field "i_ekpo-ebeln" tab exit in report ALV

    Good Afternoon! *********************************************************
    Coloquei all the code, I believe for better clarification. When clico in the field i_ekpo-ebeln in the report is called transaction ME23 c/o GRID this functioning normally, but with the reports List and Hierarquico it does not happen the same and it prints in the baseboard the message "Invalid Function". when standard use buttons, functions of course.
    obs.: I had that to create a SET Pf-status for each type of report pos I wanted that when clicar in the field box and clicar in the button "TO PRINT REPORT" it printed sapscript. How I make to solve such problem?
    Att, Carlos Eduardo.
    REPORT ztreino NO STANDARD PAGE HEADING LINE-SIZE 220.
    ************************declarações*********************
    DATA: BEGIN OF y_ekko OCCURS 0,
            ebeln TYPE ekko-ebeln,  "Nº documento de compra
            bukrs TYPE ekko-bukrs,  "Empresa
            bsart TYPE ekko-bsart,  "Documento de compra
            loekz TYPE ekko-loekz,  "Código de eliminação
            aedat TYPE ekko-aedat,  "Data de criação do registro
            ernam TYPE ekko-ernam,  "Nome do responsável que criou o objeto
            lifnr TYPE ekko-lifnr,  "Nº conta do fornecedor
            ekgrp TYPE ekko-ekgrp,  "Grupo de compradores
            waers TYPE ekko-waers,  "Chave da moeda
            BOX   TYPE ptrv_approval-box, "campo para chekinbox
          END OF y_ekko,
          BEGIN OF y_ekpo OCCURS 0,
            ebeln TYPE ekpo-ebeln,  "Nº documento de compra
            ebelp TYPE ekpo-ebelp,  "Nº item do documento de compra
            loekz TYPE ekpo-loekz,  "Código de eliminação
            txz01 TYPE ekpo-txz01,  "Texto breve
            matnr TYPE ekpo-matnr,  "Nº material
            bukrs TYPE ekpo-bukrs,  "Empresa
            werks TYPE ekpo-werks,  "Centro
            menge TYPE ekpo-menge,  "Quantidade do pedido
            netpr TYPE ekpo-netpr,  "Preço líquido no documento de compra
            BOX   TYPE ptrv_approval-box, "campo para chekinbox
          END OF y_ekpo.
    *início seleção de dados
    SELECTION-SCREEN BEGIN OF BLOCK bl2 WITH FRAME TITLE text-000.
    SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE text-001.
    SELECTION-SCREEN SKIP.
                                    *Nº documento de compra
    SELECT-OPTIONS : s_ebeln FOR ekko-ebeln NO INTERVALS OBLIGATORY,
                     s_bukrs FOR ekko-bukrs OBLIGATORY,  "Empresa
                     s_bsart FOR ekko-bsart.  "Documento de compra
    SELECTION-SCREEN END OF BLOCK bl1.
    SELECTION-SCREEN END OF BLOCK bl2.
    **fim da seleção de dados----
    **início da variante
    SELECTION-SCREEN BEGIN OF BLOCK bl4 WITH FRAME TITLE text-000.
    SELECTION-SCREEN BEGIN OF BLOCK bl3 WITH FRAME TITLE text-002.
    PARAMETERS : p_vari LIKE disvariant-variant.
    SELECTION-SCREEN END OF BLOCK bl3.
    SELECTION-SCREEN END OF BLOCK bl4.
    ***fim variante -
    ***início modo relatório
    SELECTION-SCREEN BEGIN OF BLOCK bl5 WITH FRAME TITLE text-000.
    SELECTION-SCREEN BEGIN OF BLOCK bl6 WITH FRAME TITLE text-003.
    SELECTION-SCREEN SKIP.
      PARAMETERS : rb1 RADIOBUTTON GROUP TIPO DEFAULT 'X',
                   rb2 RADIOBUTTON GROUP TIPO,
                   rb3 RADIOBUTTON GROUP TIPO.
    SELECTION-SCREEN END OF BLOCK bl6.
    SELECTION-SCREEN END OF BLOCK bl5.
    ****fim modo relatório
    *******início da opção de download
    Dados do arquivo texto de saída.
    SELECTION-SCREEN BEGIN OF BLOCK bl9 WITH FRAME TITLE text-004.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(15) text-005.
    PARAMETERS: p_gerar  AS CHECKBOX.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(15) text-006.
    PARAMETERS: p_dir  LIKE rlgrap-filename DEFAULT 'c:'.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(15) text-007.
    PARAMETERS: p_arq  LIKE rlgrap-filename DEFAULT 'nota-geral.txt'.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN END OF BLOCK bl9.
    DATA :
          i_ekko  LIKE     y_ekko OCCURS 0 WITH HEADER LINE,
          i_ekpo  LIKE     y_ekpo OCCURS 0 WITH HEADER LINE.
         i_tabsaida LIKE  y_saida OCCURS 0 WITH HEADER LINE.
    *********************Fim Declarações*******************************
    *********************Declarações ALV*******************************
    TYPE-POOLS : slis.
    DATA :
           s_layout    TYPE  slis_layout_alv,
           t_sort      TYPE  slis_t_sortinfo_alv WITH HEADER LINE,
           t_fieldcat  TYPE  slis_t_fieldcat_alv WITH HEADER LINE,
           s_grupos    TYPE  slis_t_sp_group_alv WITH HEADER LINE,
           s_keyinfo   TYPE  slis_keyinfo_alv,
           extab       TYPE  slis_t_extab.
    DATA :
           variant_exit(1) TYPE  c,
           def_variant(1)  TYPE  c,
           s_print      TYPE  slis_print_alv,
           s_top        TYPE  slis_t_listheader,
           variante     TYPE  disvariant,
           def_variante TYPE  disvariant,
           v_repid      LIKE  sy-repid,
    *------pega a data que esta rodando a transação
           v_datasaida(10)  TYPE C,
    *------para saber quantos Pedidos na EKKO
           v_exibe      TYPE I,
           s_selfield type slis_selfield,
           v_ucomm like sy-ucomm.
    **********************Fim declarações ALV*************************
                   Contants para Sapscript e declarações                 *
    TABLES: ITCPO.
    CONSTANTS:  c_on(1)  TYPE  C  VALUE  'X',    "Parâmetro para o Sapscript
                c_off(1) TYPE  C  VALUE  ''.     "Parâmetro para o Sapscript
    Data:
          v_element(15) TYPE C,  "Elemento de texto do Sap Script
          v_type(15)    TYPE C,  "BODY
          v_window(15)  TYPE C,  "Janela
          flag          TYPE I,  "Uma condição para impressão do sapscript
          resp          TYPE C,  "resposta para confirmação do download tab
          zlen          TYPE I,  "Para verificar o um diretório válido
    Para a função WS_DOWNLOAD só em declarar as variaveis deste tipo já *
    seria o bastante para passar o caminho para a função
    TABLES : ekko, ekpo.
                       initialization                                    *
    INITIALIZATION.
      PERFORM zf_verifica_variante.
                   at selection-screen on value-request                  *
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.
      PERFORM zf_busca_variante_existente.
                 at seletion-screen                                      *
    AT SELECTION-SCREEN.
      PERFORM zf_valida_variante.
    validar os campo antes de fazer download do arquivo
      PERFORM zf_trata_parametros_gerar_arqu.
                start-of-selection                                       *
    START-OF-SELECTION.
      PERFORM zf_seleciona_dados.
                       Criando ALV                                       *
      PERFORM zf_alv.
    *&      Form  zf_verifica_variante
          text
    -->  Verifica se a variante selecionada é existente
    FORM zf_verifica_variante.
      CLEAR variante.
      v_repid = sy-repid.
      variante-report = v_repid.
    Buscar variante default
      def_variante = variante.
      CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
           EXPORTING
                i_save        = 'A'
           CHANGING
                cs_variant    = def_variante
           EXCEPTIONS
                wrong_input   = 1
                not_found     = 2
                program_error = 3
                OTHERS        = 4.
      IF sy-subrc EQ 0.
        p_vari = def_variante-variant.
      ENDIF.
    ENDFORM.                    " zf_verifica_variante
    *&      Form  zf_busca_variante_existente
    *-       text
    *-  --> Vai buscar a variante existente
    FORM zf_busca_variante_existente.
      CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
           EXPORTING
                is_variant          = variante      " Report com as
                i_save              = 'A'           " Variantes Salvas
                i_tabname_header    = 'I_EKPO'      " Tabela interna saida
                it_default_fieldcat = t_fieldcat[]  " Tabela de formatação
                i_display_via_grid  = 'X'  " Dispara POPUP em ALV
           IMPORTING
                e_exit           = variant_exit  " Se não existir variante X
                es_variant       = def_variante     " Variante default
           EXCEPTIONS
                not_found           = 1
                program_error       = 2
                OTHERS              = 3.
      IF sy-subrc = 2.
          MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
          WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ELSE.
        IF variant_exit = space.
          p_vari = def_variante-variant. " Recebe variante escolhida
        ENDIF.
      ENDIF.
    ENDFORM.                    " zf_busca_variante_existente
    *-&      Form  zf_valida_variante
    *-       text
    *-  -->  Verifica se a variante digitada é válida.
    FORM zf_valida_variante.
      IF NOT p_vari IS INITIAL.
        variante             =     def_variante.    "nome do report
        def_variante-variant =     p_vari.          "nome que foi digitado
        CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
             EXPORTING
                  i_save     = 'A'
             CHANGING
                  cs_variant = def_variante
                  variante   = def_variante.
      ELSE.
        clear variante.
        variante-report = v_repid.
      ENDIF.
    ENDFORM.                    " zf_valida_variante
    -&      Form  zf_seleciona_dados
    *-       text
    -->  Seleciona os dados da ekko e ekpo
    FORM zf_seleciona_dados.
      SELECT ebeln
           bukrs
           bsart
           loekz
           aedat
           ernam
           lifnr
           ekgrp
           waers
            FROM ekko
            INTO TABLE i_ekko
            WHERE
                 ( ebeln IN s_ebeln AND
                   bsart EQ 'NB' ).
    SORT I_EKKO ASCENDING.
      IF sy-subrc EQ 0.
        SELECT ebeln
               ebelp
               loekz
               txz01
               matnr
               bukrs
               werks
               menge
               netpr
                FROM ekpo
                INTO TABLE i_ekpo
                FOR ALL ENTRIES IN i_ekko
                WHERE
                     ( ebeln EQ i_ekko-ebeln ).
      ENDIF.
    SORT I_EKPO ASCENDING.
    Para exibir no topo do relatório no grid
    DESCRIBE TABLE I_EKKO LINES v_exibe.
    ENDFORM.                    " zf_seleciona_dados
    *-&      Form  zf_ALV
    *-       text
    -->  Opções de alv
    FORM zf_alv.
    IF rb1 = 'X'.
              PERFORM zf_gri.
    ENDIF.
    IF rb2 = 'X'.
              PERFORM ZF_HIERARQUICO.
    ENDIF.
    IF rb3  =  'X'.
              PERFORM ZF_LIST.
    ENDIF.
    ENDFORM.                    " zf_ALV
    *&      Form  zf_gri
    *-       text
    *-  -->  Seqüência para gerar o alv grid
    FORM zf_gri.
      PERFORM zf_layout.
      PERFORM zf_ordena_campos.
      PERFORM zf_monta_campos_alv.
      PERFORM zf_print.
      PERFORM zf_grupo.
      PERFORM zf_top  USING  s_top.
      IF  NOT  I_EKPO[] IS INITIAL.
        PERFORM zf_imprime_alv.
      ELSE.
        MESSAGE s000(zcl001)  WITH  'Nenhum registro encontrado.'.
        STOP.
      ENDIF.
    ENDFORM.                    " zf_gri
    *-&      Form  zf_layout
    *-       text
    -->  cria o layout do alv
    FORM zf_layout.
      s_layout-box_tabname          = 'I_EKPO'.
      s_layout-box_fieldname        = 'BOX'.
      s_layout-get_selinfos         =  'X'.
      s_layout-detail_popup         =  'X'.
      s_layout-detail_initial_lines =  'X'.
      s_layout-zebra                =  'X'.
      s_layout-colwidth_optimize    =  'X'.
    ENDFORM.                    " zf_layout
    *-&      Form  zf_ordena_campos
    *-       text
    -->  Ordenação dos campos
    FORM zf_ordena_campos.
      CLEAR t_sort.
      t_sort-spos      =  '1'.          "prioridade de ordenação
      t_sort-fieldname =  'EBELN'.      "campo da tab int. de saida
      t_sort-tabname   =  'I_EKPO'.     "tab inter de saida
      t_sort-up        =  'X'.          "ordenação do maior para o menor
      APPEND t_sort.
    ENDFORM.                    " zf_ordena_campos
    *-&      Form  zf_monta_campos_alv
          text
    -->  è passado os campos de acordo com a ordem de exibição inicial
    FORM zf_monta_campos_alv.
    IF rb2  =  'X'.
      CLEAR t_FIELDCAT.
      t_FIELDCAT-FIELDNAME      =  'BOX'.
      t_FIELDCAT-TABNAME        =  'I_EKKO'.
      t_FIELDCAT-CHECKBOX       =  'X'.
      t_FIELDCAT-INPUT          =  'X'.
      APPEND t_FIELDCAT.
      CLEAR t_fieldcat.
      t_fieldcat-fieldname      =  'EBELN'.
      t_fieldcat-tabname        =  'I_EKKO'.
      t_fieldcat-ref_fieldname  =  'EBELN'.
      t_fieldcat-ref_tabname    =  'EKKO'.
      APPEND t_fieldcat.
      CLEAR t_fieldcat.
      t_fieldcat-fieldname      =  'BUKRS'.
      t_fieldcat-tabname        =  'I_EKKO'.
      t_fieldcat-ref_fieldname  =  'BUKRS'.
      t_fieldcat-ref_tabname    =  'EKKO'.
      APPEND t_fieldcat.
      CLEAR t_fieldcat.
      t_fieldcat-fieldname      =  'BSART'.
      t_fieldcat-tabname        =  'I_EKKO'.
      t_fieldcat-ref_fieldname  =  'BSART'.
      t_fieldcat-ref_tabname    =  'EKKO'.
      APPEND t_fieldcat.
      CLEAR t_fieldcat.
      t_fieldcat-fieldname      =  'AEDAT'.
      t_fieldcat-tabname        =  'I_EKKO'.
      t_fieldcat-ref_fieldname  =  'AEDAT'.
      t_fieldcat-ref_tabname    =  'EKKO'.
      APPEND t_fieldcat.
      CLEAR t_fieldcat.
      t_fieldcat-fieldname      =  'ERNAM'.
      t_fieldcat-tabname        =  'I_EKKO'.
      t_fieldcat-ref_fieldname  =  'ERNAM'.
      t_fieldcat-ref_tabname    =  'EKKO'.
      APPEND t_fieldcat.
      CLEAR t_fieldcat.
      t_fieldcat-fieldname      =  'LIFNR'.
      t_fieldcat-tabname        =  'I_EKKO'.
      t_fieldcat-ref_fieldname  =  'LIFNR'.
      t_fieldcat-ref_tabname    =  'EKKO'.
      APPEND t_fieldcat.
      CLEAR t_fieldcat.
      t_fieldcat-fieldname      =  'EKGRP'.
      t_fieldcat-tabname        =  'I_EKKO'.
      t_fieldcat-ref_fieldname  =  'EKGRP'.
      t_fieldcat-ref_tabname    =  'EKKO'.
      APPEND t_fieldcat.
    ENDIF.
      CLEAR t_fieldcat.
      t_fieldcat-fieldname      =  'EBELN'.
      t_fieldcat-tabname        =  'I_EKPO'.
      t_fieldcat-ref_fieldname  =  'EBELN'.
      t_fieldcat-ref_tabname    =  'EKPO'.
      t_fieldcat-key            =  'X'.
      t_fieldcat-Hotspot        =  'X'.
      APPEND t_fieldcat.
      CLEAR t_fieldcat.
      T_fieldcat-fieldname     = 'EBELP'.
      T_fieldcat-tabname       = 'I_EKPO'.
      T_fieldcat-ref_fieldname = 'EBELP'.
      T_fieldcat-ref_tabname   = 'EKPO'.
      APPEND t_fieldcat.
      CLEAR t_fieldcat.
      t_fieldcat-fieldname      =  'MATNR'.
      t_fieldcat-tabname        =  'I_EKPO'.
      t_fieldcat-ref_fieldname  =  'MATNR'.
      t_fieldcat-ref_tabname    =  'EKPO'.
      APPEND t_fieldcat.
      CLEAR t_fieldcat.
      t_fieldcat-fieldname      =  'WERKS'.
      t_fieldcat-tabname        =  'I_EKPO'.
      t_fieldcat-ref_fieldname  =  'WERKS'.
      t_fieldcat-ref_tabname    =  'EKPO'.
      APPEND t_fieldcat.
      CLEAR t_fieldcat.
      t_fieldcat-fieldname      =  'MENGE'.
      t_fieldcat-tabname        =  'I_EKPO'.
      t_fieldcat-ref_fieldname  =  'MENGE'.
      t_fieldcat-ref_tabname    =  'EKPO'.
      APPEND t_fieldcat.
      CLEAR t_fieldcat.
      t_fieldcat-fieldname      =  'NETPR'.
      t_fieldcat-tabname        =  'I_EKPO'.
      t_fieldcat-ref_fieldname  =  'NETPR'.
      t_fieldcat-ref_tabname    =  'EKPO'.
      t_fieldcat-do_sum         =  'X'. "totalizar campo
      APPEND t_fieldcat.
      CLEAR t_fieldcat.
      t_fieldcat-fieldname      =  'TXZ01'.
      t_fieldcat-tabname        =  'I_EKPO'.
      t_fieldcat-ref_fieldname  =  'TXZ01'.
      t_fieldcat-ref_tabname    =  'EKPO'.
      APPEND t_fieldcat.
    ENDFORM.                    " zf_monta_campos_alv
    *-&      Form  zf_top
    *-       text
    *-  --> Cria o texto de cabeçalho do ALV, passando por parametro o
    --> p_S_TOP para s_top
    FORM zf_top USING p_s_top  TYPE slis_t_listheader.
      DATA: ls_line  TYPE  slis_listheader.
      CLEAR  ls_line.
      ls_line-typ  =  'H'.
      ls_line-info  =  'Relatório de Compras por Classificação Contábil'.
      APPEND ls_line  TO  p_s_top.
      CLEAR  ls_line.
      ls_line-typ  =  'S'.
      ls_line-KEY  =  'Parametros Seleção '.
      ls_line-info  = '- Documento de compra'.
      APPEND ls_line  TO  p_s_top.
      CLEAR  ls_line.
      ls_line-typ  =  'S'.
      ls_line-info  = '- Empresa'.
      APPEND ls_line  TO  p_s_top.
      CLEAR  ls_line.
      ls_line-typ  =  'S'.
      ls_line-info  = '- Tip.doc.compra'.
      APPEND ls_line  TO  p_s_top.
      CLEAR  ls_line.
      ls_line-typ  =  'S'.
      ls_line-KEY  =  'Total Pedido'.
      ls_line-info  = v_exibe.
      APPEND ls_line  TO  p_s_top.
    início Formatar a data
      CALL FUNCTION 'DATUMSAUFBEREITUNG'
       EXPORTING
         IDATE                 = SY-DATUM
       IMPORTING
         TDAT8                 = v_datasaida.
    Fim Formatar a data
      CLEAR  ls_line.
      ls_line-typ  =  'S'.
      ls_line-KEY  =  'Data da execução'.
      ls_line-info  = v_datasaida.
      APPEND ls_line  TO  p_s_top.
      CLEAR  ls_line.
      ls_line-typ  =  'S'.
      ls_line-KEY  =  'Usuário'.
      APPEND ls_line  TO  p_s_top.
      CLEAR  ls_line.
      ls_line-typ  =  'A'.
      ls_line-info  = sy-uname.
      APPEND ls_line  TO  p_s_top.
    ENDFORM.                    " zf_top
    *-&      Form  zf_print
    *-       text
    *-  -->  Parametros de Impressão para o ALV
    FORM zf_print.
      s_print-no_print_selinfos     =  'N'.
      s_print-no_print_listinfos    =  'N'.
    ENDFORM.                    " zf_print
    *-&      Form  zf_imprime_alv
    *-       text
    *-  -->  Imprime o ALV c/ seu parametros
    FORM zf_imprime_alv.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
         I_CALLBACK_PF_STATUS_SET          = 'ZSET_PF_STATUS'
         I_CALLBACK_USER_COMMAND           = 'ZF_USER_COMMAND'
         i_callback_program                = v_repid
         i_callback_top_of_page            = 'TOP_OF_PAGE'
         is_layout                         =  s_layout
         it_fieldcat                       =  t_fieldcat[]
        IT_EXCLUDING                      =
         IT_SPECIAL_GROUPS                 = S_GRUPOS[]
         it_sort                           = t_sort[]
        IT_FILTER                         =
        IS_SEL_HIDE                       =
         i_default                         = 'X'
         i_save                            = 'A'
         is_variant                        = variante
        IT_EVENTS                         =
        IT_EVENT_EXIT                     =
         IS_PRINT                          = S_PRINT
        IS_REPREP_ID                      =
         I_SCREEN_START_COLUMN             = 0
         I_SCREEN_START_LINE               = 0
         I_SCREEN_END_COLUMN               = 0
         I_SCREEN_END_LINE                 = 0
        IT_ALV_GRAPHICS                   =
        IT_ADD_FIELDCAT                   =
        IT_HYPERLINK                      =
        I_HTML_HEIGHT_TOP                 =
        I_HTML_HEIGHT_END                 =
      IMPORTING
        E_EXIT_CAUSED_BY_CALLER           =
        ES_EXIT_CAUSED_BY_USER            =
        TABLES
          t_outtab                          = I_EKPO
       EXCEPTIONS
         program_error                     = 1
         OTHERS                            = 2.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    " zf_imprime_alv
    *-&      Form  zf_top-of-page
    *-       text
    -->  Cabeçalho ALV
    FORM top_of_page.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
           EXPORTING
                it_list_commentary       = s_top
                i_logo                   = 'CARLOS_LOGO3'.
      I_END_OF_LIST_GRID       = .
    ENDFORM.                    " zf_top-of-page
    *-&      Form  ZF_HIERARQUICO
    *-       text
    *-  -->  RELATÓRIO HIERÁQUICO
    form ZF_HIERARQUICO.
      PERFORM zf_layout.
      PERFORM zf_ordena_campos.
      PERFORM zf_monta_campos_alv.
      PERFORM zf_print.
      PERFORM zf_grupo.
      IF  NOT  I_EKPO[] IS INITIAL.
        PERFORM zf_imprime_hierarquico_alv.
      ELSE.
        MESSAGE s000(zcl001)  WITH  'Nenhum registro encontrado.'.
        STOP.
      ENDIF.
    endform.                    " ZF_HIERARQUICO
    *-&      Form  zf_grupo
         text
    -->  Não é fundamental a criação de grupos de campos, mas facilita
    ao usuário na hora de escolher os campos de exibição após o clique do
    botão MODIFICAR LAYOUT . Vários campos da fieldcat podem ser
    definidos para um mesmo grupo de campo.
    form zf_grupo.
    MOVE:'Moeda' TO S_GRUPOS-SP_GROUP,
         'Campos moeda' TO S_GRUPOS-TEXT.
         APPEND S_GRUPOS.
    endform.                    " zf_grupo
    *&      Form  zf_imprime_hierarquico_alv
          text
    -->  p1        text
    <--  p2        text
    form zf_imprime_hierarquico_alv.
    Vamos definir as ligações entre as tabelas para as quebras no momento
    da impressão.
      s_keyinfo-header01  =  'EBELN'.
      s_keyinfo-item01    =  'EBELN'.
      CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
        EXPORTING
          I_CALLBACK_USER_COMMAND           = 'ZF_USER_COMMAND'
         I_CALLBACK_PF_STATUS_SET          = 'ZF_SET_PF_STATUS_HIERARQ'
          I_CALLBACK_PROGRAM                = v_repid
          IS_LAYOUT                         = S_LAYOUT
          IT_FIELDCAT                       = T_FIELDCAT[]
          IT_SPECIAL_GROUPS                 = S_GRUPOS[]
         IT_SORT                        =
         IT_FILTER                      =
    -    Parâmetro p/executar sempre com a variante default
          I_DEFAULT                         = 'X'
    -                     Se é possível salvar as variantes
          I_SAVE                            = 'A'
    -                          Nome da variante selecionada
          IS_VARIANT                        = VARIANTE
         IT_EVENTS                      =
         IT_EVENT_EXIT                  =
          i_tabname_header                  = 'I_EKKO'
          i_tabname_item                    = 'I_EKPO'
         I_STRUCTURE_NAME_HEADER        =
         I_STRUCTURE_NAME_ITEM          =
          is_keyinfo                        = S_KEYINFO
          IS_PRINT                          = S_PRINT
         IS_REPREP_ID                   =
         I_BUFFER_ACTIVE                =
         I_BYPASSING_BUFFER             =
      IMPORTING
         E_EXIT_CAUSED_BY_CALLER        =
         ES_EXIT_CAUSED_BY_USER         =
        tables
          t_outtab_header                   = I_EKKO
          t_outtab_item                     = I_EKPO.
    endform.                    " zf_imprime_hierarquico_alv
    *&      Form  ZF_LIST
          text
    -->  p1        text
    <--  p2        text
    form ZF_LIST.
      PERFORM zf_layout.
      PERFORM zf_ordena_campos.
      PERFORM zf_monta_campos_alv.
      PERFORM zf_print.
      PERFORM zf_grupo.
      IF  NOT  I_EKPO[] IS INITIAL.
          PERFORM zf_imprime_list_alv.
      ELSE.
        MESSAGE s000(zcl001)  WITH  'Nenhum registro encontrado.'.
        STOP.
      ENDIF.
    endform.                    " ZF_LIST
    *&      Form  zf_imprime_list_alv
          text
    -->  p1        text
    <--  p2        text
    form zf_imprime_list_alv.
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
       EXPORTING
          I_CALLBACK_PF_STATUS_SET       = 'ZF_SET_PF_STATUS_LIST'
          I_CALLBACK_USER_COMMAND        = 'ZF_USER_COMMAND'
        I_INTERFACE_CHECK              = ' '
        I_BYPASSING_BUFFER             =
        I_BUFFER_ACTIVE                = ' '
         I_CALLBACK_PROGRAM             = v_repid
         I_STRUCTURE_NAME               = 'I_EKPO'
         IS_LAYOUT                      = S_LAYOUT
         IT_FIELDCAT                    = T_FIELDCAT[]
        IT_EXCLUDING                   =
         IT_SPECIAL_GROUPS              = S_GRUPOS[]
         IT_SORT                        = T_SORT[]
        IT_FILTER                      =
        IS_SEL_HIDE                    =
         I_DEFAULT                      = 'X'
         I_SAVE                         = 'A'
         IS_VARIANT                     = VARIANTE
        IT_EVENTS                      =
        IT_EVENT_EXIT                  =
         IS_PRINT                       = S_PRINT
        IS_REPREP_ID                   =
         I_SCREEN_START_COLUMN          = 0
         I_SCREEN_START_LINE            = 0
         I_SCREEN_END_COLUMN            = 0
         I_SCREEN_END_LINE              = 0
      IMPORTING
        E_EXIT_CAUSED_BY_CALLER        =
        ES_EXIT_CAUSED_BY_USER         =
        TABLES
          t_outtab                       = I_EKPO.
    endform.                    " zf_imprime_list_alv
    *&      Form  zf_user_command
          text
    -->  p1        text
    <--  p2        text
    form zf_user_command using p_v_ucomm like SY-UCOMM
                               p_s_selfield type slis_selfield.
    *---tratamento de impressão do Sapscript----
    CASE p_v_ucomm.
      FLAG = 0.
         WHEN 'IMPRIMIR' OR 'PRINT'.
             LOOP AT i_ekpo.
                  IF NOT i_ekpo-BOX IS INITIAL.
                    FLAG = FLAG + 1.
                  ENDIF.
            ENDLOOP.
    se tiver selecionado apenas uma box
            IF flag EQ 1.
                IF p_gerar EQ 'X'.
    *-----perform para confirmação de download
                  PERFORM zf_popup_to_confirm.
                ENDIF.
    *------chama o form para imprimir o sapscript
                  PERFORM zf_sapscript.
            ENDIF.
    box estiver vazia
            IF flag EQ 0.
               MESSAGE E017(ZCL_GRUPO04). "Selecione apenas uma BOX
                                          "referente ao pedido de compras.
               STOP.
            ENDIF.
    "estiver selecionado + de uma box
            IF flag GT 1.
               MESSAGE E017(ZCL_GRUPO04). "Selecione apenas uma
                                         "BOX referente ao pedido de compra.
               STOP.
            ENDIF.
    ENDCASE.
    CASE p_s_selfield-sel_tab_field.
    *observe na exibição do relatório(hierarquico) que temos o EKKO-EBELN
    ficaria  melhor visualmente, a utilização de clicar no mesmo
         WHEN 'I_EKPO-EBELN'. "tab de saida
               SET PARAMETER ID 'BES' FIELD p_s_selfield-VALUE.
               CALL TRANSACTION 'ME23' AND SKIP FIRST SCREEN.
    ENDCASE.
    endform.                    " zf_user_command
    *&      Form  ZSET_PF_STATUS
          text
         -->P_EXTAB  text
    form ZSET_PF_STATUS using    p_extab.
      set pf-status 'BOTOES' EXCLUDING extab.
    endform.                    " ZSET_PF_STATUS
    *&      Form  zf_sapscript
          text
    -->  p1        text
    <--  p2        text
    form zf_sapscript.
    --carregar a ITCPO----
      PERFORM zf_itcpo.
    ----chamar a função Open_form
      PERFORM zf_open_form.
    *----buscar o fornecedor e seus dados
    LOOP AT I_ekko.
            v_element  =  'CABPRIN'.
            v_type     =  'BODY'.
            v_window   =  'JANCABEC'.
            PERFORM  zf_imprime_form USING  v_element
                                            v_type
                                            v_window.
    ENDLOOP.
    *----buscar o documento de compra selecionado
    LOOP AT i_ekpo.
        IF i_ekpo-BOX = 'X'.
            v_element  =  'MAIN'.
            v_type     =  'BODY'.
            v_window   =  'MAIN'.
            PERFORM  zf_imprime_form USING  v_element
                                            v_type
                                            v_window.
    *---o comando EXIT é para que somente quando 1 registro for selecionado
    no relatório e a verificação da igualdade acontecer faz que saia do
    Loop
        EXIT.
        ENDIF.
    ENDLOOP.
      PERFORM zf_close_form.
    endform.                    " zf_sapscript
    *&      Form  zf_itcpo
          text
    -->  p1        text
    <--  p2        text
    form zf_itcpo.
    *Parâmetros para impressão da tabela ITCPO
    ITCPO-TDCOPIES   = 1.           "Quantidade de cópias
    ITCPO-TDPAGESLCT = ''.          "Seleção de páginas
    ITCPO-TDPROGRAM  = SY-REPID.    "Captura o nome do programa
    ITCPO-TDIMMED    = c_on.        "Saída imediata do relatório
    ITCPO-TDPREVIEW  = c_on.        "Exibição prévia do relatório
    ITCPO-TDDEST     = 'LOCL'.      "SPOOL: dispositivo de saída
    ITCPO-TDFAXUSER  = SY-UNAME.    "Usuário logado naquele momento
    ITCPO-TDSENDDATE = SY-DATUM.    "Data de envio desejada
    ITCPO-TDSENDTIME = SY-UZEIT.    "Hora envio desejada
    ITCPO-TDNEWID    = c_on.        "Nova ordem SPOOL
    ITCPO-TDARMOD    = c_on.       "IMPRIMIR: modo de arquivamento
    ITCPO-TDTITLE    = 'Relatório de Compras por Classificação Contábil'.
    endform.                    " zf_itcpo
    *&      Form  zf_open_form

    Boa Tarde Carlos,
    Welcome to the SDN Forums. SDN gets it's power from the large community throughout the world. To harvest that power of knowledge we have settled on one language for posts here which is English.
    Clearly English is not your first language, but don't be afraid, I would vouch that for most of the participant here on SDN English is the second language.
    As it is for me. I am just lucky, that I am living in the States long enough that German colleagues start to look at me strangely when I talk to them in German, because it doesn't totally sound right anymore
    So we are very forgiving her in SDNland regarding grammar and spelling (although not as much anymore in the Weblogs), we even provide a spell checker.
    Please post your question again in English.
    If people don't understand you they will ask you about the things that they don't understand and you can then clarify.
    Try it out. Your chance of an excellent responds is way higher.
    Boa sorte, Mark.

  • Passagem do XML version no SCAN.

    Olá Pessoal,
    Eu estou ativando o SCAN na 4.6c e depois de estudar o funcionamento do SCAN estou tentando testar o mesmo. Porém descobri que na versão que eu estou trabalhando aqui no lado R/3 a função J_1B_NFE_CHECK_ACTIVE_SERVER chama a função de checagem do servidor no GRC(/XNFE/RFC_SRVSTA_READ) passando alguns paramêtros. Na estrutura LT_REGIO está passando apenas valor para o campo REGIO e nada para o campo VERSION, sendo assim no lado do GRC existe um código que valida se o VERSION está em branco e se sim ele alimenta esse campo com o valor 005a(versão antiga).
    Existe alguma nota de correção disso, é algo configuravél ou preciso tratar isso pela metodo GET_SERVER na BADI ????
    Eu procurei notas mas não encontrei e creio que o SAP deveria passar o valor 006 no campo VERSION ou no GRC ter uma validação para chegar qual a versão do XML e preencher corretamente caso venha em branco, certo?
    Obrigado,
    Michael Peretto

    Bom dia Michael,
    Trecho de código da nota, ele só não passa quando versão 1.10, se for 2.00 ele seta o 006:
      ls_regio-regio = ls_branch_info-regio.                   "1484983
    * Convert XML version to GRC format                        "1484983
      IF ls_cust3-version >= 2.                                "1484983
       ls_regio-version = '006'.                               "1484983
      ENDIF.                                                   "1484983
      APPEND ls_regio TO lt_regio.
    Abre um chamado para XX-CSC-BR-NFE, provavelmente este trecho está faltando para 4.6c
    Atenciosamente, Fernando Da Ró

Maybe you are looking for