Archivo

Posts Tagged ‘CDPOS’

RSSCD100 – Ver datos de Tablas CDHDR CDPOS

Caso: Se desea visualizar la fecha y hora de un pedido de compras.

Solución: Utilizamos la transacción RSSCD100, para ver el contenido de las tablas CDHDR y CDPOS

Fuentes:

http://www.sap123.com/a/47/

http://sap.ittoolbox.com/groups/technical-functional/sap-log-mm/how-to-get-data-from-table-cdpos-cdhdr-4526724

Anuncio publicitario
Categorías: ABAP/4 Etiquetas: , ,

SCDO y RSSCD100 – Buscar y ver documentos de modificación

Caso: Se desea buscar un documento de modificación específico y asimismo visualizar su contenido.

Solución:

1. Primero buscamos el documentos de modificación que necesitamos. En nuestro caso buscaremos los del documento factura.

Ingresamos a la SCDO y encontramos allí que el objeto es el INCOMINGINVOICE.

2. Para poder visualizar los documentos de modificación de dicho objeto, accedemos a la transacción RSSCD100, filtramos por la clase de objeto y podemos indicarle más filtros, por ejemplo la tabla (RBKP cabecera para este caso), usuario, fechas, etc.

3. Vemos los resultados, se muestra en realidad el contenido de las tablas CDHDR y CDPOS:

Categorías: ABAP/4 Etiquetas: , , ,

Solicitud de Pedido – Obtener liberador y fecha de liberación

Caso: Se desea obtener el usuario que liberó una solicitud de pedido de compras, junto a la fecha de realizada la liberación.

Solución: Se obtiene la info de las tablas de documentos de modificación (CDHDR y CDPOS), se debe tener en cuenta que podrían haber más de una liberación de la solicitud en este log, ya que puede un usuario liberar, otro desliberar (cancelar la liberación anterior) y luego liberar nuevamente, pero lo dejo como ejemplo para ver el tema.

Asimismo puede hacerse para otros documentos de modificación, puede verse el listado en la transacción SCDO. Para nuestro ejemplo utilizaremos BANF.

FORM obtener_liberador USING    p_banfn  TYPE banfn
					   p_bnfpo  TYPE bnfpo  
					   p_afnam  TYPE afnam  
 
                       CHANGING p_username TYPE cdhdr-username
					   p_udate    TYPE cdhdr-udate.
 
  DATA: lv_tabix       TYPE sy-tabix,
        lv_tabkey      TYPE cdpos-tabkey,
        lt_cdhdr       TYPE TABLE OF cdhdr,
        wa_cdhdr       TYPE cdhdr,
        lt_cdpos       TYPE TABLE OF cdpos,
        wa_cdpos       TYPE cdpos.
 
      REFRESH: lt_cdhdr[],
               lt_cdpos[].
 
      TRANSLATE p_afnam TO UPPER CASE.
 
      SELECT *
        INTO TABLE lt_cdhdr
        FROM cdhdr
        WHERE objectclas  = 'BANF'
          AND objectid    = lw_solpe-banfn
          AND langu       = sy-langu.
 
      IF lt_cdhdr IS NOT INITIAL.
        SELECT *
          INTO TABLE lt_cdpos
          FROM cdpos
          FOR ALL ENTRIES IN lt_cdhdr
          WHERE objectclas      = lt_cdhdr-objectclas
            AND objectid        = lt_cdhdr-objectid
            AND changenr        = lt_cdhdr-changenr
            AND chngind         = lt_cdhdr-change_ind
            AND tabname         = 'EBAN'
            AND fname           = 'FRGKZ'
            AND value_new       = '2'.
 
        IF sy-subrc EQ 0.
          CONCATENATE sy-mandt 
			    p_banfn
                      p_bnfpo
                      INTO lv_tabkey.
 
          READ TABLE lt_cdpos INTO wa_cdpos WITH KEY tabkey = lv_tabkey.
          IF sy-subrc EQ 0.
            READ TABLE lt_cdhdr INTO wa_cdhdr WITH KEY objectclas = wa_cdpos-objectclas
                                                       objectid   = wa_cdpos-objectid
                                                       changenr   = wa_cdpos-changenr.
            IF sy-subrc EQ 0.
              p_username  = wa_cdhdr-username.
              p_udate     = wa_cdhdr-udate.
            ENDIF.
          ENDIF.
        ENDIF.
 
      ENDIF.
 
    ENDLOOP.
 
  ENDIF.
 
ENDFORM.                    "obtener_liberador

 

Nota: el SELECT a la CDPOS debe evaluarse con respecto al campo «value_new» ya que el código de liberacón puede ser distinto según como esté configurada la estrategia de liberación. En mi caso estaba el 2 como «Liberado». Verificarlo buscando en la tabla CDPOS con un ejemplo de Solicitud de Pedido ya liberada.

También pueden usar las funciones que aparecen en:
http://help.sap.com/saphelp_nw04/helpdata/EN/2a/fa01dd493111d182b70000e829fbfe/content.htm

O ver el código del programa estándar CHANGEDOCU_READ

Categorías: ABAP/4 Etiquetas: , , , , , , , , ,