Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Neo_25

Páginas: [1] 2
1
Formularios / Texto Chino junto con texto español en un smartform
« en: 14 de Septiembre de 2011, 02:23:30 pm »
Hola,
querría hacer una pregunta acerca de los smartforms,

nos interesa mostrar caracteres chinos en un texto, por ejemplo:
"El pedido 您好 es:" (realmente pone "hola" en chino)

El problema es q SAP interpreta a su manera estos caracteres, si lo pasamos en una variable pone cuadraditos, si lo ponemos en un texto pone #.

En la variable vemos, por debbuging q hay caracteres chinos, pero luego, a la hora de previsualizar la impresión pone cuadraditos.

En el smartstyles, hemos probado todos los tipos de letra y sigue sin salir.

¿Alguien nos podría decir algo?

2
Solucionado.
Era en la línea: user_settings = 'X' está mal, es: user_settings = espacio

Este es el código corregido:
data: wa_cparam type ssfctrlop,
wa_output type ssfcompop.

wa_cparam-no_dialog = 'X'.
wa_cparam-getotf = 'X'.
wa_output-tdnoprev = 'X'.
wa_output-tddest = 'LOCA'. "o 'LP01'.


call function lfm_name
exporting
control_parameters = wa_cparam
output_options = wa_output
user_settings = espacio
importing
job_output_info = it_otf_from_fm
tables
....
exceptions

3
Uso la funcion 'SSF_FUNCTION_MODULE_NAME', y
luego marco estas variables para no ver lapantalla de impresión:
  lw_ctrlop-getotf    = 'X'.
  lw_ctrlop-no_dialog = 'X'.
  lw_compop-tdnoprev  = 'X'.

Luego uso:   CALL FUNCTION lfm_name

Pero me interesa que escriba en "Dispositivo de Salida: LOCA"
y que se pulse solo el botón de Imprimir.
Lo que quiero es que no se vea la pantalla de impresión.

Alguién me puede decir algo por favor

4
Formularios / Re: PDF por EMAIL con opción de "A" y "CC"
« en: 22 de Mayo de 2009, 11:19:50 am »
El PDF lo obtengo así:

*  saco los datos del smartform
  DATA:
      lfm_name TYPE rs38l_fnam,
      lw_ctrlop TYPE ssfctrlop,
      lw_compop TYPE ssfcompop,
      lw_return TYPE ssfcrescl,
      li_otf TYPE itcoo OCCURS 0 WITH HEADER LINE,
      lv_len_in LIKE sood-objlen,
      li_tline TYPE TABLE OF tline WITH HEADER LINE.

*  llamo a mi smartform ZSGCF0001
  CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
      formname           = 'ZSGCF0001'
    IMPORTING
      fm_name            = lfm_name
    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 no verlo y que se marquen solos algunos botones
*  para que se mande imprimir directamente
  lw_ctrlop-getotf    = 'X'.
  lw_ctrlop-no_dialog = 'X'.
  lw_compop-tdnoprev  = 'X'.

*  se visualizaría el smartform
  CALL FUNCTION lfm_name
    EXPORTING
      control_parameters = lw_ctrlop
      output_options     = lw_compop
      user_settings      = 'X'
      e_task             = pi_e_task
      e_object           = pi_e_object
      i_estimation       = pi_i_estimation
      i_text_detail      = pi_i_text_detail
    IMPORTING
      job_output_info    = lw_return
    EXCEPTIONS
      formatting_error   = 1
      internal_error     = 2
      send_error         = 3
      user_canceled      = 4
      OTHERS             = 5.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

  li_otf[] = lw_return-otfdata[].

  CALL FUNCTION 'CONVERT_OTF'
    EXPORTING
      format                = 'PDF'
      max_linewidth         = 132
    IMPORTING
      bin_filesize          = lv_len_in
    TABLES
      otf                   = li_otf
      lines                 = li_tline
    EXCEPTIONS
      err_max_linewidth     = 1
      err_format            = 2
      err_conv_not_possible = 3
      err_bad_otf           = 4
      OTHERS                = 5.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

*  tenemos los datos del smartform en la ***** li_tline *****

5
Formularios / Re: PDF por EMAIL con opción de "A" y "CC"
« en: 22 de Mayo de 2009, 11:17:59 am »
Se puede hacer con: SO_NEW_DOCUMENT_SEND_API1
Pero limita el Asunto a 12 caracteres y el Cuerpo del email a 50.

He encontrado éste código, pero no se como anexar la tabla interna en la q tengo el PDF, si alguien me podría echar una mano por favor.

DATA : l_o_send_request TYPE REF TO cl_bcs, " email request object
l_o_document TYPE REF TO cl_document_bcs, " documents object
l_o_sender TYPE REF TO cl_cam_address_bcs, " sender object
l_o_recipient TYPE REF TO cl_cam_address_bcs, " recipient object
bcs_exception TYPE REF TO cx_bcs, " exceptions
l_v_ret TYPE os_boolean, " boolean return value
" document contents
l_it_contents TYPE bcsy_text,
l_wa_contents TYPE LINE OF bcsy_text,
" documents attachment
l_i_attachment TYPE solix_tab.

TRY.
" create email objects
l_o_send_request = cl_bcs=>create_persistent( ).
" sender
l_o_sender = cl_cam_address_bcs=>create_internet_address( 'emailaddressAsender.com' ).
l_o_send_request->set_sender( i_sender = l_o_sender ).
" recipient TO
l_o_recipient = cl_cam_address_bcs=>create_internet_address( 'emailtoArecipient.com' ).
l_o_send_request->add_recipient(
i_recipient = l_o_recipient
i_copy = '' " CC indicator).
" recipient CC
l_o_recipient = cl_cam_address_bcs=>create_internet_address( 'emailccArecipient.com' ).
l_o_send_request->add_recipient(
i_recipient = l_o_recipient
i_copy = 'X' " CC indicator).

" email contents
CLEAR l_wa_contents.
l_wa_contents-line = 'Dear Recipients,'.
APPEND l_wa_contents TO l_it_contents.

CLEAR l_wa_contents.
l_wa_contents-line = 'This in the contents attachments'.
APPEND l_wa_contents TO l_it_contents.

" create documents
l_o_document = cl_document_bcs=>create_document(
i_type = 'RAW' " RAW document format
i_text = l_it_contents
i_subject = 'This Is The Subject for Email With Attachment' ).

l_o_document->add_attachment(
i_attachment_type = 'PDF' " add PDF attachment
i_attachment_subject = 'PDF attachment'
i_att_content_hex = l_i_attachment ).
l_o_send_request->set_document( l_o_document ).


" send email
l_v_ret = l_o_send_request->send( ).

CATCH cx_bcs INTO bcs_exception. " exceptions, do something
ENDTRY.
COMMIT WORK. " never forget this one


6
Formularios / PDF por EMAIL con opción de "A" y "CC"
« en: 15 de Mayo de 2009, 02:20:16 pm »
Hola otra vez.
Me gustaría mandar un Smartform convertido a PDF por email, a unas personas (campo a: del email) y a otras (campo cc: del email).
Tiene q ser así, no puedo juntar los emails.

Yo se crear el PDF y guardarlo en el disco duro. Pero eso no es lo q me piden, porque no tengo permisos de guardarlo en C: y lo tengo q guardar en Mis documentos ...

Pero bueno, aunque lo tuviera q crear en el disco duro, la pregunta es,
a que función le puedo meter el PDF y de manera independiente los que reciben el email en "a:" y en "c:".

Muchas gracias

7
Programación ABAP / Re: ALV orientado a objetos
« en: 15 de Mayo de 2009, 12:40:00 pm »
Solucionado, pero sin marcar la X en el campo. Como ya tengo las líneas q selecciono cojo de ellas la información q me interesa.

Pongo el código q he usado por si a alguien le puede venir bien:
*  saco los email de las personas a las q se mandarán 
  DATA: lv_emails_a TYPE string.
*  obtengo el nº de fila que se ha marcado en alv_a
*  con esos nº guardo los emails en strings

  DATA: li_indices_filas_a    TYPE lvc_t_row,
           li_numeros_filas_a  TYPE lvc_t_roid.
*  filas marcadas en alv_a
  CALL METHOD g_grid_a->get_selected_rows
    IMPORTING
      et_index_rows = li_indices_filas_a
      et_row_no      = li_numeros_filas_a.
*  saco los emails para a
  IF NOT li_numeros_filas_a IS INITIAL.
    LOOP AT li_numeros_filas_a ASSIGNING <lw_numeros_filas>.
      READ TABLE i_mail_a ASSIGNING <w_tab_mail_a> INDEX <lw_numeros_filas>-row_id.
      CONCATENATE lv_emails_a <w_tab_mail_a>-email ';' INTO lv_emails_a.
    ENDLOOP.
  ENDIF.

Gracias por todo.

8
Programación ABAP / Re: ALV orientado a objetos
« en: 15 de Mayo de 2009, 10:11:22 am »
Perfecto. Muchas gracias Nuria.

Kisiera hacer otra preguntilla, q supongo básica, pero no lo veo.

He obtenido las filas marcadas en la tabla lf_et_row_no. El campo ROW_ID de esa tabla tiene los números de las filas marcadas, por ejemplo (2 y 4).

Tengo una i_tabla con un campo MARCAR (char1), q tiene por ejemplo 5 filas.

Y kiero marcar la  i_tabla-marcar[2] = 'X'    y
                        i_tabla-marcar[4] = 'X'

¿Supongo q será un insert o un update, pero se puede indicar el campo y la posición de la tabla interna a la q le kieres meter un cierto valor?

Supongo q no será mu complicado, pero no lo veo.

Gracias de nuevo por adelantado

9
Programación ABAP / ALV orientado a objetos
« en: 14 de Mayo de 2009, 02:26:20 pm »
Muy buenas.
He creado un ALV orientado a objetos:
- he creado el contenedor
- el objeto ALV
- el catálogo
- layout:
    g_layout_a-sel_mode   = 'A'.  "pestaña marcar
    g_layout_a-box_fname  = 'MARCAR'.
    g_layout_a-col_opt = 'X'.
    g_layout_a-cwidth_opt = 'X'.  "se ajusta el texto a la casilla
    g_layout_a-zebra = 'X'.
- muestro en el ALV la tabla q kiero: i_mail[]

Todo bien.

Imaginar q hay varias líneas en el ALV, y nosotros marcamos la 1ª y la 3ª.
Kiero q al dar a un botón se marke con una X un campo q hay en la i_mail q es marcar de char1.

No se leer de la ALV la pestaña q se marca y según cual sea escribir en un a tabla interna.

Gracias de antemano

10
Programación ABAP / Variable en Texto Estandar
« en: 12 de Mayo de 2009, 12:39:05 pm »
Muy buenas.
Akí estoy preguntando de nuevo. Supongo q será fácil pero ...... soy novato.

  • En la SO10 he creado un Texto Estandar: " Datos de: &v_df& "
  • Con la función READ_TEXT meto ese texto en una tabla

Pero ahora me interesaría darle un valor a esa variable: v_df

En la tabla sólo tengo esa frase y está en la primera línea.
La pregunta es esa, como darle un valor a una variable q está metida en una tabla.

Supongo q también se podría meter un valor en la variable desde el propio READ_TEXT, o antes de meterlo en la tabla, pero eso sólo lo supongo.

Si alguien me podría decir algo por favor.

Gracias.

11
Programación ABAP / Re: Minisap
« en: 29 de Abril de 2009, 08:48:45 am »
Gracias torrescano, pero ya lo instalé y no se me ocurrió adelantar la fecha del PC.
Si lo tengo q formatear para volver a instalar y q sea útil otra vez el minisap, lo haré a ver q pasa.

Mi pregunta es acerca de como obtener la licencia de los 3 meses.
He ido al enlace de esta web: Mini SAP / Licencia para 3 meses y me pide q eliga entre estas ociones:

BSP - WebAS 6.20                     Web Application Server 6.20 ABAP - fully supporting BSP programming model
WA1 - WebAS 6.10                    ABAP Objects reference book 
NSP - SAP NetWeaver 7.0           SAP NetWeaver Sneak Preview ABAP Edition from SDN
N71 - SAP NetWeaver 7.1           SAP NetWeaver Sneak Preview ABAP Edition from SDN
J2E - J2EE-Engine (6.40)             SAP NetWeaver Sneak Preview Java Edition from SDN
J2E - J2EE-Engine (7.00)             SAP NetWeaver Sneak Preview Java Edition from SDN
J2E - J2EE-Engine (7.10)             SAP NetWeaver Sneak Preview Java Edition from SDN
CE1 - SAP Java Engine 7.1 (CE)    SAP NetWeaver Composition Environment (Java) from SDN

Yo tengo el minisap, q versión de estás q me ofrecen es? Me podeis decir por favor?


Y SDN User id * q es obligatorio, q es? La contraseña en la web www.sdn.sap.com ?
O un nombre de usuario cualkiera como un nick, q me diferencie de los demás.

U el Hardware key (HWID) *  q es?


Lo siento por estar tan preguntón.
Sin más, muchas gracias, os portais bien con los novatos, jeje.

12
Programación ABAP / Re: Codigo en un formulario o smartforms en el MINISAP
« en: 23 de Abril de 2009, 04:14:56 pm »
No lo he encontrado en un smartforms, pero si en un formulario haces:

Settings / Form Painter... / Sapscript / (desmarcar) Graphical PC Editor


en el smartforms también salen las celdas.

Gracias

13
Programación ABAP / Re: Codigo en un formulario o smartforms en el MINISAP
« en: 23 de Abril de 2009, 04:06:01 pm »
Gracias Nuria.
No es eso lo q kería, pero también me viene bien. Lo q me has dicho es para ver la disposición de las ventanas q creo.

En un formulario:
Lo q yo decía es en la misma pestaña, pero no Opciones porque el MINISAP está en ingles:
Settings / Form Painter... / Sapscript / (desmarcar) Graphical PC Editor


Ahora me falta encontrar lo mismo para el smartforms.

muchas gracias

14
Programación ABAP / Codigo en un formulario o smartforms en el MINISAP
« en: 23 de Abril de 2009, 08:45:15 am »
Hola. A ver si me explico.
En un formulario o en un smartforms de SAP el código q escribes para q salga por la pantalla se hace en un recuadro q tiene celdas. A la izquierda una pequeña celda, donde pones el tipo de párrafo q es, y a la derecha donde pones el código,

por ejemplo:
P1 ,,Nombre:,,&txtnombre&
=  ,,Fecha:,,&sy-datum&
/
P2 ,,Dirección:,,&txtdireccion&

La pregunta es, en MINISAP, no salen las celdas, ni el recuadro pequeño de la izquierda ni el grande de la derecha, es como una hoja de word en blanco, y si escribo lo de arriba no funciona. Lo coge todo como texto, no coge el txtnombre como una variable y no muestra su valor, sino la palabra &txtnombre&.

En el smartforms ya se q hay q decirle a éste q variables son de entrada, pero por ejempo en el formulario q es mas sencillo tampoco funciona.

Gracias de antemano.

15
Programación ABAP / Re: Minisap
« en: 14 de Abril de 2009, 01:58:52 pm »
Gracias Carlos.
Los bajé de uno de los enlaces y seguí el manual, perfecto.

Ahora tengo q mirar lo de conseguir el número para q me dure 3 meses.

Muchas gracias.

Páginas: [1] 2