陈清红
2025-04-14 880f3c0257eeb8c37761d484258fdd102a369a19
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Quintiq file version 2.0
#parent: #root
Method AddUnconstrainedDemandForExport (
  String scenario,
  String uriitem,
  String uristocklocation,
  String urisalessegment,
  Date startdate,
  Date enddate,
  Real quantity,
  Real revenue
)
{
  Description: 'Verify duplicate then append UnconstrainedDemand to UnconstrainedDemandCache'
  TextBody:
  [*
    // Use converter to get right date format
    stringStartDate := LibSCIIntegration_Utility::DateToStringISOConverter( startdate );
    stringEndDate := LibSCIIntegration_Utility::DateToStringISOConverter( enddate );
    
    // Check if the UnconstrainedDemand is already existing
    existingUnconstrainedDemand := LibSCIUnconstrainedDemand::FindLibSCIUnconstrainedDemandTypeIndex( scenario,uriitem, urisalessegment, uristocklocation, enddate );
    if( isnull( existingUnconstrainedDemand ) )
    {
      this.LibSCIUnconstrainedDemand( relnew,
                                      UriScenario := scenario,
                                      UriItem := uriitem,
                                      UriSalesSegment := urisalessegment,
                                      UriStockLocation := uristocklocation,
                                      UriEndDate := enddate );
                         
      content := construct( Strings );
      
      content.Add( LibSCIIntegration_Utility::FormatString( scenario ) );           // scenario
      content.Add( LibSCIIntegration_Utility::FormatString( uriitem ) );            // item
      content.Add( LibSCIIntegration_Utility::FormatString( uristocklocation ) );   // salesSegment
      content.Add( LibSCIIntegration_Utility::FormatString( urisalessegment ) );    // stockLocation
      content.Add( stringStartDate );                                                      // startDate
      content.Add( stringEndDate );                                                        // endDate
      content.Add( [String]quantity );                                                     // quantity
      content.Add( [String]revenue );                                                      // revenue
      
      addedvalues := content.ToString( LibSCIIntegration_Utility::Tokenizer() );
      addedvalues := this.UnconstrainedDemandCache() + String::NewLine() + addedvalues;
    
      this.UnconstrainedDemandCache( addedvalues );
    }
  *]
}