Lo que necesitas ahora es el evento AT USER-COMMAND.
el codigo del hotspot es el &IC1 y solo despues debes teenr una variable aux = sy-curow - 2. read table it_trazbi_sem index aux. debido a que por defaul la primera linea se imprime en la linea 3 despues mandar este codigo: SET PARAMETER ID 'QLS' FIELD it_trazbi_sem-prueflos. call TRANSACTION 'QA13' and SKIP FIRST SCREEN. y listo espero te sirva saludos!!! |
Un código al hotspot???
|
cuando introduces un Status Z, el hot spot se le asigna automaticamente el codigo &IC1.
Saludos!!! |
No entiendo lo que quieres decir cuando dices que le he de asociar ese código al hotspot... Estoy un poco perdido con eso... He de tocar algo en mi status Z o tocar el código del programa?
Muchas gracias |
en tu funcion
form write. loop at it_trazbi_sem. write: /, at 10 it_trazbi_sem-charg, at 30 it_trazbi_sem-prueflos HOTSPOT. hide it_trazbi_sem-prueflos. endloop. clear it_trazbi_sem. endform. Lo que puse en rojo, es el texto en Hotspot. por lo tanto cuando tu le pones el status Z ese campo se le asigna automaticamente el codigo &IC1. entonces en el AT user-command. debes poner algo asi: case sy-ucomm. when '&IC1'. "Codigo X" encase. con esto ya tienes la funcionalidad del clic. espero te quede mas claro. |
Ya había probado algo así, pero ahora no funciona nada, no hay que poner at line selectio o si? donde?
No entiendo que pasa!!! Estoy un poco desesperado. Te pongo el código que estoy probando a ver si me puedes ayudar. Gracias. ****************************************** REPORT ZQM_TRAZABILIDAD_SEM no STANDARD PAGE HEADING. tables: caufv, qals. data: va_aufnr like caufv-aufnr. data: begin of it_aufnr occurs 0, aufnr like caufv-aufnr. data: end of it_aufnr. data: begin of it_trazbi_sem occurs 0, charg like qals-charg, prueflos like qals-prueflos. data: end of it_trazbi_sem. SELECTION-SCREEN BEGIN OF BLOCK B0 WITH FRAME. PARAMETERS: Ciclo like caufv-cy_seqnr OBLIGATORY. SELECTION-SCREEN END OF BLOCK B0. AT SELECTION-SCREEN ON VALUE-REQUEST FOR ciclo. START-OF-SELECTION. perform selection. end-of-SELECTION. set PF-STATUS 'ZSTATUSTRAZABILIDAD'. perform write. CASE sy-ucomm. WHEN 'MEDIA'. PERFORM cal_media. WHEN '&IC1'. if not it_trazbi_sem-prueflos is initial. SET PARAMETER ID 'QLS' FIELD it_trazbi_sem-prueflos. call TRANSACTION 'QA13' and SKIP FIRST SCREEN. else. MESSAGE s001(z1). endif. endcase. form selection. select aufnr from caufv into CORRESPONDING FIELDS OF TABLE it_aufnr WHERE cy_seqnr = ciclo. SELECT charg prueflos from qals into CORRESPONDING FIELDS OF table it_trazbi_sem FOR ALL ENTRIES IN it_aufnr where aufnr = it_aufnr-aufnr. endform. form write. write: /, at 10 'LOTE', at 30 'TOLVA', at 50 'LOTE INSP.'. write: /. uline at 10(50). loop at it_trazbi_sem. write: /, at 30 it_trazbi_sem-charg, at 50 it_trazbi_sem-prueflos HOTSPOT. hide it_trazbi_sem-prueflos. endloop. clear it_trazbi_sem. endform. form cal_media. write: /, 'Hola'. endform. |
antes del CASE sy-ucomm.
necesitas el AT USER-COMMAND. Pruebalo. REPORT ZQM_TRAZABILIDAD_SEM no STANDARD PAGE HEADING. tables: caufv, qals. data: va_aufnr like caufv-aufnr. data: begin of it_aufnr occurs 0, aufnr like caufv-aufnr. data: end of it_aufnr. data: begin of it_trazbi_sem occurs 0, charg like qals-charg, prueflos like qals-prueflos. data: end of it_trazbi_sem. SELECTION-SCREEN BEGIN OF BLOCK B0 WITH FRAME. PARAMETERS: Ciclo like caufv-cy_seqnr OBLIGATORY. SELECTION-SCREEN END OF BLOCK B0. AT SELECTION-SCREEN ON VALUE-REQUEST FOR ciclo. START-OF-SELECTION. perform selection. end-of-SELECTION. set PF-STATUS 'ZSTATUSTRAZABILIDAD'. perform write. AT user-command. CASE sy-ucomm. WHEN 'MEDIA'. PERFORM cal_media. WHEN '&IC1'. if not it_trazbi_sem-prueflos is initial. SET PARAMETER ID 'QLS' FIELD it_trazbi_sem-prueflos. call TRANSACTION 'QA13' and SKIP FIRST SCREEN. else. MESSAGE s001(z1). endif. endcase. form selection. select aufnr from caufv into CORRESPONDING FIELDS OF TABLE it_aufnr WHERE cy_seqnr = ciclo. SELECT charg prueflos from qals into CORRESPONDING FIELDS OF table it_trazbi_sem FOR ALL ENTRIES IN it_aufnr where aufnr = it_aufnr-aufnr. endform. form write. write: /, at 10 'LOTE', at 30 'TOLVA', at 50 'LOTE INSP.'. write: /. uline at 10(50). loop at it_trazbi_sem. write: /, at 30 it_trazbi_sem-charg, at 50 it_trazbi_sem-prueflos HOTSPOT. hide it_trazbi_sem-prueflos. endloop. clear it_trazbi_sem. endform. form cal_media. write: /, 'Hola'. endform. |
Añadiendo el at-user command sigue sin funcionar...:(
|
Haber prueba el codigo que te voy a pasar.
Vuelve a probar esto!!!!!
REPORT zqm_trazabilidad_sem NO STANDARD PAGE HEADING. TABLES: caufv, qals. DATA: va_aufnr LIKE caufv-aufnr. DATA: aux LIKE sy-tabix. DATA: BEGIN OF it_aufnr OCCURS 0, aufnr LIKE caufv-aufnr. DATA: END OF it_aufnr. DATA: BEGIN OF it_trazbi_sem OCCURS 0, charg LIKE qals-charg, prueflos LIKE qals-prueflos. DATA: END OF it_trazbi_sem. SELECTION-SCREEN BEGIN OF BLOCK b0 WITH FRAME. PARAMETERS: ciclo LIKE caufv-cy_seqnr OBLIGATORY. SELECTION-SCREEN END OF BLOCK b0. AT SELECTION-SCREEN ON VALUE-REQUEST FOR ciclo. START-OF-SELECTION. PERFORM selection. set PF-STATUS 'ZSTATUSTRAZABILIDAD'. END-OF-SELECTION. PERFORM write. AT USER-COMMAND. CASE sy-ucomm. WHEN 'MEDIA'. PERFORM cal_media. WHEN '&IC1'. aux = sy-curow - 4. READ TABLE it_trazbi_sem INDEX aux. IF sy-subrc = 0. SET PARAMETER ID 'QLS' FIELD it_trazbi_sem-prueflos. CALL TRANSACTION 'QA13' AND SKIP FIRST SCREEN. ENDIF. ENDCASE. *---------------------------------------------------------------------* * FORM selection * *---------------------------------------------------------------------* * ........ * *---------------------------------------------------------------------* FORM selection. SELECT aufnr FROM caufv INTO CORRESPONDING FIELDS OF TABLE it_aufnr WHERE cy_seqnr = ciclo. SELECT charg prueflos FROM qals INTO CORRESPONDING FIELDS OF TABLE it_trazbi_sem FOR ALL ENTRIES IN it_aufnr WHERE aufnr = it_aufnr-aufnr. ENDFORM. *---------------------------------------------------------------------* * FORM write * *---------------------------------------------------------------------* * ........ * *---------------------------------------------------------------------* FORM write. WRITE: /, AT 10 'LOTE', AT 30 'TOLVA', AT 50 'LOTE INSP.'. WRITE: /. ULINE AT 10(50). LOOP AT it_trazbi_sem. WRITE: /30 it_trazbi_sem-charg, 50 it_trazbi_sem-prueflos HOTSPOT. HIDE it_trazbi_sem-prueflos. ENDLOOP. CLEAR it_trazbi_sem. ENDFORM. *---------------------------------------------------------------------* * FORM cal_media * *---------------------------------------------------------------------* * ........ * *---------------------------------------------------------------------* FORM cal_media. WRITE: /, 'Hola'. ENDFORM. con esto solo le debes dar clic al lote que quieres visualizar. |
He probado tu código y no funciona la llamada al call transactión...
Con este código funcionaba, pero claro el status estaba comentado...: confused: REPORT ZQM_TRAZABILIDAD_SEM no STANDARD PAGE HEADING. tables: caufv, qals. data: va_aufnr like caufv-aufnr. data: begin of it_aufnr occurs 0, aufnr like caufv-aufnr. data: end of it_aufnr. data: begin of it_trazbi_sem occurs 0, charg like qals-charg, prueflos like qals-prueflos. data: end of it_trazbi_sem. SELECTION-SCREEN BEGIN OF BLOCK B0 WITH FRAME. PARAMETERS: Ciclo like caufv-cy_seqnr OBLIGATORY. SELECTION-SCREEN END OF BLOCK B0. AT SELECTION-SCREEN ON VALUE-REQUEST FOR ciclo. START-OF-SELECTION. perform selection. end-of-SELECTION. *set PF-STATUS 'ZSTATUSTRAZABILIDAD'. perform write. at LINE-SELECTION. if not it_trazbi_sem-prueflos is initial. SET PARAMETER ID 'QLS' FIELD it_trazbi_sem-prueflos. call TRANSACTION 'QA13' and SKIP FIRST SCREEN. else. MESSAGE s001(z1). endif. form selection. select aufnr from caufv into CORRESPONDING FIELDS OF TABLE it_aufnr WHERE cy_seqnr = ciclo. SELECT charg prueflos from qals into CORRESPONDING FIELDS OF table it_trazbi_sem FOR ALL ENTRIES IN it_aufnr where aufnr = it_aufnr-aufnr. endform. form write. write: /, at 10 'LOTE', at 30 'TOLVA', at 50 'LOTE INSP.'. write: /. uline at 10(50). loop at it_trazbi_sem. write: /, at 30 it_trazbi_sem-charg, at 50 it_trazbi_sem-prueflos HOTSPOT. hide it_trazbi_sem-prueflos. endloop. clear it_trazbi_sem. endform. form cal_media. write: /, 'Hola'. endform. AT USER-COMMAND. CASE sy-ucomm. WHEN 'MEDIA'. PERFORM cal_media. WHEN '&IC1'. endcase. |
Husos Horarios son GMT. La hora en este momento es 02:22:07. |
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web