<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://sapwiki.cl/wiki/index.php?action=history&amp;feed=atom&amp;title=SAP_MM_ABAP</id>
	<title>SAP MM ABAP - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://sapwiki.cl/wiki/index.php?action=history&amp;feed=atom&amp;title=SAP_MM_ABAP"/>
	<link rel="alternate" type="text/html" href="https://sapwiki.cl/wiki/index.php?title=SAP_MM_ABAP&amp;action=history"/>
	<updated>2026-10-26T11:15:10Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.34.0</generator>
	<entry>
		<id>https://sapwiki.cl/wiki/index.php?title=SAP_MM_ABAP&amp;diff=1761&amp;oldid=prev</id>
		<title>WikiSysop: Created page with &quot;==Leer vistas de Material==  &lt;nowiki&gt; FORM asignar_campos_mara. **********************************************************************  *  DATA ld_pstat LIKE t134-pstat.   DAT...&quot;</title>
		<link rel="alternate" type="text/html" href="https://sapwiki.cl/wiki/index.php?title=SAP_MM_ABAP&amp;diff=1761&amp;oldid=prev"/>
		<updated>2026-06-25T01:29:20Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;==Leer vistas de Material==  &amp;lt;nowiki&amp;gt; FORM asignar_campos_mara. **********************************************************************  *  DATA ld_pstat LIKE t134-pstat.   DAT...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Leer vistas de Material==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
FORM asignar_campos_mara.&lt;br /&gt;
**********************************************************************&lt;br /&gt;
&lt;br /&gt;
*  DATA ld_pstat LIKE t134-pstat.&lt;br /&gt;
  DATA lt_bildtab TYPE TABLE OF  mbildtab.&lt;br /&gt;
  DATA ls_bildtab LIKE LINE OF lt_bildtab.&lt;br /&gt;
&lt;br /&gt;
  CALL FUNCTION &amp;#039;Z_MMMF_OBTENER_VISTAS&amp;#039;&lt;br /&gt;
   EXPORTING&lt;br /&gt;
     i_tcode              = &amp;#039;MM01&amp;#039;&lt;br /&gt;
     i_matnr              =  gs_mara-matnr&lt;br /&gt;
*   I_MTART              =&lt;br /&gt;
    TABLES&lt;br /&gt;
      et_bildtab          = lt_bildtab&lt;br /&gt;
            .&lt;br /&gt;
&lt;br /&gt;
  LOOP AT lt_bildtab INTO ls_bildtab.&lt;br /&gt;
* ver tablas t133a &amp;amp; t133b&lt;br /&gt;
&lt;br /&gt;
    IF ls_bildtab-auswg = &amp;#039;07&amp;#039;.&lt;br /&gt;
      gs_material-xeik1 = &amp;#039;X&amp;#039;.    &amp;quot;&amp;amp;# 5 Basic data&lt;br /&gt;
    ENDIF.&lt;br /&gt;
&lt;br /&gt;
    IF ls_bildtab-auswg = &amp;#039;21&amp;#039;.&lt;br /&gt;
      gs_material-xeib1 = &amp;#039;X&amp;#039;.   &amp;quot;&amp;amp;# 6 Accounting&lt;br /&gt;
    ENDIF.&lt;br /&gt;
&lt;br /&gt;
    IF ls_bildtab-auswg = &amp;#039;34&amp;#039;.&lt;br /&gt;
      gs_material-xeig1 = &amp;#039;X&amp;#039;.   &amp;quot;&amp;amp;# 7 Costing&lt;br /&gt;
    ENDIF.&lt;br /&gt;
&lt;br /&gt;
    IF ls_bildtab-auswg = &amp;#039;30&amp;#039;.&lt;br /&gt;
      gs_material-xeip1 = &amp;#039;X&amp;#039;.  &amp;quot;&amp;amp;# 8 Forecasting&lt;br /&gt;
    ENDIF.&lt;br /&gt;
&lt;br /&gt;
    IF ls_bildtab-auswg = &amp;#039;12&amp;#039;.&lt;br /&gt;
      gs_material-xeive = &amp;#039;X&amp;#039;.  &amp;quot;&amp;amp;# 9 Foreign Trade Export&lt;br /&gt;
    ENDIF.&lt;br /&gt;
&lt;br /&gt;
    IF  ls_bildtab-auswg = &amp;#039;26&amp;#039; .&lt;br /&gt;
      gs_material-xeid1 = &amp;#039;X&amp;#039;.                              &amp;quot;&amp;amp;# 10 MRP&lt;br /&gt;
    ENDIF.&lt;br /&gt;
&lt;br /&gt;
    IF ls_bildtab-auswg = &amp;#039;18&amp;#039;.&lt;br /&gt;
      gs_material-xeil1 = &amp;#039;X&amp;#039;.  &amp;quot;&amp;amp;# 11 Storage&lt;br /&gt;
    ENDIF.&lt;br /&gt;
&lt;br /&gt;
    IF ls_bildtab-auswg = &amp;#039;14&amp;#039;.&lt;br /&gt;
      gs_material-xeie1 = &amp;#039;X&amp;#039;.  &amp;quot;&amp;amp;# 12 Purchasing&lt;br /&gt;
    ENDIF.&lt;br /&gt;
&lt;br /&gt;
    IF ls_bildtab-auswg = &amp;#039;20&amp;#039;.&lt;br /&gt;
      gs_material-xeiq1 = &amp;#039;X&amp;#039;.   &amp;quot;&amp;amp;# 13 Quality&lt;br /&gt;
    ENDIF.&lt;br /&gt;
&lt;br /&gt;
    IF ls_bildtab-auswg = &amp;#039;11&amp;#039;.&lt;br /&gt;
      gs_material-xeiv4 = &amp;#039;X&amp;#039;.  &amp;quot;&amp;amp;# 14 Sales/Plant&lt;br /&gt;
    ENDIF.&lt;br /&gt;
&lt;br /&gt;
    IF ls_bildtab-auswg = &amp;#039;09&amp;#039;.&lt;br /&gt;
      gs_material-xeiv1 = &amp;#039;X&amp;#039;.  &amp;quot;&amp;amp;# 15 Sales Org&lt;br /&gt;
    ENDIF.&lt;br /&gt;
&lt;br /&gt;
    IF  ( ls_bildtab-auswg = &amp;#039;32&amp;#039; OR ls_bildtab-auswg = &amp;#039;33&amp;#039; ).&lt;br /&gt;
      gs_material-xeis1 = &amp;#039;X&amp;#039;.  &amp;quot;&amp;amp;# 16 Warehouse&lt;br /&gt;
    ENDIF.&lt;br /&gt;
&lt;br /&gt;
    IF ls_bildtab-auswg = &amp;#039;31&amp;#039;.&lt;br /&gt;
      gs_material-xeia1 = &amp;#039;X&amp;#039;.  &amp;quot;&amp;amp;# 17 Work Sch&lt;br /&gt;
    ENDIF.&lt;br /&gt;
&lt;br /&gt;
  ENDLOOP.&lt;br /&gt;
&lt;br /&gt;
*  MOVE-CORRESPONDING gs_mara TO gs_material.&lt;br /&gt;
  gs_material-mtpos_mara  = gs_mara-mtpos_mara.             &amp;quot;&amp;amp;# 31&lt;br /&gt;
  gs_material-matnr = gs_mara-matnr.                        &amp;quot;&amp;amp;# 1&lt;br /&gt;
  gs_material-mbrsh = gs_mara-mbrsh.                        &amp;quot;&amp;amp;# 2&lt;br /&gt;
  gs_material-mtart = gs_mara-mtart.&lt;br /&gt;
  gs_material-meins = gs_mara-meins.                        &amp;quot;&amp;amp;# 28&lt;br /&gt;
  gs_material-matkl = gs_mara-matkl.                        &amp;quot;&amp;amp;# 29&lt;br /&gt;
  gs_material-bismt = gs_mara-bismt.                        &amp;quot;&amp;amp;# 30&lt;br /&gt;
  gs_material-gewei = gs_mara-gewei.                        &amp;quot;&amp;amp;# 55&lt;br /&gt;
  gs_material-kosch = gs_mara-kosch.                        &amp;quot;&amp;amp;# 56&lt;br /&gt;
  gs_material-magrv = gs_mara-magrv.                        &amp;quot;&amp;amp;# 57&lt;br /&gt;
  gs_material-ntgew = gs_mara-ntgew.                        &amp;quot;&amp;amp;# 58&lt;br /&gt;
  gs_material-prdha = gs_mara-prdha.                        &amp;quot;&amp;amp;# 59&lt;br /&gt;
  gs_material-rmatp = gs_mara-rmatp.                        &amp;quot;&amp;amp;# 60&lt;br /&gt;
  gs_material-spart = gs_mara-spart.                        &amp;quot;&amp;amp;# 61&lt;br /&gt;
  gs_material-profl = gs_mara-profl.&amp;quot;&amp;amp;# 76 &amp;lt;-- 63&lt;br /&gt;
  gs_material-kzumw = gs_mara-kzumw.                        &amp;quot;&amp;amp;# 77&lt;br /&gt;
  gs_material-behvo = gs_mara-behvo.&lt;br /&gt;
  gs_material-stoff = gs_mara-stoff.&lt;br /&gt;
  gs_material-etifo = gs_mara-etifo.&lt;br /&gt;
  gs_material-etiar = gs_mara-etiar.&lt;br /&gt;
  gs_material-raube = gs_mara-raube.&lt;br /&gt;
  gs_material-tempb = gs_mara-tempb.&lt;br /&gt;
  gs_material-mhdrz = gs_mara-mhdrz.&lt;br /&gt;
  gs_material-iprkz = gs_mara-iprkz.&lt;br /&gt;
  gs_material-rdmhd = gs_mara-rdmhd.&lt;br /&gt;
  gs_material-mhdlp = gs_mara-mhdlp.&lt;br /&gt;
  gs_material-mhdhb = gs_mara-mhdhb.&lt;br /&gt;
  gs_material-bstme = gs_mara-bstme.&lt;br /&gt;
  gs_material-vabme = gs_mara-vabme.&lt;br /&gt;
  gs_material-mfrnr = gs_mara-mfrnr.&lt;br /&gt;
  gs_material-mfrpn = gs_mara-mfrpn.&lt;br /&gt;
  gs_material-ekwsl = gs_mara-ekwsl.&lt;br /&gt;
  gs_material-qmpur = gs_mara-qmpur.&lt;br /&gt;
  gs_material-rbnrm = gs_mara-rbnrm.&lt;br /&gt;
  gs_material-tragr = gs_mara-tragr.&lt;br /&gt;
  gs_material-mstav = gs_mara-mstav.&lt;br /&gt;
  gs_material-mstdv = gs_mara-mstdv.&lt;br /&gt;
&lt;br /&gt;
  gs_material-group = gd_group.&lt;br /&gt;
&lt;br /&gt;
ENDFORM.                    &amp;quot;asignar_campos_mara&lt;br /&gt;
&lt;br /&gt;
FUNCTION z_mmmf_obtener_vistas.&lt;br /&gt;
*&amp;quot;----------------------------------------------------------------------&lt;br /&gt;
*&amp;quot;*&amp;quot;Interfase local&lt;br /&gt;
*&amp;quot;  IMPORTING&lt;br /&gt;
*&amp;quot;     VALUE(I_TCODE) LIKE  SY-TCODE DEFAULT &amp;#039;MM01&amp;#039;&lt;br /&gt;
*&amp;quot;     VALUE(I_MATNR) LIKE  MARA-MATNR OPTIONAL&lt;br /&gt;
*&amp;quot;     VALUE(I_MTART) LIKE  MARA-MTART OPTIONAL&lt;br /&gt;
*&amp;quot;  TABLES&lt;br /&gt;
*&amp;quot;      ET_BILDTAB STRUCTURE  MBILDTAB&lt;br /&gt;
*&amp;quot;  EXCEPTIONS&lt;br /&gt;
*&amp;quot;      FUNCTION_ERROR&lt;br /&gt;
*&amp;quot;----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
  DATA:&lt;br /&gt;
    ls_mara      LIKE mara,&lt;br /&gt;
    ls_t130m     LIKE t130m,         &amp;quot; Transaction control: mat.master&lt;br /&gt;
    l_tkstatus   LIKE t130m-pstat,   &amp;quot; SAP Transaction status&lt;br /&gt;
    l_anzgstatus LIKE t130m-pstat,   &amp;quot; Summary Display status&lt;br /&gt;
    l_bilds      LIKE t133a-bilds,   &amp;quot; Screen sequence&lt;br /&gt;
    l_pstat      LIKE t134-pstat.    &amp;quot; Material maintenance status&lt;br /&gt;
&lt;br /&gt;
  REFRESH et_bildtab.&lt;br /&gt;
&lt;br /&gt;
* 1. Obtengo parámetros de control de transacción en actualización&lt;br /&gt;
*    de maestro de materiales&lt;br /&gt;
  CALL FUNCTION &amp;#039;MATERIAL_INIT&amp;#039;&lt;br /&gt;
    EXPORTING&lt;br /&gt;
      tcode                     = i_tcode&lt;br /&gt;
      kz_berprf                 = c_true&lt;br /&gt;
    IMPORTING&lt;br /&gt;
      it130m                    = ls_t130m&lt;br /&gt;
      tkstatus                  = l_tkstatus&lt;br /&gt;
    EXCEPTIONS&lt;br /&gt;
      no_authority              = 1&lt;br /&gt;
      wrong_call                = 2&lt;br /&gt;
      kstatus_empty             = 3&lt;br /&gt;
      tkstatus_empty            = 4&lt;br /&gt;
      aktyp_tcode_mismatch      = 5&lt;br /&gt;
      tcode_not_found           = 6&lt;br /&gt;
      material_article_mismatch = 7&lt;br /&gt;
      OTHERS                    = 8.&lt;br /&gt;
  IF sy-subrc NE 0.&lt;br /&gt;
    MESSAGE e000(38) WITH &amp;#039;Error&amp;#039; sy-subrc &amp;#039;en función MATERIAL_INIT&amp;#039;&lt;br /&gt;
      RAISING function_error.&lt;br /&gt;
  ENDIF.&lt;br /&gt;
&lt;br /&gt;
* 2. Obtengo datos del maestro de materiales&lt;br /&gt;
  CALL FUNCTION &amp;#039;MARA_SINGLE_READ&amp;#039;&lt;br /&gt;
    EXPORTING&lt;br /&gt;
      matnr             = i_matnr&lt;br /&gt;
      kzrfb             = c_true&lt;br /&gt;
    IMPORTING&lt;br /&gt;
      wmara             = ls_mara&lt;br /&gt;
    EXCEPTIONS&lt;br /&gt;
      lock_on_material  = 1&lt;br /&gt;
      lock_system_error = 2&lt;br /&gt;
      wrong_call        = 3&lt;br /&gt;
      not_found         = 4&lt;br /&gt;
      OTHERS            = 5.&lt;br /&gt;
  IF sy-subrc NE 0.&lt;br /&gt;
    IF ls_t130m-aktyp NE &amp;#039;H&amp;#039;.&lt;br /&gt;
      MESSAGE e000(38) WITH &amp;#039;No existe el material&amp;#039; i_matnr&lt;br /&gt;
        RAISING function_error.&lt;br /&gt;
    ENDIF.&lt;br /&gt;
  ENDIF.&lt;br /&gt;
&lt;br /&gt;
  IF ls_mara-mtart IS INITIAL.&lt;br /&gt;
    ls_mara-mtart = i_mtart.&lt;br /&gt;
  ENDIF.&lt;br /&gt;
&lt;br /&gt;
  IF ls_t130m-aktyp NE &amp;#039;H&amp;#039;.&lt;br /&gt;
    CALL FUNCTION &amp;#039;MARA_DUMMY_STATUS&amp;#039;&lt;br /&gt;
      EXPORTING&lt;br /&gt;
        wmara_in  = ls_mara&lt;br /&gt;
      IMPORTING&lt;br /&gt;
        wmara_out = ls_mara.&lt;br /&gt;
  ENDIF.&lt;br /&gt;
&lt;br /&gt;
* 3. Obtengo grupos de vistas asociadas al tipo de material&lt;br /&gt;
  SELECT SINGLE pstat FROM t134 INTO l_pstat&lt;br /&gt;
    WHERE mtart = ls_mara-mtart.&lt;br /&gt;
  IF sy-subrc NE 0.&lt;br /&gt;
    MESSAGE e000(38) WITH &amp;#039;No existe el tipo de material&amp;#039; ls_mara-mtart&lt;br /&gt;
      RAISING function_error.&lt;br /&gt;
  ENDIF.&lt;br /&gt;
&lt;br /&gt;
* 4. Obtengo secuencia de pantallas para Transacción/Tipo de material&lt;br /&gt;
  CALL FUNCTION &amp;#039;BILDSEQUENZ_IDENTIFY&amp;#039;&lt;br /&gt;
    EXPORTING&lt;br /&gt;
      materialart = ls_mara-mtart&lt;br /&gt;
      tcode_ref   = ls_t130m-trref&lt;br /&gt;
    IMPORTING&lt;br /&gt;
      bildsequenz = l_bilds&lt;br /&gt;
    EXCEPTIONS&lt;br /&gt;
      wrong_call  = 1&lt;br /&gt;
      not_found   = 2&lt;br /&gt;
      OTHERS      = 3.&lt;br /&gt;
  IF sy-subrc NE 0.&lt;br /&gt;
    MESSAGE e000(38) WITH &amp;#039;Error&amp;#039; sy-subrc&lt;br /&gt;
                          &amp;#039;en función BILDSEQUENZ_IDENTIFY&amp;#039;&lt;br /&gt;
      RAISING function_error.&lt;br /&gt;
  ENDIF.&lt;br /&gt;
&lt;br /&gt;
* 5. Obtener estados de mantenimiento&lt;br /&gt;
* (Transaccion+Material+Tipo de Material)&lt;br /&gt;
  CALL FUNCTION &amp;#039;ANZGSTATUS_SETZEN&amp;#039;&lt;br /&gt;
    EXPORTING&lt;br /&gt;
      aktyp            = ls_t130m-aktyp&lt;br /&gt;
      marastatus       = ls_mara-vpsta&lt;br /&gt;
      t134status       = l_pstat&lt;br /&gt;
      tkstatus         = l_tkstatus&lt;br /&gt;
    IMPORTING&lt;br /&gt;
      anzgstatus       = l_anzgstatus&lt;br /&gt;
    EXCEPTIONS&lt;br /&gt;
      anzgstatus_empty = 1&lt;br /&gt;
      wrong_call       = 2&lt;br /&gt;
      OTHERS           = 3.&lt;br /&gt;
  IF sy-subrc NE 0.&lt;br /&gt;
    MESSAGE e000(38) WITH &amp;#039;Error&amp;#039; sy-subrc&lt;br /&gt;
                          &amp;#039;en función ANZGSTATUS_SETZEN&amp;#039;&lt;br /&gt;
      RAISING function_error.&lt;br /&gt;
  ENDIF.&lt;br /&gt;
&lt;br /&gt;
* 6. Obtener vistas de mantenimiento&lt;br /&gt;
  CALL FUNCTION &amp;#039;SELECTION_VIEWS_FIND&amp;#039;&lt;br /&gt;
    EXPORTING&lt;br /&gt;
      bildsequenz     = l_bilds&lt;br /&gt;
      pflegestatus    = l_anzgstatus&lt;br /&gt;
    TABLES&lt;br /&gt;
      bildtab         = et_bildtab&lt;br /&gt;
    EXCEPTIONS&lt;br /&gt;
      call_wrong      = 1&lt;br /&gt;
      empty_selection = 2&lt;br /&gt;
      OTHERS          = 3.&lt;br /&gt;
  IF sy-subrc NE 0.&lt;br /&gt;
    MESSAGE e000(38) WITH &amp;#039;Error&amp;#039; sy-subrc&lt;br /&gt;
                          &amp;#039;en función SELECTION_VIEWS_FIND&amp;#039;&lt;br /&gt;
      RAISING function_error.&lt;br /&gt;
  ENDIF.&lt;br /&gt;
&lt;br /&gt;
ENDFUNCTION.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Messages&lt;br /&gt;
*----------------------------------------------------------&lt;br /&gt;
*&lt;br /&gt;
* Message class: 38&lt;br /&gt;
*000   &amp;amp; &amp;amp; &amp;amp; &amp;amp;&lt;br /&gt;
*&lt;br /&gt;
* Message class: BDCMSG-MSGID&lt;br /&gt;
*BDC&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
		
	</entry>
</feed>