Program: 58687
Project: 58687
Buggy source:
/** 
 * Fonction permettant de créer un enregistrement 'émetteur' pour un export de prélèvement de mensu
 * @param company Une société
 * @param localDate Une date
 * @return Un enregistrement 'emetteur'
 * @throws AxelorException
 */
private String createSenderMonthlyExportCFONB(LocalDate localDate,BankDetails bankDetails) throws AxelorException {
  DateFormat ddmmFormat=new SimpleDateFormat("String_Node_Str");
  String date=ddmmFormat.format(localDate.toDateTimeAtCurrentTime().toDate());
  date+=String.format("String_Node_Str",StringTool.truncLeft(String.format("String_Node_Str",localDate.getYear()),1));
  String a=this.cfonbConfig.getSenderRecordCodeExportCFONB();
  String b1=this.cfonbConfig.getDirectDebitOperationCodeExportCFONB();
  String b2="String_Node_Str";
  String b3=this.cfonbConfig.getSenderNumExportCFONB();
  String c1One="String_Node_Str";
  String c1Two=date;
  String c2=this.cfonbConfig.getSenderNameCodeExportCFONB();
  String d1One="String_Node_Str";
  String d1Two="String_Node_Str";
  String d2="String_Node_Str";
  String d3=bankDetails.getSortCode();
  String d4=bankDetails.getAccountNbr();
  String e="String_Node_Str";
  String f="String_Node_Str";
  String g1=bankDetails.getBankCode();
  String g2="String_Node_Str";
  b2=StringTool.fillStringRight(b2,' ',8);
  b3=StringTool.fillStringRight(b3,' ',6);
  c1One=StringTool.fillStringRight(c1One,' ',7);
  c2=StringTool.fillStringRight(c2,' ',24);
  d1One=StringTool.fillStringRight(d1One,' ',7);
  d1Two=StringTool.fillStringRight(d1Two,' ',17);
  d2=StringTool.fillStringRight(d2,' ',8);
  d4=StringTool.fillStringRight(d4,' ',11);
  e=StringTool.fillStringRight(e,' ',16);
  f=StringTool.fillStringRight(f,' ',31);
  g2=StringTool.fillStringRight(g2,' ',6);
  a=StringTool.fillStringLeft(a,'0',2);
  b1=StringTool.fillStringLeft(b1,'0',2);
  c1Two=StringTool.fillStringLeft(c1Two,'0',5);
  d3=StringTool.fillStringLeft(d3,'0',5);
  g1=StringTool.fillStringLeft(g1,'0',5);
  cfonbToolService.testDigital(a);
  cfonbToolService.testDigital(b1);
  cfonbToolService.testDigital(d3);
  cfonbToolService.testDigital(g1);
  return a + b1 + b2+ b3+ c1One+ c1Two+ c2+ d1One+ d1Two+ d2+ d3+ d4+ e+ f+ g1+ g2;
}

Fixed version (ground truth):
/** 
 * Fonction permettant de créer un enregistrement 'émetteur' pour un export de prélèvement de mensu
 * @param company Une société
 * @param localDate Une date
 * @return Un enregistrement 'emetteur'
 * @throws AxelorException
 */
private String createSenderMonthlyExportCFONB(LocalDate localDate,BankDetails bankDetails) throws AxelorException {
  DateFormat ddmmFormat=new SimpleDateFormat("String_Node_Str");
  String date=ddmmFormat.format(localDate.toDateTimeAtCurrentTime().toDate());
  date+=String.format("String_Node_Str",StringTool.truncLeft(String.format("String_Node_Str",localDate.getYear()),1));
  String a=this.cfonbConfig.getSenderRecordCodeExportCFONB();
  String b1=this.cfonbConfig.getDirectDebitOperationCodeExportCFONB();
  String b2="String_Node_Str";
  String b3=this.cfonbConfig.getSenderNumExportCFONB();
  String c1One="String_Node_Str";
  String c1Two=date;
  String c2=this.cfonbConfig.getSenderNameCodeExportCFONB();
  String d1One="String_Node_Str";
  String d1Two="String_Node_Str";
  String d2="String_Node_Str";
  String d3=bankDetails.getSortCode();
  String d4=bankDetails.getAccountNbr();
  String e="String_Node_Str";
  String f="String_Node_Str";
  String g1=bankDetails.getBankCode();
  String g2="String_Node_Str";
  b2=StringTool.fillStringRight(b2,' ',8);
  b3=StringTool.fillStringRight(b3,' ',6);
  c1One=StringTool.fillStringRight(c1One,' ',7);
  c2=StringTool.fillStringRight(c2,' ',24);
  d1One=StringTool.fillStringRight(d1One,' ',7);
  d1Two=StringTool.fillStringRight(d1Two,' ',17);
  d2=StringTool.fillStringRight(d2,' ',8);
  d4=StringTool.fillStringRight(d4,' ',11);
  e=StringTool.fillStringRight(e,' ',16);
  f=StringTool.fillStringRight(f,' ',31);
  g2=StringTool.fillStringRight(g2,' ',6);
  a=StringTool.fillStringLeft(a,'0',2);
  b1=StringTool.fillStringLeft(b1,'0',2);
  c1Two=StringTool.fillStringLeft(c1Two,'0',5);
  d3=StringTool.fillStringLeft(d3,'0',5);
  g1=StringTool.fillStringLeft(g1,'0',5);
  cfonbToolService.testDigital(a,"String_Node_Str");
  cfonbToolService.testDigital(b1,"String_Node_Str");
  cfonbToolService.testDigital(d3,"String_Node_Str");
  cfonbToolService.testDigital(g1,"String_Node_Str");
  return a + b1 + b2+ b3+ c1One+ c1Two+ c2+ d1One+ d1Two+ d2+ d3+ d4+ e+ f+ g1+ g2;
}