/**************************************************************************
* Business Function: F4211FSEditLine
*
* Description: F4211 FS Edit Line
*
* Parameters:
* LPBHVRCOM lpBhvrCom Business Function Communications
* LPVOID lpVoid Void Parameter - DO NOT USE!
* LPDSD4200310F lpDS Parameter Data Structure Pointer
*
*************************************************************************/
JDEBFRTN(ID) JDEBFWINAPI F4211FSEditLine (LPBHVRCOM lpBhvrCom, LPVOID lpVoid, LPDSD4200310F lpDS)
{
/*===========================================================================
* Acme Mod Begin
*===========================================================================*/
ID idAcmeReturn = ER_SUCCESS;
idAcmeReturn = I4200310_F4211FSEditLine(lpBhvrCom, lpVoid, lpDS);
I4200310_AcmeCompleteItemLocSetupOnTransOrder(lpBhvrCom, lpVoid, lpDS);
if(I4200310_AcmeCalcAltQty(lpBhvrCom, lpVoid, lpDS) == ER_ERROR) /* ATI#536 */
idAcmeReturn = ER_ERROR;
if(I4200310_AcmeProcessCommitsEdit(lpBhvrCom, lpVoid, lpDS) == ER_ERROR) /* ATI#1297 */
idAcmeReturn = ER_ERROR;
if(I4200310_AcmeELValidateDates(lpBhvrCom, lpVoid, lpDS) == ER_ERROR) /* ATI#598 */
idAcmeReturn = ER_ERROR;
I4200310_AcmePostEditLine(lpBhvrCom, lpVoid, lpDS, idAcmeReturn); /* ATI#597 */
return idAcmeReturn;
/*===========================================================================
* Acme Mod End
*===========================================================================*/
}
...<end of src file>
/**************************************************************************
* Function: I4200310_AcmeProcessCommitsEdit
*
* Notes: ATI#1297
*
* Returns:
*
* Parameters:
**************************************************************************/
static ID I4200310_AcmeProcessCommitsEdit(LPBHVRCOM lpBhvrCom, LPVOID lpVoid, LPDSD4200310F lpDS)
{
ID idReturn = ER_SUCCESS;
HUSER hUser = (HUSER)NULL;
D4200310_ACME_CACHE_UI11EXT ui11Ext={0};
BOOL bFound=FALSE;
DSD5642090A dsProcCommit={0};
CALLMAP cmProcSoMbfCommit[] = {{IDERRmnQtyOrdered_52, IDERRERRMAP_mnQuantityOrdered_8}}; /* ATI#1653 */
/********** Get User Handle **********/
if( (idReturn = acmeInitBhvr(lpBhvrCom, lpVoid, &hUser, (JCHAR *)NULL, JDEDB_COMMIT_AUTO)) != ER_SUCCESS )
goto FunctionCleanUp;
/********* Get Extenstion Cache Record **********/
if(!acmeIsMathZero(&lpDS->mnCMLineNo))
{
idReturn = I4200310_AcmeCacheUI11Ext_Get(lpBhvrCom, lpVoid, hUser,
&lpDS->mnCMJobNo, &lpDS->mnCMLineNo, &ui11Ext, &bFound);
if(idReturn == ER_ERROR)
goto FunctionCleanUp;
}
/**** Pass ptrs to previous table records *****/
if(bFound)
{
if(!ui11Ext.bPrevF4211Retrieved)
{
I4200310_AcmeCacheUI11Ext_RetrievePrevF4211(lpBhvrCom, lpVoid, hUser,
lpDS->cCMLineAction, &lpDS->mnCMJobNo, &lpDS->mnCMLineNo,
lpDS->szOrderCo, lpDS->szOrderType, &lpDS->mnOrderNo, &lpDS->mnLineNo);
idReturn = I4200310_AcmeCacheUI11Ext_Get(lpBhvrCom, lpVoid, hUser,
&lpDS->mnCMJobNo, &lpDS->mnCMLineNo, &ui11Ext, &bFound);
if(idReturn == ER_ERROR)
goto FunctionCleanUp;
}
if(ui11Ext.bPrevF4211Retrieved)
dsProcCommit.idPtrHndF4211 = jdeStoreDataPtr(hUser, &ui11Ext.dsPrevF4211);
if(!ui11Ext.bPrevF554902DRetrieved && ui11Ext.bPrevF4211Retrieved)
{
I4200310_AcmeCacheUI11Ext_RetrievePrevF554902D(lpBhvrCom, lpVoid, hUser, &ui11Ext);
}
if(ui11Ext.bPrevF554902DRetrieved)
dsProcCommit.idPtrHndF554902D = jdeStoreDataPtr(hUser, &ui11Ext.dsPrevF554902D);
if((ui11Ext.bPrevF4211Retrieved && !dsProcCommit.idPtrHndF4211) ||
(ui11Ext.bPrevF554902DRetrieved && !dsProcCommit.idPtrHndF554902D) )
{
jdeErrorSet(lpBhvrCom, lpVoid, (ID) 0, _J("4363"), (LPVOID) NULL);
}
}
/*** call so process commit ***/
MathCopy(&dsProcCommit.mnJobnumberA, &lpDS->mnCMJobNo);
MathCopy(&dsProcCommit.mnLineNumberWF, &lpDS->mnCMLineNo);
MathCopy(&dsProcCommit.mnLineNumber, &lpDS->mnLineNo);
dsProcCommit.cActionCode = lpDS->cCMLineAction;
dsProcCommit.nCalledFrom = E5642090_CALLEDFROM_F4211FSEDITLINE;
idReturn = acmeCallObjectCM(AcmeProcessSOMBFCommitEditLine, lpBhvrCom, lpVoid, &dsProcCommit, cmProcSoMbfCommit);
FunctionCleanUp:
/* free user */
if(hUser)
JDB_FreeBhvr(hUser);
return idReturn;
}