Diferenças entre o namespace 006 e 008
Olá pessoall boa tarde a todos,
Poderia por gentileza me tirar uma singela dúvida, estou iniciando um projeto de XML 3.10 e estava comparando os objetos do namespace 006 e 008.
Abaixo existe uma tabela com os integrations process da versao 006 e da 008:
Gostaria de entender o motivo pelo qual não existe o EVENT_CANC_WebAS_OutBound_EventCancellationRequest.
Vocês tiveram esse mesmo problema ?
Atenciosamente,
Oi Viana
Os eventos são agora enviados e recebidos através do:
EVENT_WebAS_Outbound_EventReceipt
para o B2B:
ETB2B_WebAS_Outbound_B2B_Event
EFB2B_WebAS_Inbound_B2B_Event
* qualquer dúvida...
Integration Scenarios for NF-e Configuration (Outbound) - SAP Nota Fiscal Eletrônica (SAP Electronic Invoicing for Brazi…
Abraço
Eduardo Chagas
Similar Messages
-
Diferença entre F.98 e FS10N
Qual a difrença nos relatórios apresentados pela F.98 --> Relatório --> Brasil --> Registro de inventário e a FS10N. Os valores apresentados devem ser iguais.
Obrigado.Olá Edson,
O reporte que comentaste é o livro fiscal modelo 7 do Brazil, que demonstra todo o estoque e movimentações a FS10N serve para mostrar balanço de qualquer conta contábil, ela lê a tabela GLT0 do sap que é a tabela de totais, com oo livro modelo 7 faz uma série de manipulãções dos dados as vezes os valores não batem, segue a descrição do help do livro modelo 7:
Modelo 7 (Own stock, Special Stocks, WIP stocks)
Source code: J_1BLB07_NEW
Transaction: J1B_LB07N
Laws: Convênio SINIEF s/nº de 15.12.1970, art. 63, and Convênio
SINIEF 6/89, art. 87
Modelo 7 displays a company's stock, per valuation area. It splits the stock into two sections: Own stock (stock controlled by the company) and Vendor stock (stock controlled by the company's vendors). Within these two sections, the materials are split per valuation class.
Some special stocks, such as consignment stock, can be flagged to be seen in this report. The most important data about these stocks that appear in Modelo 7 are: NCM Code, Material Name, Unit of Measure, Quantity and Total Value.
Work-in-process stocks can also be flagged to be seen in this report.
Espero que tenha esclarecido.
sds,
Gustavo -
Bom dia pessoal!
Vou ser direito hoje, pois está meio corrido aqui hoje, gostaria de saber qual a diferença entre TAXBRA e TAXBRJ, já verifiquei que no fórum de um post explanando tais diferenças, porém não sei qdo se aplica o TAXBRA e o TAXBRJ, essa escolha fica por conta do cliente? Há algumas regras para a implementação de um ou de outro?
Agradeço novamente a ajuda de vocês.A difrença técnica é que na TAXBRA, todas as alíquotas etc. estão sendo armazenadas em Condition Records.
Além disso temos uma funcionalidade na transação J1BTAX para mapear praticamente qualquer Condition (Base, Value etc.) para um campo na Nota Fiscal.
Isso tem várias vantagens:
- É possível resolver algumas mudanças legais com apenas Customizing quando na TAXBRJ é preciso mexer em ABAP.
- É mais fácil analisar erros no cálculo de imposto pois todas as informações são visíveis na análise de pricing - pode até verificar qualquer acesso e ver porque certa alíquota foi encontrada. Na TAXBRJ não tem como rastrear a não ser com debug.
- É possível configurar cenários especiais não cobertos pelo standard atraves do mapeamento.
- É possível conectar um sistema CRM, replicando as Conditions de imposto. Em CRM não há as tabelas de impostos do Brasil - ou seja, TAXBRA é praticamente prerequisito para quem deseja utilizar CRM Sales.
Desvantagem é que o esquema de cálculo fica um pouquinho carregado e - claro - precisa de uma configuração bem desenhada.
Convem mencionar que pode ter limitações com algumas indústrias, por exemplo Oil&Gas funciona somente com TAXBRJ neste momento.
Mas em geral recomendamos TAXBRA. -
Qual a diferença do LabVIEW FPGA e o LabVIEW REAL- TIME?
Hello,
Could anyone help me? This question arose in my work and could not answer. Does anyone know tell me?
Thank you.
Solved!
Go to Solution.Olá,
Com o LabVIEW FPGA você programa diretamente o chip FPGA presente no chassis cRIO, placas da NI Série R e single Board RIO. Você programa as E/S diretamente no chip, sendo assim uma programação de mais baixo nível. A grande vantagem do FPGA é o "paralelismo real", o que garante altas velocidades na execução das rotinas programadas.
Assista ao webcast Introduction to LabVIEW FPGA
Com o LabVIEW Real-Time você desenvolve aplicações que são críticas em relação a "tempo". Chamamos de aplicações "deterministicas". A idéia é que, se você tem uma rotina que deve ser executada em um tempo determinado, a diferença entre o tempo real e o que você programou seja o menor possível. Aplicações em Computadores comuns não são deterministicas, pois enquanto o LabVIEW executa uma certa rotina programada, o Windows está executando outras tarefas, monitorando a utilização de periféricos, atualizando a tela, etc.
Real time não significa "Velocidade", mas "Confiabilidade".
Assista ao webcast LabVIEW Real-Time: Graphical Development, Hard Real-Time Performance
Hello,
With LabVIEW FPGA you program the FPGA chip itself. The FPGA chip is found into cRIO chassis, NI R-Series Boards, and NI Single board RIO. You program the I/O directly in the chip, so we consider this as a low level programing. The main FPGA advantage is the "Real Paralelism", which guarantees high speed execution programming.
Whatch Introduction to LabVIEW FPGA webcast
With LabVIEW Real-Time you develop called "time crictical" or "Deterministics" applications. In case of you routine must be executed in a specified period of time, the difference between the real time execution and the time you programmed is as low as possible. Commom computers programming are not deterministic, because in the meantime of executing a certain programmed routine, the OS (e.g. Windows) is running other appication tasks, monitoring peripherals like mouse and keyboard, uptading screen, etc.
Real-Time doesn't mean "faster" but "reliable".
Watch LabVIEW Real-Time: Graphical Development, Hard Real-Time Performance webcast
I hope the information helps you!
Best Regards
Felipe Flores
Engenharia de Aplicações
National Instruments Brasil -
NFE Boas discussões - Leia antes de postar
EM DESENVOLVIMENTO - SUGESTÕES DE ADIÇÃO E REMOÇÃO SÃO BEM VINDAS ***
Bom dia Pessoal,
Segue abaixo uma compilação de threads de NF-e. Observação: Estas threads estão respondidas, caso tenha algo "parecido" SEMPRE crie uma nova thread, pode até referenciar a thread que você olhou, mas lembre-se de descrever seu problema, versão de SP, background...
ERP Saída:
Aplicação de Notas --> como procurar notas
Criação de NF a partir de documento de devolução - BAdI alteração tipo categoria NFe
Inutilização OK porém Status DOc. Aguardando Resposta
Como fazer entrada no SAP de NFe´s que foram inputadas diretamente na SEFAZ
Dúvidas entre TAXBRA e TAXBRJ
Emissão em congingência por local de negócio e por região NFE 2.0
Erro ao criar BAdI da Nota 1370016
Escolha do tipo de formulario de contingencia (FS x FS-DA)
"212 - Rejeicao: Data de emissao NF-e posterior a data de recebimento" --> timezone
Decouple elimina GAP de numeração?
Relacionamento entre CallRFC do Decouple com J_1BNFECHECKNUMBERRANGES
Performance/Funcionamento J_1BNFECHECKNUMBERRANGES
J_1BNFECHECKNUMBERRANGES - Gap Monitor
Funcao J_1BNFE_CALL_RSNAST00
Dúvida - Job /XNFE/UPDATE_ERP_STATUS
Impressão automática da DANFE
J_1BNFE_CALL_RSNAST00: erro ao ser executada em IN BACKGROUND TASK
ERP Saída - Preenchimento tags:
NF-e Bloco Y dados da Cobrança
Preencher Bloco Y dados da Cobrança na BADI CL_NFE_PRINT
TAG IPI não informada no XML
Dúvida sobre preenchimento de PIS/COFINS
NFE 2.0 - XML_ADI - XML_IMP
Validation error: Field IT_NFE_IMP: V12 (Field NDI)
NFE V2.0 - Tags dSaiEnt & hSaiEnt
Nota de Importação em SP para realizar Desembaraço Aduaneiro. Dicas?
ERP Entrada:
Atualizar dados NFe 2.0 na Miro
Tipo de emissão de NF-e de entrada (XML 2.00)
NFE 10.0:
Blog sobre SAP NFE 10.0 New
Componente Java SLL-NFE-JWS para SLL NFe 10 New
GRC NFE:
Instalação GRC independente do NetWeaver atual
Nao SAP X GRC
Teste dos Cenários de Comunicação com a SEFAZ
Rejeição: 218 x 420
Rejeição por erro 539 Duplicidade de NF-e, com diferença na Chave de Acesso
Problemas ao entrar em Contingência SCAN
Loop programa /XNFE/PROCESS_REPORTS
/XNFE/CORE_KPRO_XML_READ - Problemas com download de documentos XML
Validation error: Field (INFADPROD) -> Varios espaços "000 00 00000 "
GRC versão 7.1
Diagnóstico -unable to create a socket- Represando lotes
NT 2011.002 Hot --> sugestão de código para mascarar dados do destinatário em Homologação
CC-e "MESSAGE_NOT_USED" New
GRC NFE - B2B:
Cadastro de CNPJ para interface NFB2B_procNFe_OB --> sugestão automatização por email
Falha no Envio B2B
B2B Entrada
B2B Versão 2.0
B2B NFE 2.0 - Erro Envio de e-mail dinâmico
Múltiplas NFes de entrada em um email
Texto dinâmico no corpo do e-mail B2B Outbound
GRC NFE - Certificado:
Quebra linha SignatureValue & X509Certificate - Visualizador NF-e
Problema com certificado
HSM e certificados para SSL
GRC NFE - Tunning e outros:
SWF_INB_CONF (2)
SWF_INB_CONF
GRC: Batch com status Request Sent parados --> como criar o alerta do GRC
SAP NFE v2 namespace 006
Business System não aparece Integration Builder
Configuração GRC - NF-e-Main menu
INTERFACE_REGISTRATION_ERROR
SPED:
e-PIS/CofinsAproveitando essa thread sobre Nfe.
Um dos grandes problemas relacionados a nfe são as rejeições de nota. Não se encontra em lugar algum descrições mais elaboradas sobre as rejeições, muito menos as formas de solução para cada uma delas. Visando ajudar desenvolvedores e usuários que emitem notas em qualquer sistema, foi criado um "forum" para descrever cada uma das possíveis rejeições de nota, assim como suas possíveis causas e soluções.
Qualquer um pode dar sua contribuição, no entando, como não existe cadastro no site, a resposta precisa ser aprovada pelo moderador.
O "fórum" acabou de entrar no ar e ainda está incompleto. Conto com a ajuda de todos para melhorá-lo. Seque o link:
EDITADO PELA MODERAÇÃO
Obrigado a todos,
Edited by: Henrique Pinto on Sep 2, 2011 10:09 PM -
Verificação de NF-e de entrada dispara proxy da versão errada
Pessoal,
estou fazendo alguns testes com o B2B de entrada e notei um possível BUG/Falha na minha customizing.
Quando envio uma NF-e na versão 2.0 para a interface NFB2B*, ele entra normalmente no GRC e grava na /XNFE/XMLIN. O problema é quando ele dispara a interface NFESC para verificação do status da mesma na SEFAZ. No caso, ao invés de chamar a interface do namespace 006 ele chama a do namespace 005a.
Olhando o código da função /XNFE/RECEIVE_INCOMING_B2B, depois de efetuar a gravação da NFE na /XNFE/XMLIN, ele chama o FM /XNFE/GET_XML_VERSION passando a UF, TIPO AMBIENTE e ELEMENT. Aqui nesse ponto, ele vai na tabela de customizing /XNFE/TSRV fazendo um SELECT SINGLE sem passar a chave completa da tabela (ok, se a função vai justamente pegar a versão do XML, que faz parte da chave primaria da tabela, não faria sentido ele usar a chave completa, mas...), pegando somente o PRIMEIRO registro encontrado.
No meu caso, tenho customizado na SPRO as duas versões de XML para verificação de status do servico, sendo 005a e 006.
Como eu imagino que seja possível utilizar as duas versões de XML em paralelo, considerando também que o customizing permite que eu insira registros para as duas versões nessa tabela, eu penso que isso reflete uma abordagem errada na forma de definir qual é a versão do XML da NF-e de entrada.
IMHO, deveria-se verificar a versão do XML da NF-e de entrada pelo próprio XML entrado(tem os atributos de versao) e não pelo que está na customizing do GRC. Identificada a versão do XML que entrou, aí sim verificaria no GRC se ele suporta essa versão e daria continuidade no processo caso suporte, gerando log de erro caso não suporte.
Alguém já passou por isso? É falha na minha customizing ou posso abrir chamado?
Grato,
José NunesOi Carlos.
No meu caso e acredito que outras empresas emitimos notas (outra série) através de outro sistema que não o SAP. Ex. notas fiscais de importação.
Na verdade tenho um cenário um pouco mais complexo; pois temos hoje diferentes fábricas, com diferentes aplicações se comunicando via GRC. Entre elas uma (sistema próprio) cujo desenvolvimento foi feito todo nos EUA com todas as regras e requisitos tributários para emissão de nota fiscal.
As mudanças de versão já são complexas por si só e ainda ter que "colocar" todos num mesmo time se torna ainda maior. Por diversas questões... recursos, demanda do mercado...
Abraço
Eduardo
Edited by: Eduardo Chagas on Aug 18, 2010 9:17 PM -
NFE 3.10 layout de conteúdo atualização PI/XI
NFE 3.10 layout de conteúdo atualização XI
Olá Experts,
Estamos planejando fazer o upgrade para NFE layout de 3.10. Tenho consultas soem regardign os chnages PI / XI para a atualização. De acordo com a guia de disposição é mencionado:
Os novos WebServices precisam de um novo conjunto de configuração PI - os cenários de integração correspondentes são entregues com namespace http://sap.com/xi/NFE/008. Note que você também precisa configurar os Cenários de Integração para emissão de eventos do mesmo espaço! A única atualização para Layout 3.10 exceção são os dois cenários de integração necessários para o XML download que você ainda pode acessar emhttp :/ / sap.com/xi/NFE/006.
Minhas consultas são:
1. Será que precisamos para configurar cada cenário usando 008 namespace? Por exemplo BATCH_AEX_WebAS_Outbound_Batch ou ETB2B_AEX_WebAS_Outbound_B2B_Event. Será que precisamos para configurar estes também no novo namespace?
2. Uma vez que configurar as interfaces no novo namespace ou seja, 008. Depois disso deve ser desativar a configuração do 006 ou deixá-lo como ele é.
Se alguém está tendo uma correlação precisa para o qual será necessária todas as alterações PI / XI, em seguida, por favor, compartilhe.
obrigado
GauravObrigado novamente,
Outra consulta está no portal do governo para links webservice eu descobri há certas regiões para as quais não existe uma versão 3.10 webservices URL definida. Por exemplo Sefaz Ceará - (CE) e Sefaz Paraná - (PR).
Além disso, algumas outras regiões não têm wbservice 3.10 URL para todos os serviços. Por exemplo SEFAZ_RS - No 3.10 serviços para estes? :
NfeConsultaCadastro
NfeConsultaDest
NfeDownloadNF
A única agência adequada / região que encontrei é de SEFAZ_SP que tem conjunto completo de URL webservice.
Você pode por favor, compartilhe yor views / comentários.
obrigado
Gaurav Ranjan -
About material master data batch input
hello
i wrote a batch input for material master data. but it can't work ,i can't use it to create material.hope someone help me!thanks.code is below.
report z_mat_batchinput no standard page heading
line-size 255 message-id YB.
mat batch input
include bdcrecx1.
include .
tables: mara,marm,MARC,MARD,T134,NRIV,T006A,T023,T001W,T001L,
TVKO,TVTW,T025,TTGR,TLGR,TVKWZ,T006.
data: DIMID like t006-DIMID.
data: flag, K, tmp.
DATA: X TYPE I.
************ÉÏÔØÎļþÄÚ±í************************
data: begin of record occurs 0,
MATNR(018), " ÎïÁϺÅ
MTART(004), " ÎïÁÏÀàÐÍ
**generaldata1**
MAKTX(040), " ÎïÁÏÃèÊö
EAKTX(040), " Ó¢ÎÄÃèÊö
MEINS(003), " »ù±¾¼ÆÁ¿µ¥Î»
MATKL(009), " ÎïÁÏ×é
BISMT(018), " ¾ÉÎïÁϺÅ
EXTWG(018), " ÍⲿÎïÁÏ×é
SPART(002), " ²¿ÃÅ
MTPOS_MARA(004), " ÆÕͨÏîÄ¿Àà±ð×é
BRGEW(017), " ëÖØ
GEWEI(003), " ÖØÁ¿µ¥Î»
NTGEW(017), " ¾»ÖØ
VOLUM(017), " Ìå»ý
VOLEH(003), " Ìå»ýµ¥Î»
GROES(032), " Á¿¸Ù
MAGRV(004), " ÎïÁÏ×éµÄ°ü×°Îï
**generaldata2**
NORMT(018), " ¹¤Òµ±ê×¼ÃèÊö
FERTH(018), " ÀàÐÍ
WRKST(048), " ¹æ¸ñ
**generaldata1**
EAN11(018), " ²úÆ·±íʶÂë
**generaldata2**
ZEIAR(003), " ÎĵµÀàÐÍ£¬ºÏÀí´¢±¸ÖÜתÆÚ
WERKS(004), " ¹¤³§
VKORG(004), " ÏúÊÛ×éÖ¯
VTWEG(002), " ·ÖÏúÇþµÀ
**salesorg 1**
VRKME(003), " ÏúÊÛµ¥Î»
VMREN(006), " ÏúÊÛµ¥Î»×ª»»Òò×Ó
VMREZ(006), " »ù±¾µ¥Î»×ª»»Òò×Ó
SPART(002), " ²úÆ·×é
DWERK(004), " ½»»õ¹¤³§
TAXKM(001), " ÎïÁÏË°·ÖÀà
**salesorg 2**
KONDM(002), " ÎïÁ϶¨¼Û×é
KTGRM(002), " ¿ÆÄ¿ÉèÖÃ×é
MVGR1(003), " ÎïÁÏ×é 1
MVGR2(003), " ÎïÁÏ×é 2
MTPOS(004), " ÏîÄ¿Àà±ð×é
VERSG(001), " ÎïÁÏͳ¼Æ×é
**ÏúÊÛ£ºÒ»°ã/¹¤³§Êý¾Ý**
MTVFP(002), " ¿ÉÓÃÐÔ¼ì²é
XCHPF(001), " Åú´Î¹ÜÀí
YCHPF(001), " ÅúÁ¿¹ÜÀí
TRAGR(004), " ÔËÊä×é
ladgr(004), " ×°ÔØ×é
**pur**
BSTME(003), " ¶©µ¥µ¥Î»
UMREZ(006), " »ù±¾µ¥Î»×ª»»Òò×Ó
UMREN(006), " ¶©µ¥µ¥Î»×ª»»Òò×Ó
WEBAZ(003), " ÊÕ»õ´¦Àíʱ¼ä
EKGRP(003), " ²É¹º×é
LGORT(004), " ¿â´æµØ
**Ò»°ã¹¤³§Êý¾Ý/²Ö´¢1**
AUSME(003), " ·¢»õµ¥Î»
UMREJ(006), " »ù±¾µ¥Î»×ª»»Òò×Ó
UMREF(006), " ·¢»õµ¥Î»×ª»»Òò×Ó
XCHPF(001), " ÅúÁ¿¹ÜÀí
**MRP 1**
DISGR(004), " MRP×é
DISMM(002), " MRPÀàÐÍ
FXHOR(003), " ¼Æ»®µÄʱ½ì
DISPO(003), " MRP¿ØÖÆÕß
DISLS(002), " ÅúÁ¿
MAABC(001), " ABC±êʶ
BSTFE(018), " ¹Ì¶¨ÅúÁ¿´óС
**MRP 2**
RESKZ(001), " »ñÈ¡ÀàÐÍ
BESKZ(001), " ²É¹ºÀàÐÍ
SOBSL(002), " ÌØÊâ²É¹ºÀà
LGPRO(004), " ·¢»õ²Ö´¢µØµã
RGEKZ(001), " ·´³å
PLIFZ(003), " ¼Æ»®½»»õʱ¼ä
VEBAZ(003), " ÊÕ»õ´¦Àíʱ¼ä
DZEIT(008), "×ÔÖÆÉú²ú
FHORI(003), " ¼Æ»®±ß¼ÊÂë
EISBE(018), " °²È«¿â´æ
**MRP 3**
PERKZ(001), " ÆÚ¼ä±êʶ
STRGR(002), " ²ßÂÔ×é
VRMOD(001), " ÏûºÄģʽ
VINT1(003), " ÄæÏòÏûºÄÆÚ¼ä
VINT2(003), " ÏòÇ°ÏûºÄÆÚ¼ä
NTVFP(002), " ¿ÉÓÃÐÔ¼ì²é
**MRP 4**
SAUFT(001), " Öظ´ÖÆÔì±êÖ¾
SFEPR(004), " Öظ´Éú²ú²ÎÊýÎļþ
**¹¤×÷¼Æ»®**
FEVOR(003), " Éú²úµ÷¶ÈÔ±
FRTME(003), " Éú²úµ¥Î»
SMREZ(006), " »ù±¾µ¥Î»×ª»»Òò×Ó
SMREN(006), " Éú²úµ¥Î»×ª»»Òò×Ó
UEETK(001), " ÎÞÏÞÖƹýÁ¿½»»õ
**»á¼Æ 1**
BKLAS(004), " ÆÀ¹ÀÀà
BWTTY(001), " ¹À¼Û·ÖÀà
VPRSV(001), " ¼Û¸ñ¿ØÖÆ
PEINH(006), " ¼Û¸ñµ¥Î»
VERPR(015), " Òƶ¯Æ½¾ù¼Û
STPRS(015), " ±ê×¼¼Û
**»á¼Æ 2**
BWPRH(014), " ÉÌÒµ¼Û¸ñ 1
**³É±¾ 1**
LOSGR(018), " ÅúÁ¿³É±¾ºËËã
**³É±¾ 2**
ZPLP1(014), " ¼Æ»®¼Û¸ñ 1
ZPLD1(010), " ¼Æ»®ÈÕÆÚ 1
**qm**
ART1(8), "¼ìÑéÀàÐÍ1
AKTIV1(1), "ÒѼ¤»î
QMPUR(1), "¼¤»î²É¹ºÖÐµÄ QM
SSQSS(8), "QM ¿ØÖÆÂë¡¢
QMATV(8), "QM¼ìÑéÉèÖÃ
ART2(8), "¼ìÑéÀàÐÍ2
AKTIV2(6), "ÒѼ¤»î
ART3(8), "¼ìÑéÀàÐÍ3
AKTIV3(6), "ÒѼ¤»î
end of record.
************ÏÂÔظñʽ/´íÎóÎļþÄÚ±í**************
data: begin of record1 occurs 0,
MATNR(018), " ÎïÁϺÅ
MTART(008), " ÎïÁÏÀàÐÍ
**»ù±¾Êý¾Ý1**
MAKTX(040), " ÎïÁÏÃèÊö
EAKTX(040), " Ó¢ÎÄÃèÊö
MEINS(013), " »ù±¾¼ÆÁ¿µ¥Î»
MATKL(009), " ÎïÁÏ×é
BISMT(018), " ¾ÉÎïÁϺÅ
EXTWG(018), " ÍⲿÎïÁÏ×é
SPART(002), " ²¿ÃÅ
MTPOS_MARA(004), " ÆÕͨÏîÄ¿Àà±ð×é
BRGEW(017), " ëÖØ
GEWEI(008), " ÖØÁ¿µ¥Î»
NTGEW(017), " ¾»ÖØ
VOLUM(017), " Ìå»ý
VOLEH(008), " Ìå»ýµ¥Î»
GROES(032), " Á¿¸Ù
MAGRV(014), " ÎïÁÏ×éµÄ°ü×°Îï
**»ù±¾Êý¾Ý2**
NORMT(018), " ¹¤Òµ±ê×¼ÃèÊö
FERTH(018), " ÀàÐÍ
WRKST(048), " ¹æ¸ñ
**»ù±¾Êý¾Ý1**
EAN11(018), " ²úÆ·±íʶÂë
**»ù±¾Êý¾Ý2**
ZEIAR(003), " ÎĵµÀàÐÍ£¬ºÏÀí´¢±¸ÖÜתÆÚ
WERKS(004), " ¹¤³§
VKORG(008), " ÏúÊÛ×éÖ¯
VTWEG(008), " ·ÖÏúÇþµÀ
**ÏúÊÛ×éÖ¯ 1**
VRKME(003), " ÏúÊÛµ¥Î»
VMREN(006), " ÏúÊÛµ¥Î»×ª»»Òò×Ó
VMREZ(006), " »ù±¾µ¥Î»×ª»»Òò×Ó
SPART(006), " ²úÆ·×é
DWERK(008), " ½»»õ¹¤³§
TAXKM(010), " ÎïÁÏË°·ÖÀà
**ÏúÊÛ×éÖ¯ 2**
KONDM(010), " ÎïÁ϶¨¼Û×é
KTGRM(010), " ¿ÆÄ¿ÉèÖÃ×é
MVGR1(003), " ÎïÁÏ×é 1
MVGR2(003), " ÎïÁÏ×é 2
MTPOS(010), " ÏîÄ¿Àà±ð×é
VERSG(001), " ÎïÁÏͳ¼Æ×é
**ÏúÊÛ£ºÒ»°ã/¹¤³§Êý¾Ý**
MTVFP(010), " ¿ÉÓÃÐÔ¼ì²é
XCHPF(008), " Åú´Î¹ÜÀí
YCHPF(001), " ÅúÁ¿¹ÜÀí
TRAGR(006), " ÔËÊä×é
ladgr(006), " ×°ÔØ×é
**²É¹º**
BSTME(003), " ¶©µ¥µ¥Î»
UMREZ(006), " »ù±¾µ¥Î»×ª»»Òò×Ó
UMREN(006), " ¶©µ¥µ¥Î»×ª»»Òò×Ó
WEBAZ(003), " ÊÕ»õ´¦Àíʱ¼ä
EKGRP(006), " ²É¹º×é
LGORT(004), " ¿â´æµØ
**Ò»°ã¹¤³§Êý¾Ý/²Ö´¢1**
AUSME(003), " ·¢»õµ¥Î»
UMREJ(006), " »ù±¾µ¥Î»×ª»»Òò×Ó
UMREF(006), " ·¢»õµ¥Î»×ª»»Òò×Ó
XCHPF(001), " ÅúÁ¿¹ÜÀí
**MRP 1**
DISGR(004), " MRP×é
DISMM(009), " MRPÀàÐÍ
FXHOR(003), " ¼Æ»®µÄʱ½ì
DISPO(011), " MRP¿ØÖÆÕß
DISLS(004), " ÅúÁ¿
MAABC(007), " ABC±êʶ
BSTFE(018), " ¹Ì¶¨ÅúÁ¿´óС
**MRP 2**
RESKZ(001), " »ñÈ¡ÀàÐÍ
BESKZ(008), " ²É¹ºÀàÐÍ
SOBSL(002), " ÌØÊâ²É¹ºÀà
LGPRO(004), " ·¢»õ²Ö´¢µØµã
RGEKZ(001), " ·´³å
PLIFZ(012), " ¼Æ»®½»»õʱ¼ä
VEBAZ(003), " ÊÕ»õ´¦Àíʱ¼ä
DZEIT(008), "×ÔÖÆÉú²ú
FHORI(010), " ¼Æ»®±ß¼ÊÂë
EISBE(018), " °²È«¿â´æ
**MRP 3**
PERKZ(008), " ÆÚ¼ä±êʶ
STRGR(006), " ²ßÂÔ×é
VRMOD(001), " ÏûºÄģʽ
VINT1(003), " ÄæÏòÏûºÄÆÚ¼ä
VINT2(003), " ÏòÇ°ÏûºÄÆÚ¼ä
NTVFP(010), " ¿ÉÓÃÐÔ¼ì²é
**MRP 4**
SAUFT(001), " Öظ´ÖÆÔì±êÖ¾
SFEPR(004), " Öظ´Éú²ú²ÎÊýÎļþ
**¹¤×÷¼Æ»®**
FEVOR(003), " Éú²úµ÷¶ÈÔ±
FRTME(003), " Éú²úµ¥Î»
SMREZ(006), " »ù±¾µ¥Î»×ª»»Òò×Ó
SMREN(006), " Éú²úµ¥Î»×ª»»Òò×Ó
UEETK(001), " ÎÞÏÞÖƹýÁ¿½»»õ
**»á¼Æ 1**
BKLAS(006), " ÆÀ¹ÀÀà
BWTTY(001), " ¹À¼Û·ÖÀà
VPRSV(008), " ¼Û¸ñ¿ØÖÆ
PEINH(008), " ¼Û¸ñµ¥Î»
VERPR(015), " Òƶ¯Æ½¾ù¼Û
STPRS(015), " ±ê×¼¼Û
**»á¼Æ 2**
BWPRH(014), " ÉÌÒµ¼Û¸ñ 1
**³É±¾ 1**
LOSGR(018), " ÅúÁ¿³É±¾ºËËã
**³É±¾ 2**
ZPLP1(014), " ¼Æ»®¼Û¸ñ 1
ZPLD1(010), " ¼Æ»®ÈÕÆÚ 1
**ÖÊÁ¿¹ÜÀí**
ART1(8), "¼ìÑéÀàÐÍ1
AKTIV1(6), "ÒѼ¤»î
QMPUR(010), "¼¤»î²É¹ºÖÐµÄ QM
SSQSS(8), "QM ¿ØÖÆÂë¡¢
QMATV(8), "QM¼ìÑéÉèÖÃ
ART2(8), "¼ìÑéÀàÐÍ2
AKTIV2(6), "ÒѼ¤»î
ART3(8), "¼ìÑéÀàÐÍ3
AKTIV3(6), "ÒѼ¤»î
end of record1.
selection-screen begin of block 0 with frame title text-001.
selection-screen begin of line .
selection-screen position 1.
parameters: test like rkec1-test .
selection-screen
comment 3(4) text-004 for field test.
selection-screen position 26.
parameters: oldfile like rlgrap-filename.
selection-screen
comment 9(17) text-003 for field oldfile.
selection-screen: end of line.
selection-screen begin of line.
selection-screen position 1.
parameters: dnldflag like rkec1-test default 'X'.
selection-screen
comment 3(4) text-005 for field dnldflag.
selection-screen position 26.
parameters: outfile like rlgrap-filename .
selection-screen
comment 9(17) text-006 for field outfile.
selection-screen: end of line.
selection-screen end of block 0 .
SELECTION-SCREEN BEGIN OF BLOCK 1 WITH FRAME TITLE TEXT-002.
selection-screen begin of line.
selection-screen position 1.
PARAMETERS: GEN1 LIKE RKEC1-TEST.
selection-screen
comment 3(9) text-007 for field GEN1.
selection-screen position 26.
PARAMETERS: GEN2 LIKE RKEC1-TEST.
selection-screen
comment 28(9) text-008 for field GEN2.
selection-screen end of line.
selection-screen begin of line.
selection-screen position 1.
PARAMETERS: SALORG1 LIKE RKEC1-TEST.
selection-screen
comment 3(21) text-009 for field SALORG1.
selection-screen position 26.
PARAMETERS: SALORG2 LIKE RKEC1-TEST.
selection-screen
comment 28(21) text-010 for field SALORG2.
selection-screen position 51.
PARAMETERS: SALPLANT LIKE RKEC1-TEST.
selection-screen
comment 53(19) text-011 for field SALPLANT.
selection-screen end of line.
selection-screen begin of line.
selection-screen position 1.
PARAMETERS: PURCHASE LIKE RKEC1-TEST.
selection-screen
comment 3(21) text-012 for field PURCHASE.
selection-screen position 26.
PARAMETERS: PLTSTRG1 LIKE RKEC1-TEST.
selection-screen
comment 28(21) text-018 for field PLTSTRG1.
selection-screen end of line.
selection-screen begin of line.
selection-screen position 1.
PARAMETERS: MRP1 LIKE RKEC1-TEST.
selection-screen
comment 3(4) text-013 for field MRP1.
selection-screen position 13.
PARAMETERS: MRP2 LIKE RKEC1-TEST.
selection-screen
comment 15(4) text-014 for field MRP2.
selection-screen position 26.
PARAMETERS: MRP3 LIKE RKEC1-TEST.
selection-screen
comment 28(4) text-015 for field MRP3.
selection-screen position 37.
PARAMETERS: MRP4 LIKE RKEC1-TEST.
selection-screen
comment 39(4) text-016 for field MRP4.
selection-screen position 51.
PARAMETERS: PLANTSTR LIKE RKEC1-TEST.
selection-screen
comment 53(8) text-017 for field PLANTSTR.
selection-screen end of line.
selection-screen begin of line.
selection-screen position 1.
PARAMETERS: QAU LIKE RKEC1-TEST.
selection-screen
comment 3(8) text-023 for field QAU.
selection-screen position 13.
PARAMETERS: ACC1 LIKE RKEC1-TEST.
selection-screen
comment 15(5) text-019 for field ACC1.
selection-screen position 26.
PARAMETERS: ACC2 LIKE RKEC1-TEST.
selection-screen
comment 28(5) text-020 for field ACC2.
selection-screen position 37.
PARAMETERS: COR1 LIKE RKEC1-TEST.
selection-screen
comment 39(5) text-021 for field COR1.
selection-screen position 51.
PARAMETERS: COR2 LIKE RKEC1-TEST.
selection-screen
comment 53(5) text-022 for field COR2.
selection-screen end of line.
SELECTION-SCREEN END OF BLOCK 1.
at selection-screen on value-request for oldfile.
call function 'KD_GET_FILENAME_ON_F4'
EXPORTING
mask = ',Îı¾Îļþ(ÖƱí·û·Ö¸ô),*.txt'
static = 'X'
CHANGING
file_name = oldfile.
at selection-screen on value-request for outfile.
call function 'KD_GET_FILENAME_ON_F4'
EXPORTING
mask = ',Microsoft Excel¹¤×÷²¾,*.xls'
static = 'X'
CHANGING
file_name = outfile.
initialization.
******µÃµ½ÎļþĿ¼*******
call function 'WS_QUERY'
EXPORTING
query = 'CD'
IMPORTING
return = outfile.
if sy-subrc <> 0.
message e005 with outfile.
endif.
oldfile = outfile.
concatenate outfile 'mat_fat' into outfile.
*ÅúÊäÈëĬÈÏÃû³Æ
group = 'MATBATCHIN'.
start-of-selection.
if dnldflag eq 'X' and not ( outfile is initial ).
perform download_data.
stop.
endif.
perform upload_data.
if test = ' '.
*ÊÓͼ²ÎÊý¼ì²é
IF ( GEN1 NE 'X' AND GEN2 NE 'X' AND SALORG1 NE 'X'
AND SALORG2 NE 'X' AND SALPLANT NE 'X'
AND PURCHASE NE 'X' AND PLTSTRG1 NE 'X'
AND MRP1 NE 'X' AND MRP2 NE 'X' AND MRP3 NE 'X'
AND MRP4 NE 'X' AND PLANTSTR NE 'X'
AND ACC1 NE 'X' AND ACC2 NE 'X'
AND COR1 NE 'X' AND COR2 NE 'X' and qau ne 'X' ) .
MESSAGE E000 WITH 'ÇëÑ¡ÔñÐèά»¤ÊÓͼ'.
ENDIF.
perform open_group.
SORT RECORD BY WERKS MATNR.
loop at record.
perform bdc_fill.
perform bdc_transaction using 'MM01'.
clear: bdcdata.
refresh: bdcdata.
endloop.
perform close_group.
else.
perform file_check.
endif.
end-of-selection.
*& Form UPLOAD_DATA
ÉÏÔØÅúÊäÈëÊý¾Ý
--> p1 text
<-- p2 text
form upload_data.
call function 'WS_UPLOAD'
EXPORTING
filename = oldfile
filetype = 'DAT'
TABLES
data_tab = record
EXCEPTIONS
conversion_error = 1
file_open_error = 2
file_read_error = 3
invalid_table_width = 4
invalid_type = 5
no_batch = 6
unknown_error = 7
gui_refuse_filetransfer = 8
customer_error = 9
others = 10.
if sy-subrc <> 0.
message E000 with 'ÇëÊäÈëÉÏÔØÎļþ'.
endif.
read table record with key MATNR = '**'.
if sy-tabix lt 1.
message E000 with 'ÉÏÔØÎļþÎļþÍ·ÓëÊý¾ÝÖ®¼äÎÞ**'.
endif.
delete record from 1 to sy-tabix.
endform. " UPLOAD_DATA
*& Form BDC_FILL
ÅúÊäÈë
--> p1 text
<-- p2 text
form bdc_fill.
data: N type I,
M type I,
S_MATNR(018),
test(1) type N.
PERFORM BDC_FILL_INITALSCR. "³õʼÆÁÄ»
tmp = '0'.
condense record-matnr no-gaps.
test = record-matnr(1).
if test <> ''.
M = STRLEN( RECORD-MATNR ).
M = 18 - M.
DO M TIMES.
CONCATENATE '0' RECORD-MATNR INTO S_MATNR.
RECORD-MATNR = S_MATNR.
ENDDO.
endif.
**ÅжÏÎïÁÏ»ù±¾ÊÓͼÊÇ·ñÒѾ±»Î¬»¤¹ý**
SELECT SINGLE * FROM MARA WHERE MATNR = RECORD-MATNR.
IF SY-SUBRC NE 0.
K = '0'.
Else.
condense MARA-PSTAT no-gaps.
N = strlen( mara-pstat ).
M = 0.
record-meins = mara-meins.
do N times.
K = MARA-PSTAT+M.
IF K = 'K'.
EXIT.
ENDIF.
M = M + 1.
enddo.
ENDIF.
IF ( ( GEN1 EQ 'X' OR GEN2 EQ 'X' ) AND SALORG1 NE 'X'
AND SALORG2 NE 'X' AND SALPLANT NE 'X'
AND PURCHASE NE 'X' AND PLTSTRG1 NE 'X'
AND MRP1 NE 'X' AND MRP2 NE 'X' AND MRP3 NE 'X'
AND MRP4 NE 'X' AND PLANTSTR NE 'X'
AND ACC1 NE 'X' AND ACC2 NE 'X'
AND COR1 NE 'X' AND COR2 NE 'X' and qau ne 'X' ) .
IF K EQ 'K'.
perform bdc_dynpro using 'SAPLMGMM' '0070'.
perform bdc_field using 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(15)'.
perform bdc_field using 'BDC_OKCODE'
'/N'.
ELSE.
PERFORM BDC_FILL_CHOICEVIEW. "Ñ¡ÔñÊÓͼ
ENDIF.
ELSE.
PERFORM BDC_FILL_CHOICEVIEW. "Ñ¡ÔñÊÓͼ
PERFORM BDC_FILL_ORGVIEW. "×éÖ¯¼¶±ð
ENDIF.
TRANSLATE record-MEINS TO UPPER CASE.
TRANSLATE record-BSTME TO UPPER CASE.
TRANSLATE record-VRKME TO UPPER CASE.
TRANSLATE record-FRTME TO UPPER CASE.
TRANSLATE record-AUSME TO UPPER CASE.
if gen1 eq 'X'.
IF K NE 'K'.
PERFORM GENERALDATA1.
ENDIF.
endif.
if gen2 eq 'X'.
IF K NE 'K'.
perform generaldata2.
ENDIF.
endif.
if salorg1 eq 'X'.
perform salorg1.
endif.
if salorg2 eq 'X'.
perform salorg2.
endif.
if salplant eq 'X'.
perform salplant.
endif.
if purchase eq 'X'.
perform purchasedata.
endif.
if mrp1 eq 'X'.
perform MRP1.
endif.
if mrp2 eq 'X'.
perform MRP2.
endif.
if mrp3 eq 'X'.
perform MRP3.
endif.
if mrp4 eq 'X'.
perform MRP4.
endif.
if PLANTSTR eq 'X'.
perform PLANTSTR.
endif.
if PLTSTRG1 eq 'X'.
perform PLTSTRG1.
endif.
if qau eq 'X'.
perform qualitydata.
endif.
if ACC1 eq 'X'.
perform ACC1DATA.
endif.
if ACC2 eq 'X'.
perform ACC2DATA.
endif.
if COR1 eq 'X'.
perform COR1DATA.
endif.
if COR2 eq 'X'.
perform COR2DATA.
endif.
perform BDC_SAVE.
endform. " BDC_FILL
*& Form GENERALDATA1
Ò»°ãÊý¾Ý 1
--> p1 text
<-- p2 text
form generaldata1.
perform bdc_dynpro using 'SAPLMGMM' '4004'.
perform bdc_field using 'BDC_OKCODE'
"'=ZU01'.
'/00'.
perform bdc_field using 'MAKT-MAKTX'
record-MAKTX. " ÎïÁÏÃèÊö
perform bdc_field using 'MARA-MEINS'
record-MEINS. " »ù±¾¼ÆÁ¿µ¥Î»
perform bdc_field using 'MARA-MATKL'
record-MATKL. " ÎïÁÏ×é
perform bdc_field using 'MARA-BISMT'
record-BISMT.
perform bdc_field using 'MARA-EXTWG'
record-EXTWG.
perform bdc_field using 'MARA-SPART'
record-SPART.
perform bdc_field using 'MARA-MTPOS_MARA'
record-MTPOS_MARA.
perform bdc_field using 'BDC_CURSOR'
'MARA-GROES'.
perform bdc_field using 'MARA-BRGEW'
record-BRGEW.
if record-gewei = '' and ( salorg1 = 'X' or salorg2 = 'X'
or salplant = 'X' ).
perform bdc_field using 'MARA-GEWEI'
'KG'. " ÖØÁ¿µ¥Î»
else.
perform bdc_field using 'MARA-GEWEI'
record-GEWEI. " ÖØÁ¿µ¥Î»
endif.
perform bdc_field using 'MARA-NTGEW'
record-NTGEW.
perform bdc_field using 'MARA-VOLUM'
record-VOLUM.
perform bdc_field using 'MARA-VOLEH'
record-VOLEH.
perform bdc_field using 'MARA-GROES'
record-GROES.
condense record-EAN11 no-gaps.
if record-EAN11 <> ''.
perform bdc_field using 'MARA-EAN11'
record-EAN11.
perform bdc_field using 'MARA-NUMTP'
'HT'.
endif.
perform bdc_field using 'MARA-MAGRV'
record-MAGRV.
perform bdc_dynpro using 'SAPLMGMM' '4300'.
perform bdc_field using 'BDC_OKCODE'
'=ZU02'.
condense record-EAKTX no-gaps.
if record-EAKTX <> ''.
perform bdc_field using 'SKTEXT-SPRAS(2)'
'EN'.
perform bdc_field using 'SKTEXT-MAKTX(2)'
record-EAKTX.
endif.
perform bdc_dynpro using 'SAPLMGMM' '4300'.
perform bdc_field using 'BDC_OKCODE'
'=MAIN'.
if record-meins <> 'PAK'.
perform bdc_field using 'SMEINH-UMREN(05)'
'1'.
perform bdc_field using 'SMEINH-MEINH(05)'
'PAK'.
perform bdc_field using 'SMEINH-UMREZ(05)'
'1'.
endif.
perform bdc_dynpro using 'SAPLMGMM' '4004'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
endform. " GENERALDATA
*& Form generaldata2
Ò»°ãÊý¾Ý 2
--> p1 text
<-- p2 text
FORM generaldata2.
perform bdc_dynpro using 'SAPLMGMM' '4004'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'MAKT-MAKTX'
record-MAKTX.
perform bdc_field using 'BDC_CURSOR'
'MARA-NORMT'.
condense record-ferth no-gaps.
if record-ferth <> ''.
perform bdc_field using 'MARA-FERTH'
record-FERTH.
endif.
perform bdc_field using 'MARA-NORMT'
record-NORMT.
perform bdc_field using 'MARA-WRKST'
record-WRKST.
perform bdc_field using 'MARA-ZEIAR'
record-ZEIAR.
ENDFORM. " generaldata2
*& Form salorg1
ÏúÊÛ×éÖ¯ 1
--> p1 text
<-- p2 text
FORM salorg1.
condense RECORD-SPART no-gaps.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'MAKT-MAKTX'
RECORD-MAKTX. " ÎïÁÏÃèÊö
IF K NE 'K'.
perform bdc_field using 'MARA-MEINS'
record-MEINS. " »ù±¾¼ÆÁ¿µ¥Î»
ENDIF.
perform bdc_field using 'MARA-SPART'
record-SPART. " ²úÆ·×é
perform bdc_field using 'MVKE-DWERK'
record-DWERK. " ½»»õ¹¤³§
PERFORM BDC_FIELD USING 'MG03STEUER-TAXKM(01)'
RECORD-TAXKM. " ÎïÁÏË°·ÖÀà
condense RECORD-VRKME no-gaps.
IF RECORD-MEINS <> RECORD-VRKME and RECORD-VRKME <> ''.
perform bdc_field using 'MVKE-VRKME'
record-VRKME. " ÏúÊÛµ¥Î»
select single * from MARM where matnr = record-matnr
and meinh = record-vrkme.
if SY-SUBRC NE 0.
tmp = 'W'.
select single * from t006 where MSEHI = record-meins.
if t006-DIMID = 'AAAADL'.
DIMID = ''.
else.
DIMID = t006-DIMID.
endif.
select single * from t006 where MSEHI = record-vrkme.
if dimid <> t006-DIMID.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0510'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
perform bdc_field using 'RMMZU-UMREN'
record-VMREN. "ÏúÊÛµ¥Î»×ª»»Òò×Ó
perform bdc_field using 'RMMZU-UMREZ'
record-VMREZ. "»ù±¾µ¥Î»×ª»»Òò×Ó
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
endif.
endif.
ENDIF.
perform bdc_dynpro using 'SAPLMGMM' '4200'.
perform bdc_field using 'BDC_OKCODE' " µ÷ÓÃË°Àà×ÓÆÁÄ»
'/00'.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' " ·µ»ØÏúÊÛ×éÖ¯ 1ÆÁÄ»
'/00'.
ENDFORM. " salorg1
*& Form salorg2
ÏúÊÛ×éÖ¯ 2
--> p1 text
<-- p2 text
FORM salorg2.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MVKE-KTGRM'.
PERFORM BDC_FIELD USING 'MVKE-VERSG'
RECORD-VERSG. " ÎïÁÏͳ¼Æ×é
PERFORM BDC_FIELD USING 'MVKE-KTGRM'
RECORD-KTGRM. " ¿ÆÄ¿ÉèÖÃ×é
PERFORM BDC_FIELD USING 'MVKE-KONDM'
RECORD-KONDM. " ÎïÁ϶¨¼Û×é
perform bdc_field using 'MVKE-MTPOS'
RECORD-MTPOS. " ÏîÄ¿Àà±ð×é
PERFORM BDC_FIELD USING 'MVKE-MVGR1'
RECORD-MVGR1. " ÎïÁÏ×é 1
PERFORM BDC_FIELD USING 'MVKE-MVGR2'
RECORD-MVGR2. " ÎïÁÏ×é 2
ENDFORM. " salorg2
*& Form salplant
ÏúÊÛ£ºÒ»°ã/¹¤³§Êý¾Ý
--> p1 text
<-- p2 text
FORM salplant.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
select single * from marc where matnr = record-matnr
and werks = record-werks.
if SY-SUBRC NE 0 OR MARC-MTVFP = ''.
PERFORM BDC_FIELD USING 'MARC-MTVFP'
RECORD-MTVFP. " ¿ÉÓÃÐÔ¼ì²é
endif.
PERFORM BDC_FIELD USING 'MARA-TRAGR'
RECORD-TRAGR. " ÔËÊä×é
PERFORM BDC_FIELD USING 'MARC-LADGR'
RECORD-LADGR. " ×°ÔØ×é
perform bdc_field using 'MARC-XCHPF'
record-XCHPF. " ÅúÁ¿¹ÜÀí
ENDFORM. " salplant
*& Form PURCHASEDATA
²É¹ºÊý¾Ý
--> p1 text
<-- p2 text
form purchasedata.
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'BDC_CURSOR'
'MARC-WEBAZ'.
perform bdc_field using 'MAKT-MAKTX'
record-MAKTX.
IF K NE 'K'.
perform bdc_field using 'MARA-MEINS'
record-MEINS. " »ù±¾¼ÆÁ¿µ¥Î»
perform bdc_field using 'MARA-MATKL'
record-MATKL. " ÎïÁÏ×é
ENDIF.
condense RECORD-BSTME no-gaps.
IF RECORD-MEINS <> RECORD-BSTME and RECORD-BSTME <> ''.
perform bdc_field using 'MARA-BSTME'
record-BSTME. " ¶©µ¥µ¥Î»
select single * from MARM where matnr = record-matnr
and meinh = record-bstme.
if SY-SUBRC NE 0 and
( record-vrkme <> record-bstme or tmp <> 'W' ).
tmp = 'W'.
select single * from t006 where MSEHI = record-meins.
if t006-DIMID = 'AAAADL'.
DIMID = ''.
else.
DIMID = t006-DIMID.
endif.
select single * from t006 where MSEHI = record-bstme.
if dimid <> t006-DIMID.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0510'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
perform bdc_field using 'RMMZU-UMREN'
record-UMREN. "¶©µ¥µ¥Î»×ª»»Òò×Ó
perform bdc_field using 'RMMZU-UMREZ'
record-UMREZ. "»ù±¾µ¥Î»×ª»»Òò×Ó
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
endif.
endif.
ENDIF.
perform bdc_field using 'MARC-EKGRP'
record-EKGRP. " ²É¹º×é
perform bdc_field using 'MARC-WEBAZ'
record-WEBAZ. " ÊÕ»õ´¦Àíʱ¼ä
endform. " PURCHASEDATA
*& Form MRP1
text
--> p1 text
<-- p2 text
FORM MRP1.
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'MAKT-MAKTX'
record-MAKTX. " ÎïÁÏÃèÊö
IF K NE 'K'.
perform bdc_field using 'MARA-MEINS'
record-MEINS. " »ù±¾µ¥Î»
ENDIF.
perform bdc_field using 'MARC-DISGR'
record-DISGR. " MRP×é
perform bdc_field using 'MARC-MAABC'
record-MAABC. " ABC±êʶ
perform bdc_field using 'MARC-DISMM'
record-DISMM. " MRPÀàÐÍ
perform bdc_field using 'MARC-FXHOR'
record-FXHOR. " ¼Æ»®µÄʱ½ì
perform bdc_field using 'MARC-DISPO'
record-DISPO. " MRP¿ØÖÆÕß
perform bdc_field using 'MARC-DISLS'
record-DISLS. " ÅúÁ¿
perform bdc_field using 'MARC-BSTFE'
Here is a sample program which creates a material with the bare minmal fields, this will get you started.
report zrich_0003 .
data: headdata type bapimathead.
data: clientdata type bapi_mara.
data: clientdatax type bapi_marax.
data: descdata type table of BAPI_MAKT with header line.
data: return type bapiret2 .
data: returnm type table of bapi_matreturn2 with header line.
data: xmara type mara.
parameters: p_matnr type mara-matnr.
headdata-material = p_matnr.
headdata-ind_sector = 'M'.
headdata-matl_type = 'FERT'.
headdata-basic_view = 'X'.
clientdata-BASE_UOM = 'EA'.
clientdatax-BASE_UOM = 'X'.
clientdata-old_mat_no = 'Old Material'.
clientdatax-old_mat_no = 'X'.
clientdata-division = '00'.
clientdatax-division = 'X'.
descdata-LANGU = sy-langu.
descdata-MATL_DESC = 'This is the description'.
append descdata.
call function 'BAPI_MATERIAL_SAVEDATA'
exporting
headdata = headdata
clientdata = clientdata
clientdatax = clientdatax
* PLANTDATA =
* PLANTDATAX =
* FORECASTPARAMETERS =
* FORECASTPARAMETERSX =
* PLANNINGDATA =
* PLANNINGDATAX =
* STORAGELOCATIONDATA =
* STORAGELOCATIONDATAX =
* VALUATIONDATA =
* VALUATIONDATAX =
* WAREHOUSENUMBERDATA =
* WAREHOUSENUMBERDATAX =
* SALESDATA =
* SALESDATAX =
* STORAGETYPEDATA =
* STORAGETYPEDATAX =
importing
return = return
tables
MATERIALDESCRIPTION = descdata
* UNITSOFMEASURE =
* UNITSOFMEASUREX =
* INTERNATIONALARTNOS =
* MATERIALLONGTEXT =
* TAXCLASSIFICATIONS =
returnmessages = returnm
* PRTDATA =
* PRTDATAX =
* EXTENSIONIN =
* EXTENSIONINX =
check sy-subrc = 0.
Regards,
Rich Heilman -
Oi,
Alguém pode me explicar qual é a diferença entre os grupos G1, G4, R1 e R4 tipos de nota fiscal??
Além disso não iam certeza se esses são os tipos de nota fiscal padrão definido pela SAP?
advCaro Adv,
G1 - Nota fiscal de saída
tem formulario amarrado na parametrização dela, que significa que você ira se utilizar da sequencia de numeração interna da empresa.
ex.: envio de mercadoria para industrializacão em MM via MB1B mov 541.
G4 - Retorno de saída.
O fornecedor emite a NF dele para retornar os itens não utilizados, então é uma nota fiscal que vai registrar a NF do fornecedor no sistema somente e acobertar seu retorno de estoque.
R1 - Serve também para registrar a nota fiscal de um fornecedor no seu sistema, e pode ser usado na MB04 por exemplo, quando o fornecedor emite uma nota pra fatura, que vai ser capturada na MIRO e uma nota fiscal de retorno simbólico dos itens utilizados na subcontratação.
R4 - esta nota tem um formulario atrelado, assim como a G1, o que significa que ela ira se utilizar de uma numeração interna da empresa, porém ela é para devolver o material se necessário apos o recebimento acima. Ela tem quase que os mesmos settings internos que a E4 que é usada para devolução de compras via MIRO-credit memo, mas a R4 é via MM , movimentação de mercadoria.
Espero ter ajudado.
Moçatto -
Dúvida no fluxo do processo de rejeição/recusa
Bom dia, pessoal,
Embora tenha participado de alguns projetos de nota fiscal eletrônica, uma coisa nunca ficou muito clara para mim. Estou em um novo projeto agora e eu queria fazer da melhor forma possível.
A primeira dúvida é sobre Recusa/Rejeição. Basicamente qual a diferença entre os dois? Eu sempre entendi que uma nota é rejeitada pela SEFAZ, e recusada pela validação do GRC ou do outro sistema de mensageria. Essa abordagem está correta?
A segunda dúvida é sobre essa mesma validação. Quando o GRC, ou outro sistema encontra erros de sintaxe do arquivo, ou de qualquer informação, qual deve ser o status dessa nota? Ela deve ficar como recusada? E o status de comunicação do sistema?
Quando uma nota fiscal está recusada, qual o melhor fluxo? Considerando que o erro foi apontado pelo sistema de mensageria e não pela SEFAZ, a nota fiscal não pode ser cancelada. O sistema também não permite o estorno da nota, nem mesmo depois de resetar seu status . Uma vez eu debuguei e vi que é porque ela está numerada.
Meu último problema é sobre inutilização. Alem do report, existe alguma outra forma de fazer a inutilização, direto pelo monitor? Penso em fazer isso justamente quando uma nota está recusada/rejeitada sem ter ido para o SEFAZ. Daí usaríamos a própria entrada dela, no monitor, para solicitar a inutilização da numeração.
É Isso...
Obrigado,
Fernando FussiBom dia Fernando,
Esta dúvida é comum principalmente que boa parte dos projetos (no início) não fez a implementação de NF-e por Support Package mas por aplicação de notas, então os termos originais Rejected and Denied foram traduzidos de forma diferente em cada projeto (a SAP só entrega traduções por SP), isso deu margem a boa confusão no tema.
A primeira dúvida é sobre Recusa/Rejeição. Basicamente qual a diferença entre os dois?
Existe rejeição (2xx, 4xx,999) e denegação (301 / 302)
- Na rejeição a Sefaz rejeita por algum dado incorreto e não deixa salvo no banco de dados dela, você deve tentar corrigir e enviar quantas vezes necessário
- Na denegação é uma situação específica que o emissor ou o destinatário estão com irregularidade fiscal junto à Receita, neste caso a NF-e é armazenada na base da Sefaz e não deve ser novamente enviada (o ERP ao receber a denegação dispara o cancelamento automaticamente)
Eu sempre entendi que uma nota é rejeitada pela SEFAZ, e recusada pela validação do GRC ou do outro sistema de mensageria. Essa abordagem está correta?
- Sim, a rejeição da validação é devido a algo que provocaria uma rejeição da Sefaz se enviado você também pode tentar acertar até passar pelo validador/Sefaz
A segunda dúvida é sobre essa mesma validação. Quando o GRC, ou outro sistema encontra erros de sintaxe do arquivo, ou de qualquer informação, qual deve ser o status dessa nota?Ela deve ficar como recusada? E o status de comunicação do sistema?
- Sim, rejeitado pelo validador MSS=V DOCSTAT=vazio (o ERP não considera que a rejeição do validador tem peso igual a validação da Sefaz, porém pro processo é a mesma coisa que no ERP tem status específicos)
Veja detalhes sobre status e situações aqui:
Status do SAP Nota Fiscal Eletrônica (ERP x GRC x PI)
ou em inglês:
NF-e Status on SAP Nota Fiscal Electronica Solution (ERP x GRC x PI)
Quando uma nota fiscal está recusada, qual o melhor fluxo? Considerando que o erro foi apontado pelo sistema de mensageria e não pela SEFAZ
- Em linhas gerais o fluxo básico seria RESET + tentar corrigir o que o GRC ou a Sefaz informaram + NF-e -> Send
, a nota fiscal não pode ser cancelada. O sistema também não permite o estorno da nota, nem mesmo depois de resetar seu status . Uma vez eu debuguei e vi que é porque ela está numerada.
- Em um ERP e GRC corretamente atualizado com os SP's e notas isso não é normal em cada caso a causa raiz deve ser encontrada e sanada com notas ou chamado à SAP
Meu último problema é sobre inutilização. Alem do report, existe alguma outra forma de fazer a inutilização, direto pelo monitor?
- Que report? O de encontrar gaps? Este report é para sanar um side effect quando os clientes não implementaram ainda o decouple. Hoje em dia todos os clientes devem implementar o decouple job para evitar vários transtornos como (gaps (já não dá mais medo), NF-e autorizada no GRC/Sefaz e não existe no ERP (isso é terrível), inconsistência de transmissão (dados obtidos em memória X dados obtidos do banco)....
- Inutilização é direto no monitor, que situação está descrevendo?
Penso em fazer isso justamente quando uma nota está recusada/rejeitada sem ter ido para o SEFAZ. Daí usaríamos a própria entrada dela, no monitor, para solicitar a inutilização da numeração.
- não entendi. Hoje uma nota Rejected seja pela Sefaz ou pelo validador deve ser cancelada pelo monitor J1BNFE. Entendi errado sua pergunta?
- Existe também uma nova funcionalidade "Cancel Prior Authorization" que permite o cancelamento de uma NF-e antes mesmo dela ter sido numerada
Atenciosamente, Fernando Da Ró -
CFOP de Importação e não informado dados da DI
Ola!
Há mudanças no processo de entrada de documentos de importação para NF-e de layout XML 3.10? A NF-es nós emitidas desde 3.10 obter o erro Rejeicao: 525 CFOP de Importação e não informado dados da DI.
CholenOi Cholen,
Você provavelmente tem um sistema 604 ou inferior. No blog post http://scn.sap.com/community/portuguese/sped-and-nf-e/blog/2014/12/15/diferen%C3%A7as-na-solu%C3%A7%C3%A3o-de-nf-e-entre… foram explicadas as diferenças entre os releases novos e os mais antigos. Os campos Intermediate_mode e transport_mode só existem no 605 e superiores.
att,
Renan Correa -
1933985 NF-e new layout 3.10 - Versão Obsoleta
Caros,
Estou com uma dúvida em relação a aplicação da nota 1933985 - NF-e new layout 3.10.
Há 2 meses aplicamos completamente a nota 1933985, porém ao baixarmos novamente esta note via SNOTE, seu status não está mais como "Completamente Aplicada" e sim como "Aplicada Versão Obsoleta". Sendo assim, gostaria de saber se o correto neste caso, é voltar o status de implementação desta nota e executar a SNOTE novamente para ela? Ou se há alguma sugestão para este caso?
Temos outra nota na mesma situação e não temos certeza se podemos voltar seu status para executarmos novamente a SNOTE.
Muito ObrigadaOlá Cristiane.
Boa tarde.
A última versão lançada para esta nota 1933985 , é a versão 9, do dia 22 de Agosto de 2014.
Acredito não ser possível implementar apenas a diferença entre as versões. Então, tente verificar qual versão foi implementada em seu sistema e atente aos detalhes de mudanças entre as versões, como descrito na nota.
O que acontece é que algumas outras notas foram inseridas como pré requisitos, assim como parte da solução e dos textos, mudaram ao longo das versões.
Então, verifique a possibilidade de reverter a sua aplicação feita anteriormente para proceder, desde o ínicio, com a última versão (9).
Atenciosamente,
Felipe Silveira -
NFE com status "em processamento" que não foi enviada ao PI para assinatura
Olá pessoal.
No dia 08/03 tivemos um problema no servidor do PI e GRC (ambiente de produção) devido a uma diferença entre os horários do Application Server e do Database Server.
A grande maioria das NF-eu2019s geradas durante o problema, tiveram o fluxo normal retomado depois da correção no dia 09/03, porém existem três NF-eu2019s que ficaram u201Ctravadasu201D, pois não saíram do GRC para serem assinadas.
As filas do PI e do GRC tiveram que ser reativadas para que o fluxo das NFE's com problema fosse retomado. Não há nenhum registro parado nas filas do GRC e nem do PI.
Percebemos que o envio para assinatura dá-se no momento da criação da NF-e no GRC. Tentamos re-enviar as NF-e's pelo monitor do ECC, mas não surtiu nenhum efeito.
Existe dentro do GRC alguma forma de reenviar para assinatura estas NF-e's?
Obrigado,
Dorval Neto.Bom dia Pessoal,
Só para chamar a atenção das modificações em tabelas do GRC NFe, isto somente deverá ser feito após esgotadas todas as opções possíveis ( PI, filas, RFC, tunning, basis, java, monitores do aplicativo e também aplicação de notas ).
No suporte, tenho encontrado em produção problemas que foram ignorados em tempo de DEV / QAS onde o acesso é facilidado.
Em produção além do acesso limitado o alto volume de notas juntamente com a pressão dos usuários pela resolução rápida pode desgastar a imagem da implementação e do consultor.
Felizmente temos este canal, e também o suporte oficial, para apoio à esta identificação.
Abraços,
Fernando Da Ró -
Inutilização de NFe - J_1BNFE_OUTNFE_CREATE - Mensageria não-sap
Olá pessoal!
Preciso esclarecer uma dúvida:
A SAP disponibilizou a função J_1BNFE_OUTNFE_CREATE para fazer interface com sistemas de mensageria não-sap, para o layout 3.10.
Dúvida:
Nessa função, como eu faço para identificar que a ação do usuário foi uma solicitação de inutilização da nfe e não a solicitação de autorização? Não encontrei nenhum parâmetro que me diga isso.
Na versão 2.0 era utilizada a função J_1B_NFE_XML_OUT, que com a combinação dos parâmetros XML_IN-DOCSTAT, XML_IN-SCSSTAT e XML_IN-TPEMIS era possível determinar qual era a ação a ser realizada (solicitar aprovação, cancelamento [ quando ainda não era por evento] , inutilização...)
Me parece que falta algum parâmetro na nova função que nos diga qual foi a ação realizada...
Notei que para casos de inutilização o parametro IS_NFE_IDE-TP_EMIS, e alguns outros, ficam em branco. Mas não achei seguro fazer a validação dessa forma.
Será que existe alguma nota que corrige isso? procurei, mas não encontrei.
Enfim, agradeço por qualquer ajuda.
Abraços!Oi,
A diferença entre a autorização e a inutilização pode ser identificada pelos parâmetros em branco. Na solicitação de autorização as estruturas com dados de produto/impostos/destinatário estão preenchidas, na inutilização elas estão em branco.
Além disso algumas informações de header da nota estarão em branco na inutilização, como por exemplo o tpemis.
Acredito que independente da mensageria é possível que eles mapeiem os dados usando essas diferenças como parâmetros para identificação.
att,
Renan -
Erro "B2B: erro de sistema PI"
Olá a todos. Aplicamos a versão 2.0 do GRC, Support Package 15 e após isso, quando uma Nota Fiscal é cancelada, o cliente não recebe o XML desse cancelamento, apresentando um erro no GRC como: B2B: erro de sistema PI. Nessa nova versão esse envio é obrigatório. Alguém já passou por esse erro? Tem alguma idéia do que pode ser?
Obrigado a todos que puderem ajudar
Marcos Cristiano Ickert
BasisMarcos,
Alem de configurar o Cenário para o novo namespace 006, no Design para o Produto/SWCV usado o B2B você precisa alterar o Interface Mapping(7.0)/Operation Mapping(7.1) de Envio(NTB2B_procNFe_TO_procNFe)/Cancelamento(CTB2B_procCancNFe_TO_procCancNFe) para o namespace 006, assim como já deve estar para a versão 005a.
(isso apenas para os objetos do seu produto/swcv)
OBS.: caso vocês utilizem a solução igual ou parecida com o que Henrique postou no forum.
E caso você precise reiniciar esse erro de B2B no GRC, como você está SPK 15 será necessário aplicar a nota 1512936 para tirar o dump que gera.
Espero que ajude.
Abraço,
Bruno Lima
Maybe you are looking for
-
Bt infinity disconnected and now won't re connect
Hi there, I was on the internet and it was going really slow and then it just disconnected and now it will not reconnect, I have infinity2 with bt home hub 5 and its just staying a constant orange light on the router I have logged it with BT but ju
-
My wi-fi connection from my iPad via the Airport Express Base Station on my home computer worked just fine until yesterday morning. I have a Macintosh G5 with a satellite connection. I could not get an Internet connection. After using the Network
-
Open items date and clearing date
Hi, Could any one tell me what are the field names in BSEG table for the "open items date" and "clearing date"? thank u Kaki
-
Direct link from Premiere Pro to Speedgrade won't open and stops at the post processing bar.
I've just installed the new version of Speedgrade and every time I try to open a direct link from Premiere Pro to Speedgrade, it opens and starts to load, but when the post processing bar appears it stops there and doesn't open, I've gone back to the
-
MobileMe iPhoto galleries not syncing after password change
After changing the MobileMe Password iPhoto does not recognize the properly configured MobileMe Account anymore. All other Applications with MobileMe Upload/Sync/Publishing capability (iMovie, Aperture, MobileMe-Sync) still work flawless. After tryin