Archivo
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
- outlook
- screenshot 5
Fuentes:
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:
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