Lanzar un Smartform

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • oieraz
    Member
    • nov
    • 54

    #1

    Lanzar un Smartform

    Hola, me acabo de implementar un Smartform y mi duda ahora es como ejecutarlo desde un Report. Seguro que sabeis cómo hacerlo.

    Gracias por adelantado, un saludo!
  • PabloGP
    Junior Member
    • sep
    • 21

    #2
    Lo más sencillo es obtener el codigo para llamar a la SMARTFORM. El código lo sacas en el SMARFORM:

    Enviroment > Function Module Name.

    Te devolverá algo como: /1BDCBWB/SF00000341.

    Luego en el programa que lo llama, vas a Patron y metes eso, como si metieras en nombre de una función normal y listo.

    Otra opción te permite obtener el código del Smart Form automaticamente usando la funcion 'SSF_FUNCTION_MODULE_NAME'.


    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
    FORMNAME = 'ZNOMBRE_SMARTFORM'
    * VARIANT = ' '
    * DIRECT_CALL = ' '
    IMPORTING
    FM_NAME = nombre_formulario
    * EXCEPTIONS
    * NO_FORM = 1
    * NO_FUNCTION_MODULE = 2
    * OTHERS = 3
    .
    IF SY-SUBRC <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

    Para ello define antes:

    data: nombre_formulario type RS38L_FNAM.

    Ahora ya tendrias el codigo en la variable nombre_formulario y haces lo mismo que cuando metias directamente el codigo.

    Un saludo.

    Comentario

    • oieraz
      Member
      • nov
      • 54

      #3
      Gracias por tu ayuda. Por otra parte me gustarías saber si es posible pasar ese smartform que estoy lanzando a formato PDF. Muchas gracias de nuevo.

      Saludos cordiales.

      Comentario

      • crounly
        Senior Member
        • nov
        • 227

        #4
        Puedes hacerlo a traves de la orden de impresion, que te viene en los parametros de salida de la funcion del smartforms y se la pasas al rapport RSTXPDFT4

        Código:
        SUBMIT RSTXPDFT4 WITH spoolno EQ wa_order
                            WITH download EQ 'X'
                            WITH p_file  EQ wa_file
                            AND RETURN.
        O puedes usar las funciones:

        1º la CONVERT_OTFSPOOLJOB_2_PDF
        2º la GUI_DOWNLOAD

        Tambien al lanzar el smartforms puedes decirle que no salga ni la pantalla de opcines y que guarde el resultado como OTF

        Código:
        w_ctrlop-getotf = 'X'.    
        w_ctrlop-no_dialog = 'X'.
        w_compop-tdnoprev = 'X'.
        
        call function v_form_name
          exporting
            control_parameters = w_ctrlop
            output_options     = w_compop
            user_settings      = 'X'
          importing
            job_output_info    = w_return
          exceptions
            formatting_error   = 1
            internal_error     = 2
            send_error         = 3
            user_canceled      = 4
            others             = 5.
        
        i_otf[] = w_return-otfdata[].
        
        call function 'CONVERT_OTF'
          exporting
            format = 'PDF'
            max_linewidth = 132
          importing
              bin_filesize = v_len_in
          tables
            otf = i_otf
            lines = i_tline
          exceptions
            err_max_linewidth = 1
            err_format = 2
            err_conv_not_possible = 3
            others = 4.
        
        loop at i_tline.
          translate i_tline using '~'.
          concatenate wa_buffer i_tline into wa_buffer.
        endloop.
        
        translate wa_buffer using '~'.
        
        do.
        
          i_record = wa_buffer.
          append i_record.
          shift wa_buffer left by 255 places.
          if wa_buffer is initial.
            exit.
          endif.
        
        enddo.
        Y GUI_DOWNLOAD para descargar i_record....

        Suerte
        http://codigoderetorno.blogspot.com.es/

        Comentario

        • Zamichiei_24
          Junior Member
          • mar
          • 14

          #5
          Llamada a Smartforms

          Originalmente publicado por oieraz
          Hola, me acabo de implementar un Smartform y mi duda ahora es como ejecutarlo desde un Report. Seguro que sabeis cómo hacerlo.

          Gracias por adelantado, un saludo!
          hola,
          te paso dos notas al respecto de este tema:





          saludos
          zami
          Zami

          Comentario

          Trabajando...