Advertisement
Guest User

Untitled

a guest
May 29th, 2015
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.93 KB | None | 0 0
  1. static void DMF_ProductdimensionsfromCSV(Args _args)
  2. {
  3. TextIo txIoRead;
  4. FileIOPermission permission;
  5.  
  6. container fileline;
  7. container containFromRead;
  8. Filename filename;
  9. int64 recs = 0;
  10. int recordCounter = 0;
  11. #AviFiles
  12. SysOperationProgress progress = new SysOperationProgress();
  13. int i;
  14. str CustAccount, LineNum, SalesId;
  15. int64 DefaultRecid;
  16. SalesTable salesTable;
  17. SalesLine salesLine;
  18. CustTable custTable;
  19. str 50 employee, orderno, costCenter, project;
  20. DefaultDimensionView defaultDimensionView;
  21. InventTable inventTable;
  22. str C10Site, C10BusinessUnit;
  23. InventDim inventDim;
  24. NoYes MissingonItem;
  25.  
  26. int charCounter = 1;
  27. int delimiterCounter = 0;
  28. str curChar;
  29. str strPart1;
  30. DimensionAttributeValueSetStorage valueSetStorage = new DimensionAttributeValueSetStorage();
  31. DimensionDefault result;
  32.  
  33. DimensionAttribute dimensionAttribute;
  34. DimensionAttributeValue dimensionAttributeValue;
  35. Dialog dialog;
  36. DialogGroup dialogg;
  37. DialogField dialogf;
  38. DialogGroup dialogg1;
  39. container conAttr = ["Anställningsnummer", "Beställningsnummer", "Kostandsställe", "Project"];
  40. container conValue = [employee, orderNo, costCenter, project];
  41. str dimValue;
  42. ItemId itemid;
  43. recid returVal;
  44. int validated;
  45. str tmpStr;
  46. ProjTable projTable;
  47. str defaultdimension;
  48. OMOperatingUnit OMOperatingUnit;
  49. ;
  50.  
  51. dialog = new dialog("Indtast værdier");
  52. dialogg = dialog.addGroup("Fil:");
  53. dialogf= dialog.addField(extendedtypestr(FilenameOpen));
  54. //dialogg1 = dialog.add()
  55.  
  56.  
  57. if (dialog.run())
  58. {
  59. filename = dialogf.value();
  60. }
  61.  
  62. permission = new FileIOPermission(filename, "R");
  63. txIoRead = new TextIo(filename, "R");
  64.  
  65. //tells the delimiter
  66. txIoRead.inFieldDelimiter(";");
  67. txIoRead.inRecordDelimiter('\n');
  68.  
  69. info("Start");
  70.  
  71. select count(RecId) from salesLine;
  72. recs = salesLine.RecId;
  73. progress.setTotal(recs);
  74.  
  75. while (txIoRead.status() == IO_Status::Ok)
  76. {
  77. containFromRead = txIoRead.read();
  78.  
  79. defaultdimension = conpeek(containFromRead, 1);
  80.  
  81. employee = "";
  82. orderNo = "";
  83. costCenter = "";
  84. project = "";
  85.  
  86. charCounter = 1;
  87.  
  88. while (charCounter <= strLen(DefaultDimension) && delimiterCounter <= 3)
  89. {
  90. curChar = subStr(DefaultDimension, charCounter, 1);
  91.  
  92. if (curChar == "-")
  93. {
  94. delimiterCounter++;
  95. }
  96. //if (curChar!=";" && delimiterCounter==2) CustAccount = CustAccount + curChar;
  97.  
  98. if (curChar != "-" && delimiterCounter == 0)
  99. {
  100. LineNum = LineNum + curChar;
  101.  
  102. if (strPart1 == "")
  103. {
  104. strPart1 = subStr(DefaultDimension, 1, charCounter - 1);
  105. }
  106.  
  107. if (curChar != "-")
  108. {
  109. employee = employee + curChar;
  110. }
  111. }
  112.  
  113. if (curChar != "-" && delimiterCounter == 1)
  114. {
  115. LineNum = LineNum + curChar;
  116.  
  117. if (strPart1 == "")
  118. {
  119. strPart1 = subStr(DefaultDimension, 1, charCounter - 1);
  120. }
  121.  
  122. if (curChar != "-")
  123. {
  124. orderNo = orderNo + curChar;
  125. }
  126. }
  127.  
  128. if (curChar != "-" && delimiterCounter == 2)
  129. {
  130. LineNum = LineNum + curChar;
  131.  
  132. if (strPart1 == "")
  133. {
  134. strPart1 = subStr(DefaultDimension, 1, charCounter - 1);
  135. }
  136.  
  137. if (curChar != "-")
  138. {
  139. costCenter = costCenter + curChar;
  140. }
  141. }
  142.  
  143. if (curChar != "-" && delimiterCounter == 3)
  144. {
  145. LineNum = LineNum + curChar;
  146.  
  147. if (strPart1 == "")
  148. {
  149. strPart1 = subStr(DefaultDimension, 1, charCounter - 1);
  150. }
  151.  
  152. if (curChar != "-")
  153. {
  154. project = project + curChar;
  155. }
  156. }
  157.  
  158. charCounter++;
  159. }
  160.  
  161. validated = true;
  162.  
  163. i = 1;
  164.  
  165. convalue =[employee, orderNo, costCenter, project];
  166.  
  167. //Find dimension
  168. if (validated==true)
  169. {
  170. for (i = 1; i <= conLen(conAttr); i++)
  171. {
  172. dimensionAttribute = dimensionAttribute::findByName(conPeek(conAttr,i));
  173.  
  174. if (dimensionAttribute.RecId == 0)
  175. {
  176. continue;
  177. }
  178.  
  179. dimValue = conPeek(conValue,i);
  180.  
  181. if (dimValue != "")
  182. {
  183. dimensionAttributeValue =
  184. dimensionAttributeValue::findByDimensionAttributeAndValue(dimensionAttribute,dimValue,true,true);
  185.  
  186. valueSetStorage.addItem(dimensionAttributeValue);
  187. returVal = dimensionAttributeValue.RecId;
  188. }
  189. }
  190.  
  191. DefaultRecid = valueSetStorage.save();
  192. }
  193. if (DefaultRecid!=0)
  194. {
  195.  
  196. select forUpdate inventtable where inventtable.itemid==itemid;
  197. if (inventTable)
  198. {
  199. ttsBegin;
  200. inventtable.DefaultDimension = DefaultRecid;
  201. inventtable.doupdate();
  202. ttsCommit;
  203. }
  204.  
  205. }
  206. }
  207.  
  208. info("Slut, prut finale");
  209.  
  210. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement