Untitled

 avatar
unknown
abap
2 years ago
22 kB
4
Indexable
  "Penjualan
  wa_data1-desc_id = 'Penjualan'.
  LOOP AT it_mapacct INTO wa_mapacct WHERE mapid = 'A01'.
    READ TABLE it_rkap INTO wa_rkap WITH KEY mapid = 'A01' divcode = 'ALL'.
    wa_data1-hsl_rkap = wa_rkap-amount.
    wa_data1-pct_rkap = 100.

    LOOP AT it_acdoca INTO wa_acdoca WHERE ( racct BETWEEN wa_mapacct-racct_from AND wa_mapacct-racct_to ) AND ( poper BETWEEN '001' AND p_poper2 - 1 ).
      wa_data1-hsl_prev_period = wa_data1-hsl_prev_period + wa_acdoca-hsl.
    ENDLOOP.
    IF p_poper2 > '001'.
      wa_data1-pct_prev_period = 100.
    ENDIF.

    LOOP AT it_acdoca INTO wa_acdoca WHERE ( racct BETWEEN wa_mapacct-racct_from AND wa_mapacct-racct_to ) AND poper = p_poper2.
      wa_data1-hsl_curr_period = wa_data1-hsl_curr_period + wa_acdoca-hsl.
    ENDLOOP.
    wa_data1-pct_curr_period = 100.

    wa_data1-hsl_until_period = wa_data1-hsl_prev_period + wa_data1-hsl_curr_period.
    wa_data1-pct_until_period = 100.
  ENDLOOP.
  wa_data1-desc_en = 'Revenues'.
  APPEND wa_data1 TO it_data1.

  READ TABLE it_data1 ASSIGNING FIELD-SYMBOL(<fs1_penjualan>) INDEX 1.

  "Beban Pokok Penjualan
  CLEAR : wa_data1, wa_acdoca, wa_rkap.
  wa_data1-desc_id = 'Beban Pokok Penjualan'.
  LOOP AT it_mapacct INTO wa_mapacct WHERE mapid = 'A02'.
    READ TABLE it_rkap INTO wa_rkap WITH KEY mapid = 'A02' divcode = 'ALL'.
    wa_data1-hsl_rkap = wa_rkap-amount.
    wa_data1-pct_rkap = ( wa_data1-hsl_rkap / <fs1_penjualan>-hsl_rkap ) * 100.

    LOOP AT it_acdoca INTO wa_acdoca WHERE ( racct BETWEEN wa_mapacct-racct_from AND wa_mapacct-racct_to ) AND ( poper BETWEEN '001' AND p_poper2 - 1 ).
      wa_data1-hsl_prev_period = wa_data1-hsl_prev_period + wa_acdoca-hsl.
    ENDLOOP.
    wa_data1-pct_prev_period = ( wa_data1-hsl_prev_period / <fs1_penjualan>-hsl_prev_period ) * 100.

    LOOP AT it_acdoca INTO wa_acdoca WHERE ( racct BETWEEN wa_mapacct-racct_from AND wa_mapacct-racct_to ) AND poper = p_poper2.
      wa_data1-hsl_curr_period = wa_data1-hsl_curr_period + wa_acdoca-hsl.
    ENDLOOP.
    wa_data1-pct_curr_period = ( wa_data1-hsl_curr_period / <fs1_penjualan>-hsl_curr_period ) * 100.

    wa_data1-hsl_until_period = wa_data1-hsl_prev_period + wa_data1-hsl_curr_period.
    wa_data1-pct_until_period = ( wa_data1-hsl_until_period / <fs1_penjualan>-hsl_until_period ) * 100.
  ENDLOOP.
  wa_data1-desc_en = 'Cost of Revenues'.
  APPEND wa_data1 TO it_data1.

  "Laba Kotor
  CLEAR : wa_data1.
  wa_data1-desc_id = 'Laba Kotor'.
  READ TABLE it_data1 ASSIGNING FIELD-SYMBOL(<fs1_beban_penjualan>) INDEX 2.
  wa_data1-hsl_rkap = <fs1_penjualan>-hsl_rkap - <fs1_beban_penjualan>-hsl_rkap.
  wa_data1-pct_rkap = <fs1_penjualan>-pct_rkap - <fs1_beban_penjualan>-pct_rkap.

  wa_data1-hsl_prev_period = <fs1_penjualan>-hsl_prev_period - <fs1_beban_penjualan>-hsl_prev_period.
  wa_data1-pct_prev_period = <fs1_penjualan>-pct_prev_period - <fs1_beban_penjualan>-pct_prev_period.

  wa_data1-hsl_curr_period = <fs1_penjualan>-hsl_curr_period - <fs1_beban_penjualan>-hsl_curr_period.
  wa_data1-pct_curr_period = <fs1_penjualan>-pct_curr_period - <fs1_beban_penjualan>-pct_curr_period.

  wa_data1-hsl_until_period = <fs1_penjualan>-hsl_until_period - <fs1_beban_penjualan>-hsl_until_period.
  wa_data1-pct_until_period = <fs1_penjualan>-pct_until_period - <fs1_beban_penjualan>-pct_until_period.

  wa_data1-desc_en = 'Gross Profit'.
  APPEND wa_data1 TO it_data1.

  "Beban Usaha
  CLEAR : wa_data1.
  wa_data1-desc_id = 'Beban Usaha'.
  APPEND wa_data1 TO it_data1.

  "Beban Pemasaran
  CLEAR : wa_data1, wa_acdoca, wa_rkap.
  wa_data1-desc_id = '- Beban Pemasaran'.
  LOOP AT it_mapacct INTO wa_mapacct WHERE mapid = 'A03'.
    READ TABLE it_rkap INTO wa_rkap WITH KEY mapid = 'A03' divcode = 'ALL'.
    wa_data1-hsl_rkap = wa_rkap-amount.
    wa_data1-pct_rkap = ( wa_data1-hsl_rkap / <fs1_penjualan>-hsl_rkap ) * 100.

    LOOP AT it_acdoca INTO wa_acdoca WHERE ( racct BETWEEN wa_mapacct-racct_from AND wa_mapacct-racct_to ) AND ( poper BETWEEN '001' AND p_poper2 - 1 ).
      wa_data1-hsl_prev_period = wa_data1-hsl_prev_period + wa_acdoca-hsl.
    ENDLOOP.
    wa_data1-pct_prev_period = ( wa_data1-hsl_prev_period / <fs1_penjualan>-hsl_prev_period ) * 100.

    LOOP AT it_acdoca INTO wa_acdoca WHERE ( racct BETWEEN wa_mapacct-racct_from AND wa_mapacct-racct_to ) AND poper = p_poper2.
      wa_data1-hsl_curr_period = wa_data1-hsl_curr_period + wa_acdoca-hsl.
    ENDLOOP.
    wa_data1-pct_curr_period = ( wa_data1-hsl_curr_period / <fs1_penjualan>-hsl_curr_period ) * 100.

    wa_data1-hsl_until_period = wa_data1-hsl_prev_period + wa_data1-hsl_curr_period.
    wa_data1-pct_until_period = ( wa_data1-hsl_until_period / <fs1_penjualan>-hsl_until_period ) * 100.
  ENDLOOP.
  wa_data1-desc_en = 'Selling Expenses'.
  APPEND wa_data1 TO it_data1.

  "Beban Adm. & Umum
  CLEAR : wa_data1, wa_acdoca, wa_rkap.
  wa_data1-desc_id = '- Beban Adm. & Umum'.
  LOOP AT it_mapacct INTO wa_mapacct WHERE mapid = 'A04'.
    READ TABLE it_rkap INTO wa_rkap WITH KEY mapid = 'A04' divcode = 'ALL'.
    wa_data1-hsl_rkap = wa_rkap-amount.
    wa_data1-pct_rkap = ( wa_data1-hsl_rkap / <fs1_penjualan>-hsl_rkap ) * 100.

    LOOP AT it_acdoca INTO wa_acdoca WHERE ( racct BETWEEN wa_mapacct-racct_from AND wa_mapacct-racct_to ) AND ( poper BETWEEN '001' AND p_poper2 - 1 ).
      wa_data1-hsl_prev_period = wa_data1-hsl_prev_period + wa_acdoca-hsl.
    ENDLOOP.
    wa_data1-pct_prev_period = ( wa_data1-hsl_prev_period / <fs1_penjualan>-hsl_prev_period ) * 100.

    LOOP AT it_acdoca INTO wa_acdoca WHERE ( racct BETWEEN wa_mapacct-racct_from AND wa_mapacct-racct_to ) AND poper = p_poper2.
      wa_data1-hsl_curr_period = wa_data1-hsl_curr_period + wa_acdoca-hsl.
    ENDLOOP.
    wa_data1-pct_curr_period = ( wa_data1-hsl_curr_period / <fs1_penjualan>-hsl_curr_period ) * 100.

    wa_data1-hsl_until_period = wa_data1-hsl_prev_period + wa_data1-hsl_curr_period.
    wa_data1-pct_until_period = ( wa_data1-hsl_until_period / <fs1_penjualan>-hsl_until_period ) * 100.
  ENDLOOP.
  wa_data1-desc_en = 'Administrative Expenses'.
  APPEND wa_data1 TO it_data1.

  "Jumlah Beban Usaha
  CLEAR wa_data1.
  wa_data1-desc_id = 'Jumlah Beban Usaha'.
  READ TABLE it_data1 ASSIGNING FIELD-SYMBOL(<fs1_beban_mkt>) INDEX 5.
  READ TABLE it_data1 ASSIGNING FIELD-SYMBOL(<fs1_beban_adm>) INDEX 6.
  wa_data1-hsl_rkap = <fs1_beban_mkt>-hsl_rkap + <fs1_beban_adm>-hsl_rkap.
  wa_data1-pct_rkap = <fs1_beban_mkt>-pct_rkap + <fs1_beban_adm>-pct_rkap.

  wa_data1-hsl_prev_period = <fs1_beban_mkt>-hsl_prev_period + <fs1_beban_adm>-hsl_prev_period.
  wa_data1-pct_prev_period = <fs1_beban_mkt>-pct_prev_period + <fs1_beban_adm>-pct_prev_period.

  wa_data1-hsl_curr_period = <fs1_beban_mkt>-hsl_curr_period + <fs1_beban_adm>-hsl_curr_period.
  wa_data1-pct_curr_period = <fs1_beban_mkt>-pct_curr_period + <fs1_beban_adm>-pct_curr_period.

  wa_data1-hsl_until_period = <fs1_beban_mkt>-hsl_until_period + <fs1_beban_adm>-hsl_until_period.
  wa_data1-pct_until_period = <fs1_beban_mkt>-pct_until_period + <fs1_beban_adm>-pct_until_period.
  wa_data1-desc_en = 'General and Adm. Expenses'.
  APPEND wa_data1 TO it_data1.

  "Laba (Rugi) Usaha
  CLEAR wa_data1.
  wa_data1-desc_id = 'Laba (Rugi) Usaha'.
  READ TABLE it_data1 ASSIGNING FIELD-SYMBOL(<fs1_laba_kotor>) INDEX 3.
  READ TABLE it_data1 ASSIGNING FIELD-SYMBOL(<fs1_jml_beban_usaha>) INDEX 7.
  wa_data1-hsl_rkap = <fs1_laba_kotor>-hsl_rkap - <fs1_jml_beban_usaha>-hsl_rkap.
  wa_data1-pct_rkap = ( wa_data1-hsl_rkap / <fs1_penjualan>-hsl_rkap ) * 100.

  wa_data1-hsl_prev_period = <fs1_laba_kotor>-hsl_prev_period - <fs1_jml_beban_usaha>-hsl_prev_period.
  wa_data1-pct_prev_period = ( wa_data1-hsl_prev_period / <fs1_penjualan>-hsl_prev_period ) * 100.

  wa_data1-hsl_curr_period = <fs1_laba_kotor>-hsl_curr_period - <fs1_jml_beban_usaha>-hsl_curr_period.
  wa_data1-pct_curr_period = ( wa_data1-hsl_curr_period / <fs1_penjualan>-hsl_curr_period ) * 100.

  wa_data1-hsl_until_period = <fs1_laba_kotor>-hsl_until_period - <fs1_jml_beban_usaha>-hsl_until_period.
  wa_data1-pct_until_period = ( wa_data1-hsl_until_period / <fs1_penjualan>-hsl_until_period ) * 100.
  wa_data1-desc_en = 'Operational Profit'.
  APPEND wa_data1 TO it_data1.

  "Pendapatan (Beban) Lain-Lain
  CLEAR wa_data1.
  wa_data1-desc_id = 'Pendapatan (Beban) Lain-Lain'.
  APPEND wa_data1 TO it_data1.

  "Pendapatan Lainnya
  CLEAR : wa_data1, wa_acdoca, wa_rkap.
  wa_data1-desc_id = '- Pendapatan Lainnya'.
  LOOP AT it_mapacct INTO wa_mapacct WHERE mapid = 'A05'.
    READ TABLE it_rkap INTO wa_rkap WITH KEY mapid = 'A05' divcode = 'ALL'.
    wa_data1-hsl_rkap = wa_rkap-amount.
    wa_data1-pct_rkap = ( wa_data1-hsl_rkap / <fs1_penjualan>-hsl_rkap ) * 100.

    LOOP AT it_acdoca INTO wa_acdoca WHERE ( racct BETWEEN wa_mapacct-racct_from AND wa_mapacct-racct_to ) AND ( poper BETWEEN '001' AND p_poper2 - 1 ).
      wa_data1-hsl_prev_period = wa_data1-hsl_prev_period + wa_acdoca-hsl.
    ENDLOOP.
    wa_data1-pct_prev_period = ( wa_data1-hsl_prev_period / <fs1_penjualan>-hsl_prev_period ) * 100.

    LOOP AT it_acdoca INTO wa_acdoca WHERE ( racct BETWEEN wa_mapacct-racct_from AND wa_mapacct-racct_to ) AND poper = p_poper2.
      wa_data1-hsl_curr_period = wa_data1-hsl_curr_period + wa_acdoca-hsl.
    ENDLOOP.
    wa_data1-pct_curr_period = ( wa_data1-hsl_curr_period / <fs1_penjualan>-hsl_curr_period ) * 100.

    wa_data1-hsl_until_period = wa_data1-hsl_prev_period + wa_data1-hsl_curr_period.
    wa_data1-pct_until_period = ( wa_data1-hsl_until_period / <fs1_penjualan>-hsl_until_period ) * 100.
  ENDLOOP.
  wa_data1-desc_en = 'Other Income'.
  APPEND wa_data1 TO it_data1.

  "Beban Lainnya
  CLEAR : wa_data1, wa_acdoca, wa_rkap.
  wa_data1-desc_id = '- Beban Lainnya'.
  LOOP AT it_mapacct INTO wa_mapacct WHERE mapid = 'A06'.
    READ TABLE it_rkap INTO wa_rkap WITH KEY mapid = 'A06' divcode = 'ALL'.
    wa_data1-hsl_rkap = wa_rkap-amount.
    wa_data1-pct_rkap = ( wa_data1-hsl_rkap / <fs1_penjualan>-hsl_rkap ) * 100.

    LOOP AT it_acdoca INTO wa_acdoca WHERE ( racct BETWEEN wa_mapacct-racct_from AND wa_mapacct-racct_to ) AND ( poper BETWEEN '001' AND p_poper2 - 1 ).
      wa_data1-hsl_prev_period = wa_data1-hsl_prev_period + wa_acdoca-hsl.
    ENDLOOP.
    wa_data1-pct_prev_period = ( wa_data1-hsl_prev_period / <fs1_penjualan>-hsl_prev_period ) * 100.

    LOOP AT it_acdoca INTO wa_acdoca WHERE ( racct BETWEEN wa_mapacct-racct_from AND wa_mapacct-racct_to ) AND poper = p_poper2.
      wa_data1-hsl_curr_period = wa_data1-hsl_curr_period + wa_acdoca-hsl.
    ENDLOOP.
    wa_data1-pct_curr_period = ( wa_data1-hsl_curr_period / <fs1_penjualan>-hsl_curr_period ) * 100.

    wa_data1-hsl_until_period = wa_data1-hsl_prev_period + wa_data1-hsl_curr_period.
    wa_data1-pct_until_period = ( wa_data1-hsl_until_period / <fs1_penjualan>-hsl_until_period ) * 100.
  ENDLOOP.
  wa_data1-desc_en = 'Other Expenses'.
  APPEND wa_data1 TO it_data1.

  "Selisih Kurs
  CLEAR : wa_data1, wa_acdoca, wa_rkap.
  wa_data1-desc_id = '- Selisih Kurs'.
  LOOP AT it_mapacct INTO wa_mapacct WHERE mapid = 'A07'.
    READ TABLE it_rkap INTO wa_rkap WITH KEY mapid = 'A07' divcode = 'ALL'.
    wa_data1-hsl_rkap = wa_rkap-amount.
    wa_data1-pct_rkap = ( wa_data1-hsl_rkap / <fs1_penjualan>-hsl_rkap ) * 100.

    LOOP AT it_acdoca INTO wa_acdoca WHERE ( racct BETWEEN wa_mapacct-racct_from AND wa_mapacct-racct_to ) AND ( poper BETWEEN '001' AND p_poper2 - 1 ).
      wa_data1-hsl_prev_period = wa_data1-hsl_prev_period + wa_acdoca-hsl.
    ENDLOOP.
    wa_data1-pct_prev_period = ( wa_data1-hsl_prev_period / <fs1_penjualan>-hsl_prev_period ) * 100.

    LOOP AT it_acdoca INTO wa_acdoca WHERE ( racct BETWEEN wa_mapacct-racct_from AND wa_mapacct-racct_to ) AND poper = p_poper2.
      wa_data1-hsl_curr_period = wa_data1-hsl_curr_period + wa_acdoca-hsl.
    ENDLOOP.
    wa_data1-pct_curr_period = ( wa_data1-hsl_curr_period / <fs1_penjualan>-hsl_curr_period ) * 100.

    wa_data1-hsl_until_period = wa_data1-hsl_prev_period + wa_data1-hsl_curr_period.
    wa_data1-pct_until_period = ( wa_data1-hsl_until_period / <fs1_penjualan>-hsl_until_period ) * 100.
  ENDLOOP.
  wa_data1-desc_en = 'Gain on Foreign Exchange'.
  APPEND wa_data1 TO it_data1.

  "Penghasilan Bunga & Jasa Keuangan
  CLEAR : wa_data1, wa_acdoca, wa_rkap.
  wa_data1-desc_id = '- Penghasilan Bunga & Jasa Keuangan'.
  LOOP AT it_mapacct INTO wa_mapacct WHERE mapid = 'A08'.
    READ TABLE it_rkap INTO wa_rkap WITH KEY mapid = 'A08' divcode = 'ALL'.
    wa_data1-hsl_rkap = wa_rkap-amount.
    wa_data1-pct_rkap = ( wa_data1-hsl_rkap / <fs1_penjualan>-hsl_rkap ) * 100.

    LOOP AT it_acdoca INTO wa_acdoca WHERE ( racct BETWEEN wa_mapacct-racct_from AND wa_mapacct-racct_to ) AND ( poper BETWEEN '001' AND p_poper2 - 1 ).
      wa_data1-hsl_prev_period = wa_data1-hsl_prev_period + wa_acdoca-hsl.
    ENDLOOP.
    wa_data1-pct_prev_period = ( wa_data1-hsl_prev_period / <fs1_penjualan>-hsl_prev_period ) * 100.

    LOOP AT it_acdoca INTO wa_acdoca WHERE ( racct BETWEEN wa_mapacct-racct_from AND wa_mapacct-racct_to ) AND poper = p_poper2.
      wa_data1-hsl_curr_period = wa_data1-hsl_curr_period + wa_acdoca-hsl.
    ENDLOOP.
    wa_data1-pct_curr_period = ( wa_data1-hsl_curr_period / <fs1_penjualan>-hsl_curr_period ) * 100.

    wa_data1-hsl_until_period = wa_data1-hsl_prev_period + wa_data1-hsl_curr_period.
    wa_data1-pct_until_period = ( wa_data1-hsl_until_period / <fs1_penjualan>-hsl_until_period ) * 100.
  ENDLOOP.
  wa_data1-desc_en = 'Interest & Monetery Income'.
  APPEND wa_data1 TO it_data1.

  "Beban Bunga & Beban Keuangan Lain
  CLEAR : wa_data1, wa_acdoca, wa_rkap.
  wa_data1-desc_id = '- Beban Bunga & Beban Keuangan Lain'.
  LOOP AT it_mapacct INTO wa_mapacct WHERE mapid = 'A09'.
    READ TABLE it_rkap INTO wa_rkap WITH KEY mapid = 'A09' divcode = 'ALL'.
    wa_data1-hsl_rkap = wa_rkap-amount.
    wa_data1-pct_rkap = ( wa_data1-hsl_rkap / <fs1_penjualan>-hsl_rkap ) * 100.

    LOOP AT it_acdoca INTO wa_acdoca WHERE ( racct BETWEEN wa_mapacct-racct_from AND wa_mapacct-racct_to ) AND ( poper BETWEEN '001' AND p_poper2 - 1 ).
      wa_data1-hsl_prev_period = wa_data1-hsl_prev_period + wa_acdoca-hsl.
    ENDLOOP.
    wa_data1-pct_prev_period = ( wa_data1-hsl_prev_period / <fs1_penjualan>-hsl_prev_period ) * 100.

    LOOP AT it_acdoca INTO wa_acdoca WHERE ( racct BETWEEN wa_mapacct-racct_from AND wa_mapacct-racct_to ) AND poper = p_poper2.
      wa_data1-hsl_curr_period = wa_data1-hsl_curr_period + wa_acdoca-hsl.
    ENDLOOP.
    wa_data1-pct_curr_period = ( wa_data1-hsl_curr_period / <fs1_penjualan>-hsl_curr_period ) * 100.

    wa_data1-hsl_until_period = wa_data1-hsl_prev_period + wa_data1-hsl_curr_period.
    wa_data1-pct_until_period = ( wa_data1-hsl_until_period / <fs1_penjualan>-hsl_until_period ) * 100.
  ENDLOOP.
  wa_data1-desc_en = 'Finance Cost'.
  APPEND wa_data1 TO it_data1.

  "Jumlah Pendapatan (Beban) Lain-Lain
  CLEAR : wa_data1.
  wa_data1-desc_id = 'Jumlah Pendapatan (Beban) Lain-Lain'.
  LOOP AT it_data1 ASSIGNING FIELD-SYMBOL(<fs1_pendapatan_lain>) FROM 10 TO 14.
    wa_data1-hsl_rkap = <fs1_pendapatan_lain>-hsl_rkap + wa_data1-hsl_rkap.
    wa_data1-hsl_prev_period = <fs1_pendapatan_lain>-hsl_prev_period + wa_data1-hsl_prev_period.
    wa_data1-hsl_curr_period = <fs1_pendapatan_lain>-hsl_curr_period + wa_data1-hsl_curr_period.
    wa_data1-hsl_until_period = <fs1_pendapatan_lain>-hsl_until_period + wa_data1-hsl_until_period.
  ENDLOOP.

  wa_data1-pct_rkap = ( wa_data1-hsl_rkap / <fs1_penjualan>-hsl_rkap ) * 100.
  wa_data1-pct_prev_period = ( wa_data1-hsl_prev_period / <fs1_penjualan>-hsl_prev_period ) * 100.
  wa_data1-pct_curr_period = ( wa_data1-hsl_curr_period / <fs1_penjualan>-hsl_curr_period ) * 100.
  wa_data1-pct_until_period = ( wa_data1-hsl_until_period / <fs1_penjualan>-hsl_until_period ) * 100.

  wa_data1-desc_en = 'Others Net'.
  APPEND wa_data1 TO it_data1.

  "Laba (Rugi) Sebelum Pajak
  CLEAR : wa_data1.
  wa_data1-desc_id = 'Laba (Rugi) Sebelum Pajak'.
  READ TABLE it_data1 ASSIGNING FIELD-SYMBOL(<fs1_laba_rugi_usaha>) INDEX 8.
  READ TABLE it_data1 ASSIGNING FIELD-SYMBOL(<fs1_jml_pendapatan_lain>) INDEX 15.

  wa_data1-hsl_rkap = <fs1_laba_rugi_usaha>-hsl_rkap + <fs1_jml_pendapatan_lain>-hsl_rkap.
  wa_data1-pct_rkap = ( wa_data1-hsl_rkap / <fs1_penjualan>-hsl_rkap ) * 100.

  wa_data1-hsl_prev_period = <fs1_laba_rugi_usaha>-hsl_prev_period + <fs1_jml_pendapatan_lain>-hsl_prev_period.
  wa_data1-pct_prev_period = ( wa_data1-hsl_prev_period / <fs1_penjualan>-hsl_prev_period ) * 100.

  wa_data1-hsl_curr_period = <fs1_laba_rugi_usaha>-hsl_curr_period + <fs1_jml_pendapatan_lain>-hsl_curr_period.
  wa_data1-pct_curr_period = ( wa_data1-hsl_curr_period / <fs1_penjualan>-hsl_curr_period ) * 100.

  wa_data1-hsl_until_period = <fs1_laba_rugi_usaha>-hsl_until_period + <fs1_jml_pendapatan_lain>-hsl_until_period.
  wa_data1-pct_until_period = ( wa_data1-hsl_until_period / <fs1_penjualan>-hsl_until_period ) * 100.

  wa_data1-desc_en = 'Profit Before Tax'.
  APPEND wa_data1 TO it_data1.

  "(Beban) / Pendapatan Pajak
  CLEAR wa_data1.
  wa_data1-desc_id = '(Beban) / Pendapatan Pajak'.
  APPEND wa_data1 TO it_data1.

  "Pajak Kini Non Final
  CLEAR : wa_data1, wa_acdoca, wa_rkap.
  wa_data1-desc_id = '- Pajak Kini Non Final'.
  LOOP AT it_mapacct INTO wa_mapacct WHERE mapid = 'A10'.
    READ TABLE it_rkap INTO wa_rkap WITH KEY mapid = 'A10' divcode = 'ALL'.
    wa_data1-hsl_rkap = wa_rkap-amount.
    wa_data1-pct_rkap = ( wa_data1-hsl_rkap / <fs1_penjualan>-hsl_rkap ) * 100.

    LOOP AT it_acdoca INTO wa_acdoca WHERE ( racct BETWEEN wa_mapacct-racct_from AND wa_mapacct-racct_to ) AND ( poper BETWEEN '001' AND p_poper2 - 1 ).
      wa_data1-hsl_prev_period = wa_data1-hsl_prev_period + wa_acdoca-hsl.
    ENDLOOP.
    wa_data1-pct_prev_period = ( wa_data1-hsl_prev_period / <fs1_penjualan>-hsl_prev_period ) * 100.

    LOOP AT it_acdoca INTO wa_acdoca WHERE ( racct BETWEEN wa_mapacct-racct_from AND wa_mapacct-racct_to ) AND poper = p_poper2.
      wa_data1-hsl_curr_period = wa_data1-hsl_curr_period + wa_acdoca-hsl.
    ENDLOOP.
    wa_data1-pct_curr_period = ( wa_data1-hsl_curr_period / <fs1_penjualan>-hsl_curr_period ) * 100.

    wa_data1-hsl_until_period = wa_data1-hsl_prev_period + wa_data1-hsl_curr_period.
    wa_data1-pct_until_period = ( wa_data1-hsl_until_period / <fs1_penjualan>-hsl_until_period ) * 100.
  ENDLOOP.
  wa_data1-desc_en = 'Non Final Current Tax'.
  APPEND wa_data1 TO it_data1.

  "Pajak Tangguhan
  CLEAR : wa_data1, wa_acdoca, wa_rkap.
  wa_data1-desc_id = '- Pajak Tangguhan'.
  LOOP AT it_mapacct INTO wa_mapacct WHERE mapid = 'A11'.
    READ TABLE it_rkap INTO wa_rkap WITH KEY mapid = 'A11' divcode = 'ALL'.
    wa_data1-hsl_rkap = wa_rkap-amount.
    wa_data1-pct_rkap = ( wa_data1-hsl_rkap / <fs1_penjualan>-hsl_rkap ) * 100.

    LOOP AT it_acdoca INTO wa_acdoca WHERE ( racct BETWEEN wa_mapacct-racct_from AND wa_mapacct-racct_to ) AND ( poper BETWEEN '001' AND p_poper2 - 1 ).
      wa_data1-hsl_prev_period = wa_data1-hsl_prev_period + wa_acdoca-hsl.
    ENDLOOP.
    wa_data1-pct_prev_period = ( wa_data1-hsl_prev_period / <fs1_penjualan>-hsl_prev_period ) * 100.

    LOOP AT it_acdoca INTO wa_acdoca WHERE ( racct BETWEEN wa_mapacct-racct_from AND wa_mapacct-racct_to ) AND poper = p_poper2.
      wa_data1-hsl_curr_period = wa_data1-hsl_curr_period + wa_acdoca-hsl.
    ENDLOOP.
    wa_data1-pct_curr_period = ( wa_data1-hsl_curr_period / <fs1_penjualan>-hsl_curr_period ) * 100.

    wa_data1-hsl_until_period = wa_data1-hsl_prev_period + wa_data1-hsl_curr_period.
    wa_data1-pct_until_period = ( wa_data1-hsl_until_period / <fs1_penjualan>-hsl_until_period ) * 100.
  ENDLOOP.
  wa_data1-desc_en = 'Deferred Tax'.
  APPEND wa_data1 TO it_data1.

  "Pajak Final
  CLEAR : wa_data1, wa_acdoca, wa_rkap.
  wa_data1-desc_id = '- Pajak Final'.
  LOOP AT it_mapacct INTO wa_mapacct WHERE mapid = 'A12'.
    READ TABLE it_rkap INTO wa_rkap WITH KEY mapid = 'A12' divcode = 'ALL'.
    wa_data1-hsl_rkap = wa_rkap-amount.
    wa_data1-pct_rkap = ( wa_data1-hsl_rkap / <fs1_penjualan>-hsl_rkap ) * 100.

    LOOP AT it_acdoca INTO wa_acdoca WHERE ( racct BETWEEN wa_mapacct-racct_from AND wa_mapacct-racct_to ) AND ( poper BETWEEN '001' AND p_poper2 - 1 ).
      wa_data1-hsl_prev_period = wa_data1-hsl_prev_period + wa_acdoca-hsl.
    ENDLOOP.
    wa_data1-pct_prev_period = ( wa_data1-hsl_prev_period / <fs1_penjualan>-hsl_prev_period ) * 100.

    LOOP AT it_acdoca INTO wa_acdoca WHERE ( racct BETWEEN wa_mapacct-racct_from AND wa_mapacct-racct_to ) AND poper = p_poper2.
      wa_data1-hsl_curr_period = wa_data1-hsl_curr_period + wa_acdoca-hsl.
    ENDLOOP.
    wa_data1-pct_curr_period = ( wa_data1-hsl_curr_period / <fs1_penjualan>-hsl_curr_period ) * 100.

    wa_data1-hsl_until_period = wa_data1-hsl_prev_period + wa_data1-hsl_curr_period.
    wa_data1-pct_until_period = ( wa_data1-hsl_until_period / <fs1_penjualan>-hsl_until_period ) * 100.
  ENDLOOP.
  wa_data1-desc_en = 'Final Tax'.
  APPEND wa_data1 TO it_data1.

  "Laba (Rugi) Bersih Periode Berjalan
  CLEAR : wa_data1.
  wa_data1-desc_id = 'Laba (Rugi) Bersih Periode Berjalan'.
  LOOP AT it_data1 ASSIGNING FIELD-SYMBOL(<fs1_laba_rugi_bersih>) FROM 16 TO 20.
    wa_data1-hsl_rkap = <fs1_laba_rugi_bersih>-hsl_rkap + wa_data1-hsl_rkap.
    wa_data1-hsl_prev_period = <fs1_laba_rugi_bersih>-hsl_prev_period + wa_data1-hsl_prev_period.
    wa_data1-hsl_curr_period = <fs1_laba_rugi_bersih>-hsl_curr_period + wa_data1-hsl_curr_period.
    wa_data1-hsl_until_period = <fs1_laba_rugi_bersih>-hsl_until_period + wa_data1-hsl_until_period.
  ENDLOOP.

  wa_data1-pct_rkap = ( wa_data1-hsl_rkap / <fs1_penjualan>-hsl_rkap ) * 100.
  wa_data1-pct_prev_period = ( wa_data1-hsl_prev_period / <fs1_penjualan>-hsl_prev_period ) * 100.
  wa_data1-pct_curr_period = ( wa_data1-hsl_curr_period / <fs1_penjualan>-hsl_curr_period ) * 100.
  wa_data1-pct_until_period = ( wa_data1-hsl_until_period / <fs1_penjualan>-hsl_until_period ) * 100.

  wa_data1-desc_en = 'Profit for The Year'.
  APPEND wa_data1 TO it_data1.
  CLEAR : wa_acdoca, wa_acdoct, wa_mapacct.
Editor is loading...