Autor Tema: PROBLEMA CON CALL TRANSACTION IW29  (Leído 5815 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado juanda014

  • Novato
  • *
  • Mensajes: 1
    • Ver Perfil
PROBLEMA CON CALL TRANSACTION IW29
« en: 23 de Enero de 2012, 09:44:09 pm »
BUEN DIA ESTIMAODS.

ESTOY TRATANDO DE LLAMAR UNA TRANSACCION (IW29) Y REQUIERO QUE DOS CAMPOS DE LA TRANSACCION NO POSEAN DATO ALGUNO, SIN EMBARGO EXISTEN DOS CAMPOS DE CORRESPONDEN AFECHAS QUE PREDETERMINADAMENTE ESTAN LLENOS.

ESTOY INTENTANDO POR MEDIO DEL SIGUIENTE CODIGO LIMPIAR ESTOS CAMPOS, SIN EMBARGO SOLO LOGRO CONSEGUIR QUE UNO DE LOS CAMPOS QUEDE EN BLANCO MAS NO AMBOS.

A CONTINUACION MUESTRO EL CODIGO QUE IMPLEMENTO PARA REALIZAR LO ANTERIOR, LA PORCIÓN DE CODIGO EN NEGRITA ES EL QUE BORRA EL PRIMER CAMPO MIENTRAS QUE LA PORCION DE CODIGO EN CURSIVA NO LO HACE, AGRADEZCO SUS APORTES.



****************************************************
FORM  user_command USING r_ucomm     LIKE  sy-ucomm
                         rs_selfield TYPE  slis_selfield.
  DATA:   wa_alv  LIKE t_gnl.
  TABLES BDCDATA.
  DATA:  TABLA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.

  CASE r_ucomm.

    WHEN '&IC1'.

*      IF RS_SELFIELD-FIELDNAME eq 'PRUEFLOS'.
*        READ TABLE t_gnl INDEX RS_SELFIELD-TABINDEX.
*        SET PARAMETER ID 'QLS' FIELD t_gnl-prueflos.
*        CALL TRANSACTION 'QE19'.
*      ELSEIF RS_SELFIELD-FIELDNAME eq 'QMNUM'.
*        READ TABLE t_gnl INDEX RS_SELFIELD-TABINDEX.
*        SET PARAMETER ID 'IQM' FIELD t_gnl-qmnum.
*        CALL TRANSACTION 'IW53' AND SKIP FIRST SCREEN.
*      ENDIF.
*    ENDCASE.
*************************************
      IF RS_SELFIELD-FIELDNAME eq 'PRUEFLOS'.
        READ TABLE t_gnl INDEX RS_SELFIELD-TABINDEX.
        SET PARAMETER ID 'CHA' FIELD t_gnl-prueflos.
        CALL TRANSACTION 'QA33'.
      ELSEIF RS_SELFIELD-FIELDNAME eq 'QMNUM'.
        READ TABLE t_gnl INDEX RS_SELFIELD-TABINDEX.

        IF t_gnl-qmart eq 'M4'.

          TABLA-PROGRAM = 'RIQMEL20'.
          TABLA-DYNPRO = 1000.
          TABLA-DYNBEGIN = 'X'.
          TABLA-FNAM = 'DATUV'.
          TABLA-FVAL = ' '.
          APPEND TABLA.
          CLEAR TABLA.


          TABLA-PROGRAM = 'RIQMEL20'.
          TABLA-DYNPRO = 1000.
          TABLA-DYNBEGIN = 'X'.
          TABLA-FNAM = 'DATUB'.
          TABLA-FVAL = ' '.
          APPEND TABLA.
          CLEAR TABLA.


          SET PARAMETER ID 'IQM' FIELD t_gnl-qmnum.
          SET PARAMETER ID 'DATUV' FIELD ' '.
*         SET PARAMETER ID 'DATUB' FIELD '31.12.9999'.

        CALL TRANSACTION 'IW29' USING TABLA.
        MESSAGE s398(00) DISPLAY LIKE 'S' WITH 'Actualización exitosa'.


      ELSEIF t_gnl-qmart eq 'PQ'.
        SET PARAMETER ID 'IQM' FIELD t_gnl-qmnum.
        CALL TRANSACTION 'QM03' AND SKIP FIRST SCREEN.
      ENDIF.
      ENDIF.
ENDCASE.

************************************
CLEAR: r_ucomm.
ENDFORM.                 

Desconectado Carlos

  • Usuario Sr.
  • ****
  • Mensajes: 177
    • Ver Perfil
Re:PROBLEMA CON CALL TRANSACTION IW29
« Respuesta #1 en: 24 de Enero de 2012, 10:03:12 am »
Hola...

Cambia la línea que remarco en rojo por la que te pongo en color verde.


          TABLA-FNAM = 'DATUB'.
          TABLA-FVAL = ' '.
          APPEND TABLA.
          CLEAR TABLA.

          SET PARAMETER ID 'IQM' FIELD t_gnl-qmnum.
          SET PARAMETER ID 'DATUV' FIELD ' '.

*         SET PARAMETER ID 'DATUB' FIELD '31.12.9999'.
          SET PARAMETER ID 'DATUB' FIELD ' '.

        CALL TRANSACTION 'IW29' USING TABLA.
        MESSAGE s398(00) DISPLAY LIKE 'S' WITH 'Actualización exitosa'.


      ELSEIF t_gnl-qmart eq 'PQ'.
        SET PARAMETER ID 'IQM' FIELD t_gnl-qmnum.
        CALL TRANSACTION 'QM03' AND SKIP FIRST SCREEN.
      ENDIF.
      ENDIF.




Saludos!