/**************************************************************************
* Business Function: G55UploadMO
*
* Description: G55 Upload MO
*
* Parameters:
* LPBHVRCOM lpBhvrCom Business Function Communications
* LPVOID lpVoid Void Parameter - DO NOT USE!
* LPDSD55E lpDS Parameter Data Structure Pointer
*
*************************************************************************/
JDEBFRTN (ID) JDEBFWINAPI G55UploadMO (LPBHVRCOM lpBhvrCom, LPVOID lpVoid, LPDSD55EI04D lpDS)
{
/************************************************************************
* Variable declarations
************************************************************************/
HUSER hUser = (HUSER)NULL;
ID idJDBResult = JDEDB_PASSED;
ID idReturn = ER_SUCCESS;
JDEDB_RESULT JDBReturn = JDEDB_PASSED;
HREQUEST hRequestGT = NULL;
JCHAR szObjectName[11] = _J("GT55EI04");
DSGT55EI04 dsGTKey = { 0 } ;
JCHAR szLang[3] = _J("");
MODATA dsGTNewData = { 0 };
JCHAR szTargetQueueName[31];
JCHAR szSourceFileName[255]; // name of input file from disk
JCHAR szQueueName[31] = _J(""); // queue name column in F98modat
JCHAR szFileName[255] = _J(""); // file name column in F98modat
/************************************************************************
* Declare structures
************************************************************************/
/************************************************************************
* Declare pointers
************************************************************************/
/************************************************************************
* Check for NULL pointers
************************************************************************/
if ((lpBhvrCom == (LPBHVRCOM) NULL) ||
(lpVoid == (LPVOID) NULL) ||
(lpDS == (LPDSD55EI04D) NULL))
{
jdeErrorSet (lpBhvrCom, lpVoid, (ID) 0, _J("4363"), (LPVOID) NULL);
return ER_ERROR;
}
idJDBResult = JDB_InitBhvr((void *)lpBhvrCom, &hUser,
(JCHAR *)NULL, JDEDB_COMMIT_AUTO);
if (idJDBResult == JDEDB_FAILED)
{
jdeErrorSet(lpBhvrCom, lpVoid, (ID)0, _J("078S"), (LPVOID)NULL);
return ER_ERROR;
}
/************************************************************************
* Set pointers
************************************************************************/
/************************************************************************
* Main Processing
************************************************************************/
MathCopy(&dsGTKey.mnSDIno_DOCD, &lpDS->mnSDIno_DOCD);
/* Open F00165 Table */
JDBReturn = jdeGT_OpenTable(hUser, NULL, szObjectName, &hRequestGT);
if (JDBReturn == JDEDB_PASSED)
{
jdeStrncpyTerminate((JCHAR *)(szTargetQueueName), (const JCHAR *)(_J("Miscellaneous")),
DIM(szTargetQueueName));
jdeStrncpyTerminate((JCHAR *)(szSourceFileName), lpDS->szFile_K74PATH,
DIM(szSourceFileName));
JDBReturn = JDB_InsertMediaObjectFile(hUser, szTargetQueueName, szSourceFileName,
szQueueName, DIM(szQueueName), szFileName, DIM(szFileName));
if (JDBReturn != JDEDB_PASSED)
{
jdeTraceSz(NULL, _J("JDB_InsertMediaObjectFile failed."));
/* After insert fails, nothing to select or delete. */
idReturn = ER_ERROR;
}
else
{
dsGTNewData.nSeq = lpDS->nMOseqNo_MOSEQN;
dsGTNewData.nMOType = OBJ_JDEIMAGE; /* Which is ok for PDF - MOqueue Mischellaneous*/
dsGTNewData.bRTFData = FALSE;
dsGTNewData.pData = NULL;
jdeStrcpy((JCHAR *)(dsGTNewData.szFileName), (const JCHAR *)(szFileName));
jdeStrcpy((JCHAR *)(dsGTNewData.szQueueName), (const JCHAR *)(szQueueName));
jdeStrcpy(dsGTNewData.szItemName, (const JCHAR *)(szFileName));
JDBReturn = jdeGT_InsertData(hRequestGT, szObjectName, &dsGTKey, 1, szLang, &dsGTNewData);
if (JDBReturn == JDEDB_FAILED)
{
idReturn = ER_ERROR;
}
}
}
else
{
idReturn = ER_ERROR;
}
/************************************************************************
* Function Clean Up
************************************************************************/
jdeGT_CloseTable(hRequestGT);
return (idReturn);