Duda
¿Es posible ampliar el código (BM_GRUPO) de Grupo de Productos (MATA035) a tamaño 7?
Ambiente
Cross Segmentos - TOTVS BackOffice (Línea Protheus) MI - Stock y Costos (SIGAEST) - Versión 12
Solución
A través de la rutina Grupo de Productos (MATA035) de incluyen los clasificadores para los productos según sus características comunes, como por ejemplo, estándares de forma, peso, tipo, uso, dimensión u otros.
- Se pueden incluir los grupos de productos a cualquier momento, cuando se detecte una nueva clase de productos con características semejantes.
- El sistema registra los grupos utilizados frecuentemente, mostrándolos en los códigos 0001 a 0007. Estos registros se exhiben sólo como sugerencia y se pueden modificar o borrar.
- Articulo - Procedimiento de cómo registrar un grupo de productos
Por estándar del diccionario de datos, el campo del código del grupo de productos (BM_GRUPO) está con tamaño de 4 y no es posible modificar su tamaño, adicional a que este campo no pertenece a ningún grupo de campos (SXG) para su modificación;
Por este motivo no es posible ampliar el código (BM_GRUPO) de Grupo de Productos a tamaño 7
Nota: Se ha generado la ISSUE DMANMAT01-26183 para versión/release vigente de Protheus 12125, solicitando evaluar la mejoría de la posibilidad de poder ampliar el código (BM_GRUPO) de Grupo de Productos a tamaño 7 desde el configurador de Protheus.
- Actualmente está en validación por parte de nuestra área de Materiais Protheus Entradas padrón, en cuanto se cuente con la retroalimentación de la evaluación, se actualizará el presente artículo.


¡Importante! La modificación o alteración del código grupo de productos (BM_GRUPO) en su tamaño fuera del módulo de configurador en el sistema Protheus genera perdida de la integridad de la información en el ambiente, impactando de manea negativa o generando errores en la ejecución de las rutinas que tengan tablas vinculadas o con validación al código del grupo de productos,
- Se anexa un ejemplo de las tablas con validación de código grupo de productos a través de la consulta estándar (F3) SMB de grupo de productos.
| X3_CAMPO | X3_TIPO | X3_TAMANHO | X3_F3 | X3_VALID |
| AAB_GRUPO | C | 4 | SBM | At230Valid() |
| AAI_GRUPO | C | 4 | SBM | Vazio().Or.ExistCpo("SBM") |
| ACN_GRPPRO | C | 4 | SBM | Vazio() .Or. ExistCpo("SBM") |
| ACP_GRUPO | C | 4 | SBM | ExistCpo("SBM") |
| ACR_GRUPO | C | 4 | SBM | ExistCpo("SBM") |
| ACV_GRUPO | C | 4 | SBM | ExistCpo("SBM").And.Ft150VGrp() |
| ACX_GRUPO | C | 4 | SBM | ExistCpo("SBM") |
| AFK_GRPDE | C | 4 | SBM | |
| AFK_GRPATE | C | 4 | SBM | |
| AGX_GRUPO | C | 4 | SBM | |
| AI2_GRUPO | C | 4 | SBM | ExistCpo( "SBM" ) .Or. Vazio() |
| AIC_GRUPO | C | 4 | SBM | Vazio() .Or. ExistCpo("SBM") |
| AII_GRUPO | C | 4 | SBM | ExistCpo("SBM") |
| CXM_AGRGRP | C | 4 | SBM | A010Grupo() |
| CZF_CDGRIV | C | 4 | SBM | PCPA103VGE() |
| DA1_GRUPO | C | 4 | SBM | ExistCpo("SBM") |
| DFD_GRUPO | C | 4 | SBM | Vazio() .OR. A010Grupo() |
| DJ5_CODGRP | C | 4 | SBM | Vazio() .Or. ExistCpo("SBM") |
| G3Q_GRPPRD | C | 4 | SBM | |
| G4N_GRUPO | C | 4 | SBM | ExistCpo("SBM",M->G4N_GRUPO) |
| G4T_GRUPO | C | 4 | SBM | ExistCpo("SBM",M->G4T_GRUPO) |
| G5M_GRPPRD | C | 4 | SBM | ExistCpo('SBM',M->G5M_GRPPRD) .Or. Vazio() |
| G5X_GRPROD | C | 4 | SBM | ExistCpo("SBM",M->G5X_GRPROD) |
| G60_GRPROD | C | 4 | SBM | ExistCpo("SBM",M->G60_GRPROD) |
| G61_GRPROD | C | 4 | SBM | ExistCpo("SBM",M->G61_GRPROD) |
| G68_CODGRP | C | 4 | SBM | Vazio() .Or. ExistCpo("SBM",M->G68_CODGRP) |
| G6B_CODGRP | C | 4 | SBM | Vazio() .OR. ExistCpo("SBM",FwFldGet("G6B_CODGRP")) |
| G8R_CODGRP | C | 4 | SBM | ExistCpo('SBM',FWFLDGET('G8R_CODGRP')) |
| GN6_CODGPA | C | 4 | SBM | HS_VLDGN6() |
| GP6_CODGRP | C | 4 | SBM | HS_SeekRet("SBM","M->GP6_CODGRP",1,.F.,"GP6_DESGRP","BM_DESC") |
| GP8_CODGRP | C | 4 | SBM | HS_SeekRet("SBM","M->GP8_CODGRP",1,.F.,"GP8_DESGRP","BM_DESC") |
| MAT_GRUPO | C | 4 | SBM | Vazio() .OR. ExistCPO("SBM") |
| MB8_GRUPO | C | 4 | SBM | ExistCpo("SBM") |
| MBF_GRUPO | C | 4 | SBM | Vazio() .OR. (ExistCpo("SBM", M->MBF_GRUPO) .AND. ExistChav("MBF",M->MBF_PRDGAR+M->MBF_PRODPR + M->MBF_GRUPO)) |
| MBS_GRPROD | C | 4 | SBM | LJ760VlGPr("MBS") |
| MEK_GRPROD | C | 4 | SBM | LJ760VlGPr("MEK") |
| MFR_GRUPO | C | 4 | SBM | LOJA7031A() |
| N10_GRUPO | C | 4 | SBM | IF(!EMPTY(M->N10_DOC), EXISTCHAV("N10",M->N10_GRUPO+M->N10_DOC,1),.T.) .And. EXISTCPO("SBM") |
| N8W_GRPROD | C | 4 | SBM | ExistCPO("SBM") .OR. VAZIO() |
| N8X_GRPROD | C | 4 | SBM | ExistCPO("SBM") |
| N8Y_GRPROD | C | 4 | SBM | ExistCPO("SBM") .OR. VAZIO() |
| N8Z_GRPROD | C | 4 | SBM | ExistCpo("SBM") |
| N99_GRPROD | C | 4 | SBM | (ExistCPO("SBM") .And. OGA760ValUser()) .OR. VAZIO() |
| NK8_GRPPRO | C | 4 | SBM | VAZIO() .OR. ExistCpo('SBM', M->NK8_GRPPRO) |
| NNI_PRODGR | C | 4 | SBM | ExistCpo("SBM") |
| A5_CODGRP | C | 4 | SBM | VldAuxCod1("A5_CODGRP","A5_CODITE") |
| A7_CODGRP | C | 4 | SBM | VldAuxCod1("A7_CODGRP","A7_CODITE") |
| AD_GRUPO | C | 4 | SBM | ExistChav("SAD",M->AD_FORNECE+M->AD_LOJA+M->AD_GRUPO) .And. A065GruFor() |
| AI_GRUPO | C | 4 | SBM | A084Group() |
| B1_GRUPO | C | 4 | SBM | Vazio() .Or. A010Grupo() |
| B2_CODGRP | C | 4 | SBM | VldAuxCod1("B2_CODGRP","B2_CODITE") |
| B3_CODGRP | C | 4 | SBM | VldAuxCod1("B3_CODGRP","B3_CODITE") |
| B4_GRUPO | C | 4 | SBM | Vazio() .Or. A010Grupo() |
| B5_CODGRP | C | 4 | SBM | VldAuxCod1("B5_CODGRP","B5_CODITE") |
| B7_CODGRP | C | 4 | SBM | VldAuxCod1("B7_CODGRP","B7_CODITE") |
| B8_CODGRP | C | 4 | SBM | VldAuxCod1("B8_CODGRP","B8_CODITE") |
| B9_CODGRP | C | 4 | SBM | VldAuxCod1("B9_CODGRP","B9_CODITE") |
| BI_GRUPO | C | 4 | SBM | A010Grupo() |
| C0_CODGRP | C | 4 | SBM | VldAuxCod1("C0_CODGRP","C0_CODITE") |
| C1_CODGRP | C | 4 | SBM | VldAuxCod1("C1_CODGRP","C1_CODITE") |
| C7_CODGRP | C | 4 | SBM | VldAuxCod1("C7_CODGRP","C7_CODITE") |
| C8_CODGRP | C | 4 | SBM | VldAuxCod1("C8_CODGRP","C8_CODITE") |
| C9_GRUPO | C | 4 | SBM | |
| C9_CODGRP | C | 4 | SBM | VldAuxCod1("C9_CODGRP","C9_CODITE") |
| CT_GRUPO | C | 4 | SBM | ( Vazio() .Or. ExistCpo("SBM") ) .and. FA050CLEAR( 2 ) |
| CW_GRUPO | C | 4 | SBM | Vazio() .Or. ExistCpo("SBM") |
| CY_CODGRP | C | 4 | SBM | VldAuxCod1("CY_CODGRP","CY_CODITE") |
| D1_GRUPO | C | 4 | SBM | |
| D1_CODGRP | C | 4 | SBM | VldAuxCod1("D1_CODGRP","D1_CODITE") |
| D2_GRUPO | C | 4 | SBM | ExistCpo("SBM") |
| D2_CODGRP | C | 4 | SBM | VldAuxCod1("D2_CODGRP","D2_CODITE") |
| D3_GRUPO | C | 4 | SBM | |
| D3_CODGRP | C | 4 | SBM | VldAuxCod1("D3_CODGRP","D3_CODITE") |
| D5_CODGRP | C | 4 | SBM | VldAuxCod1("D5_CODGRP","D5_CODITE") |
| D6__GRUPO | C | 2 | SBM | ExistCpo( 'SBM' ) .And. NaoVazio() |
| D7_CODGRP | C | 4 | SBM | VldAuxCod1("D7_CODGRP","D7_CODITE") |
| DF_CODGRP | C | 4 | SBM | VldAuxCod1("DF_CODGRP","DF_CODITE") |
| DW_GRPPROD | C | 4 | SBM | A014VldGrd(M->DW_GRPPROD) |
| FF_GRUPO | C | 4 | SBM | A010Grupo() |
| GQ_GRPPROD | C | 4 | SBM | Agr045VldC() |
| L3_CODGRP | C | 4 | SBM | VldAuxCod1("L3_CODGRP","L3_CODITE") |
| LN_GRUPO | C | 4 | SBM | |
| LR_CODGRP | C | 4 | SBM | VldAuxCod1("L2_CODGRP","L2_CODITE") |
| VAN_GRUITE | C | 4 | SBM | |
| VE9_GRUITE | C | 4 | SBM | Vazio() .or. FG_VALIDA(Nil,"SBMTM->VE9_GRUITE*","M->VE9_DESGRU:=SBM->BM_DESC") |
| VE9_GRUNOV | C | 4 | SBM | Vazio() .or. FG_VALIDA(Nil,"SBMTM->VE9_GRUITE*","M->VE9_DESGRU:=SBM->BM_DESC") |
| VOV_GRUITE | C | 4 | SBM | Existchav("VOV",M->VOV_GRUITE+M->VOI_TIPTEM) .and. FG_Seek("SBM","M->VOV_GRUITE",1,.f.,"VOV_DESGRU","BM_DESC") |
| VPK_GRUPO | C | 4 | SBM | |
| VR2_GRUANT | C | 4 | SBM | |
| VR2_GRUNOV | C | 4 | SBM | |
| VSD_GRUITE | C | 4 | SBM | VAZIO() .OR.(FG_Seek("SBM","M->VSD_GRUITE",1,.f.).AND.SBM->BM_CODMAR==M->VOP_CODMAR) |
| VSS_GRUITE | C | 4 | SBM | VAZIO() .OR. FG_Seek("SBM","M->VSS_GRUITE",1,.F.) |
| VV6_GRUITE | C | 4 | SBM | FG_Seek("SBM","M->VV6_GRUITE",1,.f.) |
| VVT_GRUITE | C | 4 | SBM | FG_Seek("SBM","M->VVT_GRUITE",1,.f.) |
| VZZ_GRUITE | C | 4 | SBM | VAZIO() .or. FG_Seek("SBM","M->VZZ_GRUITE",1,.f.,"VZZ_DESGRU","BM_DESC") |
Conozca más:
Para consultar la información contenida en nuestro banco de conocimientos, acceda a los siguientes enlaces:
0 Comentarios