#1
|
|||
|
|||
Alv...inspeccion De Materiales
Hola a todos.
Tengo el siguiente codigo ( esta completo para el que quiera copiar y pegar para probarlo) TABLES: mapl, makt, plmk, qpac, qpcd. TYPES: BEGIN OF ti_datos, matnr LIKE mapl-matnr, maktx LIKE makt-maktx, plnty LIKE mapl-plnty, plnnr LIKE mapl-plnnr, code LIKE qpac-code, codegruppe LIKE qpac-codegruppe, verwmerkm LIKE plmk-verwmerkm, kurztext LIKE plmk-kurztext, toleranzob LIKE plmk-pruefeinh, toleranzun LIKE plmk-pruefeinh, sollwert LIKE plmk-pruefeinh, toleranzob_text LIKE plmk-kurztext, toleranzun_text LIKE plmk-kurztext, sollwert_text LIKE plmk-kurztext, katab1 LIKE plmk-katab1, END OF ti_datos. DATA : datos TYPE TABLE OF ti_datos WITH HEADER LINE. DATA : code LIKE qpac-code, kurztext LIKE plmk-kurztext. SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001. SELECT-OPTIONS: s_mate FOR mapl-matnr OBLIGATORY. SELECTION-SCREEN END OF BLOCK b1. TYPE-POOLS: slis. DATA: w_layout TYPE slis_layout_ alv. DATA: i_fieldcat TYPE slis_t_fieldcat_ alv, w_fieldcat TYPE slis_fieldcat_ alv. DATA: i_sort TYPE TABLE OF slis_sortinfo_ alv, w_sort TYPE slis_sortinfo_ alv. DATA: i_events TYPE slis_t_event, w_events TYPE slis_alv_event. DATA: report LIKE sy-repid. DATA: i_list_comments TYPE slis_t_listheader, w_list_comments LIKE LINE OF i_list_comments. DATA: w_disvariant TYPE disvariant, w_es_variant LIKE disvariant, w_variant_exit( 1) TYPE c. INITIALIZATION. report = sy-repid. START-OF-SELECTION. PERFORM cargar_datos . END-OF-SELECTION. PERFORM do_alv. *&---------- --------- --------- --------- --------- --------- --- -* *& FORM cargar_datos *&---------- --------- --------- --------- --------- --------- --- -* * text *----------- --------- --------- --------- --------- --------- -- -* * --> p1 text * <-- p2 text *----------- --------- --------- --------- --------- --------- -- -* FORM cargar_datos. SELECT matnr plnty plnnr FROM mapl INTO CORRESPONDING FIELDS OF TABLE datos WHERE matnr IN s_mate AND plnal EQ '01' AND loekz NE 'X'. IF sy-subrc = 0. LOOP AT datos. SELECT SINGLE matnr maktx FROM makt INTO CORRESPONDING FIELDS OF datos WHERE matnr EQ datos-matnr AND spras EQ 'S'. SELECT SINGLE codegruppe code FROM qpac INTO (datos-codegruppe, datos-code) WHERE bewertung = 'A'. SELECT SINGLE verwmerkm kurztext toleranzob toleranzun sollwert katab1 FROM plmk INTO CORRESPONDING FIELDS OF datos WHERE plnnr = datos-plnnr AND plnty = datos-plnty AND loekz NE 'X'. MOVE datos-toleranzob TO datos-toleranzob_ text. MOVE datos-toleranzun TO datos-toleranzun_ text. MOVE datos-sollwert TO datos-sollwert_ text. MODIFY datos. ENDLOOP. LOOP AT datos. IF datos-katab1 EQ 'X'. datos-toleranzob_ text = '---'. datos-toleranzun_ text = '---'. SELECT SINGLE code FROM qpac INTO code WHERE codegruppe EQ datos-verwmerkm AND bewertung EQ 'A'. SELECT SINGLE kurztext FROM qpct INTO kurztext WHERE code EQ code AND codegruppe EQ datos-verwmerkm. datos-sollwert_ text = kurztext. MODIFY datos. ENDIF. ENDLOOP. ENDIF. ENDFORM. " cargar_datos *&---------- --------- --------- --------- --------- --------- --- -* *& Form do_alv *&---------- --------- --------- --------- --------- --------- --- -* * text *----------- --------- --------- --------- --------- --------- -- -* * --> p1 text * <-- p2 text *----------- --------- --------- --------- --------- --------- -- -* FORM do_alv . PERFORM do_layout. PERFORM do_fieldcat. PERFORM do_events. * PERFORM do_sort. PERFORM call_alv. ENDFORM. " do_alv *&---------- --------- --------- --------- --------- --------- --- -* *& Form do_layout *&---------- --------- --------- --------- --------- --------- --- -* * text *----------- --------- --------- --------- --------- --------- -- -* * --> p1 text * <-- p2 text *----------- --------- --------- --------- --------- --------- -- -* FORM do_layout . CLEAR w_layout. w_layout-zebra = 'X'. "striped pattern w_layout-colwidth_ optimize = 'X'. ENDFORM. " do_layout *&---------- --------- --------- --------- --------- --------- --- -* *& Form do_fieldcat *&---------- --------- --------- --------- --------- --------- --- -* * text *----------- --------- --------- --------- --------- --------- -- -* * --> p1 text * <-- p2 text *----------- --------- --------- --------- --------- --------- -- -* FORM do_fieldcat . REFRESH: i_fieldcat. CLEAR w_fieldcat. CLEAR w_fieldcat. w_fieldcat-fieldnam e = 'MATNR'. w_fieldcat-tabname = 'DATOS'. w_fieldcat-seltext_ l = 'Material'. w_fieldcat-outputle n = '12'. w_fieldcat-no_ zero = 'X'. APPEND w_fieldcat TO i_fieldcat. CLEAR w_fieldcat. w_fieldcat-fieldnam e = 'MAKTX'. w_fieldcat-tabname = 'DATOS'. w_fieldcat-seltext_ l = 'Descripción' . w_fieldcat-outputle n = '50'. APPEND w_fieldcat TO i_fieldcat. CLEAR w_fieldcat. w_fieldcat-fieldnam e = 'VERWMERKM'. w_fieldcat-tabname = 'DATOS'. w_fieldcat-seltext_ l = 'Características de Inspección'. w_fieldcat-outputle n = '12'. APPEND w_fieldcat TO i_fieldcat. CLEAR w_fieldcat. w_fieldcat-fieldnam e = 'KURZTEXT'. w_fieldcat-tabname = 'DATOS'. w_fieldcat-seltext_ l = 'Texto Breve de Características' . w_fieldcat-outputle n = '50'. APPEND w_fieldcat TO i_fieldcat. CLEAR w_fieldcat. w_fieldcat-fieldnam e = 'TOLERANZOB_ TEXT'. w_fieldcat-tabname = 'DATOS'. w_fieldcat-seltext_ l = 'Límite Superior'. w_fieldcat-outputle n = '6'. w_fieldcat-decimals _out = '2'. APPEND w_fieldcat TO i_fieldcat. CLEAR w_fieldcat. w_fieldcat-fieldnam e = 'TOLERANZUN_ TEXT'. w_fieldcat-tabname = 'DATOS'. w_fieldcat-seltext_ l = 'Límite Inferior'. w_fieldcat-outputle n = '6'. w_fieldcat-decimals _out = '2'. APPEND w_fieldcat TO i_fieldcat. CLEAR w_fieldcat. w_fieldcat-fieldnam e = 'SOLLWERT_TEXT' . w_fieldcat-tabname = 'DATOS'. w_fieldcat-seltext_ l = 'Valor Teórico'. w_fieldcat-outputle n = '12'. w_fieldcat-decimals _out = '2'. APPEND w_fieldcat TO i_fieldcat. ENDFORM. " do_fieldcat *&---------- --------- --------- --------- --------- --------- --- -* *& Form do_events *&---------- --------- --------- --------- --------- --------- --- -* * text *----------- --------- --------- --------- --------- --------- -- -* * --> p1 text * <-- p2 text *----------- --------- --------- --------- --------- --------- -- -* FORM do_events . REFRESH i_events. CALL FUNCTION 'REUSE_ALV_EVENTS_ GET' EXPORTING i_list_type = 0 IMPORTING et_events = i_events EXCEPTIONS list_type_wrong = 1 OTHERS = 2. CLEAR w_events. READ TABLE i_events INTO w_events WITH KEY name = slis_ev_top_ of_page. IF sy-subrc = 0. MOVE 'MI_TOP_OF_PAGE' TO w_events-form. MODIFY i_events FROM w_events INDEX sy-tabix. ENDIF. ENDFORM. "do_events* *&---------- --------- --------- --------- --------- --------- --- - * *& Form do_sort *&---------- --------- --------- --------- --------- --------- --- - * * text *----------- --------- --------- --------- --------- --------- -- - * * --> p1 text * <-- p2 text *----------- --------- --------- --------- --------- --------- -- - * FORM do_sort . CLEAR w_sort. REFRESH i_sort. w_sort-spos = '1'. w_sort-fieldname = 'MATNR'. w_sort-tabname = 'DATOS'. w_sort-up = 'X'. w_sort-subtot = 'X'. APPEND w_sort TO i_sort. ENDFORM. " do_sort *&---------- --------- --------- --------- --------- --------- --- -* *& Form call_alv *&---------- --------- --------- --------- --------- --------- --- -* * text *----------- --------- --------- --------- --------- --------- -- -* * --> p1 text * <-- p2 text *----------- --------- --------- --------- --------- --------- -- -* FORM call_alv . CALL FUNCTION 'REUSE_ALV_GRID_ DISPLAY' EXPORTING * I_INTERFACE_ CHECK = ' ' * I_BYPASSING_ BUFFER = ' ' * I_BUFFER_ACTIVE = ' ' i_callback_program = report * I_CALLBACK_PF_ STATUS_SET = ' ' * I_CALLBACK_USER_ COMMAND = ' ' * I_CALLBACK_TOP_ OF_PAGE = ' ' * I_CALLBACK_HTML_ TOP_OF_PAGE = ' ' * I_CALLBACK_HTML_ END_OF_LIST = ' ' * I_STRUCTURE_ NAME = * I_BACKGROUND_ ID = ' ' * I_GRID_TITLE = * I_GRID_SETTINGS = is_layout = w_layout it_fieldcat = i_fieldcat * IT_EXCLUDING = * IT_SPECIAL_GROUPS = it_sort = i_sort * IT_FILTER = * IS_SEL_HIDE = * I_DEFAULT = 'X' i_save = 'X' * is_variant = w_es_variant it_events = i_events * IT_EVENT_EXIT = * IS_PRINT = * IS_REPREP_ID = * I_SCREEN_START_ COLUMN = 0 * I_SCREEN_START_ LINE = 0 * I_SCREEN_END_ COLUMN = 0 * I_SCREEN_END_ LINE = 0 * I_HTML_HEIGHT_ TOP = 0 * I_HTML_HEIGHT_ END = 0 * IT_ALV_GRAPHICS = * IT_HYPERLINK = * IT_ADD_FIELDCAT = * IT_EXCEPT_QINFO = * IR_SALV_FULLSCREEN_ ADAPTER = * IMPORTING * E_EXIT_CAUSED_ BY_CALLER = * ES_EXIT_CAUSED_ BY_USER = TABLES t_outtab = datos EXCEPTIONS program_error = 1 OTHERS = 2 . IF sy-subrc <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. ENDFORM. " call_alv **&--------- --------- --------- --------- --------- --------- ---- -- ** **& Form mi_top_of_page **&--------- --------- --------- --------- --------- --------- ---- -- ** ** text **---------- --------- --------- --------- --------- --------- --- -- ** ** --> p1 text ** <-- p2 text **---------- --------- --------- --------- --------- --------- --- -- ** FORM mi_top_of_page. DATA: fecha(10), fecha1(10), w_bztxt LIKE t171t-bztxt, w_zovta(35), w_vtext LIKE tvkot-vtext, w_orvta(35), w_cadis(35). CLEAR: i_list_comments[ ]. w_list_comments- typ = 'H'. "H=Header, S=Selection, A=Action w_list_comments- key = ''. w_list_comments- info = 'MOLDEADOS ANDINOS, C.A. (MOLANCA)'. APPEND w_list_comments TO i_list_comments. w_list_comments- typ = 'H'. "H=Header, S=Selection, A=Action w_list_comments- key = ''. w_list_comments- info = 'Caractarísticas de Inspección por Material'. APPEND w_list_comments TO i_list_comments. w_list_comments- typ = 'S'. "H=Header, S=Selection, A=Action w_list_comments- key = 'Usuario: '. w_list_comments- info = sy-uname. APPEND w_list_comments TO i_list_comments. WRITE sy-datum TO fecha. w_list_comments- typ = 'S'. "H=Header, S=Selection, A=Action w_list_comments- key = 'Fecha: '. w_list_comments- info = fecha. APPEND w_list_comments TO i_list_comments. w_list_comments- typ = 'S'. "H=Header, S=Selection, A=Action w_list_comments- key = 'Página: '. w_list_comments- info = sy-pagno. APPEND w_list_comments TO i_list_comments. CALL FUNCTION 'REUSE_ALV_COMMENTA RY_WRITE' EXPORTING * i_logo = ' ' it_list_commentary = i_list_comments. ENDFORM. "mi_top_of_page *&---------- --------- --------- --------- --------- --------- --- -* *& Form validate_variant *&---------- --------- --------- --------- --------- --------- --- -* * text *----------- --------- --------- --------- --------- --------- -- -* * --> p1 text * <-- p2 text *----------- --------- --------- --------- --------- --------- -- -* *FORM validate_variant . *ENDFORM. El problema que tengo es que no me muestra el detalle del material 52000021 o se repite el material 42000012 y asi. Debe salir la caracteristica de inspeccion TER-PESO TER-ALTU TER-PMEC y SAL-VISU . el codigo hace que salga solo la primera y la ultima y no las dos del medio. Y por ultimo el texto breve de caracteristica se lo trae incorrectamente, es decir se trae uno pero no es el que pide el usuario. Por fa , Auxilio, alguien que me ayude
__________________
Marilin Mendoza |
Herramientas | Buscar en Tema |
Desplegado | |
|
|