Advertisement
Guest User

Untitled

a guest
Jan 24th, 2020
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.65 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. Concatenate(Check1_tmp)
  127. LOAD
  128. *
  129. Resident Check1_tmp2;
  130. DROP TABLE Check1_tmp2;
  131.  
  132. //==========================================================================
  133. //uso il qualify per evitare sintetiche
  134. //==========================================================================
  135. Qualify *;
  136. Unqualify ID_COMPANY;
  137.  
  138. Check19:
  139. Load
  140. *
  141. Resident Check1_tmp;
  142.  
  143. drop table Check1_tmp;
  144.  
  145. STORE Check19 INTO $(vsStoreQvd)QVD02\$(vsCompany)\$(vsMonthYearCurrent)_QVD02_Check19.qvd (qvd);
  146. drop table Check19;
  147.  
  148. Unqualify *;
  149. Unqualify ID_COMPANY;
  150.  
  151.  
  152. End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement