Skip to Content
Author's profile photo Former Member

Actualizar retenciones masivamente DTW SAP 9.0

Cordial Saludo:

quiero compartir con todos ustedes una forma de actualizar los SN de forma masiva, les comentare mi caso:

En la normatividad tributaria Colombiana realizaron reformas y la instrucción de parte de nuestro contador fue colocar una nueva retención a todos nuestros clientes, tenemos creados 12.000, y para no hacerlo manualmente en SAP, generamos 2 template uno llamado cabeza y el segundo llamado líneas,

Reitero estos templates son para la versión de SAP 9.0.

1- En el template cabeza cargamos

CardCode SubjectToWithholdingTax WTCode
CardCode WTLiable WTCode
813008405C tYES AUCR

En el primer campo es el código del Sn.

En el segundo tYES para marcar en el SN la pestaña finanzas, pestaña impuestos para seleccionar el check sujeto a retención.

En el ultimo colocamos el código de la retención.

2- En el template líneas cargamos

ParentKey LineNum WTCode
CardCode LineNum WTCode
813008405C 3 AUCR

En el primer campo es el código del Sn.

En el segundo es bien importante identificarlo con ayuda de este query

SELECT     OCRD.CardCode, OCRD.CardName, CRD4.WTCode, OWHT.WTName,OCRD.ProjectCod

FROM         CRD4 LEFT OUTER JOIN

                      OWHT ON CRD4.WTCode = OWHT.WTCode FULL OUTER JOIN

                      OCRD ON CRD4.CardCode = OCRD.CardCode

WHERE    OCRD.CardType = ‘C’

ORDER BY OCRD.CardName

Aquí nos arroja, las retenciones que tiene cada socio de negocios por proyecto, después de esto puedes generar una tabla dinámica así:

/wp-content/uploads/2013/09/dinamica_287911.png

La idea con esto es poder identificar que numero se debe colocar en el segundo campo del template de líneas, ejemplo el primer SN del listado tiene el numero 3, esto nos indica que actualmente tiene 3 retenciones parametrizadas, ahora como vamos es a colocar una nueva, el numero a colocar es 3, ya que SAP inicia el conteo desde cero para las retenciones ejemplo 0,1,2 para las 3 retenciones, ahora como vamos a cargar una 4 retención el numero de este indicador seria el que nos arroja esta tabla dinámica, para dejar la 4 retención 0,1,2,3

En el ultimo colocamos el código de la retención a cargar.

y por ultimo colocamos en el dtw, opciones:

master data

     update and existing data

          Bussines Parner

               Bussines Parner and master data

Y subes los archivos así:

/wp-content/uploads/2013/09/dtw_287921.png

Recomendaciones:

1- Realizar este proceso en pruebas.

2- En el Excel para generar los archivos planos debes dejarlos tipo texto y alineados a la izquierda.

3- Al generar los archivos templates guardarlos como texto delimitado por tabulaciones (.txt)

4- Dejar claro el requerimiento con el área financiera, ya que después de ejecutado este proceso no hay marcha atrás.

A espera de sus comentarios y asi mejorar nuestra fuente de conocimiento.

Gracias SCN

Assigned Tags

      3 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Roman Jasis
      Roman Jasis

      Excelente y sumamente util, gracias.

      Me permito hacerles una consulta, en caso de necesitar incorporar más de un impuesto, tengo que repetir la totalidad del procedimiento por cada impuesto a incorporar o teniendo en cuenta el segundo alcanza?

      Saludos

      Author's profile photo Eduardo Marquez
      Eduardo Marquez

      Thanks for this post... it was exactly the solution i was looking for... Best Regards!!...

      Author's profile photo SOPORTE2 SOPORTE2
      SOPORTE2 SOPORTE2

      Este query hace el trabajo:

      Declare @NewWtCode varchar(10) = 'C2' -- Set the new WTCode

      Select Distinct T0.CardCode, count(T1.WtCode) as LineNum, @NewWtCode as WTCode
      from OCRD T0
      LEFT JOIN CRD4 T1 on T0.CardCode = T1.CardCode
      Where T0.CardType = 'C' and T0.validFor = 'Y' and T0.WTLiable = 'Y' and
      T0.CardCode not in (select CardCode from CRD4 Where WTCode = @NewWtCode)
      group by T0.CardCode
      Order by 1