yanweiyuan3
2023-08-09 588bc7829387dfc761cc25f06f77d4c81818bd10
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 AddConstrainedDemandForExport (
  String scenario,
  String uriitem,
  String uristocklocation,
  String urisalessegment,
  Date startdate,
  Date enddate,
  Real quantity,
  Real revenue
)
{
  Description: 'Verify duplicate then append ConstrainedDemand to ConstrainedDemandCache'
  TextBody:
  [*
    // Use converter to get right date format
    stringStartDate := LibSCIIntegration_Utility::DateToStringISOConverter( startdate );
    stringEndDate := LibSCIIntegration_Utility::DateToStringISOConverter( enddate );
    
    // Check if the ConstrainedDemand is already existing
    existingConstrainedDemand := LibSCIConstrainedDemand::FindLibSCIConstrainedDemandTypeIndex( scenario, uriitem, urisalessegment, uristocklocation, enddate );
    if( isnull( existingConstrainedDemand ) )
    {
      this.LibSCIConstrainedDemand( 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.ConstrainedDemandCache() + String::NewLine() + addedvalues;
    
      this.ConstrainedDemandCache( addedvalues );
    }
  *]
}