Sales Register

Embed Size (px)

DESCRIPTION

sales register report

Citation preview

  • 7/17/2019 Sales Register

    1/7

    *&---------------------------------------------------------------------**& Report ZRB_REG2*&*&---------------------------------------------------------------------**&*&*&---------------------------------------------------------------------*

    REPORT ZRB_REG2.

    TABLES: VBRK, VBRP, KONV.

    TYPE-POOLS: SLIS.

    TYPES: BEGIN OF ST_VBRK, VBELN TYPE VBRK-VBELN, VKORG TYPE VBRK-VKORG, KUNRG TYPE VBRK-KUNRG, FKDAT TYPE VBRK-FKDAT, KNUMV TYPE VBRK-KNUMV, SPART TYPE VBRK-SPART, VTWEG TYPE VBRK-VTWEG, END OF ST_VBRK.

    DATA: IT_VBRK TYPE TABLE OF ST_VBRK WITH HEADER LINE.

    TYPES: BEGIN OF ST_VBRP, VBELN TYPE VBRP-VBELN, POSNR TYPE VBRP-POSNR, FKIMG TYPE VBRP-FKIMG, MATNR TYPE VBRP-MATNR, VBKUR TYPE VBRP-VKBUR, END OF ST_VBRP.

    DATA: IT_VBRP TYPE TABLE OF ST_VBRP WITH HEADER LINE.

    TYPES: BEGIN OF ST_KONV, KNUMV TYPE KONV-KNUMV, KBETR TYPE KONV-KBETR, KWERT TYPE KONV-KWERT, END OF ST_KONV.

    DATA: IT_KONV TYPE TABLE OF ST_KONV WITH HEADER LINE.

    TYPES: BEGIN OF ST_MOCUST, J_1ICSTNO TYPE J_1IMOCUST-J_1ICSTNO, J_1ILSTNO TYPE J_1IMOCUST-J_1ILSTNO, KUNNR TYPE J_1IMOCUST-KUNNR, END OF ST_MOCUST.

    DATA: IT_MOCUST TYPE TABLE OF ST_MOCUST WITH HEADER LINE.

    TYPES: BEGIN OF ST_TSPAT, SPART TYPE TSPAT-SPART, VTEXT TYPE TSPAT-VTEXT, END OF ST_TSPAT.

    DATA: IT_TSPAT TYPE TABLE OF ST_TSPAT WITH HEADER LINE.

  • 7/17/2019 Sales Register

    2/7

    TYPES: BEGIN OF ST_VBKD, VBELN TYPE VBKD-VBELN, BSTKD TYPE VBKD-BSTKD, END OF ST_VBKD.

    DATA: IT_VBKD TYPE TABLE OF ST_VBKD WITH HEADER LINE.

    TYPES: BEGIN OF ST_TVTWT, VTWEG TYPE TVTWT-VTWEG, VTEXT TYPE TVTWT-VTEXT, END OF ST_TVTWT.

    DATA: IT_TVTWT TYPE TABLE OF ST_TVTWT WITH HEADER LINE.

    TYPES: BEGIN OF ST_KNA1, KUNNR TYPE KNA1-KUNNR, NAME1 TYPE KNA1-NAME1, END OF ST_KNA1.

    DATA: IT_KNA1 TYPE TABLE OF ST_KNA1 WITH HEADER LINE.

    TYPES: BEGIN OF ST_MAKT, MATNR TYPE MAKT-MATNR, MAKTX TYPE MAKT-MAKTX,

    END OF ST_MAKT.

    DATA: IT_MAKT TYPE TABLE OF ST_MAKT WITH HEADER LINE.

    TYPES: BEGIN OF ST_TVKBT, VBKUR TYPE TVKBT-VKBUR, END OF ST_TVKBT.

    DATA: IT_TVKBT TYPE TABLE OF ST_TVKBT WITH HEADER LINE.

    DATA: IT_FCAT TYPE TABLE OF SLIS_FIELDCAT_ALV WITH HEADER LINE, WA_FCAT TYPE SLIS_FIELDCAT_ALV.

    TYPES: BEGIN OF ST_FINAL, VBELN TYPE VBRK-VBELN, VKORG TYPE VBRK-VKORG, KUNRG TYPE VBRK-KUNRG, FKDAT TYPE VBRK-FKDAT, KNUMV TYPE VBRK-KNUMV, SPART TYPE VBRK-SPART, VTWEG TYPE VBRK-VTWEG,

    * VBELN TYPE VBRP-VBELN, POSNR TYPE VBRP-POSNR, FKIMG TYPE VBRP-FKIMG,

    MATNR TYPE VBRP-MATNR,

    * KNUMV TYPE KONV-KNUMV, KBETR TYPE KONV-KBETR, KWERT TYPE KONV-KWERT,

    J_1ICSTNO TYPE J_1IMOCUST-J_1ICSTNO, J_1ILSTNO TYPE J_1IMOCUST-J_1ILSTNO,

    VTEXT TYPE TSPAT-VTEXT,

  • 7/17/2019 Sales Register

    3/7

    * VBELN TYPE VBKD-VBELN, BSTKD TYPE VBKD-BSTKD,

    * VTWEG TYPE TVTWT-VTWEG,* VTEXT TYPE TVTWT-VTEXT,

    KUNNR TYPE KNA1-KUNNR, NAME1 TYPE KNA1-NAME1,

    * MATNR TYPE MAKT-MATNR, MAKTX TYPE MAKT-MAKTX,

    VBKUR TYPE TVKBT-VKBUR,

    END OF ST_FINAL.

    DATA: IT_FINAL TYPE TABLE OF ST_FINAL WITH HEADER LINE.

    SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001. SELECT-OPTIONS: S_KUNRG FOR VBRK-KUNRG, S_MATNR FOR VBRP-MATNR, S_VKORG FOR VBRK-VKORG, S_VTWEG FOR VBRK-VTWEG,

    S_FKART FOR VBRK-FKART, S_SPART FOR VBRK-SPART, S_VBKUR FOR VBRP-VKBUR, S_VBELN FOR VBRK-VBELN, S_CHARG FOR VBRP-CHARG.SELECTION-SCREEN: END OF BLOCK B1.

    START-OF-SELECTION.

    PERFORM READ.PERFORM FCAT.PERFORM DISPLAY.

    FORM READ. SELECT VBELN VKORG KUNRG FKDAT KNUMV SPART FROM VBRK INTO CORRESPONDING FIELDS OF TABLE IT_VBRK WHERE VBRK~KUNRG IN S_KUNRG AND VBRK~VKORG IN S_VKORG

    AND VBRK~VTWEG IN S_VTWEG AND VBRK~FKART IN S_FKART AND VBRK~SPART IN S_SPART AND VBRK~VBELN IN S_VBELN.

    IF IT_VBRK[] IS NOT INITIAL. SELECT POSNR FKIMG MATNR VBELN

  • 7/17/2019 Sales Register

    4/7

    FROM VBRP INTO CORRESPONDING FIELDS OF TABLE IT_VBRP FOR ALL ENTRIES IN IT_VBRK WHERE VBELN = IT_VBRK-VBELN AND VBRP~MATNR IN S_MATNR AND VBRP~VKBUR IN S_VBKUR AND VBRP~CHARG IN S_CHARG. ENDIF.

    IF IT_VBRK[] IS NOT INITIAL. SELECT KBETR KWERT KNUMV FROM KONV INTO CORRESPONDING FIELDS OF TABLE IT_KONV FOR ALL ENTRIES IN IT_VBRK WHERE KNUMV = IT_VBRK-KNUMV. ENDIF.

    IF IT_VBRK[] IS NOT INITIAL. SELECT J_1ICSTNO J_1ILSTNO KUNNR FROM J_1IMOCUST

    INTO CORRESPONDING FIELDS OF TABLE IT_MOCUST FOR ALL ENTRIES IN IT_VBRK WHERE KUNNR = IT_VBRK-KUNRG. ENDIF.

    IF IT_VBRK[] IS NOT INITIAL. SELECT SPART VTEXT FROM TSPAT INTO CORRESPONDING FIELDS OF TABLE IT_TSPAT FOR ALL ENTRIES IN IT_VBRK WHERE SPART = IT_VBRK-SPART AND SPRAS = 'EN'.

    ENDIF.

    IF IT_VBRK[] IS NOT INITIAL. SELECT VBELN BSTKD FROM VBKD INTO CORRESPONDING FIELDS OF TABLE IT_VBKD FOR ALL ENTRIES IN IT_VBRK WHERE VBELN = IT_VBRK-VBELN. ENDIF.

    IF IT_VBRK[] IS NOT INITIAL. SELECT VTWEG

    VTEXT FROM TVTWT INTO CORRESPONDING FIELDS OF TABLE IT_TVTWT FOR ALL ENTRIES IN IT_VBRK WHERE VTWEG = IT_VBRK-VTWEG. ENDIF.

    IF IT_VBRK[] IS NOT INITIAL. SELECT KUNNR NAME1

  • 7/17/2019 Sales Register

    5/7

    FROM KNA1 INTO CORRESPONDING FIELDS OF TABLE IT_KNA1 FOR ALL ENTRIES IN IT_VBRK WHERE KUNNR = IT_VBRK-KUNRG. ENDIF.

    IF IT_VBRP[] IS NOT INITIAL. SELECT MATNR MAKTX FROM MAKT INTO CORRESPONDING FIELDS OF TABLE IT_MAKT FOR ALL ENTRIES IN IT_VBRP WHERE MATNR = IT_VBRP-MATNR. ENDIF.

    * IF IT_VBRP[] IS NOT INITIAL.* SELECT VKBUR* FROM TVKBT* INTO CORRESPONDING FIELDS OF TABLE IT_TVKBT* FOR ALL ENTRIES IN IT_VBRP* WHERE VKBUR = IT_VBRP-VKBUR* AND SPRAS = 'EN'.* ENDIF.

    LOOP AT IT_VBRK. IT_FINAL-VBELN = IT_VBRK-VBELN. IT_FINAL-VKORG = IT_VBRK-VKORG. IT_FINAL-KUNRG = IT_VBRK-KUNRG. IT_FINAL-FKDAT = IT_VBRK-FKDAT. IT_FINAL-KNUMV = IT_VBRK-KNUMV.

    READ TABLE IT_VBRP WITH KEY VBELN = IT_FINAL-VBELN. IT_FINAL-POSNR = IT_VBRP-POSNR. IT_FINAL-FKIMG = IT_VBRP-FKIMG.

    IT_FINAL-MATNR = IT_VBRP-MATNR.

    READ TABLE IT_KONV WITH KEY KNUMV = IT_FINAL-KNUMV. IT_FINAL-KBETR = IT_KONV-KBETR. IT_FINAL-KWERT = IT_KONV-KWERT.

    READ TABLE IT_MOCUST WITH KEY KUNNR = IT_FINAL-KUNRG. IT_FINAL-J_1ICSTNO = IT_MOCUST-J_1ICSTNO. IT_FINAL-J_1ILSTNO = IT_MOCUST-J_1ILSTNO.

    READ TABLE IT_TSPAT WITH KEY SPART = IT_FINAL-SPART. IT_FINAL-VTEXT = IT_TSPAT-VTEXT.

    READ TABLE IT_VBKD WITH KEY VBELN = IT_FINAL-VBELN. IT_FINAL-BSTKD = IT_VBKD-BSTKD.

    READ TABLE IT_TVTWT WITH KEY VTWEG = IT_FINAL-VTWEG. IT_FINAL-VTEXT = IT_TVTWT-VTEXT.

    READ TABLE IT_KNA1 WITH KEY KUNNR = IT_VBRK-KUNRG. IT_FINAL-NAME1 = IT_KNA1-NAME1.

    READ TABLE IT_MAKT WITH KEY MATNR = IT_VBRP-MATNR.

  • 7/17/2019 Sales Register

    6/7

    IT_FINAL-MAKTX = IT_MAKT-MAKTX.

    * READ TABLE IT_TVKBT WITH KEY VBKUR = IT_VBRP-VBKUR.* IT_FINAL-VBKUR = IT_TVKBT-VBKUR.

    APPEND IT_FINAL. ENDLOOP.ENDFORM.

    FORM FCAT. PERFORM FCAT1 USING '1' 'VBELN' 'BILL NO'. PERFORM FCAT1 USING '2' 'VKORG' 'SALES ORG'. PERFORM FCAT1 USING '3' 'VTEXT' 'DIVISION'. PERFORM FCAT1 USING '4' 'BSTKD' 'PO NO'. PERFORM FCAT1 USING '5' 'VTEXT' 'DISTRIBUTION CHN.'. PERFORM FCAT1 USING '6' 'KUNRG' 'PAYER'. PERFORM FCAT1 USING '7' 'NAME1' 'NAME'. PERFORM FCAT1 USING '8' 'FKDAT' 'INVOICE DATE'. PERFORM FCAT1 USING '9' 'POSNR' 'INVOICE ITEM'. PERFORM FCAT1 USING '10' 'FKIMG' 'QUANTITY'. PERFORM FCAT1 USING '11' 'MATNR' 'MATERIAL'. PERFORM FCAT1 USING '12' 'MAKTX' 'DESCRIPTION'.

    PERFORM FCAT1 USING '13' 'VBKUR' 'SALES OFFICE'. PERFORM FCAT1 USING '14' 'KBERT' 'BASE PRICE'. PERFORM FCAT1 USING '15' 'KWERT' 'NET PRICE'. PERFORM FCAT1 USING '16' 'KWERT' 'ASSEBLE'. PERFORM FCAT1 USING '17' 'KWERT' 'TCS'. PERFORM FCAT1 USING '18' 'KWERT' 'DISCOUNT'. PERFORM FCAT1 USING '19' 'KWERT' 'EXCISE'. PERFORM FCAT1 USING '20' 'KBETR' 'BED RATE/10'. PERFORM FCAT1 USING '21' 'KWERT' 'ECESS'. PERFORM FCAT1 USING '22' 'KBETR' 'ECESS RATE/10'. PERFORM FCAT1 USING '23' 'KWERT' 'SHCESS'. PERFORM FCAT1 USING '24' 'KBETR' 'KBETR'. PERFORM FCAT1 USING '25' 'KBETR' 'STAX'.

    PERFORM FCAT1 USING '26' 'KBETR' 'STAX RATE'. PERFORM FCAT1 USING '27' 'KWERT' 'ECESS1'. PERFORM FCAT1 USING '28' 'KWERT' 'SHCESS1'. PERFORM FCAT1 USING '29' 'KWERT' 'CSALTAX'. PERFORM FCAT1 USING '30' 'KWERT' 'VAT'. PERFORM FCAT1 USING '31' 'J_1ICSTNO' 'CST NO'. PERFORM FCAT1 USING '32' 'J_1ILSTNO' 'LST NO'. PERFORM FCAT1 USING '33' 'KWERT' 'FRT'. PERFORM FCAT1 USING '34' 'KWERT' 'PFCRG'. PERFORM FCAT1 USING '35' 'KWERT' 'INSU'. PERFORM FCAT1 USING '36' 'KWERT' 'OTHER'.

    ENDFORM.

    FORM FCAT1 USING VALUE(X) VALUE(Y) VALUE(Z).

    IT_FCAT-COL_POS = X. IT_FCAT-FIELDNAME = Y. IT_FCAT-SELTEXT_M = Z.

  • 7/17/2019 Sales Register

    7/7

    APPEND IT_FCAT.

    ENDFORM.

    FORM DISPLAY.

    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING* I_INTERFACE_CHECK = ' '* I_BYPASSING_BUFFER = ' '* I_BUFFER_ACTIVE = ' ' I_CALLBACK_PROGRAM = 'ZRB_REG2'* I_CALLBACK_PF_STATUS_SET = ' '* I_CALLBACK_USER_COMMAND = ' '* I_CALLBACK_TOP_OF_PAGE = ' '* I_CALLBACK_HTML_TOP_OF_PAGE = ' '* I_CALLBACK_HTML_END_OF_LIST = ' '* I_STRUCTURE_NAME =* I_BACKGROUND_ID = ' '* I_GRID_TITLE =* I_GRID_SETTINGS =* IS_LAYOUT = IT_FIELDCAT = IT_FCAT[]* IT_EXCLUDING =

    * IT_SPECIAL_GROUPS =* IT_SORT =* IT_FILTER =* IS_SEL_HIDE =* I_DEFAULT = 'X'* I_SAVE = ' '* IS_VARIANT =* IT_EVENTS =* IT_EVENT_EXIT =* IS_PRINT =* IS_REPREP_ID =* I_SCREEN_START_COLUMN = 0* I_SCREEN_START_LINE = 0

    * I_SCREEN_END_COLUMN = 0* I_SCREEN_END_LINE = 0* I_HTML_HEIGHT_TOP = 0* I_HTML_HEIGHT_END = 0* IT_ALV_GRAPHICS =* IT_HYPERLINK =* IT_ADD_FIELDCAT =* IT_EXCEPT_QINFO =* IR_SALV_FULLSCREEN_ADAPTER =* IMPORTING* E_EXIT_CAUSED_BY_CALLER =* ES_EXIT_CAUSED_BY_USER = TABLES

    T_OUTTAB = IT_FINAL* EXCEPTIONS* PROGRAM_ERROR = 1* OTHERS = 2 . IF SY-SUBRC 0.* Implement suitable error handling here ENDIF.

    ENDFORM.