Advertisement
Guest User

Untitled

a guest
Jan 24th, 2020
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.10 KB | None | 0 0
  1. sub Check19
  2.  
  3. //////////////////////// PARTE 1: hfm ////////////////////////////////////
  4.  
  5. Inline:
  6. load * inline [
  7. id, scenario, tempo1, tempo2
  8. 1, CURRENT , $(vsMonthYearCurrent) , $(vsMonthYearClosed)
  9. 2, CLOSED MONTH, $(vsMonthYearClosed) , $(vsMonthYearPrevious)
  10. ];
  11.  
  12. let vEndif = FieldValueCount('id');
  13.  
  14. for i=1 to '$(vEndif)'
  15.  
  16. let vsScenarioLoop =FieldValue('scenario',i);
  17. let vsTempo1Loop =FieldValue('tempo1',i);
  18. let vsTempo2Loop =FieldValue('tempo2',i);
  19.  
  20.  
  21. Check1_tmp:
  22. load
  23. '$(vsScenarioLoop)' as SCENARIO,
  24. ID_COMPANY,
  25. CD_ACCOUNT_HFM,
  26. CD_PRODUCT_HFM as CD_PRODUCT_HFM,
  27. upper(DS_PRODUCT_HFM) as DS_PRODUCT_HFM,
  28. ID_DATE,
  29. AMOUNT_HFM,
  30. if(applymap('Map_date_yearmonth',ID_DATE)='$(vsTempo1Loop)',1,0) as FLAG_CUR_MONTH
  31. FROM [$(vsConnection)QVD01\$(vsSystem)\QVD01_$(vsSystem)_FAT_HFM_SALES.qvd]
  32. (qvd)
  33. where
  34. applymap('Map_date_yearmonth',ID_DATE)='$(vsTempo1Loop)'
  35. or
  36. applymap('Map_date_yearmonth',ID_DATE)='$(vsTempo2Loop)';
  37.  
  38. next i
  39.  
  40.  
  41. left join(Check1_tmp)
  42. LOAD distinct
  43. CD_ACCOUNT_HFM,
  44. FL_REVENUE,
  45. FL_COGS,
  46. FL_COGS_ICO
  47. FROM [$(vsConnection)QVD01/$(vsSystem)/QVD01_$(vsSystem)_DIM_ACCOUNT_HFM.qvd]
  48. (qvd);
  49.  
  50. //creo mappa per avere descrizione pl uguale tra hfm e om
  51. map_desc_pl:
  52. mapping load distinct
  53. CD_PRODUCT_HFM,
  54. DS_PRODUCT_HFM
  55. resident Check1_tmp;
  56.  
  57.  
  58. //////////////////////// PARTE 2: OM ////////////////////////////////////
  59.  
  60. for i=1 to '$(vEndif)'
  61.  
  62. let vsScenarioLoop =FieldValue('scenario',i);
  63. let vsTempo1Loop =FieldValue('tempo1',i);
  64.  
  65. //==========================================================================
  66. //leggo il fatturato + costi (Fatturato Statistico e Contabile)
  67. //==========================================================================
  68. Check1_tmp2:
  69. LOAD
  70. '$(vsScenarioLoop)' as SCENARIO,
  71. '$(vsIDCompany)' as ID_COMPANY,
  72. ID_CUSTOMER as [% ID_KEY_CUSTOMER],
  73. ID_PRODUCT as ID_KEY_PRODUCT,
  74. left(ID_DATE,6) as YEAR_MONTH,
  75. AMOUNT_NET as INVOICE_LOC_AMOUNT,
  76. AMOUNT_NET as INVOICE_LOC_AMOUNT_RR,
  77. AMOUNT_COST as AVERAGE_COST_VALUE,
  78. AMOUNT_COST as AVERAGE_COST_VALUE_TR,
  79. AMOUNT_COST_RR as AVERAGE_COST_VALUE_RR,
  80. AMOUNT_COST as AVERAGE_COST_VALUE_RR_TR, //senza M_QTY diventano doppioni
  81. if(applymap('Map_date_yearmonth',ID_DATE)='$(vsTempo1Loop)',1,0) as FLAG_CUR_MONTH,
  82. ROWNO() AS ID
  83. FROM [$(vsConnection)QVD01\$(vsSystem)\QVD01_$(vsSystem)_FAT_SALES_INVOICE.qvd] (qvd)
  84. where
  85. left(ID_DATE,6)<='$(vsTempo1Loop)'
  86. AND left(ID_DATE,4)=LEFT('$(vsTempo1Loop)',4)
  87. and FL_SALES=1
  88. ;
  89.  
  90.  
  91. next i
  92. // drop table Inline;
  93.  
  94. //==========================================================================
  95. //aggancio customer info (cliente di fatturazione)
  96. //==========================================================================
  97. left join(Check1_tmp2)
  98. LOAD
  99. ID_CUSTOMER as [% ID_KEY_CUSTOMER], //chiave per DIM_CUSTOMER_INVOICE
  100. DS_TYPE_CUSTOMER as [TYPE CUSTOMER],
  101. DS_CUSTOMER as [DS CUSTOMER] ,
  102. if(match(UPPER(DS_TYPE_CUSTOMER),'INTERCOMPANY'),1,0) as FLAG_ICO
  103. FROM [$(vsConnection)QVD01\$(vsSystem)\QVD01_$(vsSystem)_DIM_CUSTOMER.qvd]
  104. (qvd);
  105.  
  106. //==========================================================================
  107. //aggancio product info
  108. //==========================================================================
  109. Left join(Check1_tmp2)
  110. LOAD
  111. ID_PRODUCT as ID_KEY_PRODUCT,
  112. DS_PRODUCT,
  113. CD_PRODUCT,
  114. CD_CODIMP,
  115. UNIT_CODE as DS_UOM,
  116. applymap('Map_Structure',CD_CODIMP) as ID_STRUCTURE_R12,
  117. DS_TYPE_PRODUCT,
  118. TYPE_PRODUCT
  119. // CD_PL_HFM as CD_PRODUCT_HFM,
  120. // applymap('map_desc_pl',CD_PL_HFM,DS_PL_HFM) as DS_PRODUCT_HFM
  121. FROM [$(vsConnection)QVD01\$(vsSystem)\QVD01_$(vsSystem)_DIM_PRODUCT.qvd]
  122. (qvd);
  123.  
  124. //concateno hfm e gl
  125. //==========================================================================
  126. //aggancio structure R12
  127. //==========================================================================
  128. LEFT JOIN(Check1_tmp2)
  129. LOAD
  130. ID_STRUCTURE as ID_STRUCTURE_R12,
  131. applymap('map_desc_pl',CD_LINE,DS_LINE) as DS_PRODUCT_HFM,
  132. CD_LINE as CD_PRODUCT_HFM
  133. FROM [$(vsConnection)QVD01\R12\QVD01_R12_DIM_STRUCTURE.qvd]
  134. (qvd);
  135.  
  136.  
  137. Concatenate(Check1_tmp)
  138. LOAD
  139. *
  140. Resident Check1_tmp2;
  141. DROP TABLE Check1_tmp2;
  142.  
  143. //==========================================================================
  144. //uso il qualify per evitare sintetiche
  145. //==========================================================================
  146. Qualify *;
  147. Unqualify ID_COMPANY;
  148.  
  149. Check19:
  150. Load
  151. *
  152. Resident Check1_tmp;
  153.  
  154. drop table Check1_tmp;
  155.  
  156. STORE Check19 INTO $(vsStoreQvd)QVD02\$(vsCompany)\$(vsMonthYearCurrent)_QVD02_Check19.qvd (qvd);
  157. drop table Check19;
  158.  
  159. Unqualify *;
  160. Unqualify ID_COMPANY;
  161.  
  162.  
  163. End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement