Extended Rule for the INVOIC Group

Now that you have entered the entire extended rule that will be processed for the INVOIC group, your extended rule should look like this:

integer i,j,ildlimit,stllimit;

i=count($STL[*]);
while i > 0 do

begin

   delete($STL[i]);

   i=i-1;

end

stllimit = 0;


ildlimit = count($ILD[1][*]);


i=1;

while i <= ildlimit do

begin

   j=1;

   while j <= stllimit do

   begin

      if $ILD[1][i].#CD12 = $STL[j].#CD12:2 then

      begin

         $STL[j].#LVLA = $STL[j].#LVLA + $ILD[1][i].#LEXC;

         $STL[j].#NRIL = $STL[j].#NRIL + 1;

         break;

      end

      j=j+1;

   end

   if j > stllimit then

   begin

      $STL[j].#SEQA:7 = j;

      $STL[j].#VATP:2 = $ILD[1][i].#VATP;

      $STL[j].#CD12:2 = $ILD[1][i].#CD12;

      $STL[j].#LVLA = $ILD[1][i].#LEXC;

      $STL[j].#NRIL = 1;

      stllimit = stllimit + 1;

   end

   i=i+1;

end

#LVLT = #TVAT = 0;

j=1;

while j <= stllimit do

begin

   $STL[j].#VATA = ($STL[j].#LVLA * $STL[j].#VATP:2) / 100.0;

   $STL[j].#EVLA = $STL[j].#LVLA;

   $STL[j].#ASDA = $STL[j].#LVLA;

   $STL[j].#APSI = $STL[j].#LVLA + $STL[j].#VATA;



 #LVLT = #LVLT + $STL[j].#LVLA;

   #TVAT = #TVAT + $STL[j].#VATA;



   j=j+1;

end



#NSTL = stllimit;

#EVLT = #LVLT;

#ASDT = #LVLT;

#TPSI = #LVLT + #TVAT;