You are on page 1of 6

**************************************************************************

* Business Function: F4211FSEditLinePreProcess


*
*
Description: F4211 Pre Process Values For Edit Line
*
*
Parameters:
*
LPBHVRCOM
lpBhvrCom
Business Function
Communications
*
LPVOID
lpVoid
Void Parameter - DO NOT USE!
*
LPDSD4200310J
lpDS
Parameter Data Structure
Pointer
*
*************************************************************************/
JDEBFRTN (ID) JDEBFWINAPI F4211FSEditLinePreProcess (LPBHVRCOM lpBhvrCom,
LPVOID lpVoid, LPDSD4200310J lpDS)
{
/************************************************************************
* Variable declarations
************************************************************************/
ID
idJDEDBReturn
= JDEDB_PASSED;
ID
idErrorFlag
= 0;
ID
idReturnAPIValue
= ER_ERROR;
HUSER

hUser

= NULL;

JCHAR

szErrorMessageID[10] = {0};

DSF42UI12DAO*

lpdsF42UI12DAO

= (LPDSF42UI12DAO)NULL;

/************************************************************************
* Declare structures
************************************************************************/
F42UI12
dsF42UI12 = {0};
F42UI12
dsDummy
= {0};
/************************************************************************
* Check for NULL pointers
************************************************************************/
if ((lpBhvrCom == (LPBHVRCOM)NULL) ||
(lpVoid
== (LPVOID)NULL) ||
(lpDS
== (LPDSD4200310J)NULL))
{
jdeSetGBRError(lpBhvrCom, lpVoid, (ID) 0, _J("4363"));
return ER_ERROR;
}
/**************************************************************************
* Initialize Behavior Routine
**************************************************************************/
idJDEDBReturn = JDB_InitBhvr((void *)lpBhvrCom, &hUser, (JCHAR *) NULL,
JDEDB_COMMIT_AUTO);
if (idJDEDBReturn != JDEDB_PASSED)
{
jdeSetGBRError(lpBhvrCom, lpVoid, (ID) 0, _J("078S")); /* "3143" */

return ER_ERROR;
}
/**************************************************************************
* Initializations
**************************************************************************/
/*************************************************************************
* Set up Cache Index Key
*************************************************************************/
if (lpDS->cUseCacheOrWF_EV01 == _J(' ') || lpDS->cUseCacheOrWF_EV01 ==
_J('\0'))
{
lpDS->cUseCacheOrWF_EV01 = _J('2');
}
/*************************************************************************
* Main Processing
*************************************************************************/
/* SAR 4891082 */
/* cGenericChar2_EV02 is used to indicate this call was initiated from an
interactive
* application that already took care of all DD validations so it is not
needed again
*/
if (lpDS->cKitConfigWindowOpened != _J('1') &&
lpDS->cGenericChar2_EV02 != _J('1'))
{
idErrorFlag = I4200310_DDValidationsForELPP(lpBhvrCom, lpVoid, lpDS);
}
if (idErrorFlag < 2)
{
idReturnAPIValue = F42UI12_InitDAO(hUser,lpDS->cUseCacheOrWF_EV01,
&lpdsF42UI12DAO,szErrorMessageID);
}
if (idReturnAPIValue == ER_SUCCESS)
{
memset((void *)&dsF42UI12, (int)_J('\0'), sizeof(dsF42UI12));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdctid),(const JCHAR *)(&lpDS>szComputerID));
MathCopy(&dsF42UI12.zdjobs, &lpDS->mnJobNo);
MathCopy(&dsF42UI12.zdlnix, &lpDS->mnWFLineNo);
jdeStrcpy((JCHAR *)(&dsF42UI12.zdkcoo),(const JCHAR *)(&lpDS>szKeyCo));
MathCopy(&dsF42UI12.zddoco, &lpDS->mnOrderNo);
jdeStrcpy((JCHAR *)(&dsF42UI12.zddcto),(const JCHAR *)(&lpDS>szOrderType));
MathCopy(&dsF42UI12.zdlnid, &lpDS->mnLineNo);
memcpy((void *)&dsF42UI12.zdopdj,(const void *)&lpDS>jdOriginalPromisedDate,
sizeof(JDEDATE));

memcpy((void *)&dsF42UI12.zdppdj,(const void *)&lpDS>jdPromisedPickDate,


sizeof(JDEDATE));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdthgd),(const JCHAR *)(&lpDS>szThruGrade));
MathCopy(&dsF42UI12.zdthrp, &lpDS->mnThruPotency);
jdeStrcpy((JCHAR *)(&dsF42UI12.zdfrgd),(const JCHAR *)(&lpDS>szFromGrade));
/* SAR 8950961 - Correctly populate the F42UI12 cache's frompotency
value with lpds->mnFromPotency value */
/* MathCopy(&dsF42UI12.zdthrp, &lpDS->mnFromPotency); */
MathCopy(&dsF42UI12.zdfrmp, &lpDS->mnFromPotency);
jdeStrcpy((JCHAR *)(&dsF42UI12.zdsrp1),(const JCHAR *)(&lpDS>szSalesReportingCode1));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdsrp2),(const JCHAR *)(&lpDS>szSalesReportingCode2));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdsrp3),(const JCHAR *)(&lpDS>szSalesReportingCode3));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdsrp4),(const JCHAR *)(&lpDS>szSalesReportingCode4));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdsrp5),(const JCHAR *)(&lpDS>szSalesReportingCode5));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdprp1),(const JCHAR *)(&lpDS>szPurchasingReportCode1));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdprp2),(const JCHAR *)(&lpDS>szPurchasingReportCode2));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdprp3),(const JCHAR *)(&lpDS>szPurchasingReportCode3));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdprp4),(const JCHAR *)(&lpDS>szPurchasingReportCode4));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdprp5),(const JCHAR *)(&lpDS>szPurchasingReportCode5));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdptc),(const JCHAR *)(&lpDS>szPaymentTerms));
jdeStrcpy((JCHAR *)(&dsF42UI12.zddtbs),(const JCHAR *)(&lpDS>cBasedonDate));
MathCopy(&dsF42UI12.zdtrdc, &lpDS->mnDiscountTrade);
jdeStrcpy((JCHAR *)(&dsF42UI12.zdprgr),(const JCHAR *)(&lpDS>szPricingCategory));
MathCopy(&dsF42UI12.zdcadc, &lpDS->mnDiscountCash);
jdeStrcpy((JCHAR *)(&dsF42UI12.zdkco),(const JCHAR *)(&lpDS>szCompanyKey));
MathCopy(&dsF42UI12.zddoc, &lpDS->mnInvoiceNo);
jdeStrcpy((JCHAR *)(&dsF42UI12.zddct),(const JCHAR *)(&lpDS>szDocumentType));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdtxa1),(const JCHAR *)(&lpDS>szTaxArea));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdexr1),(const JCHAR *)(&lpDS>szTaxExplanationCode));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdprio),(const JCHAR *)(&lpDS>cPriorityProcessing));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdback),(const JCHAR *)(&lpDS>cBackordersAllowedYN));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdsbal),(const JCHAR *)(&lpDS>cSubstitutesAllowedYN));
MathCopy(&dsF42UI12.zdshpn, &lpDS->mnShipmentNumber);

jdeStrcpy((JCHAR *)(&dsF42UI12.zdntr),(const JCHAR *)(&lpDS>szNatureOfTransaction));


MathCopy(&dsF42UI12.zdanby, &lpDS->mnBuyerNumber); /* SAR 5043747 */
jdeStrcpy((JCHAR *)(&dsF42UI12.zdrout),(const JCHAR *)(&lpDS>szRouteCode));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdstop),(const JCHAR *)(&lpDS>szStopCode));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdzon), (const JCHAR *)(&lpDS>szZoneNumber));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdaft),(const JCHAR *)(&lpDS>cApplyFreightYN));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdfrth),(const JCHAR *)(&lpDS>szFreightHandlingCode));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdshcm),(const JCHAR *)(&lpDS>szShippingCommodityClass));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdshcn),(const JCHAR *)(&lpDS>szShippingConditionsCode));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdsern),(const JCHAR *)(&lpDS>szSerialNumberLot));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdglc),(const JCHAR *)(&lpDS>szGlClass));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdrcd),(const JCHAR *)(&lpDS>szReasonCode));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdgwum),(const JCHAR *)(&lpDS>szUnitOfMeasureGrossWt));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdsbl),(const JCHAR *)(&lpDS>szSubledger));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdsblt),(const JCHAR *)(&lpDS>cSubledgerType));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdlcod),(const JCHAR *)(&lpDS>szCodeLocationTaxStat));
jdeStrcpy((JCHAR *)(&dsF42UI12.zduncd),(const JCHAR *)(&lpDS>cWoOrderFreezeCode));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdcrmd),(const JCHAR *)(&lpDS>cCorrespondenceMethod));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdurcd),(const JCHAR *)(&lpDS>szUserReservedCode));
memcpy((void *)&dsF42UI12.zdurdt,(const void *)&lpDS>jdUserReservedDate,
sizeof(JDEDATE));
MathCopy(&dsF42UI12.zdurat, &lpDS->mnUserReservedAmount);
MathCopy(&dsF42UI12.zdurab, &lpDS->mnUserReservedNumber);
jdeStrcpy((JCHAR *)(&dsF42UI12.zdurrf),(const JCHAR *)(&lpDS>szUserReservedReference));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdfrat),(const JCHAR *)(&lpDS>szRateCodeFrieghtMisc));
/* SAR 4952210 copy the cross docking fields from lpDS to F42UI12 */
/* SAR 6386961 Update Demand Fields on Sales Order */
MathCopy(&dsF42UI12.zddeid, &lpDS->mnDemandUniqueKey);
jdeStrncpyTerminate(dsF42UI12.zdpsig,lpDS->szPullSignal,
DIM(dsF42UI12.zdpsig));
JDEDATECopy(&dsF42UI12.zdrldj,&lpDS->jdDateRelease);
MathCopy(&dsF42UI12.zdrltm,&lpDS->mnTimeRelease);

/* SAR 6386961 End */


dsF42UI12.zdxdck = lpDS->cCrossDockFlagYN;
MathCopy(&dsF42UI12.zdxpty, &lpDS->mnCrossDockingPriority);
MathCopy(&dsF42UI12.zdxorn, &lpDS->mnCrossDockOrderNumber);
jdeStrcpy((JCHAR *)(&dsF42UI12.zdxcto),(const JCHAR *)(&lpDS>szCrossDockOrderType));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdxkco),(const JCHAR *)(&lpDS>szCrossDockOrderCompany));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdxsfx),(const JCHAR *)(&lpDS>szCrossDockOrderSuffix));
MathCopy(&dsF42UI12.zdxlln, &lpDS->mnCrossDockLineNumber);
/* SAR 5814943 - ORDER PROMISING BEGINS */
dsF42UI12.zdopll = lpDS->cOPPartialLineShipmentAllowed;
dsF42UI12.zdopba = lpDS->cOPBackorderAllowed;
dsF42UI12.zdopss = lpDS->cOPSubstituteAllowed;
dsF42UI12.zdopyn = lpDS->cOPPromiseLineYN;
jdeStrcpy((JCHAR *)(dsF42UI12.zdopsg),(const JCHAR *)(lpDS>szOPShippingGroup));
jdeStrcpy((JCHAR *)(dsF42UI12.zdopmg),(const JCHAR *)(lpDS>szOPMultiSourceGroup));
dsF42UI12.zdopms = lpDS->cOPAllowMultiSource;
/* SAR 7112144 */
dsF42UI12.zdryin = lpDS->cPaymentInstrument;
/* The following is just to store the SOEMBFInternalFlags into F42UI12
*/
jdeStrcpy((JCHAR *)dsF42UI12.zdsoeg,
(const JCHAR *)lpDS->szSOEMBFInternalFlags);
/* SAR 5814943 - ORDER PROMISING ENDS */
/* SAR 7758877 - Begins */
jdeStrcpy((JCHAR *)(&dsF42UI12.zdpsjobno),(const JCHAR *)(&lpDS>szProdSeqJobNo));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdjobsq),(const JCHAR *)(&lpDS>szJobSequence));
jdeStrcpy((JCHAR *)(&dsF42UI12.zddelbatch),(const JCHAR *)(&lpDS>szDeliveryBatchNumber));
jdeStrcpy((JCHAR *)(&dsF42UI12.zdcardno),(const JCHAR *)(&lpDS>szCardNumber));
/* SAR 7758877 - Ends */
/* SAR 2157626
* If there is no job number, create one.
*/
if (!MathZeroTest(&lpDS->mnJobNo))
{
idErrorFlag
= I4200310_RetrieveNextNoForJobNo(lpBhvrCom,lpVoid,
&dsF42UI12.zdjobs,
lpDS>cUseWorkfile_WFOC);
MathCopy(&lpDS->mnJobNo,&dsF42UI12.zdjobs);
}

/* SAR 2157626
* If there is no job number, create one.
*/
if (!MathZeroTest(&lpDS->mnJobNo))
{
idErrorFlag
= I4200310_RetrieveNextNoForJobNo(lpBhvrCom,lpVoid,
&dsF42UI12.zdjobs,
lpDS>cUseWorkfile_WFOC);
MathCopy(&lpDS->mnJobNo,&dsF42UI12.zdjobs);
}
/* ffg2 indicates
* ffu2 indicates
dsF42UI12.zdffg2
dsF42UI12.zdffu2

there is a F42UI12 record written


Kit/Config Window opened */
= _J('1');
= lpDS->cKitConfigWindowOpened;

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


idReturnAPIValue = F42UI12Index2_FetchKeyed(lpdsF42UI12DAO,3,lpDS>szComputerID,lpDS->mnJobNo,
lpDS>mnWFLineNo,&dsDummy,szErrorMessageID);
if(idReturnAPIValue == ER_SUCCESS)
{

No encuentra registro va e inserta en F42UI12 , e


inserta RSDT con 0
}
else /* 6787617 */
{
idReturnAPIValue =
F42UI12_Insert(lpdsF42UI12DAO,&dsF42UI12,szErrorMessageID);
}
}
else
{
idReturnAPIValue = ER_ERROR;
}

You might also like