SHARE
TWEET

Untitled

a guest Jan 24th, 2020 75 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top