
MarcSant
Active Member
Hello people,
I'm using EnterpriseOne 9.1, Tools Release 9.1.3.0. and I made a copy of 2 Std MBF: B3102270.h and B3102270.c, copied the data structures to another 55, and when I compile the custom one's I'm getting the following error:
B5531022.c
C:\E910_1\AMDV91\include\b3102270.h(182) : error C2371: 'DSB3102270Qtys' : redefinition; different basic types
C:\E910_1\AMDV91\include\b5531022.h(102) : see declaration of 'DSB3102270Qtys'
C:\E910_1\AMDV91\include\b3102270.h(182) : error C2371: 'LPDSB3102270Qtys' : redefinition; different basic types
C:\E910_1\AMDV91\include\b5531022.h(102) : see declaration of 'LPDSB3102270Qtys'
C:\E910_1\AMDV91\include\b3102270.h(190) : error C2371: 'DSB3102270IDX' : redefinition; different basic types
So, to get rid of this error, I implemented the following code in both files (b3102270.h and b5531022.h):
#ifndef LPDSB3102270Qtys
#define LPDSB3102270Qtys
typedef struct /* Structure to store calculated quantities */
{
MATH_NUMERIC mndcom;
MATH_NUMERIC mnsvcom;
MATH_NUMERIC mnpjcm; /* Project Hard Commitment Quantities */
MATH_NUMERIC mnqowo;
MATH_NUMERIC mnpcom;
MATH_NUMERIC mnfun1;
MATH_NUMERIC mnqnta;
MATH_NUMERIC mnDifference;
MATH_NUMERIC wmtrqt;
MATH_NUMERIC wmuorg;
ID idF4101Ptr;
ID idF4102Ptr;
}DSB3102270Qtys, *LPDSB3102270Qtys;
#endif
I believe that is not the best approach, so, I can't understand why this is happening since I not included the b3102270.h file in the code anymore (b5531022.h) and when I compile the original BSFN b3102270.c (and b3102270.h) the compile process is completed without any errors.
Latter, I discovered if I comment the following include, I'm get rid of the error but some warnings appears since the DSTR to support them probably are inside in the include file:
#include <xt4111z1.h>
#include <xt4312z1.h>
The basic idea is to change the behavior of b3102270 STD function without impact the std modules. This is not the first time that I did this, but never with a huge function like this, and is the first time that I get this error.
I can post the source code if is needed since this is a JDE STD BSF function.
The reason to change this function is to record the reason code of material issues in Manufacturing Module (copy of P31113 - Work Order Inventory Issues) since the std APP didn't do that.
Thank you,
Marcelo.
I'm using EnterpriseOne 9.1, Tools Release 9.1.3.0. and I made a copy of 2 Std MBF: B3102270.h and B3102270.c, copied the data structures to another 55, and when I compile the custom one's I'm getting the following error:
B5531022.c
C:\E910_1\AMDV91\include\b3102270.h(182) : error C2371: 'DSB3102270Qtys' : redefinition; different basic types
C:\E910_1\AMDV91\include\b5531022.h(102) : see declaration of 'DSB3102270Qtys'
C:\E910_1\AMDV91\include\b3102270.h(182) : error C2371: 'LPDSB3102270Qtys' : redefinition; different basic types
C:\E910_1\AMDV91\include\b5531022.h(102) : see declaration of 'LPDSB3102270Qtys'
C:\E910_1\AMDV91\include\b3102270.h(190) : error C2371: 'DSB3102270IDX' : redefinition; different basic types
So, to get rid of this error, I implemented the following code in both files (b3102270.h and b5531022.h):
#ifndef LPDSB3102270Qtys
#define LPDSB3102270Qtys
typedef struct /* Structure to store calculated quantities */
{
MATH_NUMERIC mndcom;
MATH_NUMERIC mnsvcom;
MATH_NUMERIC mnpjcm; /* Project Hard Commitment Quantities */
MATH_NUMERIC mnqowo;
MATH_NUMERIC mnpcom;
MATH_NUMERIC mnfun1;
MATH_NUMERIC mnqnta;
MATH_NUMERIC mnDifference;
MATH_NUMERIC wmtrqt;
MATH_NUMERIC wmuorg;
ID idF4101Ptr;
ID idF4102Ptr;
}DSB3102270Qtys, *LPDSB3102270Qtys;
#endif
I believe that is not the best approach, so, I can't understand why this is happening since I not included the b3102270.h file in the code anymore (b5531022.h) and when I compile the original BSFN b3102270.c (and b3102270.h) the compile process is completed without any errors.
Latter, I discovered if I comment the following include, I'm get rid of the error but some warnings appears since the DSTR to support them probably are inside in the include file:
#include <xt4111z1.h>
#include <xt4312z1.h>
The basic idea is to change the behavior of b3102270 STD function without impact the std modules. This is not the first time that I did this, but never with a huge function like this, and is the first time that I get this error.
I can post the source code if is needed since this is a JDE STD BSF function.
The reason to change this function is to record the reason code of material issues in Manufacturing Module (copy of P31113 - Work Order Inventory Issues) since the std APP didn't do that.
Thank you,
Marcelo.
Last edited: