miércoles, 16 de abril de 2025

SAP B1 HANA SQL DOCUMENTO ORIGEN Y DOCUMENTO DESTINO BaseEntry - DocEntry

 Estimados,

He tenido muchas consultas referente a como relacionar 2 documento origen y destino sea de una orden de venta, desde una cotización, un pedido desde una oferta de venta, una orden de compra desde una factura de proveedor, etc, etc.

Entendamos que SAP B1 Hana o "Papa SAP" lo realiza de la manera mas correcta el cual es relacionarlos a nivel de detalles de la siguiente manera.

1.- LEFT JOIN DLN1 ENTDET ON ENTDET."BaseEntry" = R2."DocEntry"  AND R2."ItemCode" = ENTDET."ItemCode"    

 2.-LEFT JOIN INV1 FACDET ON FACDET."BaseEntry" = ENTDET."DocEntry"    AND ENTDET."ItemCode" = FACDET."ItemCode"

   

Paso a explicar la tabla DLN1 es la tabla detalle de entregas donde se relaciona con R2 donde es "RDR1 R2" osea es el detalle de la orden de venta, si analizamos BaseEntry es usado para vincular documentos, osea se guarda el documento origen o el "DocEntry" origen en la tabla destino (DLN1)y este se relaciona con DocEntry del documento Origen(RDR1).


Servido!! espero con esto absolver muchas de sus dudas y ahorrarles mucho tiempo,  tener en cuenta que esto funciona tanto para la version ms sql server como para Hana SQL.

Slds!!



martes, 8 de abril de 2025

C# RESPONSE BADREQUEST 400


    // Crear una solicitud HTTP

                HttpClient client = new HttpClient();

                string url = "tuendpoint";


                // Crear el cuerpo de la solicitud

                string jsonBody = JsonConvert.SerializeObject(tuObject);

                HttpContent content = new StringContent(jsonBody, Encoding.UTF8, "application/json");


                // Enviar la solicitud POST

                HttpResponseMessage response = await client.PostAsync(url, content);


                // Verificar el estado de la respuesta

                if (response.IsSuccessStatusCode)

                {

                    Console.WriteLine("Solicitud exitosa");

                    string responseBody = await response.Content.ReadAsStringAsync();

                    Console.WriteLine(responseBody);

                }

                else if (response.StatusCode == System.Net.HttpStatusCode.BadRequest)

                {

                    Console.WriteLine("Error 400 Bad Request");

                    string responseBody = await response.Content.ReadAsStringAsync();

                    Console.WriteLine(responseBody);

                }

                else

                {

                    Console.WriteLine("Error en la solicitud");

                }

jueves, 20 de junio de 2024

SQL SERVER - The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.

 Para este error ingresar al usuario y cambiar el lenguaje. ruta Security/Logins, seleccionas tu usuario y propiedades, tiene que ser el usuario que ejecuta tu aplicacion.

Slds




viernes, 19 de enero de 2024

SUNAT - API ERROR 401 NO AUTHORIZATION

 Estimados si tienen este error al consumir un api de sunat

SUNAT - API ERROR 401 NO AUTHORIZATION




Entonces tendriamos que verificar en SUNAT "Gestion de credenciales de API SUNAT" y deberia de estar de la siguiente manera, si a pesar de ello no funciona, cambiarlo y volver a regresarlo a desktop y funcionara, a mi me funciono.





domingo, 14 de enero de 2024

ORACLE - INICIO BASICO

Despues de instalar oracle iniciar de la siguiente manera en cmd.


1. - sqlplus / as sysdba

2.- alter session     set "_ORACLE_SCRIPT" = true


CREATE USER "USUARIO" IDENTIFIED BY "CLAVE";

select instance_name from v$instance;


grant sysdba to NombreUsuario



martes, 27 de junio de 2023

Server certificates should be verified during SSL/TLS connections VB.NET

Si llegaste hasta aqui, es porque ya navegaste medio internet y te pasaste horas buscando esta solucion, recalco que esta solucion lo realice hace muchos años, pero por motivos laborales me lo solicto un compañero, lo vuelvo ha agregar para ti que llegasta hasta aqui ha buscar esta solucion.Saludos 


Sub EnviarCorreoNew(Byval pMensajeHTML as String,Byval pAsunto as String)

Try

Dim _Message As New System.Net.Mail.MailMessage()

Dim _SMTP As New System.Net.Mail.SmtpClient

'CONFIGURACIÓN DEL STMP

_SMTP.Credentials = New System.Net.NetworkCredential("bserti@bserti.com", "bserti2023")

_SMTP.Host = "smtp.gmail.com"

_SMTP.Port = 587

_SMTP.EnableSsl = True

' CONFIGURACION DEL MENSAJE

_Message.[To].Add("ccarrasco@bserti.com") 'Cuenta de Correo al que se le quiere enviar el e-mail

_Message.From = New System.Net.Mail.MailAddress("elvergonzales@bserti.com", "Confirmación de registro de feria", System.Text.Encoding.UTF8) 'Quien lo envía

_Message.Subject = pAsunto'Me.txtAsunto.Text.ToString 'Sujeto del e-mail

'_Message.SubjectEncoding = System.Text.Encoding.UTF8 'Codificacion

_Message.Body =pMensajeHTML 'Me.txtMensaje.Text.ToString 'contenido del mail

'_Message.BodyEncoding = System.Text.Encoding.UTF8

'_Message.Priority = System.Net.Mail.MailPriority.Normal

_Message.IsBodyHtml = True

'ENVIO

 '           AddHandler(ServicePointManager.ServerCertificateValidationCallback, AddressOf ValidateRemoteCertificate)


  'ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls Or SecurityProtocolType.Tls11 Or SecurityProtocolType.Tls12


System.Net.ServicePointManager.ServerCertificateValidationCallback =

Function(se As Object,

  cert As System.Security.Cryptography.X509Certificates.X509Certificate,

  chain As System.Security.Cryptography.X509Certificates.X509Chain,

  sslerror As System.Net.Security.SslPolicyErrors) True

  

_SMTP.Send(_Message)

'MessageBox.Show("Mensaje enviado correctamene", "Exito!", MessageBoxButtons.OK)

Catch ex As System.Net.Mail.SmtpException

'MessageBox.Show(ex.ToString, "Error!", MessageBoxButtons.OK)

Response.Write(ex.ToString)



End Try


End Sub

domingo, 26 de marzo de 2023