Modificar UserExit

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • cacuna
    Junior Member
    • nov
    • 24

    #1

    Modificar UserExit

    SAP ECC 5.0
    Grupo de Funciones: VKMP
    Include: LVKMPFZ1

    Que tal.
    Estoy realizando una modificacion a la rutina USER_CREDIT_CHECK1 del User Exit ya mencionado.
    Basicamente lo que deseo hacer es que cuando se realize la segunda verificacion dinamica de credito, la cual, es en el Picking de la Entrega, si el estatus de la Entrega (en la tabla VBUK) es A (No bloqueado) que cambie el Estatus a D.

    Código:
    ***INCLUDE LVKMPFZ1 .
    * Subroutines for user credit check 1
    *---------------------------------------------------------------------*
    *       FORM USER_CREDIT_CHECK1                                       *
    *       this routine must be programmed, if user activates credit     *
    *       check user 1 in T691f                                         *
    *       please regard message numbers V1170, V1171 in Table T100      *
    *---------------------------------------------------------------------*
    *  -->  UCC1_UPDATE       'X' means during posting a document         *
    *                         ' ' means during processing items           *
    *  -->  UCC1_KKBER        credit control area                         *
    *  -->  UCC1_KNKLI        credit customer                             *
    *  -->  UCC1_FLG_ORDER    'X' means document is an order              *
    *  -->  UCC1_FLG_DELIVERY 'X' means document is a  delivery note      *
    *  <--  UCC1_RC           returncode: 0 means OK, 4 means not OK      *
    *---------------------------------------------------------------------*
    form user_credit_check1 using   ucc1_update
                                    ucc1_kkber
                                    ucc1_knkli
                                    ucc1_flg_order
                                    ucc1_flg_delivery
                              changing
                                    ucc1_rc.
    * clear the returncode
    * credit check: if not positiv, set returncode
    
    clear ucc1_rc.
    if ucc1_flg_delivery = 'X'.
       if vbuk-cmgst = 'A'.       " Aqui verifico el estatus de la entrega
          vbuk-cmgst = 'D'.       " Si es "A", se cambia a "D".
          modify vbuk.
          ucc1_rc = 0.
       endif.
    endif.
    
    * MOVE CON_RC_NOK TO UCC1_RC.
    endform.
    El problema es que no me lleva a cabo la actualizacion del estatus en la tabla VBUK.
    De hecho, al debuggear el valor de VBUK-CMGST siempre es VACIO.

    Alguna sugerencia...?
    Gracias,

    cacuna.
    Editado por última vez por cacuna; 23/07/2009, 17:41:06.
  • patrus
    Junior Member
    • nov
    • 22

    #2
    Modificar UserExit

    Hola

    tienes que especificar a que documento comercial estas haciendo referencia en la vbuk si lo haces para una entrega especifica. Te recomiendo que hagas un update en vez de un modify para la actulizacion de la tabla. Despues del update pones commit work para ejecute el update. Espero haberte ayudado en tus dudas.
    SALUDOS

    Comentario

    • ballan
      Senior Member
      • oct
      • 671

      #3
      No se como resolver tu caso en particular, lo que si se es que dentro de una user-exit NUNCA se debe poner un commit work porque puedes dejar las tablas inconsistentes

      Comentario

      Trabajando...