83: FUNCTION ValidateCustomerData(OutputToCustomer IN VARCHAR2, SrInstanceId IN NUMBER, ShipToLocation IN NUMBER, SrCustomerId IN NUMBER, SrZoneId IN NUMBER) RETURN VARCHAR2;
84: FUNCTION ValidateUomCode(SrInstanceId IN NUMBER, OrgId IN NUMBER, ItemId IN NUMBER, UomCode IN VARCHAR2) RETURN VARCHAR2;
85: FUNCTION ValidateDemandClass(OutputToDemandClass IN VARCHAR2, SrInstanceId IN NUMBER, DemandClass IN VARCHAR2) RETURN VARCHAR2;
86: PROCEDURE GenerateDemandId(ScenarioId IN NUMBER);
87: PROCEDURE InsertForecast(ScenarioId IN NUMBER, ForecastData IN MscForecastRec, OrganizationId IN NUMBER, SrItemId IN NUMBER);
88: FUNCTION ProcessForecast(ScenarioId IN NUMBER, OutputToItem IN VARCHAR2, OutputToOrganization IN VARCHAR2, OutputToCustomer IN VARCHAR2, OutputToDemandClass IN VARCHAR2, ForecastData IN MscForecastRec) RETURN VARCHAR2;
89:
90: -- Private helper functions used by DOWNLOAD_FORECAST and DOWNLOAD_SAFETY_STOCK.
91: FUNCTION GetDemandPlanId(DemandPlanId OUT NOCOPY NUMBER, DemandPlanName IN VARCHAR2) RETURN VARCHAR2;
84: FUNCTION ValidateUomCode(SrInstanceId IN NUMBER, OrgId IN NUMBER, ItemId IN NUMBER, UomCode IN VARCHAR2) RETURN VARCHAR2;
85: FUNCTION ValidateDemandClass(OutputToDemandClass IN VARCHAR2, SrInstanceId IN NUMBER, DemandClass IN VARCHAR2) RETURN VARCHAR2;
86: PROCEDURE GenerateDemandId(ScenarioId IN NUMBER);
87: PROCEDURE InsertForecast(ScenarioId IN NUMBER, ForecastData IN MscForecastRec, OrganizationId IN NUMBER, SrItemId IN NUMBER);
88: FUNCTION ProcessForecast(ScenarioId IN NUMBER, OutputToItem IN VARCHAR2, OutputToOrganization IN VARCHAR2, OutputToCustomer IN VARCHAR2, OutputToDemandClass IN VARCHAR2, ForecastData IN MscForecastRec) RETURN VARCHAR2;
89:
90: -- Private helper functions used by DOWNLOAD_FORECAST and DOWNLOAD_SAFETY_STOCK.
91: FUNCTION GetDemandPlanId(DemandPlanId OUT NOCOPY NUMBER, DemandPlanName IN VARCHAR2) RETURN VARCHAR2;
92: FUNCTION MakeSubClause(Clause OUT NOCOPY VARCHAR2, ColumnName IN VARCHAR2, IdList IN MscNumberArr) RETURN VARCHAR2;
969: -- Output: No output.
970: -- =============================================================
971: PROCEDURE InsertForecast(
972: ScenarioId IN NUMBER,
973: ForecastData IN MscForecastRec,
974: OrganizationId IN NUMBER,
975: SrItemId IN NUMBER
976: ) AS
977: BEGIN
1061: OutputToItem IN VARCHAR2,
1062: OutputToOrganization IN VARCHAR2,
1063: OutputToCustomer IN VARCHAR2,
1064: OutputToDemandClass IN VARCHAR2,
1065: ForecastData IN MscForecastRec
1066: ) RETURN VARCHAR2 AS
1067: l_String VARCHAR2(100);
1068: l_OrgId NUMBER; -- we need this for global forecast
1069: l_ValidationOrgId NUMBER; -- we need this for global forecast
1519: EXIT WHEN fcst_cursor%NOTFOUND;
1520:
1521: ForecastTbl.extend;
1522: ForecastTbl(ForecastTbl.count) :=
1523: MscForecastRec(
1524: l_BucketType,
1525: l_StartDate,
1526: l_EndDate,
1527: l_Quantity,
2351: l_ScenarioId NUMBER;
2352: l_IsNewScenario BOOLEAN;
2353: l_GoodRecCount NUMBER;
2354: l_BadRecCount NUMBER;
2355: l_BadData MscForecastRec;
2356: BEGIN
2357: -- init global variables
2358: g_DemandId := 0;
2359: g_DummyDemandPlanId := 5555555;