Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 9236

Re: Zreport customer ageing with profit center wise report

$
0
0

Sir,

Thanks that suggest but pls find the code on below pls provied this data declaration part and selection options

 

   REPORT  ZFI_CUSTOMER_AGEING_REPORT_ALV.


*--------------------------------------------------------------------------------


*&      Form  GET_OPEN_DATA




*--------------------------------------------------------------------------------



FORM GET_OPEN_DATA .

  SELECT KUNNR " Customer Number

         GJAHR " Fiscal Year

         BELNR " Acc.Document

         BUZEI " Item

         BUDAT " Posting Date

         SHKZG " Dr/Cr Indicator

         DMBTR " Amount(Local Curr)

         WRBTR " Amount(Doc Curr)

         DMBE2 " Amount(USD)

         WAERS " Currency

         ZTERM " Payment Terms

         VBELN " Billing Doc

         ZFBDT " Baseline Date

         ZBD1T " No of days

         HKONT " GL account

        INTO TABLE IT_BSID FROM BSID

        WHERE BUKRS = P_BUKRS

        AND KUNNR IN S_KUNNR

        AND HKONT IN S_HKONT

        AND BUDAT LE P_DATE.


  SORT IT_BSID BY KUNNR GJAHR BELNR BUZEI BUDAT.

ENDFORM.                    " GET_OPEN_DATA




*--------------------------------------------------------------------------------


*&      Form  GET_CLOSE_DATA




*--------------------------------------------------------------------------------



FORM GET_CLOSE_DATA .


  SELECT KUNNR " Customer Number

           GJAHR " Fiscal Year

           BELNR " Acc.Document

           BUZEI " Item

           BUDAT " Posting Date

           SHKZG " Dr/Cr Indicator

           DMBTR " Amount(Local Curr)

           WRBTR " Amount(Doc Curr)

           DMBE2 " Amount(USD)

           WAERS " Currency

           ZTERM " Payment Terms

           VBELN " Billing Doc

           ZFBDT " Baseline Date

           ZBD1T " No of days

           HKONT " GL account

      INTO TABLE IT_BSAD FROM BSAD

       WHERE BUKRS = P_BUKRS

       AND KUNNR IN S_KUNNR

       AND HKONT IN S_HKONT

       AND AUGDT > P_DATE

       AND BUDAT LE P_DATE.


  SORT IT_BSAD BY KUNNR GJAHR BELNR BUZEI BUDAT.

ENDFORM.                    " GET_CLOSE_DATA




*--------------------------------------------------------------------------------


*&      Form  PROCESS_DATA




*--------------------------------------------------------------------------------



FORM PROCESS_DATA .

*Move the data from BSID to final output int table

  LOOP AT IT_BSID.

    MOVE-CORRESPONDING IT_BSID TO IT_REPORT.

    IT_REPORT-DUE_DATE = IT_BSID-ZFBDT + IT_BSID-ZBD1T.

    APPEND IT_REPORT.

    CLEAR IT_REPORT.

  ENDLOOP.

*Move the data from BSAD to final output int table

  LOOP AT IT_BSAD.

    MOVE-CORRESPONDING IT_BSAD TO IT_REPORT.

    IT_REPORT-DUE_DATE = IT_BSAD-ZFBDT + IT_BSAD-ZBD1T.

    APPEND IT_REPORT.

    CLEAR IT_REPORT.

  ENDLOOP.


  LOOP AT IT_REPORT  .

    SELECT SINGLE PRCTR FROM FAGLFLEXA INTO IT_REPORT-PRCTR WHERE BELNR = IT_REPORT-BELNR

                                                            AND   GJAHR = IT_REPORT-GJAHR

                                                            AND   BUDAT = IT_REPORT-BUDAT

                                                            AND   BUZEI = IT_REPORT-BUZEI

                                                            AND   PRCTR IN S_PRCTR.

    IF SY-SUBRC NE 0.

      DELETE IT_REPORT.

    ELSE.

      MODIFY IT_REPORT.

    ENDIF.

  ENDLOOP.

  SORT IT_REPORT BY KUNNR BELNR.


  LOOP AT IT_REPORT.

    IF IT_REPORT-SHKZG = 'H'. " Credit

      IT_REPORT-DMBTR = IT_REPORT-DMBTR * -1.

      IT_REPORT-DMBE2 = IT_REPORT-DMBE2 * -1.

    ENDIF.


    V_DAYS IT_REPORT-DUE_DATE - P_DATE  .

    A_DAYS = p_DATE - IT_REPORT-BUDAT.

    IF V_DAYS LE 0.

      IT_REPORT-DUE_AMNT = IT_REPORT-DMBTR.

   ENDIF.

      IF A_DAYS >= S_DATE1 AND A_DAYS < S_DATE2.

      IT_REPORT-D_AMNT1 = IT_REPORT-DMBTR.

      CONCATENATE ' DAYS ' S_DATE1 '-' S_DATE2 INTO TEXT.

      IT_REPORT-D_FLAG = TEXT.

    ELSEIF A_DAYS >= S_DATE2 AND A_DAYS < S_DATE3.

      IT_REPORT-D_AMNT2 = IT_REPORT-DMBTR.

      CONCATENATE ' DAYS ' S_DATE2 '-' S_DATE3 INTO TEXT.

      IT_REPORT-D_FLAG = TEXT.

    ELSEIF A_DAYS >= S_DATE3 AND A_DAYS < S_DATE4.

      IT_REPORT-D_AMNT3 = IT_REPORT-DMBTR.

      CONCATENATE ' DAYS ' S_DATE3 '-' S_DATE4 INTO TEXT.

      IT_REPORT-D_FLAG = TEXT.

    ELSEIF A_DAYS >= S_DATE4 AND A_DAYS < S_DATE5.

      IT_REPORT-D_AMNT4 = IT_REPORT-DMBTR.

      CONCATENATE ' DAYS ' S_DATE4 '-' S_DATE5 INTO TEXT.

      IT_REPORT-D_FLAG = TEXT.

    ELSEIF A_DAYS >= S_DATE5 .

      IT_REPORT-D_AMNT5 = IT_REPORT-DMBTR.

      CONCATENATE ' DAYS' ' > ' S_DATE5 INTO TEXT.

      IT_REPORT-D_FLAG = TEXT.

    ENDIF.

    MODIFY IT_REPORT INDEX SY-TABIX.

  ENDLOOP.


    LOOP AT IT_REPORT.

      SELECT SINGLE NAME1 LAND1 INTO (IT_REPORT-NAME1 , IT_REPORT-LAND1 ) FROM KNA1 WHERE KUNNR = IT_REPORT-KUNNR.

      MODIFY IT_REPORT .

    ENDLOOP.




ENDFORM.                    " PROCESS_DATA





&----


--------------------------------------------------------------------------------


*&      Form  Z_CREATE_FIELD_CATALOG1


FORM Z_CREATE_FIELD_CATALOG1 .


  FCAT-FIELDNAME = 'KUNNR'.

  FCAT-HOTSPOT = ' '.

  FCAT-OUTPUTLEN = '000015'.

  FCAT-JUST = 'L'.

  FCAT-SELTEXT_M = 'Customer'.

•fcat-do_sum = 'X'.

  APPEND FCAT.

  CLEAR FCAT.


  FCAT-FIELDNAME = 'NAME1'.

  FCAT-HOTSPOT = ' '.

  FCAT-OUTPUTLEN = '000025'.

  FCAT-JUST = 'L'.

  FCAT-SELTEXT_M = 'Customer Name'.

•fcat-do_sum = 'X'.

  APPEND FCAT.

  CLEAR FCAT.


  FCAT-FIELDNAME = 'LAND1'.

  FCAT-HOTSPOT = ' '.

  FCAT-OUTPUTLEN = '00005'.

  FCAT-JUST = 'L'.

  FCAT-SELTEXT_M = 'Customer Cty'.

•fcat-do_sum = 'X'.

  APPEND FCAT.

  CLEAR FCAT.


  FCAT-FIELDNAME = 'BUDAT'.

  FCAT-HOTSPOT = ' '.

  FCAT-OUTPUTLEN = '000015'.

  FCAT-JUST = 'L'.

  FCAT-SELTEXT_M = 'Posting Date'.

•fcat-do_sum = 'X'.

  APPEND FCAT.

  CLEAR FCAT.


  FCAT-FIELDNAME = 'PRCTR'.

  FCAT-HOTSPOT = ' '.

  FCAT-OUTPUTLEN = '000015'.

  FCAT-JUST = 'L'.

  FCAT-SELTEXT_M = 'Profit Center'.

•fcat-do_sum = 'X'.

  APPEND FCAT.

  CLEAR FCAT.


  FCAT-FIELDNAME = 'DMBTR'.

  FCAT-HOTSPOT = ' '.

  FCAT-OUTPUTLEN = '000015'.

  FCAT-JUST = 'L'.

  FCAT-SELTEXT_M = 'Amount'.

  FCAT-DO_SUM = 'X'.

  APPEND FCAT.

  CLEAR FCAT.



  FCAT-FIELDNAME = 'WAERS'.

  FCAT-HOTSPOT = ' '.

  FCAT-OUTPUTLEN = '000015'.

  FCAT-JUST = 'L'.

  FCAT-SELTEXT_M = 'Curr'.

•fcat-do_sum = 'X'.

  APPEND FCAT.

  CLEAR FCAT.



  FCAT-FIELDNAME = 'DUE_AMNT'.

  FCAT-HOTSPOT = ' '.

  FCAT-OUTPUTLEN = '000015'.

  FCAT-JUST = 'L'.

  FCAT-SELTEXT_M = 'Overdue'.

•fcat-do_sum = 'X'.

  APPEND FCAT.

  CLEAR FCAT.

*u2022dif1

  CLEAR TEXT.

  CONCATENATE ' DAYS ' S_DATE1 '-' S_DATE2 INTO TEXT.

  FCAT-TABNAME    = 'IT_REPORT'.

  FCAT-SELTEXT_L = TEXT.

  FCAT-FIELDNAME = 'D_AMNT1'.

  FCAT-OUTPUTLEN = '000015'.

  APPEND FCAT.

  CLEAR FCAT.

*u2022dif2

  CLEAR TEXT.

  CONCATENATE ' DAYS ' S_DATE2 '-' S_DATE3 INTO TEXT.

  FCAT-SELTEXT_L = TEXT.

  FCAT-FIELDNAME = 'D_AMNT2'.

  FCAT-OUTPUTLEN = '000015'.

  APPEND FCAT.

  CLEAR FCAT.

*u2022dif3

  CLEAR TEXT.

  CONCATENATE 'DAYS ' S_DATE3 '-' S_DATE4 INTO TEXT.

  FCAT-SELTEXT_L = TEXT.

  FCAT-FIELDNAME = 'D_AMNT3'.

  FCAT-OUTPUTLEN = '000015'.

  APPEND FCAT.

  CLEAR FCAT.

*u2022dif4

  CLEAR TEXT.

  CONCATENATE 'DAYS ' S_DATE4 '-' S_DATE5 INTO TEXT.

  FCAT-SELTEXT_L = TEXT.

  FCAT-FIELDNAME  = 'D_AMNT4'.

  FCAT-OUTPUTLEN = '000015'.

  APPEND FCAT.

  CLEAR FCAT.

*u2022dif5

  CLEAR TEXT.

  CONCATENATE ' DAYS' ' > ' S_DATE5 INTO TEXT.

  FCAT-SELTEXT_L = TEXT.

  FCAT-FIELDNAME  = 'D_AMNT5'.

  FCAT-OUTPUTLEN = '000015'.

  APPEND FCAT.

  CLEAR FCAT.




  FCAT-FIELDNAME = 'DUE_DATE'.

  FCAT-HOTSPOT = ' '.

  FCAT-OUTPUTLEN = '000015'.

  FCAT-JUST = 'L'.

  FCAT-SELTEXT_M = 'Due Date'.

•fcat-do_sum = 'X'.

  APPEND FCAT.

  CLEAR FCAT.




  FCAT-FIELDNAME = 'ZTERM'.

  FCAT-HOTSPOT = ' '.

  FCAT-OUTPUTLEN = '000015'.

  FCAT-JUST = 'L'.

  FCAT-SELTEXT_M = 'PayT'.

•fcat-do_sum = 'X'.

  APPEND FCAT.

  CLEAR FCAT.





  FCAT-FIELDNAME = 'VBELN'.

  FCAT-HOTSPOT = ' '.

  FCAT-OUTPUTLEN = '000015'.

  FCAT-JUST = 'L'.

  FCAT-SELTEXT_M = 'Bill.Doc.'.

•fcat-do_sum = 'X'.

  APPEND FCAT.

  CLEAR FCAT.


  FCAT-FIELDNAME = 'BELNR'.

  FCAT-HOTSPOT = 'X'.

  FCAT-OUTPUTLEN = '000015'.

  FCAT-JUST = 'L'.

  FCAT-SELTEXT_M = 'Doc.No.'.

•fcat-do_sum = 'X'.

  APPEND FCAT.

  CLEAR FCAT.


  FCAT-FIELDNAME = 'WRBTR'.

  FCAT-HOTSPOT = ' '.

  FCAT-OUTPUTLEN = '000015'.

  FCAT-JUST = 'L'.

  FCAT-SELTEXT_M = 'Amount(Doc.Curr)'.

•fcat-do_sum = 'X'.

  APPEND FCAT.

  CLEAR FCAT.


  FCAT-FIELDNAME = 'WAERS'.

  FCAT-HOTSPOT = ' '.

  FCAT-OUTPUTLEN = '000015'.

  FCAT-JUST = 'L'.

  FCAT-SELTEXT_M = 'Curr'.

•fcat-do_sum = 'X'.

  APPEND FCAT.

  CLEAR FCAT.


?  FCAT-FIELDNAME = 'BELNR'.

?  FCAT-HOTSPOT = ' '.

?  FCAT-OUTPUTLEN = '000015'.

?  FCAT-JUST = 'L'.

?  FCAT-SELTEXT_M = 'Bill.Doc.'.

¦fcat-do_sum = 'X'.

?APPEND FCAT.

?CLEAR FCAT.


ENDFORM.                    " Z_CREATE_FIELD_CATALOG1

&----


--------------------------------------------------------------------------------


*&      Form  Z_CREATE_FIELD_CATALOG2

&----


--------------------------------------------------------------------------------



FORM Z_CREATE_FIELD_CATALOG2 .


  FCAT-FIELDNAME = 'KUNNR'.

  FCAT-HOTSPOT = ' '.

  FCAT-OUTPUTLEN = '000015'.

  FCAT-JUST = 'L'.

  FCAT-SELTEXT_M = 'Customer'.

  APPEND FCAT.

  CLEAR FCAT.


  FCAT-FIELDNAME = 'NAME1'.

  FCAT-HOTSPOT = ' '.

  FCAT-OUTPUTLEN = '000025'.

  FCAT-JUST = 'L'.

  FCAT-SELTEXT_M = 'Customer Name'.

  APPEND FCAT.

  CLEAR FCAT.


  FCAT-FIELDNAME = 'LAND1'.

  FCAT-HOTSPOT = ' '.

  FCAT-OUTPUTLEN = '00005'.

  FCAT-JUST = 'L'.

  FCAT-SELTEXT_M = 'Customer Cty'.

  APPEND FCAT.

  CLEAR FCAT.


   FCAT-FIELDNAME = 'BUDAT'.

  FCAT-HOTSPOT = ' '.

  FCAT-OUTPUTLEN = '000015'.

  FCAT-JUST = 'L'.

  FCAT-SELTEXT_M = 'Posting Date'.

•fcat-do_sum = 'X'.

  APPEND FCAT.

  CLEAR FCAT.


  FCAT-FIELDNAME = 'PRCTR'.

  FCAT-HOTSPOT = ' '.

  FCAT-OUTPUTLEN = '000015'.

  FCAT-JUST = 'L'.

  FCAT-SELTEXT_M = 'Profit Center'.

  APPEND FCAT.

  CLEAR FCAT.


  FCAT-FIELDNAME = 'DMBTR'.

  FCAT-HOTSPOT = ' '.

  FCAT-OUTPUTLEN = '000015'.

  FCAT-JUST = 'L'.

  FCAT-SELTEXT_M = 'Amount'.

  FCAT-DO_SUM = 'X'.

  APPEND FCAT.

  CLEAR FCAT.



  FCAT-FIELDNAME = 'WAERS'.

  FCAT-HOTSPOT = ' '.

  FCAT-OUTPUTLEN = '000015'.

  FCAT-JUST = 'L'.

  FCAT-SELTEXT_M = 'Curr'.

  APPEND FCAT.

  CLEAR FCAT.



  FCAT-FIELDNAME = 'DUE_AMNT'.

  FCAT-HOTSPOT = ' '.

  FCAT-OUTPUTLEN = '000015'.

  FCAT-JUST = 'L'.

  FCAT-SELTEXT_M = 'Overdue'.

  APPEND FCAT.

  CLEAR FCAT.


  CLEAR TEXT.

  CONCATENATE ' DAYS ' S_DATE1 '-' S_DATE2 INTO TEXT.

  FCAT-TABNAME    = 'IT_REPORT'.

  FCAT-SELTEXT_L = TEXT.

  FCAT-FIELDNAME = 'D_AMNT1'.

  FCAT-OUTPUTLEN = '000015'.

  APPEND FCAT.

  CLEAR FCAT.

*u2022dif2

  CLEAR TEXT.

  CONCATENATE ' DAYS ' S_DATE2 '-' S_DATE3 INTO TEXT.

  FCAT-SELTEXT_L = TEXT.

  FCAT-FIELDNAME = 'D_AMNT2'.

  FCAT-OUTPUTLEN = '000015'.

  APPEND FCAT.

  CLEAR FCAT.

*u2022dif3

  CLEAR TEXT.

  CONCATENATE 'DAYS ' S_DATE3 '-' S_DATE4 INTO TEXT.

  FCAT-SELTEXT_L = TEXT.

  FCAT-FIELDNAME = 'D_AMNT3'.

  FCAT-OUTPUTLEN = '000015'.

  APPEND FCAT.

  CLEAR FCAT.

*u2022dif4

  CLEAR TEXT.

  CONCATENATE 'DAYS ' S_DATE4 '-' S_DATE5 INTO TEXT.

  FCAT-SELTEXT_L = TEXT.

  FCAT-FIELDNAME  = 'D_AMNT4'.

  FCAT-OUTPUTLEN = '000015'.

  APPEND FCAT.

  CLEAR FCAT.

*u2022dif5

  CLEAR TEXT.

  CONCATENATE ' DAYS' ' > ' S_DATE5 INTO TEXT.

  FCAT-SELTEXT_L = TEXT.

  FCAT-FIELDNAME  = 'D_AMNT5'.

  FCAT-OUTPUTLEN = '000015'.

  APPEND FCAT.

  CLEAR FCAT.


  FCAT-FIELDNAME = 'DUE_DATE'.

  FCAT-HOTSPOT = ' '.

  FCAT-OUTPUTLEN = '000015'.

  FCAT-JUST = 'L'.

  FCAT-SELTEXT_M = 'Due Date'.

•fcat-do_sum = 'X'.

  APPEND FCAT.

  CLEAR FCAT.




  FCAT-FIELDNAME = 'ZTERM'.

  FCAT-HOTSPOT = ' '.

  FCAT-OUTPUTLEN = '000015'.

  FCAT-JUST = 'L'.

  FCAT-SELTEXT_M = 'PayT'.

  APPEND FCAT.

  CLEAR FCAT.




  FCAT-FIELDNAME = 'VBELN'.

  FCAT-HOTSPOT = ' '.

  FCAT-OUTPUTLEN = '000015'.

  FCAT-JUST = 'L'.

  FCAT-SELTEXT_M = 'Bill.Doc.'.

  APPEND FCAT.

  CLEAR FCAT.


  FCAT-FIELDNAME = 'BELNR'.

  FCAT-HOTSPOT = 'X'.

  FCAT-OUTPUTLEN = '000015'.

  FCAT-JUST = 'L'.

  FCAT-SELTEXT_M = 'Doc.No.'.

  APPEND FCAT.

  CLEAR FCAT.



ENDFORM.                    " Z_CREATE_FIELD_CATALOG2


&----


--------------------------------------------------------------------------------


*&      Form  Z_REUSE_ALV_GRID_DISPLAY

&----


--------------------------------------------------------------------------------



FORM Z_REUSE_ALV_GRID_DISPLAY .


  DATA: LV_REPID LIKE SY-REPID.


  LV_REPID = SY-REPID.


  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

    EXPORTING

      I_CALLBACK_PROGRAM      = LV_REPID

•     i_callback_top_of_page   = 'ZTOP_OF_PAGE'

      I_CALLBACK_USER_COMMAND = 'Z_USER_COMMAND'

      IS_LAYOUT               = FS_LAYO

      IT_FIELDCAT             = FCAT[]

      I_DEFAULT               = 'X'

      I_SAVE                  = 'U'

      IT_EVENTS               = FEVENTS[]

      IT_SORT                 = I_SORT

    TABLES

      T_OUTTAB                = IT_REPORT[].

ENDFORM.                    " Z_REUSE_ALV_GRID_DISPLAY


&----


--------------------------------------------------------------------------------


*&      Form  Z_USER_COMMAND

&----


--------------------------------------------------------------------------------



FORM Z_USER_COMMAND USING R_UCOMM LIKE SY-UCOMM

              RS_SELFIELD TYPE SLIS_SELFIELD.               "#EC NEEDED


  CHECK R_UCOMM = '&IC1'.             "User Double Clicked on Some


  CHECK NOT RS_SELFIELD-VALUE IS INITIAL.


  CASE RS_SELFIELD-FIELDNAME.


    WHEN 'BELNR'.


      READ TABLE IT_REPORT INDEX RS_SELFIELD-TABINDEX.

      IF SY-SUBRC EQ 0.


        CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.


      ENDIF.                            " IF SY-SUBRC EQ 0


  ENDCASE.                              " ENDCASE



ENDFORM.                                " FORM Z_USER_COMMAND


&----


--------------------------------------------------------------------------------


*&      Form  Z_TOPOFPAGE


FORM Z_TOPOFPAGE.                                           "#EC NEEDED


  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

    EXPORTING

      I_LOGO             = 'FITP_CORP_LOGO'

      IT_LIST_COMMENTARY = FHEADER[].


ENDFORM.                                " FORM Z_TOPOFPAGE


Viewing all articles
Browse latest Browse all 9236

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>