Cadastro de novas entradas - Campo Meio Auxiliar de Expedição
Bom dia,
Estou com um chamado no cliente onde ele me pede para cadastrar uma nova entrada para o campo "MeioAuxExp", este campo está na NFe > aba Transporte.
Alguém poderia me dizer onde que eu consigo cadastrá-lo? É em alguma tabela Standard? Ou pela SPRO?
Procurei na SPRO mas não encontrei nada que seja relacionado a este campo... Obrigada!
Bom dia,
Funcionalmente não sei (SPRO, como e por que existe)... mas tecnicamente, navegasse do campo ao domínio, encontra-se a tabela de valores e se encontra a view V_TVTY.
Antes de sair incluindo valores melhor encontrar o que tem em volta desta tabela funcionalmente, a base dela TVTY tem vários pontos de uso.
Atenciosamente, Fernando Da Ró
Similar Messages
-
NF-e: Maintain Connected Authority Systems - Já existe uma entrada com a mesma chave
Bom dia!
Estou tendo um problema para adicionar novas entradas na SPRO - OUTBOUND -NF-e: Maintain Connected Authority Systems para configuração do layout 3.10:
Sendo assim, como devo configurar todos os estados para a SEFAZ se o sistema lógico e CNPJ são chaves da tabela /xnfe/govpar?
Com isso, não consigo executar todos os status de serviço no layout novo através do report (/XNFE/NFE_CHECK_SRV_STATUS) depois de cadastrálos na atividade NF-e: Define Service Status Request for Authority (SEFAZ,) pois durante a execução do report (/XNFE/NFE_CHECK_SRV_STATUS) além da tabela /xnfe/tcuf a tabela /xnfe/govpar também é verificada.
Grato.,Bom dia Luís,
Exatamente! De fato o que ocorreu foi uma confusão, pois na versão anterior era possível enviar o status de serviço mesmo se você não possuísse uma filial para o estado em questão. Quando fui fazer a migração do cliente todos os estados estavam configurados para emitir status de serviço, porém não há necessidade de enviar o status de serviço para um estado visto que você não possui uma filial para emissão de Nota no mesmo.
Abs., -
Problem to connect to mysql from servlet using a javabean
Hi,
I'm new here and beginner on java to.
I have problem to connect to MySql database, by a connection javabean.
It's the following: a HTML page calls a servlet and this servlet imports the package connection javabean.
It has no problem when I establish the connection inside the servlet, with all its methods (public and private). But i want to separate the code connection from servlet.
Detail: there is no problem, using the javabean to connect to MS Access database.
I put "mysql-connector-java-3.1.12-bin.jar" file inside WEB-INF/lib application and common/lib directories.
I set the classpath:
SET CLASSPATH=%CATALINA_HOME%\COMMON\LIB\mysql-connector-java-3.1.12-bin.jar;%CLASSPATH%
I think that the servlet cannot create an instance of javabean, because passed by catch exception of the servlet init method.
But I don't know why.
Please Why?
Below there are the fragment of errors, servlet code e javabean code.
Thank you.
Zovao.
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
java.lang.NullPointerException
at CadServletFileBeanConexArq.doPost(CadServletFileBeanConexArq.java:47)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:716)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
Note: The line 47 is calling insertIntoDB javabean method.
========///////////////===============
// Here is the servlet CadServletFileBeanConexArq.java
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
import java.sql.*;
import conJdbc.*;
public class CadServletFileBeanConexArq extends HttpServlet {
public ConexPed connect = null;
private String driver = "com.mysql.jdbc.Driver";
private String URL = "jdbc:mysql://localhost:3306/cadastro";
public void init( ServletConfig config )
throws ServletException
super.init( config );
try
connect = new ConexPed(driver, URL, "monty", "some_pass");
catch ( Exception e )
e.printStackTrace();
connect = null;
public void doPost( HttpServletRequest req,
HttpServletResponse res )
throws ServletException
boolean success = true;
String email, nome, sobrenome, produto, valor;
email = req.getParameter( "Email" );
nome = req.getParameter( "Nome" );
sobrenome = req.getParameter( "Sobrenome" );
produto = req.getParameter( "Produto" );
valor = req.getParameter( "Valor" );
res.setContentType( "text/html" );
if ( email.length() > 0 && nome.length() > 0 && sobrenome.length() > 0 && valor.length() > 0 )
/* inserting data */
success = connect.insertIntoDB(
"'" + email + "','" + nome + "','" + sobrenome + "','" + produto + "'", Double.parseDouble(valor) );
//closing connection
public void destroy()
connect.fecharConexao();
=============///////////////============
Here is the JavaBean.
package conJdbc;
import java.sql.*;
public class ConexPed
public Connection connection;
public Statement statement;
public ConexPed (String driver, String urlServidor, String user, String password)
try
Class.forName(driver);
connection = DriverManager.getConnection(urlServidor,user,password);
catch (ClassNotFoundException ex)
System.out.println("N�o foi poss�vel encontrar a classe do Driver: " + driver);
catch (SQLException ex)
System.out.println("N�o foi poss�vel conectar ao servidor");
try
statement = connection.createStatement();
catch (SQLException ex)
System.out.println("N�o foi poss�vel criar a statement");
*Inserting data to database
public synchronized boolean insertIntoDB( String stringtoinsert, double valor)
try
statement.executeUpdate( "INSERT INTO pedido values (" + stringtoinsert + " , " + valor + ");" );
catch ( Exception e ) {
System.err.println(
"ERROR: Problemas ao adicionar nova entrada" );
e.printStackTrace();
return false;
return true;
* Close statement.
public void fecharStatement()
try
statement.close();
catch (SQLException ex)
ex.printStackTrace();
* close database
public void fecharConexao()
try
connection.close();
catch (SQLException ex)
ex.printStackTrace();
}Hi,
I'm new here and beginner on java to.
I have problem to connect to MySql database, by a connection javabean.
It's the following: a HTML page calls a servlet and this servlet imports the package connection javabean.
It has no problem when I establish the connection inside the servlet, with all its methods (public and private). But i want to separate the code connection from servlet.
Detail: there is no problem, using the javabean to connect to MS Access database.
I put "mysql-connector-java-3.1.12-bin.jar" file inside WEB-INF/lib application and common/lib directories.
I set the classpath:
SET CLASSPATH=%CATALINA_HOME%\COMMON\LIB\mysql-connector-java-3.1.12-bin.jar;%CLASSPATH%
I think that the servlet cannot create an instance of javabean, because passed by catch exception of the servlet init method.
But I don't know why.
Please Why?
Below there are the fragment of errors, servlet code e javabean code.
Thank you.
Zovao.
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
java.lang.NullPointerException
at CadServletFileBeanConexArq.doPost(CadServletFileBeanConexArq.java:47)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:716)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
Note: The line 47 is calling insertIntoDB javabean method.
========///////////////===============
// Here is the servlet CadServletFileBeanConexArq.java
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
import java.sql.*;
import conJdbc.*;
public class CadServletFileBeanConexArq extends HttpServlet {
public ConexPed connect = null;
private String driver = "com.mysql.jdbc.Driver";
private String URL = "jdbc:mysql://localhost:3306/cadastro";
public void init( ServletConfig config )
throws ServletException
super.init( config );
try
connect = new ConexPed(driver, URL, "monty", "some_pass");
catch ( Exception e )
e.printStackTrace();
connect = null;
public void doPost( HttpServletRequest req,
HttpServletResponse res )
throws ServletException
boolean success = true;
String email, nome, sobrenome, produto, valor;
email = req.getParameter( "Email" );
nome = req.getParameter( "Nome" );
sobrenome = req.getParameter( "Sobrenome" );
produto = req.getParameter( "Produto" );
valor = req.getParameter( "Valor" );
res.setContentType( "text/html" );
if ( email.length() > 0 && nome.length() > 0 && sobrenome.length() > 0 && valor.length() > 0 )
/* inserting data */
success = connect.insertIntoDB(
"'" + email + "','" + nome + "','" + sobrenome + "','" + produto + "'", Double.parseDouble(valor) );
//closing connection
public void destroy()
connect.fecharConexao();
=============///////////////============
Here is the JavaBean.
package conJdbc;
import java.sql.*;
public class ConexPed
public Connection connection;
public Statement statement;
public ConexPed (String driver, String urlServidor, String user, String password)
try
Class.forName(driver);
connection = DriverManager.getConnection(urlServidor,user,password);
catch (ClassNotFoundException ex)
System.out.println("N�o foi poss�vel encontrar a classe do Driver: " + driver);
catch (SQLException ex)
System.out.println("N�o foi poss�vel conectar ao servidor");
try
statement = connection.createStatement();
catch (SQLException ex)
System.out.println("N�o foi poss�vel criar a statement");
*Inserting data to database
public synchronized boolean insertIntoDB( String stringtoinsert, double valor)
try
statement.executeUpdate( "INSERT INTO pedido values (" + stringtoinsert + " , " + valor + ");" );
catch ( Exception e ) {
System.err.println(
"ERROR: Problemas ao adicionar nova entrada" );
e.printStackTrace();
return false;
return true;
* Close statement.
public void fecharStatement()
try
statement.close();
catch (SQLException ex)
ex.printStackTrace();
* close database
public void fecharConexao()
try
connection.close();
catch (SQLException ex)
ex.printStackTrace();
} -
How to upload material master using BAPI
I have a flat file with 3 fields MATNR,MAKTX,MEINS and I want to create material master with 2 views basic data1 & basic data2 with three fields using BAPI
Can anyone tell me how to do this only using three fields and 2 views
and also i want to know what is the exact difference between session call transaction BAPI and LSWM methods.
Thank you,
Pradeep Reddy M.Hi Pradeep Reddy Miriyala,
This a example you can use, the views are related with each table only have to adapt to your case.
Best regards
Jaime Cordeiro
*& Report ZMM01_BAPI_01 *
REPORT ZMM01_BAPI_01 .
STRUCTURE DECLARATIONS *
TABLES: BAPIMATHEAD, "Headerdata
BAPI_MARA, "Clientdata
BAPI_MARAX, "Clientdatax
BAPI_MVKE, "SalesData
BAPI_MVKEX, "SalesDatax
BAPI_MARC, "Plantdata
BAPI_MARCX, "Plantdatax
BAPI_MBEW, "ValuationData
BAPI_MBEWX, "ValuationData
BAPI_MLGN, "Storage
BAPI_MLGNX, "StorageX
BAPI_MAKT, "Material description
BAPI_MARM,
BAPI_MARMX,
bapi_mean,
BAPI_MLAN,
BAPIRET2. "Return messages
DATA: BEGIN OF LSMW_MATERIAL_MASTER,
> Initial Data
matnr(18),
mtart(4),
WERKS(4),
VKORG(4),
VTWEG(2),
LGNUM(3),"retirar
> Basic Data 1
MAKTX(40),
MEINS(3),
MATKL(9),
BISMT(18),
SPART(2),
PRDHA(18),
BRGEW(17),
NTGEW(17),
GEWEI(3),
VOLUM(13),
VOLEH(3),
EAN11(18),
NUMTP(2),
> Sales 1
DWERK(4),
TAXKM(1),
> Sales 2
KTGRM(2),
PRODH(18),
MTPOS(4),
> Sales: General/Plant
MTVFP(2),
TRAGR(4),
LADGR(4),
PRCTR(10),
> Purchasing
Novas entradas
EKGRP(3),
KAUTB(1),
XCHPF1(1),
EKWSL(4),
WEBAZ(3),
INSMK1(1),
KORDB(1),
> Foreign Trade
STAWN(17),
MTVER(4),
HERKL(3),
HERKR(3),
> Purchase Order Text View
Identificar Campos
TextoEN(100),
TextoPT(100),
TextoPL(100),
TextoES(100),
> MRP1
DISGR(4),
DISMM(2),
DISPO(3),
DISLS(2),
BSTMI(18),
BSTRF(13),
> MRP2
BESKZ(1),
RGEKZ(1),
LGPRO(4),
LGFSB(4),
EPRIO(4),
WEBAZ1(3),
PLIFZ(3),
FHORI(3),
> MRP3
PERKZ(1),
STRGR(2),
VRMOD(1),
VINT1(3),
VINT2(3),
> MRP4
ALTSL(1),
FEVOR(3),
> Work Sch
INSMK(1),
XCHPF(1),
UEETO(3),
> Plant Storage 1
MHDRZ(4),
MHDHB(4),
> Plant Storage 2
PRCTR1(10),
EPRIO1(4),
> WM 1 S01 comum a todos
LTKZA_S01(3),
LTKZE_S01(3),
LGBKZ_S01(3),
> WM 1 SHV
LTKZA_SHV(3),
LTKZE_SHV(3),
LGBKZ_SHV(3),
> WM 1 SQW
LTKZA_SQW(3),
LTKZE_SQW(3),
LGBKZ_SQW(3),
> WM 2
LHMG1(13),
LHME1(3),
LETY1(3),
LHMG2(13),
LHME2(3),
LETY2(3),
LHMG3(13),
LHME3(3),
LETY3(3),
> Accounting 1
BKLAS(4),
VPRSV(1),
VERPR(23),
PEINH(5),
END OF LSMW_MATERIAL_MASTER.
DATA:V_FILE TYPE STRING.
DATA:VolumUnitConv(3).
DATA:UnitConv(3).
INTERNAL TABLE DECLARATIONS *
*to store the input data
DATA:
BEGIN OF it_matmaster OCCURS 0.
INCLUDE STRUCTURE LSMW_MATERIAL_MASTER.
DATA:
END OF it_matmaster.
*for material description
DATA:BEGIN OF IT_MATERIALDESC OCCURS 0.
INCLUDE STRUCTURE BAPI_MAKT .
DATA:END OF IT_MATERIALDESC.
*FOR gross wt
data: begin of it_uom occurs 0.
include structure BAPI_MARM.
data:end of it_uom.
DATA: BEGIN OF IT_UOMX OCCURS 0.
INCLUDE STRUCTURE BAPI_MARMX.
DATA:END OF IT_UOMX.
data:begin of it_mean occurs 0.
include structure bapi_mean.
data:end of it_mean.
DATA: BEGIN OF it_MLAN OCCURS 0.
include STRUCTURE BAPI_MLAN.
DATA: END OF it_MLAN.
DATA:BEGIN OF IT_MLTX OCCURS 0.
INCLUDE STRUCTURE BAPI_MLTX.
DATA:END OF IT_MLTX.
*to return messages
DATA:BEGIN OF IT_RETURN OCCURS 0.
INCLUDE STRUCTURE BAPIRET2.
DATA:END OF IT_RETURN.
DATA : imat TYPE TABLE OF bapimatinr WITH HEADER LINE.
DATA: text LIKE bapi_mltx OCCURS 0 WITH HEADER LINE.
DATA: matnrAct(18),oldMart(4).
SELECTION SCREEN
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-002.
PARAMETERS:P_FILE LIKE RLGRAP-FILENAME OBLIGATORY.
SELECTION-SCREEN END OF BLOCK B1 .
AT SELECTION SCREEN
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = 'P_FILE'
IMPORTING
FILE_NAME = P_FILE.
TO UPLOAD THE DATA *
START-OF-SELECTION.
V_FILE = P_FILE.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = V_FILE
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
IMPORTING
FILELENGTH =
HEADER =
tables
data_tab = IT_MATMASTER
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
check sy-subrc eq 0.
DATA POPULATIONS *
LOOP AT IT_MATMASTER.
IF IT_MATMASTER-MATNR EQ '' .
oldMart = IT_MATMASTER-Mtart.
CALL FUNCTION 'MATERIAL_NUMBER_GET_NEXT'
EXPORTING
MATERIALART = IT_MATMASTER-Mtart
IMPORTING
MATERIALNR = matnrAct
RETURNCODE =
EXCEPTIONS
NO_INTERNAL_INTERVAL = 1
TYPE_NOT_FOUND = 2
OTHERS = 3
if sy-subrc = 0.
BAPIMATHEAD-MATERIAL = matnrAct.
endif.
ELSE.
BAPIMATHEAD-MATERIAL = it_matmaster-matnr.
ENDIF.
Preenchimento dos dados do ecrã inicial
BAPIMATHEAD-MATERIAL = IT_MATMASTER-MATNR.
BAPIMATHEAD-IND_SECTOR = 'M'.
BAPIMATHEAD-MATL_TYPE = IT_MATMASTER-Mtart.
"declaration of views
BAPIMATHEAD-BASIC_VIEW = 'X'.
BAPIMATHEAD-MRP_VIEW = 'X'.
BAPIMATHEAD-STORAGE_VIEW = 'X'.
BAPIMATHEAD-WAREHOUSE_VIEW = 'X'.
BAPIMATHEAD-ACCOUNT_VIEW = 'X'.
If IT_MATMASTER-Mtart EQ '31'.
BAPIMATHEAD-SALES_VIEW = 'X'.
BAPIMATHEAD-WORK_SCHED_VIEW = 'X'.
ENDIF.
If IT_MATMASTER-Mtart EQ '51'.
BAPIMATHEAD-SALES_VIEW = 'X'.
BAPIMATHEAD-WORK_SCHED_VIEW = 'X'.
ENDIF.
If IT_MATMASTER-Mtart EQ '65'.
BAPIMATHEAD-PURCHASE_VIEW = 'X'.
ENDIF.
Preenchimento de dados relativos a MARA
BAPI_MARA-BASE_UOM = IT_MATMASTER-MEINS.
BAPI_MARA-MATL_GROUP = IT_MATMASTER-MATKL.
BAPI_MARA-OLD_MAT_NO = IT_MATMASTER-BISMT.
BAPI_MARA-DIVISION = IT_MATMASTER-SPART.
BAPI_MARA-PROD_HIER = IT_MATMASTER-PRDHA.
BAPI_MARA-NET_WEIGHT = IT_MATMASTER-ntgew.
BAPI_MARA-UNIT_OF_WT = IT_MATMASTER-GEWEI.
BAPI_MARA-TRANS_GRP = IT_MATMASTER-tragr.
> Novas Entradas
IF IT_MATMASTER-Mtart EQ '65'.
BAPI_MARA-BATCH_MGMT = IT_MATMASTER-XCHPF1.
BAPI_MARA-PUR_VALKEY = IT_MATMASTER-EKWSL.
BAPI_MARAX-PUR_VALKEY = 'X'.
ELSE.
BAPI_MARA-BATCH_MGMT = IT_MATMASTER-XCHPF.
ENDIF.
> Novas Entradas
BAPI_MARA-MINREMLIFE = IT_MATMASTER-MHDRZ.
BAPI_MARA-SHELF_LIFE = IT_MATMASTER-MHDHB.
BAPI_MARAX-MATL_GROUP = 'X'.
BAPI_MARAX-OLD_MAT_NO = 'X'.
BAPI_MARAX-BASE_UOM = 'X'.
BAPI_MARAX-DIVISION = 'X'.
BAPI_MARAX-PROD_HIER = 'X'.
BAPI_MARAX-NET_WEIGHT = 'X'.
BAPI_MARAX-UNIT_OF_WT = 'X'.
BAPI_MARAX-TRANS_GRP = 'X'.
BAPI_MARAX-BATCH_MGMT = 'X'.
BAPI_MARAX-MINREMLIFE = 'X'.
BAPI_MARAX-SHELF_LIFE = 'X'.
Preencimento de dados Relativos a MKVE
BAPI_MVKE-DELYG_PLNT = IT_MATMASTER-DWERK.
BAPI_MVKE-SALES_ORG = IT_MATMASTER-VKORG.
BAPI_MVKE-DISTR_CHAN = IT_MATMASTER-VTWEG.
BAPI_MVKE-PROD_HIER = IT_MATMASTER-PRODH.
BAPI_MVKE-ITEM_CAT = IT_MATMASTER-MTPOS.
BAPI_MVKE-ACCT_ASSGT = IT_MATMASTER-KTGRM.
BAPI_MVKEX-SALES_ORG = IT_MATMASTER-VKORG.
BAPI_MVKEX-DISTR_CHAN = IT_MATMASTER-VTWEG.
BAPI_MVKEX-PROD_HIER = 'X'.
BAPI_MVKEX-ITEM_CAT = 'X'.
BAPI_MVKEX-DELYG_PLNT = 'X'.
BAPI_MVKEX-ACCT_ASSGT = 'X'.
Preencimento de dados Relativos a MARC
BAPI_MARC-PLANT = IT_MATMASTER-WERKS.
BAPI_MARC-AVAILCHECK = IT_MATMASTER-MTVFP.
BAPI_MARC-LOADINGGRP = IT_MATMASTER-LADGR.
BAPI_MARC-PROFIT_CTR = IT_MATMASTER-PRCTR.
IF NOT IT_MATMASTER-Mtart EQ '51'.
BAPI_MARC-COMM_CODE = IT_MATMASTER-STAWN.
BAPI_MARC-COUNTRYORI = IT_MATMASTER-HERKL.
BAPI_MARC-REGIONORIG = IT_MATMASTER-HERKR.
BAPI_MARCX-COMM_CODE = 'X'.
BAPI_MARCX-COUNTRYORI = 'X'.
BAPI_MARCX-REGIONORIG = 'X'.
ENDIF.
BAPI_MARC-MRP_GROUP = IT_MATMASTER-DISGR.
BAPI_MARC-MRP_TYPE = IT_MATMASTER-DISMM.
BAPI_MARC-MRP_CTRLER = IT_MATMASTER-DISPO.
BAPI_MARC-LOTSIZEKEY = IT_MATMASTER-DISLS.
BAPI_MARC-MINLOTSIZE = IT_MATMASTER-BSTMI.
BAPI_MARC-ROUND_VAL = IT_MATMASTER-BSTRF.
BAPI_MARC-PROC_TYPE = IT_MATMASTER-BESKZ.
BAPI_MARC-BACKFLUSH = IT_MATMASTER-RGEKZ .
BAPI_MARC-ISS_ST_LOC = IT_MATMASTER-LGPRO.
BAPI_MARC-DETERM_GRP = IT_MATMASTER-EPRIO.
BAPI_MARC-SM_KEY = IT_MATMASTER-FHORI.
BAPI_MARC-PERIOD_IND = IT_MATMASTER-PERKZ.
BAPI_MARC-PLAN_STRGP = IT_MATMASTER-STRGR.
BAPI_MARC-CONSUMMODE = IT_MATMASTER-VRMOD.
BAPI_MARC-BWD_CONS = IT_MATMASTER-VINT1.
BAPI_MARC-FWD_CONS = IT_MATMASTER-VINT2.
BAPI_MARC-ALT_BOM_ID = IT_MATMASTER-ALTSL.
BAPI_MARC-PRODUCTION_SCHEDULER = IT_MATMASTER-FEVOR.
IF NOT IT_MATMASTER-Mtart EQ '65'.
BAPI_MARC-IND_POST_TO_INSP_STOCK = IT_MATMASTER-INSMK.
BAPI_MARC-OVER_TOL = IT_MATMASTER-UEETO.
BAPI_MARCX-IND_POST_TO_INSP_STOCK = 'X'.
BAPI_MARCX-OVER_TOL = 'X'.
ENDIF.
> Novas Entradas
IF IT_MATMASTER-Mtart EQ '65'.
BAPI_MARC-PUR_GROUP = IT_MATMASTER-EKGRP .
BAPI_MARC-AUTO_P_ORD = IT_MATMASTER-KAUTB .
BAPI_MARC-GR_PR_TIME = IT_MATMASTER-WEBAZ .
BAPI_MARC-IND_POST_TO_INSP_STOCK = IT_MATMASTER-INSMK1 .
BAPI_MARC-SOURCELIST = IT_MATMASTER-KORDB .
BAPI_MARC-EXPIMPGRP = IT_MATMASTER-MTVER .
BAPI_MARCX-PUR_GROUP = 'X'.
BAPI_MARCX-AUTO_P_ORD = 'X'.
BAPI_MARCX-GR_PR_TIME = 'X'.
BAPI_MARCX-IND_POST_TO_INSP_STOCK = 'X'.
BAPI_MARCX-SOURCELIST = 'X'.
BAPI_MARCX-EXPIMPGRP = 'X'.
ENDIF.
> Novas Entradas
BAPI_MARCX-PLANT = IT_MATMASTER-WERKS.
BAPI_MARCX-AVAILCHECK = 'X'.
BAPI_MARCX-LOADINGGRP = 'X'.
BAPI_MARCX-PROFIT_CTR = 'X'.
BAPI_MARCX-MRP_GROUP = 'X'.
BAPI_MARCX-MRP_TYPE = 'X'.
BAPI_MARCX-MRP_CTRLER = 'X'.
BAPI_MARCX-LOTSIZEKEY = 'X'.
BAPI_MARCX-MINLOTSIZE = 'X'.
BAPI_MARCX-ROUND_VAL = 'X'.
BAPI_MARCX-PROC_TYPE = 'X'.
BAPI_MARCX-BACKFLUSH = 'X'.
BAPI_MARCX-ISS_ST_LOC = 'X'.
BAPI_MARCX-DETERM_GRP = 'X'.
BAPI_MARCX-SM_KEY = 'X'.
BAPI_MARCX-PERIOD_IND = 'X'.
BAPI_MARCX-PLAN_STRGP = 'X'.
BAPI_MARCX-CONSUMMODE = 'X'.
BAPI_MARCX-BWD_CONS = 'X'.
BAPI_MARCX-FWD_CONS = 'X'.
BAPI_MARCX-ALT_BOM_ID = 'X'.
BAPI_MARCX-PRODUCTION_SCHEDULER = 'X'.
Preencimento de dados Relativos a MLGN
BAPI_MLGN-WHSE_NO = 'S01'.
BAPI_MLGN-WITHDRAWAL = IT_MATMASTER-LTKZA_S01.
BAPI_MLGN-PLACEMENT = IT_MATMASTER-LTKZE_S01.
BAPI_MLGN-STGESECTOR = IT_MATMASTER-LGBKZ_S01.
BAPI_MLGN-L_EQUIP_1 = IT_MATMASTER-LHMG1.
BAPI_MLGN-L_EQUIP_2 = IT_MATMASTER-LHMG2.
BAPI_MLGN-L_EQUIP_3 = IT_MATMASTER-LHMG3.
BAPI_MLGN-LEQ_UNIT_1 = IT_MATMASTER-LHME1.
BAPI_MLGN-LEQ_UNIT_2 = IT_MATMASTER-LHME2.
BAPI_MLGN-LEQ_UNIT_3 = IT_MATMASTER-LHME3.
BAPI_MLGN-UNITTYPE_1 = IT_MATMASTER-LETY1.
BAPI_MLGN-UNITTYPE_2 = IT_MATMASTER-LETY2.
BAPI_MLGN-UNITTYPE_3 = IT_MATMASTER-LETY3.
BAPI_MLGNX-WHSE_NO = 'S01'.
BAPI_MLGNX-WITHDRAWAL = 'X'.
BAPI_MLGNX-PLACEMENT = 'X'.
BAPI_MLGNX-STGESECTOR = 'X'.
BAPI_MLGNX-L_EQUIP_1 = 'X'.
BAPI_MLGNX-L_EQUIP_2 = 'X'.
BAPI_MLGNX-L_EQUIP_3 = 'X'.
BAPI_MLGNX-LEQ_UNIT_1 = 'X'.
BAPI_MLGNX-LEQ_UNIT_2 = 'X'.
BAPI_MLGNX-LEQ_UNIT_3 = 'X'.
BAPI_MLGNX-UNITTYPE_1 = 'X'.
BAPI_MLGNX-UNITTYPE_2 = 'X'.
BAPI_MLGNX-UNITTYPE_3 = 'X'.
Preencimento de dados Relativos a MBEW
BAPI_MBEW,
BAPI_MBEWX,
BAPI_MBEW-VAL_CLASS = IT_MATMASTER-BKLAS.
BAPI_MBEW-PRICE_CTRL = IT_MATMASTER-VPRSV.
BAPI_MBEW-STD_PRICE = IT_MATMASTER-VERPR.
BAPI_MBEW-PRICE_UNIT = IT_MATMASTER-PEINH.
BAPI_MBEW-VAL_AREA = 'CLPS'."IT_MATMASTER-BWKEY.
BAPI_MBEWX-VAL_AREA = 'CLPS'."IT_MATMASTER-BWKEY.
BAPI_MBEWX-VAL_CLASS = 'X'.
BAPI_MBEWX-PRICE_CTRL = 'X'.
BAPI_MBEWX-STD_PRICE = 'X'.
BAPI_MBEWX-PRICE_UNIT = 'X'.
---------------------------------------------------> Material Descrition
IT_MATERIALDESC-LANGU = sy-langu. "'EN'.
IT_MATERIALDESC-MATL_DESC = IT_MATMASTER-MAKTX.
APPEND IT_materialdesc.
Gross Weight, Volume and EAN
*Volume é preciso uma rotina de conversão
CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT'
EXPORTING
INPUT = IT_MATMASTER-VOLEH
LANGUAGE = SY-LANGU
IMPORTING
OUTPUT = VolumUnitConv
EXCEPTIONS
UNIT_NOT_FOUND = 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.
CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT'
EXPORTING
INPUT = IT_MATMASTER-MEINS
LANGUAGE = SY-LANGU
IMPORTING
OUTPUT = UnitConv
EXCEPTIONS
UNIT_NOT_FOUND = 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.
IT_UOM-GROSS_WT = IT_MATMASTER-BRGEW.
IT_UOM-ALT_UNIT = UnitConv.
IT_UOM-ALT_UNIT_ISO = IT_MATMASTER-GEWEI.
IT_UOM-UNIT_OF_WT = IT_MATMASTER-GEWEI.
IT_UOM-EAN_UPC = IT_MATMASTER-EAN11.
IT_UOM-EAN_CAT = IT_MATMASTER-NUMTP.
IT_UOM-VOLUME = IT_MATMASTER-VOLUM.
IT_UOM-VOLUMEUNIT = VolumUnitConv.
IT_UOM-VOLUMEUNIT_ISO = IT_MATMASTER-VOLEH.
APPEND IT_UOM.
IT_UOMX-ALT_UNIT = IT_MATMASTER-MEINS.
IT_UOMX-ALT_UNIT_ISO = IT_MATMASTER-GEWEI.
IT_UOMX-GROSS_WT = 'X'.
IT_UOMX-UNIT_OF_WT = 'X'.
IT_UOMX-EAN_UPC = 'X'.
IT_UOMX-EAN_CAT = 'X'.
*Volume
IT_UOMX-VOLUME = 'X'.
IT_UOMX-VOLUMEUNIT = 'X'.
IT_UOMX-VOLUMEUNIT_ISO = 'X'.
APPEND IT_UOMX.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = BAPIMATHEAD
CLIENTDATA = BAPI_MARA
CLIENTDATAX = BAPI_MARAx
PLANTDATA = BAPI_MARc
PLANTDATAX = BAPI_MARcx
VALUATIONDATA = BAPI_MBEW
VALUATIONDATAX = BAPI_MBEWX
WAREHOUSENUMBERDATA = BAPI_MLGN
WAREHOUSENUMBERDATAX = BAPI_MLGNX
SALESDATA = BAPI_MVKE
SALESDATAX = BAPI_MVKEX
IMPORTING
RETURN = IT_RETURN
TABLES
MATERIALDESCRIPTION = IT_MATERIALDESC
UNITSOFMEASURE = IT_UOM
UNITSOFMEASUREX = IT_UOMX
MATERIALLONGTEXT = text
TAXCLASSIFICATIONS = it_MLAN.
if it_return-type eq 'S'.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
endif.
WAIT UP TO 10 SECONDS.
WRITE : / IT_RETURN-MESSAGE.
CLEAR: IT_MATERIALDESC[],
IT_UOM[],
IT_UOMX[],
it_MLAN[],
IT_RETURN,
text,
BAPIMATHEAD,
BAPI_MARA,
BAPI_MARAx,
BAPI_MARc,
BAPI_MARcx,
BAPI_MBEW,
BAPI_MBEWX,
BAPI_MLGN,
BAPI_MLGNX,
BAPI_MVKE,
BAPI_MVKEX
ENDLOOP. -
NFe com status lote "Enviado às autoridades" no GRC, mas aprovada na Sefaz
Bom dia!
Estou com um problema no GRC. Foi lançada uma nota hoje, e a mesma encontra-se parada no GRC com o status de lote 03 - "Enviado às autoridades". Já reiniciei os jobs, verifiquei o status da sxmb_moni e não há erros, nem filas paradas nas SMQ*.
Ao consultar a nota na Sefaz, a mesma está aprovada, mas esse status não chega ao GRC nem ao ERP, que fica com a nota enviada, aguardando retorno do GRC.
Ainda estamos utilizando a versão 1.10 do XML, e outras notas foram lançadas antes e depois desta com problema, e todas foram aprovadas sem problema.
Obrigada!Bom dia Audria,
Foi Pedro, não Fernando nas últimas duas respostas... rsss
Seguinte, a nota que o Pedro sugeriu corrige a causa raiz porém, como viu, o incidente já está feito.
Para resolver este caso específico crie uma nova entrada na tabela /xnfe/bat_hist confome abaixo:
ERTIME = maior + ,99999
ERNAME = 'MARRETA' ou algo que seja rastreável como ação manual (rastreabilidade é super importante para futuras investigação (não estou falando de punição, ok?):
BATSTAT = 05
ERROR_STATUS = vazio
Com isso o Status Query deverá estar habilitado no detalhe da NF-e.
Atenciosamente, Fernando Da Rós
Edited by: Fernando Ros on Feb 3, 2011 1:42 PM -
NFe com dados de fornecedor incompletos após atualização do mesmo
Bom dia!
Estou tendo o seguinte problema. É enviada uma NF ao GRC, porém não consta no cadastro do Fornecedor o campo Bairro.
Ao alterar o cadastro do fornecedor (via FK02) incluindo o bairro, esta informação não é replicada à NFe, e o erro no GRC continua após o reenvio desta NF pela J1BNFE.
Alguém já passou por algo parecido? Qual foi o procedimento seguido?
Grata!
AudriaBom dia Audria,
A opção Reenviar só deveria funcionar caso a nota ainda não estivesse no GRC (casos de falha de entrega por erro de comunicação).
O normal seria NF-e -> Reset NF-e Status (CtrlF5) e depois NF-e -> Enviar (CtrlF3).
Verifique pela data/hora e pelo histórico se você está vendo a mesma informação ou é uma informação antiga.
Sobre a causa raiz deste seu problema, talvez estejam faltando notas, ou talvez o cenário seja este mesmo.
Sei que por um problema de histórico no R3 sobre o que está na fazenda, os dados mestres do contribuinte passaram a ser copiados para a tabela J_1BNFDOC no momento da criação, então deve ser o que está gerando este comportamento, só não sei se existe alguma opção para reler as informações do dado mestre e atualizar a J_1BNFDOC em algum momento do processo.... Talvez não... daí é cancelar e fazer outro faturamento.
Atenciosamente, Fernando Da Rós
Complementando... O motivo desta cópia para a J_1BNFDOC é ter nos relatórios SPED a real informação da época da geração da NF-e e não o dado atual do contribuinte.
Edited by: Fernando Ros on May 11, 2010 6:02 PM -
GRC 10.0, PI 7.3 - Certificado
Olá pessoal, tudo bem?
Estamos implantando NFe 2.0 com GRC 10.0/PI 7.3.
Criamos primeiramente o cenário para checar o status do serviço na SEFAZ para assim certificar questões de permissões no servidor, certificado, etc...
Nos deparamos com o seguinte erro no Communication Channels.
Audit Log for Message: 005056a9-76a0-02df-b4f4-47b83ebd2cd6
Time Stamp Type Description
26.11.2011 17:32:09.465 Information Message was received by the messaging system. Protocol: XI URL: http://cipd106.brasbunker.com.br:50600/MessagingSystem/receive/AFW/XI Credential (User): PIISPD1
26.11.2011 17:32:09.468 Information Using connection SOAP_http://sap.com/xi/XI/System. Trying to put the message into the request queue
26.11.2011 17:32:09.470 Information Message successfully put into the queue
26.11.2011 17:32:09.472 Information The message was successfully retrieved from the request queue
26.11.2011 17:32:09.473 Information Message status set to DLNG
26.11.2011 17:32:09.475 Information Delivering to channel: SRVSC_SOAP_RCV
26.11.2011 17:32:09.476 Information MP: processing local module localejbs/AF_Modules/MessageTransformBean
26.11.2011 17:32:09.477 Information Transform: using Transform.Class: $identity
26.11.2011 17:32:09.477 Information Transform: transforming the payload ...
26.11.2011 17:32:09.477 Information Transform: successfully transformed
26.11.2011 17:32:09.477 Information MP: processing local module localejbs/sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean
26.11.2011 17:32:09.479 Information SOAP: request message entering the adapter with user J2EE_GUEST
26.11.2011 17:32:09.598 Error SOAP: call failed: iaik.security.ssl.SSLCertificateException: Peer certificate rejected by ChainVerifier
26.11.2011 17:32:09.604 Error SOAP: error occured: com.sap.engine.interfaces.messaging.api.exception.MessagingException: iaik.security.ssl.SSLCertificateException: Peer certificate rejected by ChainVerifier
26.11.2011 17:32:09.605 Error MP: exception caught with cause com.sap.engine.interfaces.messaging.api.exception.MessagingException: iaik.security.ssl.SSLCertificateException: Peer certificate rejected by ChainVerifier
26.11.2011 17:32:09.612 Error Exception caught by adapter framework: iaik.security.ssl.SSLCertificateException: Peer certificate rejected by ChainVerifier
26.11.2011 17:32:09.613 Error Delivery of the message to the application using connection SOAP_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: iaik.security.ssl.SSLCertificateException: Peer certificate rejected by ChainVerifier. Setting message to status failed
26.11.2011 17:32:09.614 Error Message status set to FAIL
Este erro se dá em decorrencia do import do certificado, correto?
Para importar o certificado nesta versão, não basta somente criar a View e importar (Import Entry) informar o certificado.pfx no http:// Criar uma KeyStorage e dentro do canal de comunicação SRVSC_SOAP_RCV no Integration Directory - Integration Builder, apontar o KeyStorage e a KeyView criada?
Ou o processo de importção do certificado não é tão simples assim?
Devemos seguir os passos definidos na nota: Note 1524196 - Import certificates in ABAP and Java ? Baixar o SAP Cryptographic Library ( SNC Client Encryption ) no SAP Service Market Place at https://service.sap.com/swdc e importar o certificado na STRUST?
Desde já, muito obrigado.
Abraço a todos.
Att.,
FábioAh sim, Henrique, encontrei o certificado raiz que mencionou.
URL do Webservice (https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx) no IE > Cadeado > Exibir Certificados > 3ª Guia (Caminho da Certificação) > Dois cliques no Raiz (Certificado mais superior da cadeia): "Autoridade Certificadora da Raiz Brasileira v1 - ICP Brasil" > 2ª Guia (Detalhes) > Copiar para Arquivo > Avançar > X.509 Binário Certificado por DER (*.cer) > Avançar > Caminho e Nome do arquivo.cer
Em seguida entrei no NWA > Configuration > Certificates and Keys > Marqueis a TrustedCAs, Importei a nova entrada: AutoridadeCertificadoraDaRaizBrasileira.cer
Apareceu a nova entrada, com status valido (verdinho).
Mas no communication channel ainda permanece o mesmo erro.
SAOP: call failed: iaik.security.ssl.SSLCertificateException: Peer certificate rejected by ChainVerifier. -
is giving this error:
107/20 PLS-00103: Encountered the symbol "(" when one of the following
symbols was expected:
: =), Default character varying large
The symbol ": =" has been replaced by "(" to continue.Why?
this line in my editor, is not refering to this...
How can I locate the correct line??
thanksFriends, please, I´m having difficult to resolve the errors in package... Please help me;;
Package:
-- Package : pkg_frota_empresa
-- Descrição:
-- Este package contém as funções para implementação do módulo frota, para todos os processos
-- e telas que são referente a Cadastro de Empresas para o Módulo de Frota
-- Definir os PKG utilizado no módulo:
-- Histórico:
-- 28/12/2009 - André - Implementação.
-- @D:\RepositNovo\FwCard\Des\Modulos\Card_Frota\Package\pkg_frota_empresa.sql
-- @C:\CARD_DES\Modulos\Card_Frota\Package\pkg_frota_empresa_teste.sql
CREATE OR REPLACE PACKAGE pkg_frota_empresa_teste
IS
-- Definicao dos Tipos de Tabelas Dinamicas
-- Definicao de constantes
-- Definição de Variaveis globais
g_frota_cliente frota_cliente%ROWTYPE;
g_contrato_cliente contrato_cliente%ROWTYPE;
TYPE regemprec_type IS RECORD
( id_frota_cliente NUMBER
, id_cliente VARCHAR2(50)
, id_pessoa_juridica VARCHAR2(50)
, cnpj VARCHAR2(50)
, id_tipo_documento VARCHAR2(50)
, ie VARCHAR2(50)
, im VARCHAR2(50)
, razao_social VARCHAR2(50)
, nome_fantasia VARCHAR2(50)
, ddd VARCHAR2(50)
, telefone VARCHAR2(50)
, fax VARCHAR2(50)
, ddd_cel VARCHAR2(50)
, fone_cel VARCHAR2(50)
, email VARCHAR2(50)
, nome_impresso VARCHAR2(50)
, id_ramo_atividade VARCHAR2(50)
, fatura_enviada VARCHAR2(50)
, id_estado_cartao VARCHAR2(50)
, id_matriz VARCHAR2(50)
, id_cliente_categoria VARCHAR2(50)
, end_extrato_cnv_empresa VARCHAR2(50)
, id_agente VARCHAR2(50)
, aceitar_cpf_nulo VARCHAR2(1));
TYPE regemp_type IS TABLE OF regemprec_type INDEX BY BINARY_INTEGER;
-- Definição de Procedures e Funçoes que deverão ser publica, acesso de outras funçoes
PROCEDURE inicializar;
--Frota Cliente
PROCEDURE inc_altfrotacliente(
p_reg frota_cliente%ROWTYPE
--Frota Cliente
/*PROCEDURE inc_alt_frotacliente_exec(
p_id_frota_cliente IN OUT frota_cliente.id_frota_cliente%TYPE,
p_id_cliente IN frota_cliente.id_cliente%TYPE,
p_limite_mensal IN frota_cliente.limite_mensal%TYPE DEFAULT 0,
p_limite_trans IN frota_cliente.limite_trans%TYPE DEFAULT 0,
p_qtd_max_litros IN frota_cliente.qtd_max_litros%TYPE DEFAULT 0,
p_valor_max IN frota_cliente.valor_max%TYPE DEFAULT 0,
p_ver_agenda_condutor IN frota_cliente.ver_agenda_condutor%TYPE DEFAULT '0',
p_ver_km IN frota_cliente.ver_km%TYPE DEFAULT '0',
p_ver_valor_max IN frota_cliente.ver_valor_max%TYPE DEFAULT '0',
p_diaval_carta_credito IN frota_cliente.diaval_carta_credito%TYPE DEFAULT 0
-- Empresa+Frota_Cliente+Frota_Cliente_Veiculo
PROCEDURE excluir(
p_id_frota_cliente IN frota_cliente.id_frota_cliente%TYPE
-- Chama o procedimento acima
PROCEDURE excluirexec(
p_id_frota_centro_custo IN frota_centro_custo.id_frota_centro_custo%TYPE
--Empresa
PROCEDURE inc_alt(
p_reg RegEmp_type
--Chama o procedimento acima
PROCEDURE inc_altexec(
p_id_frota_cliente IN OUT VARCHAR2,
p_id_empresa IN OUT VARCHAR2,
p_id_pessoa_juridica IN OUT VARCHAR2,
p_cnpj IN VARCHAR2,
p_id_tipo_documento IN VARCHAR2,
p_ie IN VARCHAR2,
p_im IN VARCHAR2,
p_razaosocial IN VARCHAR2,
p_fantasia IN VARCHAR2,
p_ddd IN VARCHAR2,
p_telefone IN VARCHAR2,
p_fax IN VARCHAR2,
p_ddd_cel IN VARCHAR2,
p_fone_cel IN VARCHAR2,
p_email IN VARCHAR2,
p_nome_impresso IN VARCHAR2,
p_ramo IN VARCHAR2,
p_fatura_enviada IN VARCHAR2,
p_id_estado_cartao IN VARCHAR2,
p_id_matriz IN VARCHAR2,
p_cliente_categoria IN VARCHAR2,
p_end_extrato_cnv_empresa IN VARCHAR2,
p_agente IN VARCHAR2,
p_cpf_nulo IN VARCHAR2
PROCEDURE vrf_empresa(
p_cnpj IN VARCHAR2,
p_id_tipo_documento IN tipo_documento.id_tipo_documento%TYPE
PROCEDURE inc_alt_contrato(
p_operacao CHAR(1),
p_reg contrato_cliente%ROWTYPE
PROCEDURE inc_alt_contratoexec(
p_operacao IN VARCHAR(1),
p_id_cliente IN contrato_cliente.id_cliente%TYPE,
p_id_produto IN produto.id_produto%TYPE,
p_data_inicio IN contrato_cliente.data_inicio%TYPE,
p_data_fim IN contrato_cliente.data_fim%TYPE,
p_comissao_1 IN contrato_cliente.comissao1%TYPE,
p_comissao_2 IN contrato_cliente.comissao2%TYPE,
p_forma_comissao1 IN contrato_cliente.forma_comissao1%TYPE,
p_forma_comissao2 IN contrato_cliente.forma_comissao2%TYPE,
p_dia_entrega IN contrato_cliente.dia_entrega%TYPE,
p_agente IN contrato_cliente.id_agente%TYPE
END;
SHOW ERRORS
--------------------------Inicio das Definições dos Procedimento e Funçoes ------------------------------
-- Os Procedimentos e Funçoes devem ter um cabeçalho explicando a função os parametros de entrada e saida
-- As Definições das Variaveis de parametros de funcao e procedures devem iniciar com: p_
-- As Definições de Variaveis locais deve sempre iniciar com: v_
CREATE OR REPLACE PACKAGE BODY pkg_frota_empresa
IS
-- Function : inicializar
-- Descrição: Função que inicializa variaveis do PKG
PROCEDURE inicializar
IS
BEGIN
RETURN;
END;
-- Procedimento : inc_alt_frotacliente
-- Descrição: Cadastro de Empresa
-- Entrada
-- p_reg : Valores a serem operados
-- OBS: Sem Commit e tratamento de excessão
-- Histórico
-- DATA - DESENVOLVIMENTO - REQUISITO - INFORMAÇÃO
-- 20/01/2010 - [ATILIO] - #79165 - Implementação
PROCEDURE inc_alt_frotacliente(
p_reg frota_cliente%ROWTYPE
IS
BEGIN
IF p_reg.id_frota_cliente IS NULL THEN
SELECT SEQ_FROTA_CLIENTE.NEXTVAL INTO p_reg.id_frota_cliente FROM DUAL;
INSERT INTO FROTA_CLIENTE VALUES p_reg;
ELSE
UPDATE FROTA_CLIENTE
SET id_cliente = p_reg.id_cliente,
limite_mensal = p_reg.limite_mensal,
limite_trans = p_reg.limite_trans,
qtd_max_litros = p_reg.qtd_max_litros,
valor_max = p_reg.valor_max,
ver_agenda_condutor = p_reg.ver_agenda_condutor,
ver_km = p_reg.ver_km,
ver_valor_max = p_reg.ver_valor_max,
diaval_carta_credito= p_reg.diaval_carta_credito
WHERE id_frota_cliente = p_reg.id_frota_cliente;
END IF;
END;
-- Procedimento : inc_alt_frotacliente_exec
-- Descrição : Incluir ou Alterar um registro referente a tabela: FROTA_CLIENTE
-- Entrada: p_id_frota_cliente - Identificador do frota_cliente, quando( =NULL -> Incluir <>NULL -> Alterar)
-- p_id_cliente - Identificador do cliente
-- p_limite_mensal - Limite mensal por veiculo
-- p_limite_trans - Limite por transação por veiculo
-- p_qtd_max_litros - Quantidade maxima de litros por abestecimento
-- p_valor_max - Valor máximo por abastecimento
-- p_ver_agenda_condutor - Configuração se deve ser verificado o agendamento para permitir abastecimento
-- p_ver_km - Configuração se deve verificar a KM no abastecimento
-- p_ver_valor_max - Configuração se deve ser verificado o valor máximo no abastecimento
-- p_diaval_carta_credito - Configura o maximo de dias para vigencia de uma carta frete
-- Historico
-- DATA - DESENVOLVEDOR - REQUISITO - INFORMAÇÃO
-- 20/01/2010 - Atilio - Implementação de Defaults
/*PROCEDURE inc_alt_frotacliente_exec(
p_id_frota_cliente IN OUT frota_cliente.id_frota_cliente%TYPE,
p_id_cliente IN frota_cliente.id_cliente%TYPE,
p_limite_mensal IN frota_cliente.limite_mensal%TYPE DEFAULT 0,
p_limite_trans IN frota_cliente.limite_trans%TYPE DEFAULT 0,
p_qtd_max_litros IN frota_cliente.qtd_max_litros%TYPE DEFAULT 0,
p_valor_max IN frota_cliente.valor_max%TYPE DEFAULT 0,
p_ver_agenda_condutor IN frota_cliente.ver_agenda_condutor%TYPE DEFAULT '0',
p_ver_km IN frota_cliente.ver_km%TYPE DEFAULT '0',
p_ver_valor_max IN frota_cliente.ver_valor_max%TYPE DEFAULT '0',
p_diaval_carta_credito IN frota_cliente.diaval_carta_credito%TYPE DEFAULT 0
IS
BEGIN
--preencho o type
g_frota_cliente.id_frota_cliente := p_id_frota_cliente;
g_frota_cliente.id_cliente := p_id_cliente;
g_frota_cliente.limite_mensal := nvl(p_limite_mensal,0);
g_frota_cliente.limite_trans := nvl(p_limite_trans,0);
g_frota_cliente.qtd_max_litros := p_qtd_max_litros;
g_frota_cliente.valor_max := p_valor_max;
g_frota_cliente.ver_agenda_condutor := p_ver_agenda_condutor;
g_frota_cliente.ver_km := p_ver_km;
g_frota_cliente.ver_valor_max := p_ver_valor_max;
g_frota_cliente.diaval_carta_credito := p_diaval_carta_credito;
inc_alt_frotacliente(g_frota_cliente);
COMMIT;
EXCEPTION
WHEN OTHERS THEN
fwerr.gerar_exception(p_procedimento => 'pkg_frota_empresa.inc_alt_frotacliente');
END;*/
-- Procedimento : excluir
-- Descrição : Excluir um registro referente a tabela: FROTA_CLIENTE
-- Entrada: p_id_frota_cliente - Identificador do frota_cliente
-- OBS: Este procedimento não gera COMMIT, deixando para a função que chama esta responsabilidade
-- Historico
-- DATA - DESENVOLVEDOR - REQUISITO - INFORMAÇÃO
-- 12/01/2010 - JOAO - - Implementação
-- 20/01/2010 - ATILIO -
PROCEDURE excluir(
p_id_frota_cliente IN frota_cliente.id_frota_cliente%TYPE
IS
BEGIN
DELETE FROTA_CLIENTE_VEICULO WHERE id_frota_cliente = p_id_frota_cliente;
DELETE FROTA_CLIENTE WHERE id_frota_cliente = p_id_frota_cliente;
END;
-- Procedimento : excluirexec
-- Descrição : Excluir um registro referente a tabela: FROTA_CLIENTE
-- Entrada: p_id_frota_cliente - Identificador de frota_cliente
-- OBS:
-- Historico
-- DATA - DESENVOLVEDOR - REQUISITO - INFORMAÇÃO
-- 20/01/2010 - ATILIO - - Implementação
PROCEDURE excluirexec(
p_id_frota_cliente IN frota_cliente.id_frota_cliente%TYPE DEFAULT NULL
IS
v_ret PLS_INTEGER;
v_id_cliente NUMBER;
BEGIN
IF p_id_frota_cliente IS NULL THEN
FOR i IN 1..htmldb_application.g_f01.COUNT LOOP
SELECT id_cliente INTO v_id_cliente FROM frota_cliente WHERE id_frota_cliente = htmldb_application.g_f01(i);
excluir(p_id_frota_cliente => htmldb_application.g_f01(i));
v_ret := pkg_limpeza.lmp_empresa(v_id_cliente);
fwerr.verificar(v_ret=0,v_ret);
END LOOP;
ELSE
SELECT id_cliente INTO v_id_cliente FROM frota_cliente WHERE id_frota_cliente = p_id_frota_cliente;
excluir(p_id_frota_cliente => p_id_frota_cliente);
v_ret := pkg_limpeza.lmp_empresa(v_id_cliente);
fwerr.verificar(v_ret=0,v_ret);
END IF;
COMMIT;
EXCEPTION
WHEN OTHERS THEN
fwerr.gerar_exception(p_procedimento => 'excluirexec');
END;
-- Procedimento : inc_alt
-- Descrição : Inclusão/Alteração Empresa
-- Entrada: p_reg - Referência a tabela temporária
-- OBS:
-- Historico
-- DATA - DESENVOLVEDOR - REQUISITO - INFORMAÇÃO
-- 20/01/2010 - ATILIO - - Implementação
PROCEDURE inc_alt(
p_reg regemp_type
IS
v_id_emp NUMBER;
v_encontrou BOOLEAN DEFAULT TRUE;
BEGIN
IF p_reg(2) IS NULL THEN
v_encontrou := FALSE;
ELSE
BEGIN
SELECT id_cliente INTO v_id_emp FROM frota_cliente WHERE id_cliente = p_reg(2);
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_encontrou:=FALSE;
END;
END IF;
IF NOT v_encontrou THEN
ca_empresa_incluir_alterar(p_reg(2) ,p_reg(3) ,p_reg(4) ,p_reg(5) ,p_reg(6) ,p_reg(7) ,p_reg(8) ,p_reg(9) ,p_reg(10),
p_reg(11),p_reg(12),p_reg(13),p_reg(14),p_reg(15),p_reg(16),p_reg(17),p_reg(18),p_reg(19),
p_reg(20),p_reg(21),p_reg(22),p_reg(23),p_reg(24));
--Constraint - com tab cliente
SELECT id_cliente INTO v_id_emp FROM cliente WHERE id_cliente = p_reg(2);
inc_altfrotacliente(p_id_frota_cliente => p_reg(1),
p_id_cliente => v_id_emp);
ELSE
ca_empresa_incluir_alterar(p_reg(2) ,p_reg(3) ,p_reg(4) ,p_reg(5) ,p_reg(6) ,p_reg(7) ,p_reg(8) ,p_reg(9) ,p_reg(10),
p_reg(11),p_reg(12),p_reg(13),p_reg(14),p_reg(15),p_reg(16),p_reg(17),p_reg(18),p_reg(19),
p_reg(20),p_reg(21),p_reg(22),p_reg(23),p_reg(24));
END IF;
END;
-- Procedure: inc_altexec
-- Descrição:
-- Incluir ou Alterar cadastro de empresa (FROTA)
-- Entrada:
-- cadastro de empresa
-- p_id_frota_cliente : identificação da empresa dentro do módulo
-- p_id_empresa : Identificador da empresa
-- p_id_pessoa_juridica : Identificador da empresa
-- p_cnpj : CNPJ da empresa
-- p_id_tipo_documento : Indica o tipo de documento
-- p_ie : Inscrição Estadual
-- p_im : Inscrição Municipal
-- p_razaosocial : Razão Social
-- p_fantasia : Nome Fantasia
-- p_ddd : DDD do telefone
-- p_telefone : Número do telefone
-- p_fax : Número do fax
-- p_ddd_cel : DDD do celular
-- p_fone_cel : Número do celular
-- p_email : Email da empresa
-- p_nome_impresso : Nome que será impresa na fatura
-- p_ramo : Ramo de Atividade
-- p_fatura_enviada : Idicador se a empresa pode reimprimir fatura pelo portal que já
-- foram enviada para o banco
-- p_id_estado_cartao : Estado que ficará o cartão após ser confeccionado
-- p_id_matriz : Identificador da empresa matriz
-- p_cliente_categoria : Categoria do Cliente
-- p_end_extrato_cnv_empresa : Endereço Extrato Conferência
-- p_agente : Agente relacionado
-- p_cpf_nulo : Cpf nulo
-- Histórico:
-- 20/01/2010 - Atílio - Implementação
PROCEDURE inc_altexec(
p_id_frota_cliente IN OUT VARCHAR2,
p_id_empresa IN OUT VARCHAR2,
p_id_pessoa_juridica IN OUT VARCHAR2,
p_cnpj IN VARCHAR2,
p_id_tipo_documento IN VARCHAR2,
p_ie IN VARCHAR2,
p_im IN VARCHAR2,
p_razaosocial IN VARCHAR2,
p_fantasia IN VARCHAR2,
p_ddd IN VARCHAR2,
p_telefone IN VARCHAR2,
p_fax IN VARCHAR2,
p_ddd_cel IN VARCHAR2,
p_fone_cel IN VARCHAR2,
p_email IN VARCHAR2,
p_nome_impresso IN VARCHAR2,
p_ramo IN VARCHAR2,
p_fatura_enviada IN VARCHAR2,
p_id_estado_cartao IN VARCHAR2,
p_id_matriz IN VARCHAR2,
p_cliente_categoria IN VARCHAR2,
p_end_extrato_cnv_empresa IN VARCHAR2,
p_agente IN VARCHAR2,
p_cpf_nulo IN VARCHAR2
IS
BEGIN
RegEmp_type(1) := p_id_frota_cliente;
RegEmp_type(2) := p_id_empresa;
RegEmp_type(3) := p_id_pessoa_juridica;
RegEmp_type(4) := p_cnpj;
RegEmp_type(5) := p_id_tipo_documento;
RegEmp_type(6) := p_ie;
RegEmp_type(7) := p_im;
RegEmp_type(8) := p_razaosocial;
RegEmp_type(9) := p_fantasia;
RegEmp_type(10) := p_ddd;
RegEmp_type(11) := p_telefone;
RegEmp_type(12) := p_fax;
RegEmp_type(13) := p_ddd_cel;
RegEmp_type(14) := p_fone_cel;
RegEmp_type(15) := p_email;
RegEmp_type(16) := p_nome_impresso;
RegEmp_type(17) := p_ramo;
RegEmp_type(18) := p_fatura_enviada;
RegEmp_type(19) := p_id_estado_cartao;
RegEmp_type(20) := p_id_matriz;
RegEmp_type(21) := p_cliente_categoria;
RegEmp_type(22) := p_end_extrato_cnv_empresa;
RegEmp_type(23) := p_agente;
RegEmp_type(24) := p_cpf_nulo;
inc_alt(RegEmp_type);
EXCEPTION
WHEN OTHERS THEN
fwerr.gerar_exception(p_procedimento => 'inc_altexec');
END;
-- Procedimento : vrf_empresa
-- Descrição : Procedimento responsável por verificar se o documento que esta sendo
-- incluído já não pertence a uma empresa ou pessoa juridica, e para qual
-- página do sistema será redirecionado.
-- Entrada p_cnpj - Documento
-- p_id_tipo_documento - Tipo do documento da tabela TIPO_DOCUMENTO
-- Histórico
-- DATA - DESENVOLVEDOR - REQUISITO - INFORMAÇÃO
-- 15/01/2010 - ATILIO - #79229 - Implementação
PROCEDURE vrf_empresa(
p_cnpj IN VARCHAR2,
p_id_tipo_documento IN tipo_documento.id_tipo_documento%TYPE)
IS
v_cnpj pessoa_juridica.cnpj%TYPE;
v_id_empresa cliente.id_cliente%TYPE DEFAULT NULL;
BEGIN
v_cnpj:= fwutl.limpar_numero(p_cnpj);
FOR lst IN ( SELECT fc.id_cliente as "Cliente",c.id_cliente, pj.id_pessoa_juridica
FROM cliente c, pessoa_juridica pj, frota_cliente fc
WHERE pj.id_pessoa_juridica = c.id_pessoa_juridica(+)
AND c.id_cliente = fc.id_cliente
AND pj.cnpj = v_cnpj)
LOOP
v_id_empresa := lst.id_cliente;
EXIT;
END LOOP;
IF ( v_id_empresa IS NOT NULL ) THEN
fwapl.redirecionar('f?p='||v('APP_ID')||':15011:'||v('APP_SESSION')||
'::NO::P15011_CODIGO:'||v_id_empresa);
ELSE
fwapl.redirecionar('f?p='||v('APP_ID')||':15013:'||v('APP_SESSION')||
'::NO:15013:P15013_PAGINA,P15013_CNPJ,P15013_ID_TIPO_DOCUMENTO:15012,'||formatar_docto(v_cnpj,p_id_tipo_documento)||','||p_id_tipo_documento);
END IF;
RETURN;
EXCEPTION
WHEN OTHERS THEN
fwerr.gerar_exception(p_procedimento => 'pkg_frota_empresa.vrf_empresa');
END;
-- Procedimento : inc_alt_contrato
-- Descrição : Incluir/Alterar contrato para a empresa
-- Histórico
-- 18/01/2010 - Atilio - (79234) - Implementação
PROCEDURE inc_alt_contrato(
p_operacao CHAR(1),
p_reg contrato_cliente%ROWTYPE
IS
BEGIN
IF p_operacao = 'I' THEN
ca_empresa_contrato_incluir(p_reg.id_cliente,p_reg.id_produto,p_reg.data_inicio,p_reg.data_fim,p_reg.comissao1,p_reg.comissao2,
p_reg.forma_comissao1,p_reg.forma_comissao2,p_reg.dia_entrega,p_reg.id_agente);
ELSE
ca_empresa_contrato_incluir(p_reg.id_cliente,p_reg.id_produto,p_reg.data_inicio,p_reg.data_fim,p_reg.comissao1,p_reg.comissao2,
p_reg.forma_comissao1,p_reg.forma_comissao2,p_reg.dia_entrega,p_reg.id_agente);
END IF;
END;
-- Procedimento : inc_alt_contratoexec
-- Descrição : Incluir/Alterar contrato para a empresa
-- Histórico
-- 18/01/2010 - Atilio - (79234) - Implementação
PROCEDURE inc_alt_contratoexec(
p_operacao IN VARCHAR(1),
p_id_cliente IN contrato_cliente.id_cliente%TYPE,
p_id_produto IN produto.id_produto%TYPE,
p_data_inicio IN contrato_cliente.data_inicio%TYPE,
p_data_fim IN contrato_cliente.data_fim%TYPE,
p_comissao_1 IN contrato_cliente.comissao1%TYPE,
p_comissao_2 IN contrato_cliente.comissao2%TYPE,
p_forma_comissao1 IN contrato_cliente.forma_comissao1%TYPE,
p_forma_comissao2 IN contrato_cliente.forma_comissao2%TYPE,
p_dia_entrega IN contrato_cliente.dia_entrega%TYPE,
p_agente IN contrato_cliente.id_agente%TYPE
IS
BEGIN
g_contrato_cliente.p_id_cliente := p_id_cliente;
g_contrato_cliente.p_id_produto := p_id_produto;
g_contrato_cliente.p_data_inicio := p_data_inicio;
g_contrato_cliente.p_data_fim := p_data_fim;
g_contrato_cliente.p_comissao_1 := p_comissao_1;
g_contrato_cliente.p_comissao_2 := p_comissao_2;
g_contrato_cliente.p_forma_comissao1:= p_forma_comissao1;
g_contrato_cliente.p_forma_comissao2:= p_forma_comissao2;
g_contrato_cliente.p_dia_entrega := p_dia_entrega;
g_contrato_cliente.p_agente := p_agente;
inc_alt_contrato(p_operacao => p_operacao
,p_reg => g_contrato_cliente);
EXCEPTION
WHEN OTHERS THEN
fwerr.gerar_exception(p_procedimento => 'pkg_frota_empresa.inc_alt_contratoexec');
END;
---------------------------Final das Definições dos Procedimento e Funçoes ------------------------------
BEGIN
inicializar;
END;
SHOW ERRORSERRORS:
105/20 PLS-00103: Encountered the symbol "(" when one of the following
symbols was expected:
: =), Default character varying large
The symbol ": =" has been replaced by "(" to continue.
110/42 PLS-00103: Encountered the symbol "(" when one of the following
symbols was expected:
: =. ), @% Default character
The symbol ": =" has been replaced by "(" to continue.
Warning: Package Body created with compilation errors.
PROCEDURE inc_alt (
ERROR at line 1:
ORA-00900: invalid SQL statement
Errors for PACKAGE BODY PKG_FROTA_EMPRESA:
LINE / COL ERROR
169 / 4 PLS-00103: Encountered the symbol "end-of-file" when one of
following symbols was expected:
begin end function package pragma procedure form -
Como colocar como padrão o campo "Unidades Base" em um documento de entrada
Olá,
O campo "unidades bases" (UseBaseUn) vem como padrão nos documento de marketing como NÂO, como faço para que ele venha como padrão SIM ou uma pesquisa formatada que ao incluir um item o campo mude para SIM?
Por gentileza, aceito sugestões, pois tem alguns itens que o cliente cadastrou errado no campo NumInBuy(Itens por unidade de compra) da tabela OITM e para esses itens ele precisa sempre quando inserir uma entrada de mercadoria (recebimento ou NF), selecionar sim para o campo "Unidades bases" na linha do item. Se esse campo viesse como "sim" padrão ou uma pesquisa formatada que mude o valor para "sim" me ajudaria muito.
Conto com a ajuda
Abs,
Lucidio GandraResolvi com procedure no SBO_SP_TransactionNotification
-
Campos de entrada não obrigatório no Crystal Reports- Chamada por Procedure
Olá a todos.
Estou desenvolvendo relatórios em crystal para o B1 8.8. os retornos de dados são realizados através de procedures desenvolvidas no sql.
O problema é que não sei como posso estar fazendo para que determinados campos de minha tela de chamada do relatorio no B1 (Variaveis de entrada), não sejam obrigatórios.
Por exemplo: Um relatório de clientes por estado onde os parametros de entrada são Grupo de clientes e Estado. Caso o usuário não deseja preencher o campo grupo de cliente ele deixaria em branco e o campo estado preencheria ou até mesmos os dois campos deixaria em branco e executava direto para retornar todos os clientes.
No Crystal dentro das opções do parametro tem la uma propriedade de não ser obrigatório o campo mas quando faço chamada por procedure esta opção fica desabilitada.
Obrigado pela Ajuda.Bom dia,
como vc esta usando procedure, deverá fazer da seguinte forma.
se vc tiver o parametro @UF por exemplo .
no filtro do crystal vc pode passar o valor 'T' para trazer todos.
e na procedure usar uma variavel @Query para armazenar o select da consulta .
antes de executar a @Query vc faz o filtro :
if @UF (diferente) 'T' -- retirando os espacos entre < e >
begin
Set @Query = @Query + ' And UF = ''' + @UF + ''' '
end
Fazendo desta forma , o select irá filtrar a UF somente se o valor passado for diferente de T.
Espero ter ajudado.
Att. Leandro Khalil
Edited by: leandro.khalil84 on Jul 12, 2010 3:44 PM
Edited by: leandro.khalil84 on Jul 12, 2010 3:45 PM -
Campo "Produção Interna" para determinação de CFOP
Bom dia pessoal!
Gostaria de perguntar a vocês sobre a utilização do campo "Produção Interna" para a determinação de CFOP.
Eu dei um F1 no campo na MM03 e vi que ha a seguinte descrição:
Produção interna
Este código indica se o material foi produzido por esta sociedade ou por uma outra sociedade.
Utilização para determinação CFOP.
Se o código estiver definido, o material foi produzido por esta sociedade. Se o código não estiver definido, foi produzido por outra sociedade.
No meu caso, o que eu preciso fazer: tenho um cenário de transferência entre centros, para dois materiais de industrialização, um tem a flag de produção interna que deve utilizar a CFOP 5151 e outro não tem a flag devendo utilizar a CFOP 5152.
O ponto é: como diferenciar esses dois materiais na determinação automática para que o sistema identifique qual é produzido internamente e aplique a CFOP correta.
Vocês sabem um jeito de configurar o sistema para que ele funcione dessa forma?
Muito obrigada desde já pela ajuda.
CristinaCristina,
Por favor, tente o seguinte:
J1BTAX -> Entidades -> CFOP -> Determinação SD CFOP
Clique em entradas Novas:
Você deverá basicamente criar duas Entradas, uma para o CFOP 5151 e outra para o CFOP 5152
Na entrada 5151, preencha da seguinte maneira:
Sentido do Movimento = 2 - Saída
Categoria Destino = 0 - Mesmo Estado
Categoria de Material = 0 - Material (de acordo com o cadastro do seu material)
Tipo de Item NF = 2 - Item de Transferência
NF Caso Esp. CFOP = (de acordo com o cadastro de sua Filial.. se lá estiver vazio, então aqui você deixa vazio)
Produção Interna = Marcado
Nº Versão CFOP = 2
CFOP = 5151
Descrição = Vem automático
Na entrada 5152, preencha da seguinte maneira:
Sentido do Movimento = 2 - Saída
Categoria Destino = 0 - Mesmo Estado
Categoria de Material = 0 - Material (de acordo com o cadastro do seu material)
Tipo de Item NF = 2 - Item de Transferência
NF Caso Esp. CFOP = (de acordo com o cadastro de sua Filial.. se lá estiver vazio, então aqui você deixa vazio)
Produção Interna = Desmarcado
Nº Versão CFOP = 2
CFOP = 5152
Descrição = Vem automático
Repita os mesmos Procedimentos para Determinação de CFOP - MM, para que na entrada na Planta receptora, o Sistema determine automaticamente os CFOPs 1151 e 1152 respectivamente.
Fiz um teste aqui e funcionou tranquilamente.
Nos avise caso tenha dado certo, não sei se existe alguma outra configuração que possa impedir desta funcionar.
ok ?
Obrigado,
Natan -
NFe - Obrigatoriedade da chave de acesso nas NFs de entrada.
Olá
Verificando no Site do SPED temos a nova alteração abaixo para Janeiro/2012
http://www1.receita.fazenda.gov.br/noticias/2011/setembro/noticia-23092011.htm
"Disponibilizada a versão 2.0.6 do Guia Prático da EFD (Art. 1º do Ato COTEPE ICMS 41/11).
Obs.: Foi regerada a versão do Guia Prático da EFD (2.0.6A) apenas para correção do documento, sem qualquer outra modificação. A partir de janeiro de 2012, o número da Chave de Acesso da NF-e e CT-e, nas operações de entradas, passa a ser informação obrigatória."
Para os casos de NFes de MM, não temos problema, pois todas as entradas já são preenchidas manualmente, mas temos um problema nas entradas via SD onde não existe um campo para o preenchimento da chave de acesso durante o processo de uma ordem de devolução por exemplo.
Na geração da entrada via SD, os campos de número aleatório e dígito verificador não são preenchidos, deixando a chave de acesso incompleta.
Gostaria de saber se existe alguma forma de fazer o preenchimento destes dois campos durante o processo de forma a garantir que sempre a chave de acesso seja criada corretamente em uma geração de NF de entrada SD via transação VF01.
att,
Denis C. SantosOi Denis,
creio que hoje o procedimento requer que o usuário vá na J1B2N para preencher essas informacoes, depois de criar a fatura.
Alternativamente, vc poderia abrir um popup na exit da VF01 para preenchimento dos campos quando fosse devolução.
Abs,
Henrique. -
Dúvidas sobre a solução de salvar os xml de entradas no GRC
Bom dia!
Estamos analisando a solução de salvarmos o xml recebido dos fornecedores no GRC.
1. É obrigatório que somente os xml autorizados sejam salvos no GRC?
2. Se sim, a solução std contempla a consulta no site da Sefaz?
3. Precisamos ter o número do protocolo salvo no GRC? P.S. Eu entendo que isso seja importante para quando tivermos a solução integrada com o ERP de recebimento automático em MM.
Agradeço as dicas.
Atenciosamente
Fabiana1 - Todos XMLs autorizado são salvos no Kpro (tabela /XNFE/XMLIN)
2- O start da consulta protocolo é feito na entrada do XML via B2B(Parametrização GRC ) status da nova consulta guardada no campo /XNFE/XMLIN-CHECKSTATUS
OBS Para resgatar a string do XML vc pode usar essa função /XNFE/CORE_KPRO_XML_READ
para disparar a consulta de forma assync..vc pode usar essa função /XNFE/005A_NFE_STATUS_OUT e resgatar o resultado na tabela /XNFE/XMLIN-CHECKSTATUS desde que o scenario esteja devidamente configurado no PI
3 - O Numero do protocolo vc tem na string do XML existem n formas de vc resgatar esse n° de protocolo
Atenciosamente
Ronaldo de Moraes -
Estou testando sistemas pelo Selenium. Até semana passada a gravação era automática e tudo ok. Desde segunda, a gravação só ocorre até a entrada do sistema. Depois, tenho que digitar todos os comandos. São rotinas de cadastros, cheio de campos. Tem sido um transtorno. Atualizei o Mozilla Firefox e para versão 23.0, Selenium IDE 2.3.0 e continua igual. SOCORRO !!!!
Por favor, perceber que este é um usuário fórum de usuários. Estamos todos os usuários de produtos da Apple como você. Se você teve dificuldade com a Apple os serviços de tecnologia, então você precisa falar com alguém mais acima na cadeia como umrepresentante do cliente. Ter todos os seus fatos, mas ser breve. Uma história com longas tiradas é tedioso.
-
Utilização Material - CAMPO Matuse
Boa tarde
Preciso criar outras entradas no campo Utilização de material - matuse
porém estou procurando e não sei se é possivel.
alguém pode me ajudar?
ObrigadaBom dia Patrícia,
Na verdade, colocar novos valores é muito fácil. SE11, editar o domínio informar chave de autorização da SAP e colocar os valores e descrições.
PORÉM, quando disse que não é possível é que o SAP em seu código trata os materiais conforme este cadastro e os seus novos valores não seriam reconhecidos. Observe que ele utiliza esta informação MATUSE para calculo de impostos, determinação de CFOP e livros fiscais. E aí sim, NÃO TEM PONTOS para modificação de forma a conseguir tratar, por que não é previsto que seja extendido pelo cliente.
Além disso, mesmo que em projeto descubra-se todos os pontos modifique o standard para tratar tudinho você ficará sem a garantia da SAP para estes pontos pois modificou o comportamento, da mesma forma que problemas decorrentes desta modificação também não serão suportados. E em futuras releases terá que refazer todo este trabalho novamente....
Foi por isso o "não é possível", afinal tecnicamente podemos praticamente tudo, mas nem sempre devemos.
Talvez um campo novo Z, num include de extensão na tabela MARA / MBEW / J_1BNFLIN resolva a situação. Depende do que você quer fazer.
Espero ter ajudado.
Atenciosamente, Fernando Da Rós
Edited by: Fernando Ros on Jul 6, 2010 7:32 PM
Maybe you are looking for
-
How to create pop-up window to search for items
Hi, I want to create a pop-up window were the user will be able to search for an item and select it. How can I use a pop-up window in a portlet? Is there any api in the pdk for creating pop-up windows? Thanks
-
Passing variables to other classes
Hi the problem im having is ive made 3 classes class A, A1 and A2 when i create A i also create A1 what i am wanting to do is if a condition in A1 is met it will pass a variable to A so A can delete A1 and then create A2, im having some dificulty in
-
Hi Expert, Need your help on SLD error find the error message as below, we have configure SAP XI system and set the RFC connection between JAVA and ABAP instance it working finebut it give me message that Use transaction SLDAPICUST if you wish to ma
-
Outlook.Application Object
Hello Experts, i am using the 'Outlook.Application' object to create a new outlook email item in my ABAP code. everything is fine except when i'm creating an attachment, i don't know how to attach a file to my email. My code look like this. REPORT z
-
Iphoto 11-File import RAW and JPEG
iPhoto 11, Snow Leopard 10.6.7 RAW supported and Sony DSLR A300 supported... My question is simple: I understand (i think) that when I import pictures into iPhoto that they will be converted to JPEG. I have a number of JPEG files. But if I shoot some