BAPI_ACC_DOCUMENT_PO Acreedores

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • marianoboni
    Member
    • abr
    • 75

    #1

    BAPI_ACC_DOCUMENT_PO Acreedores

    Buenos días:
    Estoy tratando de entender el funcionamiendo de esta Bapi en cuanto a que necesito emular la transaccion FB60.
    Hasta ahora no hé logrado hacerla funcionar:
    El escenario es el siguiente:

    Cabecera de Factura
    Lineas
    Retenciones e impuestos

    Estas son las estructuras que debo completar.
    DOCUMENTHEADER cabecera
    ACCOUNTGL mapea los importes a las cuentas????
    ACCOUNTPAYABLE acreedor
    CURRENCYAMOUNT importes
    ACCOUNTTAX p/imuestos ( iva )
    ACCOUNTWT p/retenciones

    Pero no logro hacer que funcione.
    Alguién tendra algun ejemplo o guia?

    Desde ya muchas gracias!
  • conrad10ar
    Banned
    • mar
    • 296

    #2
    Acá van varios post sobre esa BAPI

    BAPI_ACC_DOCUMENT_POST

    Foros de SAP, Manuales y empleos SAP en la mayor comunidad SAP de habla hispana, SAP HANA, SAP Fiori, SD, MM, HR




    Espero que algo te puedan aportar.

    Comentario

    • marianoboni
      Member
      • abr
      • 75

      #3
      Originalmente publicado por conrad10ar
      Acá van varios post sobre esa BAPI

      BAPI_ACC_DOCUMENT_POST

      Foros de SAP, Manuales y empleos SAP en la mayor comunidad SAP de habla hispana, SAP HANA, SAP Fiori, SD, MM, HR




      Espero que algo te puedan aportar.
      Te cuento que hé estado viendo varios post, el tema es que esta bapi es amplia en su uso y o se encuentra mucha documentación de como utilizarla, asi que estoy investigando y documentando su funcionamiento.
      Saludos

      Comentario

      • marianoboni
        Member
        • abr
        • 75

        #4
        Prueba: messaje de error:

        Buenos días:
        En base a ejemplos plante comenzar desde lo mas basico, para luego agregar impuestos y retenciones.
        El tema es que si uso el ejemplo en la prueba de BAPI, no acusa ningun error y me devuelve el numero de referencia del objeto generado ( q dicho sea de paso no se encuntra en la tabla BKPF, supongo q es porque no corre un commit ).

        Ahora, si hago la misma prueba en un Z me sale los siguientes errores:

        E RW 609
        Error en el documento: BKPFF $
        E F5 507
        Cuenta de mayor 7130609 no prevista en plan de cuentas 1000
        E F5 507
        Cuenta de mayor 7130609 no prevista en plan de cuentas 1000
        E F5 507
        Cuenta de mayor 7130609 no prevista en plan de cuentas 1000
        E FH 004
        La cuenta 7130609 no está prevista en el PlCtas. 1000.


        El codigo fuentes es el siguiente:



        *&---------------------------------------------------------------------*
        *& Report ZTESTFAC
        *&
        *&---------------------------------------------------------------------*
        *&
        *&
        *&---------------------------------------------------------------------*

        REPORT ZTESTFAC.
        CONSTANTS: gc_bukrs LIKE bkpf-bukrs VALUE '1000'.
        CONSTANTS: gc_busact LIKE bkpf-glvor VALUE 'RFBU'.

        START-OF-SELECTION.

        PERFORM ejecutar_bapi.


        ************************************************** **********************
        FORM ejecutar_bapi.

        DATA: w_header LIKE bapiache09.
        DATA: w_accoun LIKE bapiacgl09.
        DATA: w_payabl LIKE bapiacap09.
        DATA: w_taxes LIKE bapiactx09.
        DATA: w_curren LIKE bapiaccr09.
        DATA: w_return LIKE bapiret2.

        DATA: t_accoun LIKE bapiacgl09 OCCURS 0.
        DATA: t_payabl LIKE bapiacap09 OCCURS 0.
        DATA: t_taxes LIKE bapiactx09 OCCURS 0.
        DATA: t_curren LIKE bapiaccr09 OCCURS 0.
        DATA: t_return LIKE bapiret2 OCCURS 0.

        * Cabecera del documento contable
        w_header-bus_act = gc_busact.
        w_header-username = sy-uname.
        w_header-comp_code = gc_bukrs.
        w_header-doc_date = sy-datum.
        w_header-pstng_date = '20100424'.
        w_header-trans_date = sy-datum.
        w_header-fisc_year = '2010'.
        w_header-fis_period = '4'.
        w_header-doc_type = 'KR'.
        w_header-ref_doc_no = '0001A00099666'.


        * Posición G/L
        CLEAR w_accoun.
        w_accoun-itemno_acc = '10'.
        w_accoun-gl_account = '7130609'.
        w_accoun-item_text = 'Linea a cta. gastos'.
        w_accoun-comp_code = '1000'.
        w_accoun-ACCT_TYPE = 'A'.
        w_accoun-FM_AREA = 1000.
        * w_accoun-fis_period = '04'.
        * w_accoun-fisc_year = '2010'.
        w_accoun-costcenter = 6900.
        w_accoun-CMMT_ITEM = 'PROVEED'.

        APPEND w_accoun TO t_accoun.

        * Posición Acreedor
        CLEAR w_payabl.
        w_payabl-itemno_acc = '20'.
        w_payabl-vendor_no = '0000100863'.
        APPEND w_payabl TO t_payabl.

        * Valores
        CLEAR w_curren.
        w_curren-itemno_acc = '10'.
        w_curren-currency = 'ARS'.
        w_curren-curr_type = '00'.
        w_curren-amt_doccur = 6500.
        APPEND w_curren TO t_curren.

        CLEAR w_curren.
        w_curren-itemno_acc = '20'.
        w_curren-currency = 'ARS'.
        w_curren-curr_type = '00'.
        w_curren-amt_doccur = -6500.
        APPEND w_curren TO t_curren.


        * Llamada a la BAPI
        CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
        EXPORTING
        DOCUMENTHEADER = w_header
        TABLES
        ACCOUNTGL = t_accoun
        ACCOUNTPAYABLE = t_payabl
        CURRENCYAMOUNT = t_curren
        RETURN = t_return.

        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

        LOOP AT t_return INTO w_return.

        WRITE:/ w_return-type,
        w_return-id,
        w_return-number,
        w_return-message.

        ENDLOOP.

        ENDFORM.

        Comentario

        • marianoboni
          Member
          • abr
          • 75

          #5
          Avance

          Originalmente publicado por marianoboni
          Buenos días:
          En base a ejemplos plante comenzar desde lo mas basico, para luego agregar impuestos y retenciones.
          El tema es que si uso el ejemplo en la prueba de BAPI, no acusa ningun error y me devuelve el numero de referencia del objeto generado ( q dicho sea de paso no se encuntra en la tabla BKPF, supongo q es porque no corre un commit ).

          Ahora, si hago la misma prueba en un Z me sale los siguientes errores:

          E RW 609
          Error en el documento: BKPFF $
          E F5 507
          Cuenta de mayor 7130609 no prevista en plan de cuentas 1000
          E F5 507
          Cuenta de mayor 7130609 no prevista en plan de cuentas 1000
          E F5 507
          Cuenta de mayor 7130609 no prevista en plan de cuentas 1000
          E FH 004
          La cuenta 7130609 no está prevista en el PlCtas. 1000.


          El codigo fuentes es el siguiente:



          *&---------------------------------------------------------------------*
          *& Report ZTESTFAC
          *&
          *&---------------------------------------------------------------------*
          *&
          *&
          *&---------------------------------------------------------------------*

          REPORT ZTESTFAC.
          CONSTANTS: gc_bukrs LIKE bkpf-bukrs VALUE '1000'.
          CONSTANTS: gc_busact LIKE bkpf-glvor VALUE 'RFBU'.

          START-OF-SELECTION.

          PERFORM ejecutar_bapi.


          ************************************************** **********************
          FORM ejecutar_bapi.

          DATA: w_header LIKE bapiache09.
          DATA: w_accoun LIKE bapiacgl09.
          DATA: w_payabl LIKE bapiacap09.
          DATA: w_taxes LIKE bapiactx09.
          DATA: w_curren LIKE bapiaccr09.
          DATA: w_return LIKE bapiret2.

          DATA: t_accoun LIKE bapiacgl09 OCCURS 0.
          DATA: t_payabl LIKE bapiacap09 OCCURS 0.
          DATA: t_taxes LIKE bapiactx09 OCCURS 0.
          DATA: t_curren LIKE bapiaccr09 OCCURS 0.
          DATA: t_return LIKE bapiret2 OCCURS 0.

          * Cabecera del documento contable
          w_header-bus_act = gc_busact.
          w_header-username = sy-uname.
          w_header-comp_code = gc_bukrs.
          w_header-doc_date = sy-datum.
          w_header-pstng_date = '20100424'.
          w_header-trans_date = sy-datum.
          w_header-fisc_year = '2010'.
          w_header-fis_period = '4'.
          w_header-doc_type = 'KR'.
          w_header-ref_doc_no = '0001A00099666'.


          * Posición G/L
          CLEAR w_accoun.
          w_accoun-itemno_acc = '10'.
          w_accoun-gl_account = '7130609'.
          w_accoun-item_text = 'Linea a cta. gastos'.
          w_accoun-comp_code = '1000'.
          w_accoun-ACCT_TYPE = 'A'.
          w_accoun-FM_AREA = 1000.
          * w_accoun-fis_period = '04'.
          * w_accoun-fisc_year = '2010'.
          w_accoun-costcenter = 6900.
          w_accoun-CMMT_ITEM = 'PROVEED'.

          APPEND w_accoun TO t_accoun.

          * Posición Acreedor
          CLEAR w_payabl.
          w_payabl-itemno_acc = '20'.
          w_payabl-vendor_no = '0000100863'.
          APPEND w_payabl TO t_payabl.

          * Valores
          CLEAR w_curren.
          w_curren-itemno_acc = '10'.
          w_curren-currency = 'ARS'.
          w_curren-curr_type = '00'.
          w_curren-amt_doccur = 6500.
          APPEND w_curren TO t_curren.

          CLEAR w_curren.
          w_curren-itemno_acc = '20'.
          w_curren-currency = 'ARS'.
          w_curren-curr_type = '00'.
          w_curren-amt_doccur = -6500.
          APPEND w_curren TO t_curren.


          * Llamada a la BAPI
          CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
          EXPORTING
          DOCUMENTHEADER = w_header
          TABLES
          ACCOUNTGL = t_accoun
          ACCOUNTPAYABLE = t_payabl
          CURRENCYAMOUNT = t_curren
          RETURN = t_return.

          CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

          LOOP AT t_return INTO w_return.

          WRITE:/ w_return-type,
          w_return-id,
          w_return-number,
          w_return-message.

          ENDLOOP.

          ENDFORM.

          Logre arreglarlo: el tema es que no me reconocia ni las cuentas ni el centro de constoluego porque no tenia concatenado los ceros delante:

          w_accoun-gl_account = '0007130609'
          w_accoun-costcenter = '0000006900'.


          Ahora debo ver como funciona el tema del Iva ( impuestos ) y retenciones.

          Comentario

          Trabajando...