lazhen
2025-01-09 8afe90b633046db39042aada36b88193062f8cff
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
Quintiq file version 2.0
#parent: #root
Method AddTargetFillRateQuantityForExport (
  String uriitem,
  String uristocklocation,
  String urisalessegment,
  Date startdate,
  Date enddate,
  Real targetpercentage,
  Real alertingthreshold
)
{
  Description: 'Verify duplicate then append TargetFillRateQuantity to TargetFillRateQuantityCache'
  TextBody:
  [*
    // Use converter to get right date format
    stringStartDate := LibSCIIntegration_Utility::DateToStringISOConverter( startdate );
    stringEndDate := LibSCIIntegration_Utility::DateToStringISOConverter( enddate );
    
    // Check if the TargetFillRateQuantity is already existing
    existingTargetFillRateQuantity := LibSCITargetFillRateQuantity::FindLibSCITargetFillRateQuantityTypeIndex( uriitem, urisalessegment, uristocklocation );
    if( isnull( existingTargetFillRateQuantity ) )
    {
      this.LibSCITargetFillRateQuantity( relnew,
                                         UriItem := uriitem,
                                         UriSalesSegment := urisalessegment,
                                         UriStockLocation := uristocklocation );
                         
      content := construct( Strings );
      
      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]targetpercentage );                                             // targetValue
      content.Add( [String]alertingthreshold );                                            // alertingThreshold
      
      addedvalues := content.ToString( LibSCIIntegration_Utility::Tokenizer() );
      addedvalues := this.TargetFillRateQuantityCache() + String::NewLine() + addedvalues;
    
      this.TargetFillRateQuantityCache( addedvalues );
    }
  *]
}