/**************************************************************************
* 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 */\