Validar combinación de cuentas

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • pancho6102
    Senior Member
    • jun
    • 238

    #1

    Validar combinación de cuentas

    Hola a todos, buen día.

    Necesito de su ayuda, tengo que validar que antes que se guarde un documento contable valide que ciertas combinaciones de cuentas no se puedan postear, lo mas cercano que encontre fue esto: http://help.sap.com/erp2005_ehp_04/h...9c/content.htm

    pero no tengo ese menu en mi sistena ECC 6.0 asi que otra forma que se me ocurre es usar una regla se sustitucion en la OB28 y usando set de datos definidos en la GS01 definir las cuentas y realizar una validacion completa del documento.

    El problema es que no se como se deba definir la regla y como validar que la cuenta de una posicion del documento no se encuentre dentro de los sets de cuentas.

    Alguien ha tenido la oportunidad de hacer algo asi y si es asi me podrian orientar por favor.

    Saludos!.
    Francisco Ramirez.
    consultor SAP ABAP Netweaver
    Queretaro, Mexico.
  • Hugosap
    Senior Member
    • feb
    • 321

    #2
    Duda

    Hola,

    Cual seria la lógica?
    Hugo Ribeiro
    SAP FICO
    EMAIL: hugodasilvaribeiro@gmail.com
    SKYPE: hugo_da_silva_ribeiro

    Comentario

    • pancho6102
      Senior Member
      • jun
      • 238

      #3
      Hola Hugo, la logica seria de esta forma:

      Defino los sets A y B.

      el set A tiene las siguientes cuentas:

      12000000001
      12000000002
      12000000003

      el set B tiene las siguientes cuentas:

      1700000007
      1700000008
      1700000009

      al guardar el documento (voy a poner como prerequisito para la validacion se para una sociedad especifica X y que solo aplique para determinados tipos de documentos)
      se valide las posiciones del documento y en ningun caso dicha posicion para la cuenta definida se encuentre en el set de cuentas A y al mismo tiempo exista otra posicion del documento que tenga una cuenta que pertenezca al set de cuentas B.

      ejemplo :

      tengo un doc con 3 posiciones
      item cuenta monto
      1 12000000001 $200.00
      2 1700000004 $230.00
      3 1700000005 $120.00
      4 1700000009 $300.00


      no me permitira guardarlo ya que el item 1 esta definido en el set A y el item 4 esta definido en el set B.

      en cambio si el doc estuviera asi:

      item cuenta monto
      1 12000000001 $200.00
      2 12000000002 $230.00
      3 1700000005 $120.00
      4 1700000000 $300.00

      si me permitiria guardarlo ya que a pesar que el item 1 y 2 estan en el set A no hay otra cuenta que este en el set B.

      no se si lo correcto sea usar reglas validacion pero es lo unico que se me ocurre ya que me permite hacer validaciones ya que hay a nivel Header, item o documento completo. Esta ultima opciones de documento completo es la que debiera servirme pero no se como validar una posicion de un Item contra todas las demas.

      Gracias
      Editado por última vez por pancho6102; 08/05/2015, 15:29:09.
      Francisco Ramirez.
      consultor SAP ABAP Netweaver
      Queretaro, Mexico.

      Comentario

      • mgitur
        Senior Member
        • abr
        • 309

        #4
        Hola,

        Prueba lo siguiente:

        1) Crear los 2 sets de datos con sus cuentas (Ej. SET_A y SET_B)
        2) Crear 2 reglas a nivel 3 (documento completo):

        REGLA_1:= BSEG-HKONT IN SET_A
        REGLA_2:= BSEG-HKONT IN SET_B

        3) Crear un paso a nivel 3 (documento completo):

        Condición (los que indicaste, clase de documento y sociedad)

        Verificación:

        SUM ( BSEG-BUZEI ) WHERE REGLA_1 = '000' OR
        SUM ( BSEG-BUZEI ) WHERE REGLA_2 = '000'

        4) Activar la validación de nivel 3 (Documento completo) para la sociedad (OB28)

        Espero te sirva.

        Saludos!

        Comentario

        • pancho6102
          Senior Member
          • jun
          • 238

          #5
          Gracias mgitur,

          por tu respuesta no habia pensado usar la instruccion SUM (pensaba que solo la usaba para operaciones) y si suena logica las validaciones. En un momento voy a intentarlo y te platico como me fue.

          Saludos.
          Francisco Ramirez.
          consultor SAP ABAP Netweaver
          Queretaro, Mexico.

          Comentario

          • pancho6102
            Senior Member
            • jun
            • 238

            #6
            Ya probe y funciono bien si me realiza la validación pero aun no logro entender la parte de:


            SUM ( BSEG-BUZEI ) WHERE REGLA_1 = '000' OR
            SUM ( BSEG-BUZEI ) WHERE REGLA_2 = '000'


            bueno en el sistema seria algo asi:

            SUM ( Line item ) where REGLA_1 = '000' OR
            SUM ( Line item ) where REGLA_2 = '000'


            no se como es que esta haciendo la validacion ¿ saca el promedio del campo line item ? al final este campo tiene la el numero de item en el documento.

            me ayudan a entender esta parte por favor por que igual se podria usar el campo Amount o como es que funciona esta parte.

            Saludos.
            Francisco Ramirez.
            consultor SAP ABAP Netweaver
            Queretaro, Mexico.

            Comentario

            • mgitur
              Senior Member
              • abr
              • 309

              #7
              Hola Pancho,

              También podrías usar el campo Amount (BSEG-WRBTR).

              La idea es identificar en 2 grupos las cuentas usadas en el documento. Para esto se suman, por un lado las cuentas del documento que estén en SET_A y por otro las que estén en SET_B.

              Si se encuentran cuentas en ambos sets, entonces ambas sumas serán diferentes a cero.

              Eso es lo que se verifica....si alguna de las sumas es cero, entonces no tiene que dar el error.

              Saludos!

              Comentario

              • pancho6102
                Senior Member
                • jun
                • 238

                #8
                Gracias por la respuesta me ha quedado completamente entendido como es que funciona.

                En este caso como el campo que tenemos sumaria es el de las posiciones del documento si es 000 (valor inicial) es que no encontro nada, ya que el campo es de tipo Numerico y si la condicion es true OR False = True (no envia el error) y si la condicion es true OR true = true (tampoco lo envia) y la unica forma en la cual se dispara el mensaje es cuando false OR False = False ( envia el mensaje).

                Agradezco el apoyo.

                Saludos.
                Editado por última vez por pancho6102; 11/05/2015, 23:55:34.
                Francisco Ramirez.
                consultor SAP ABAP Netweaver
                Queretaro, Mexico.

                Comentario

                Trabajando...