/**************************************************************************

* Function: Ixt4312z1_ED_SendEmail

*

* Notes:

*

* Return Value:

* '0': Error - END PROCESSING

* Other: Success

*

* Parameters:

**************************************************************************/

int Ixt4312z1_ED_SendEmail( HUSER hUser,

LPBHVRCOM lpBhvrCom,

LPVOID lpVoid,

dsInt_ED_F4311Orig *lpdsInt_ED_F4311,

dsInt_F43121ZOrig *lpdsInt_F43121Z,

dsInt_ED_PrOptOrig *lpdsInt_ED_PrOpt,

dsInt_ED_MiscOrig *lpdsInt_ED_Misc,

JCHAR cEreqOnFlag)

{

/************************************************************************

* Local Variable declarations

************************************************************************/

int iReturnValue = 1;

ID idReturnValue = ER_SUCCESS;

JCHAR szBuyer[11];

JCHAR szTransOriginator[11];

MATH_NUMERIC mnTransOriginator;

JCHAR szPlannerAddress[9];

MATH_NUMERIC mnPlannerAddress;

int nCount = 0;

JCHAR cProcOptOriginator = _J(' ');

JCHAR cProcOptPlanner = _J(' ');

/*****************************************************************

* Declare pointers

*****************************************************************/

JCHAR* pszGlossary = (JCHAR*)NULL;

JCHAR** ppTextVars = (JCHAR**)NULL;

JCHAR* pszFullMessage = (JCHAR*)NULL;

/************************************************************************

* Declare structures

************************************************************************/

DSb0200098ColsReqF0092 dsGetUserAddressNumber ;

DSD4000920 dsGetPlannerAddressNumber;

/************************************************************************

* Main Processing

************************************************************************/

/* Start - Logic for sending e-mail to the buyer or originator */

cProcOptOriginator = lpdsInt_ED_Misc->cEmailOriginator;;

if(cProcOptOriginator != _J(' '))

{

switch(cProcOptOriginator)

{

case _J('1'):

case _J('3'):

FormatMathNumeric( szBuyer, &lpdsInt_ED_F4311->mn_anby);

pszGlossary = jdeAllocFetchSubBaseTextAndCount( _J("LM0111") , &nCount );

/* Jan. 6, 2010 Adrian C Begins */

/* if(nCount <= 6)

{

/* nCount = 6; */

if(nCount <= 8)

{

nCount = 8;

/* Jan. 6, 2010 Adrian C Ends */

}

ppTextVars = jdeAllocSubTextArraySpace( nCount );

ppTextVars[0] = jdeAllocFormatValueToString( (LPVOID)&lpdsInt_F43121Z->mn_doco , 9L );

ppTextVars[1] = jdeAllocFormatValueToString( (LPVOID)&lpdsInt_F43121Z->sz_dcto , 2L );

ppTextVars[2] = jdeAllocFormatValueToString( (LPVOID)&lpdsInt_F43121Z->sz_kcoo , 2L );

ppTextVars[3] = jdeAllocFormatValueToString( (LPVOID)&lpdsInt_ED_F4311->sz_litm , 2L );

ppTextVars[4] = jdeAllocFormatValueToString( (LPVOID)&lpdsInt_F43121Z->mn_urec , 9L );

/* SAR 6969533 Begin - Adjusting UOM to transaction UOM */

ppTextVars[5] = jdeAllocFormatValueToString( (LPVOID)&lpdsInt_F43121Z->sz_uom , 2L );

/* Jan. 6, 2010 Adrian C Begins */

/* Pass description 1 and description 2 as parameters */

ppTextVars[6] = jdeAllocFormatValueToString( (LPVOID)&lpdsInt_ED_F4311->sz_dsc1 , 2L );

ppTextVars[7] = jdeAllocFormatValueToString( (LPVOID)&lpdsInt_ED_F4311->sz_dsc2 , 2L );

/* Jan. 6, 2010 Adrian C Ends */

pszFullMessage = jdeAllocBuildGlossaryWithSub( pszGlossary , ppTextVars );

jdeFreeSubBaseText( pszGlossary );

jdeFreeSubTextArray( ppTextVars );

/*****************************************************************************

* RR6042543 - SAR# 5189826 - 05/22/2001

* ifdef added here because of a new parameter to SendMessage function

* WF_ROLE_API is no longer needed per Barbara Dick

*****************************************************************************/

DoSendMessageExt( hUser, szBuyer , NULL, _J("03"), _J(" "), _J(" "),

(LPACTIVE_MSG_INFO) NULL, pszFullMessage, (LPMATH_NUMERIC) NULL);

/*************************************************************************/

jdeFreeGlossaryWithSub( pszFullMessage );

if(cProcOptOriginator == _J('1'))

{

break;

}

case _J('2'):

/* SAR 7311418 RJ6951325 9/3/2004 */

/* If the purchase order line being received is related to a self-service requisition, do not send an

email to the originator, send an email to the requisition requestor instead (handled by B43E0650) */

if (cEreqOnFlag == _J('1'))

{

break;

}

nCount = 0;

memset ((void *)(&dsGetUserAddressNumber), (int)(_J('\0')), sizeof(DSb0200098ColsReqF0092));

jdeStrcpy(dsGetUserAddressNumber.uluser,lpdsInt_ED_F4311->sz_torg);

idReturnValue = jdeCallObject( _J("PpatGetUserIdAddressNumber") ,

(LPFNBHVR)NULL , lpBhvrCom , lpVoid ,

&dsGetUserAddressNumber , (CALLMAP*)NULL , 0 ,

(JCHAR*)NULL , (JCHAR*)NULL , 0 );

if(idReturnValue == ER_SUCCESS)

{

MathCopy( &mnTransOriginator , &dsGetUserAddressNumber.ulan8 );

FormatMathNumeric( szTransOriginator, &mnTransOriginator);

pszGlossary = jdeAllocFetchSubBaseTextAndCount( _J("LM0111") , &nCount );

/* Jan. 6, 2010 Adrian C Begins */

/* if(nCount <= 6) */

if(nCount <= 8)

{

/* nCount = 6; */

nCount = 8;

/* Jan. 6, 2010 Adrian C Ends */

}

ppTextVars = jdeAllocSubTextArraySpace( nCount );

ppTextVars[0] = jdeAllocFormatValueToString( (LPVOID)&lpdsInt_F43121Z->mn_doco , 9L );

ppTextVars[1] = jdeAllocFormatValueToString( (LPVOID)&lpdsInt_F43121Z->sz_dcto , 2L );

ppTextVars[2] = jdeAllocFormatValueToString( (LPVOID)&lpdsInt_F43121Z->sz_kcoo , 2L );

ppTextVars[3] = jdeAllocFormatValueToString( (LPVOID)&lpdsInt_ED_F4311->sz_litm , 2L );

ppTextVars[4] = jdeAllocFormatValueToString( (LPVOID)&lpdsInt_F43121Z->mn_urec , 9L );

/* SAR 6969533 Begin - Adjusting UOM to transaction UOM */

ppTextVars[5] = jdeAllocFormatValueToString( (LPVOID)&lpdsInt_F43121Z->sz_uom , 2L );

/* Jan. 6, 2010 Adrian C Begins */

/* Pass description 1 and description 2 as parameters */

ppTextVars[6] = jdeAllocFormatValueToString( (LPVOID)&lpdsInt_ED_F4311->sz_dsc1 , 2L );

ppTextVars[7] = jdeAllocFormatValueToString( (LPVOID)&lpdsInt_ED_F4311->sz_dsc2 , 2L );

/* Jan. 6, 2010 Adrian C Ends */

pszFullMessage = jdeAllocBuildGlossaryWithSub( pszGlossary , ppTextVars );

jdeFreeSubBaseText( pszGlossary );

jdeFreeSubTextArray( ppTextVars );

/*****************************************************************************

* RR6042543 - SAR# 5189826 - 05/22/2001

* ifdef added here because of a new parameter to SendMessage function

* WF_ROLE_API is no longer needed per Barbara Dick

*****************************************************************************/

DoSendMessageExt(hUser, szTransOriginator , NULL, _J("03"), _J(" "), _J(" "),

(LPACTIVE_MSG_INFO) NULL, pszFullMessage, (LPMATH_NUMERIC) NULL);

/*************************************************************************/

jdeFreeGlossaryWithSub( pszFullMessage );

}

break;

default:

break;

} /* End - Logic for sending e-mail to the buyer or originator */

}

/* Start - Logic for sending e-mail to the planner */

cProcOptPlanner = lpdsInt_ED_PrOpt->cEmailPlanner;

if((cProcOptPlanner == _J('1')) & (lpdsInt_ED_Misc->bWorkOrderExists == TRUE))

{

nCount = 0;

memset ((void *)(&dsGetPlannerAddressNumber), (int)(_J('\0')), sizeof(DSD4000920));

jdeStrcpy(dsGetPlannerAddressNumber.szBranch,lpdsInt_F43121Z->sz_mcu);

MathCopy( &dsGetPlannerAddressNumber.mnShortItemNumber , &lpdsInt_ED_F4311->mn_itm );

idReturnValue = jdeCallObject( _J("GetItemBranchMfgData") ,

(LPFNBHVR)NULL , lpBhvrCom , lpVoid ,

&dsGetPlannerAddressNumber , (CALLMAP*)NULL , 0 ,

(JCHAR*)NULL , (JCHAR*)NULL , 0 );

if(idReturnValue == ER_SUCCESS)

{

MathCopy( &mnPlannerAddress , &dsGetPlannerAddressNumber.mnPlannerNumber );

FormatMathNumeric( szPlannerAddress, &mnPlannerAddress);

pszGlossary = jdeAllocFetchSubBaseTextAndCount( _J("LM0112") , &nCount );

/* Jan. 6, 2010 Adrian C Begins */

/* if(nCount <= 7)

{

nCount = 7; */

if(nCount <= 9)

{

nCount = 9;

/* Jan. 6, 2010 Adrian C Ends */

}

ppTextVars = jdeAllocSubTextArraySpace( nCount );

ppTextVars[0] = jdeAllocFormatValueToString( (LPVOID)&lpdsInt_F43121Z->mn_doco , 9L );

ppTextVars[1] = jdeAllocFormatValueToString( (LPVOID)&lpdsInt_F43121Z->sz_dcto , 2L );

ppTextVars[2] = jdeAllocFormatValueToString( (LPVOID)&lpdsInt_F43121Z->sz_kcoo , 2L );

ppTextVars[3] = jdeAllocFormatValueToString( (LPVOID)&lpdsInt_ED_F4311->sz_rorn , 2L );

ppTextVars[4] = jdeAllocFormatValueToString( (LPVOID)&lpdsInt_ED_F4311->sz_litm , 2L );

ppTextVars[5] = jdeAllocFormatValueToString( (LPVOID)&lpdsInt_F43121Z->mn_urec , 9L );

/* SAR 6969533 Begin - Adjusting UOM to transaction UOM */

ppTextVars[6] = jdeAllocFormatValueToString( (LPVOID)&lpdsInt_F43121Z->sz_uom , 2L );

/* Jan. 6, 2010 Adrian C Begins */

/* Pass description 1 and description 2 as parameters */

ppTextVars[7] = jdeAllocFormatValueToString( (LPVOID)&lpdsInt_ED_F4311->sz_dsc1 , 2L );

ppTextVars[8] = jdeAllocFormatValueToString( (LPVOID)&lpdsInt_ED_F4311->sz_dsc2 , 2L );

/* Jan. 6, 2010 Adrian C Ends */

pszFullMessage = jdeAllocBuildGlossaryWithSub( pszGlossary , ppTextVars );

jdeFreeSubBaseText( pszGlossary );

jdeFreeSubTextArray( ppTextVars );

/*****************************************************************************

* RR6042543 - SAR# 5189826 - 05/22/2001

* ifdef added here because of a new parameter to SendMessage function

* WF_ROLE_API is no longer needed per Barbara Dick

*****************************************************************************/

/*#ifdef WF_ROLE_API

DoSendMessageExt( hUser, szPlannerAddress , NULL, "03" , " ", " ",

(LPACTIVE_MSG_INFO)NULL, pszFullMessage, (LPMATH_NUMERIC)NULL );

#else

DoSendMessageExt( hUser, szPlannerAddress , "03" , " ", " ",

(LPACTIVE_MSG_INFO)NULL, pszFullMessage, (LPMATH_NUMERIC)NULL );

#endif*/

DoSendMessageExt( hUser, szPlannerAddress , NULL, _J("03"), _J(" "), _J(" "),

(LPACTIVE_MSG_INFO) NULL, pszFullMessage, (LPMATH_NUMERIC) NULL);

/*************************************************************************/

jdeFreeGlossaryWithSub( pszFullMessage );

}

} /* End - Logic for sending e-mail to the planner */

/************************************************************************

* Function Clean Up

************************************************************************/

return (iReturnValue);

} /* end Ixt4312z1_ED_SendEmail */\